@open-mercato/core 0.6.6-develop.6184.1.b7e55f8d61 → 0.6.6-develop.6198.1.0822f97cc6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/modules/auth/frontend/login.js +5 -5
- package/dist/modules/auth/frontend/login.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js +3 -2
- package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js.map +2 -2
- package/dist/modules/catalog/widgets/injection/product-seo/widget.client.js +26 -14
- package/dist/modules/catalog/widgets/injection/product-seo/widget.client.js.map +2 -2
- package/dist/modules/customers/api/deals/[id]/route.js +169 -149
- package/dist/modules/customers/api/deals/[id]/route.js.map +3 -3
- package/dist/modules/customers/components/detail/InlineEditors.js +9 -4
- package/dist/modules/customers/components/detail/InlineEditors.js.map +2 -2
- package/dist/modules/integrations/backend/integrations/[id]/page.js +13 -9
- package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
- package/dist/modules/integrations/backend/integrations/detail-page-refresh.js +17 -0
- package/dist/modules/integrations/backend/integrations/detail-page-refresh.js.map +7 -0
- package/dist/modules/sales/components/documents/SalesDocumentForm.js +299 -297
- package/dist/modules/sales/components/documents/SalesDocumentForm.js.map +2 -2
- package/dist/modules/workflows/components/EdgeEditDialog.js +120 -141
- package/dist/modules/workflows/components/EdgeEditDialog.js.map +2 -2
- package/dist/modules/workflows/components/NodeEditDialog.js +114 -118
- package/dist/modules/workflows/components/NodeEditDialog.js.map +2 -2
- package/dist/modules/workflows/frontend/checkout-demo/page.js +155 -260
- package/dist/modules/workflows/frontend/checkout-demo/page.js.map +2 -2
- package/package.json +7 -7
- package/src/modules/auth/frontend/login.tsx +5 -5
- package/src/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.tsx +4 -3
- package/src/modules/catalog/widgets/injection/product-seo/widget.client.tsx +27 -17
- package/src/modules/customers/api/deals/[id]/route.ts +208 -174
- package/src/modules/customers/components/detail/InlineEditors.tsx +6 -10
- package/src/modules/integrations/backend/integrations/[id]/page.tsx +13 -9
- package/src/modules/integrations/backend/integrations/detail-page-refresh.ts +36 -0
- package/src/modules/sales/components/documents/SalesDocumentForm.tsx +351 -327
- package/src/modules/workflows/components/EdgeEditDialog.tsx +132 -157
- package/src/modules/workflows/components/NodeEditDialog.tsx +116 -121
- package/src/modules/workflows/frontend/checkout-demo/page.tsx +172 -239
- package/src/modules/workflows/i18n/de.json +2 -0
- package/src/modules/workflows/i18n/en.json +2 -0
- package/src/modules/workflows/i18n/es.json +2 -0
- package/src/modules/workflows/i18n/pl.json +2 -0
|
@@ -11,6 +11,11 @@ import {
|
|
|
11
11
|
SelectTrigger,
|
|
12
12
|
SelectValue
|
|
13
13
|
} from "@open-mercato/ui/primitives/select";
|
|
14
|
+
import { IconButton } from "@open-mercato/ui/primitives/icon-button";
|
|
15
|
+
import { Textarea } from "@open-mercato/ui/primitives/textarea";
|
|
16
|
+
import { Checkbox } from "@open-mercato/ui/primitives/checkbox";
|
|
17
|
+
import { Spinner } from "@open-mercato/ui/primitives/spinner";
|
|
18
|
+
import { AlertCircle, AlertTriangle, Check, CheckCircle2, Info, Zap, Minus, Plus, X } from "lucide-react";
|
|
14
19
|
import Link from "next/link";
|
|
15
20
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
16
21
|
import { useT } from "@open-mercato/shared/lib/i18n/context";
|
|
@@ -139,32 +144,33 @@ function CheckoutDemoPage() {
|
|
|
139
144
|
PLN: "z\u0142"
|
|
140
145
|
};
|
|
141
146
|
const addToCart = (product) => {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
setCart((prev) => {
|
|
148
|
+
const existing = prev.find((item) => item.id === product.id);
|
|
149
|
+
if (existing) {
|
|
150
|
+
return prev.map(
|
|
151
|
+
(item) => item.id === product.id ? { ...item, quantity: item.quantity + 1 } : item
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
return [...prev, {
|
|
149
155
|
id: product.id,
|
|
150
156
|
name: product.title,
|
|
151
157
|
// Use resolved pricing from catalog pricing service (in USD)
|
|
152
158
|
price: product.pricing?.unit_price_gross || product.pricing?.unit_price_net || 99.99,
|
|
153
159
|
quantity: 1
|
|
154
|
-
}]
|
|
155
|
-
}
|
|
160
|
+
}];
|
|
161
|
+
});
|
|
156
162
|
};
|
|
157
163
|
const updateQuantity = (productId, quantity) => {
|
|
158
164
|
if (quantity <= 0) {
|
|
159
|
-
setCart(
|
|
165
|
+
setCart((prev) => prev.filter((item) => item.id !== productId));
|
|
160
166
|
} else {
|
|
161
|
-
setCart(
|
|
167
|
+
setCart((prev) => prev.map(
|
|
162
168
|
(item) => item.id === productId ? { ...item, quantity } : item
|
|
163
169
|
));
|
|
164
170
|
}
|
|
165
171
|
};
|
|
166
172
|
const removeFromCart = (productId) => {
|
|
167
|
-
setCart(
|
|
173
|
+
setCart((prev) => prev.filter((item) => item.id !== productId));
|
|
168
174
|
};
|
|
169
175
|
const exchangeRate = exchangeRates[selectedCurrency] || 1;
|
|
170
176
|
const demoCart = cart.map((item) => ({
|
|
@@ -377,17 +383,17 @@ function CheckoutDemoPage() {
|
|
|
377
383
|
const getStatusColor = (status) => {
|
|
378
384
|
switch (status) {
|
|
379
385
|
case "RUNNING":
|
|
380
|
-
return "text-
|
|
386
|
+
return "text-status-info-text bg-status-info-bg";
|
|
381
387
|
case "WAITING_FOR_ACTIVITIES":
|
|
382
|
-
return "text-
|
|
388
|
+
return "text-status-info-text bg-status-info-bg";
|
|
383
389
|
case "PAUSED":
|
|
384
|
-
return "text-
|
|
390
|
+
return "text-status-warning-text bg-status-warning-bg";
|
|
385
391
|
case "COMPLETED":
|
|
386
|
-
return "text-
|
|
392
|
+
return "text-status-success-text bg-status-success-bg";
|
|
387
393
|
case "FAILED":
|
|
388
|
-
return "text-
|
|
394
|
+
return "text-status-error-text bg-status-error-bg";
|
|
389
395
|
default:
|
|
390
|
-
return "text-
|
|
396
|
+
return "text-status-neutral-text bg-status-neutral-bg";
|
|
391
397
|
}
|
|
392
398
|
};
|
|
393
399
|
const getStepStatus = (stepId) => {
|
|
@@ -404,22 +410,22 @@ function CheckoutDemoPage() {
|
|
|
404
410
|
const getStepColor = (status) => {
|
|
405
411
|
switch (status) {
|
|
406
412
|
case "completed":
|
|
407
|
-
return "bg-
|
|
413
|
+
return "bg-status-success-bg text-status-success-text border-status-success-border";
|
|
408
414
|
case "current":
|
|
409
|
-
return "bg-
|
|
415
|
+
return "bg-status-info-bg text-status-info-text border-status-info-border";
|
|
410
416
|
case "paused":
|
|
411
|
-
return "bg-
|
|
417
|
+
return "bg-status-warning-bg text-status-warning-text border-status-warning-border";
|
|
412
418
|
default:
|
|
413
|
-
return "bg-
|
|
419
|
+
return "bg-status-neutral-bg text-status-neutral-text border-status-neutral-border";
|
|
414
420
|
}
|
|
415
421
|
};
|
|
416
422
|
const getEventTypeBadgeClass = (eventType) => {
|
|
417
|
-
if (eventType.includes("STARTED")) return "bg-
|
|
418
|
-
if (eventType.includes("COMPLETED")) return "bg-
|
|
419
|
-
if (eventType.includes("FAILED") || eventType.includes("REJECTED")) return "bg-
|
|
420
|
-
if (eventType.includes("CANCELLED")) return "bg-
|
|
421
|
-
if (eventType.includes("ENTERED") || eventType.includes("EXITED")) return "bg-
|
|
422
|
-
return "bg-
|
|
423
|
+
if (eventType.includes("STARTED")) return "bg-status-info-bg text-status-info-text";
|
|
424
|
+
if (eventType.includes("COMPLETED")) return "bg-status-success-bg text-status-success-text";
|
|
425
|
+
if (eventType.includes("FAILED") || eventType.includes("REJECTED")) return "bg-status-error-bg text-status-error-text";
|
|
426
|
+
if (eventType.includes("CANCELLED")) return "bg-status-neutral-bg text-status-neutral-text";
|
|
427
|
+
if (eventType.includes("ENTERED") || eventType.includes("EXITED")) return "bg-status-info-bg text-status-info-text";
|
|
428
|
+
return "bg-status-neutral-bg text-status-neutral-text";
|
|
423
429
|
};
|
|
424
430
|
const formatEventType = (eventType) => {
|
|
425
431
|
return eventType.replace(/_/g, " ").toLowerCase().replace(/\b\w/g, (c) => c.toUpperCase());
|
|
@@ -541,7 +547,7 @@ function CheckoutDemoPage() {
|
|
|
541
547
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
542
548
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: labelClasses, children: [
|
|
543
549
|
fieldTitle,
|
|
544
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
550
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
545
551
|
] }),
|
|
546
552
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mb-1", children: fieldDescription }),
|
|
547
553
|
/* @__PURE__ */ jsxs(
|
|
@@ -563,7 +569,7 @@ function CheckoutDemoPage() {
|
|
|
563
569
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
564
570
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: labelClasses, children: [
|
|
565
571
|
fieldTitle,
|
|
566
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
572
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
567
573
|
] }),
|
|
568
574
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mb-1", children: fieldDescription }),
|
|
569
575
|
/* @__PURE__ */ jsx(
|
|
@@ -581,18 +587,17 @@ function CheckoutDemoPage() {
|
|
|
581
587
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
582
588
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: labelClasses, children: [
|
|
583
589
|
fieldTitle,
|
|
584
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
590
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
585
591
|
] }),
|
|
586
592
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mb-1", children: fieldDescription }),
|
|
587
593
|
/* @__PURE__ */ jsx(
|
|
588
|
-
|
|
594
|
+
Input,
|
|
589
595
|
{
|
|
590
596
|
type: "date",
|
|
591
597
|
id: fieldName,
|
|
592
598
|
value: formData[fieldName] || "",
|
|
593
599
|
onChange: (e) => handleFieldChange(fieldName, e.target.value),
|
|
594
|
-
required
|
|
595
|
-
className: inputClasses
|
|
600
|
+
required
|
|
596
601
|
}
|
|
597
602
|
)
|
|
598
603
|
] }, fieldName);
|
|
@@ -601,18 +606,17 @@ function CheckoutDemoPage() {
|
|
|
601
606
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
602
607
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: labelClasses, children: [
|
|
603
608
|
fieldTitle,
|
|
604
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
609
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
605
610
|
] }),
|
|
606
611
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mb-1", children: fieldDescription }),
|
|
607
612
|
/* @__PURE__ */ jsx(
|
|
608
|
-
|
|
613
|
+
Textarea,
|
|
609
614
|
{
|
|
610
615
|
id: fieldName,
|
|
611
616
|
value: formData[fieldName] || "",
|
|
612
617
|
onChange: (e) => handleFieldChange(fieldName, e.target.value),
|
|
613
618
|
required,
|
|
614
|
-
rows: 3
|
|
615
|
-
className: inputClasses
|
|
619
|
+
rows: 3
|
|
616
620
|
}
|
|
617
621
|
)
|
|
618
622
|
] }, fieldName);
|
|
@@ -620,7 +624,7 @@ function CheckoutDemoPage() {
|
|
|
620
624
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
621
625
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: labelClasses, children: [
|
|
622
626
|
fieldTitle,
|
|
623
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
627
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
624
628
|
] }),
|
|
625
629
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mb-1", children: fieldDescription }),
|
|
626
630
|
/* @__PURE__ */ jsx(
|
|
@@ -639,7 +643,7 @@ function CheckoutDemoPage() {
|
|
|
639
643
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
640
644
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: labelClasses, children: [
|
|
641
645
|
fieldTitle,
|
|
642
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
646
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
643
647
|
] }),
|
|
644
648
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mb-1", children: fieldDescription }),
|
|
645
649
|
/* @__PURE__ */ jsx(
|
|
@@ -658,18 +662,16 @@ function CheckoutDemoPage() {
|
|
|
658
662
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
659
663
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
660
664
|
/* @__PURE__ */ jsx(
|
|
661
|
-
|
|
665
|
+
Checkbox,
|
|
662
666
|
{
|
|
663
|
-
type: "checkbox",
|
|
664
667
|
id: fieldName,
|
|
665
668
|
checked: !!formData[fieldName],
|
|
666
|
-
|
|
667
|
-
className: "w-4 h-4 text-yellow-600 border-gray-300 rounded focus-visible:ring-ring"
|
|
669
|
+
onCheckedChange: (v) => handleFieldChange(fieldName, v === true)
|
|
668
670
|
}
|
|
669
671
|
),
|
|
670
672
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: "text-sm font-medium text-gray-700", children: [
|
|
671
673
|
fieldTitle,
|
|
672
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
674
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
673
675
|
] })
|
|
674
676
|
] }),
|
|
675
677
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 ml-6", children: fieldDescription })
|
|
@@ -678,7 +680,7 @@ function CheckoutDemoPage() {
|
|
|
678
680
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
679
681
|
/* @__PURE__ */ jsxs("label", { htmlFor: fieldName, className: labelClasses, children: [
|
|
680
682
|
fieldTitle,
|
|
681
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-
|
|
683
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-status-error-text ml-1", children: "*" })
|
|
682
684
|
] }),
|
|
683
685
|
fieldDescription && /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mb-1", children: fieldDescription }),
|
|
684
686
|
/* @__PURE__ */ jsx(
|
|
@@ -709,12 +711,12 @@ function CheckoutDemoPage() {
|
|
|
709
711
|
/* @__PURE__ */ jsxs("label", { htmlFor: "customer-select", className: "block text-sm font-medium text-gray-700 mb-2", children: [
|
|
710
712
|
t("workflows.checkoutDemo.customer.selectLabel", "Select Customer"),
|
|
711
713
|
" ",
|
|
712
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
714
|
+
/* @__PURE__ */ jsx("span", { className: "text-status-error-text", children: "*" })
|
|
713
715
|
] }),
|
|
714
716
|
customersLoading ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center py-3 text-sm text-gray-500", children: [
|
|
715
|
-
/* @__PURE__ */ jsx(
|
|
717
|
+
/* @__PURE__ */ jsx(Spinner, { size: "sm", className: "mr-2" }),
|
|
716
718
|
t("workflows.checkoutDemo.customer.loading", "Loading customers...")
|
|
717
|
-
] }) : customers.length === 0 ? /* @__PURE__ */ jsx("div", { className: "bg-
|
|
719
|
+
] }) : customers.length === 0 ? /* @__PURE__ */ jsx("div", { className: "bg-status-warning-bg border border-status-warning-border rounded-lg p-3 text-sm text-status-warning-text", children: t("workflows.checkoutDemo.customer.noneFound", "No customers found. Please create a customer first.") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
718
720
|
/* @__PURE__ */ jsxs(
|
|
719
721
|
Select,
|
|
720
722
|
{
|
|
@@ -750,9 +752,9 @@ function CheckoutDemoPage() {
|
|
|
750
752
|
/* @__PURE__ */ jsxs("div", { className: "mb-6 pb-6 border-b border-gray-200", children: [
|
|
751
753
|
/* @__PURE__ */ jsx("label", { htmlFor: "product-select", className: "block text-sm font-medium text-gray-700 mb-2", children: t("workflows.checkoutDemo.product.addLabel", "Add Products to Cart") }),
|
|
752
754
|
productsLoading ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center py-3 text-sm text-gray-500", children: [
|
|
753
|
-
/* @__PURE__ */ jsx(
|
|
755
|
+
/* @__PURE__ */ jsx(Spinner, { size: "sm", className: "mr-2" }),
|
|
754
756
|
t("workflows.checkoutDemo.product.loading", "Loading products...")
|
|
755
|
-
] }) : products.length === 0 ? /* @__PURE__ */ jsx("div", { className: "bg-
|
|
757
|
+
] }) : products.length === 0 ? /* @__PURE__ */ jsx("div", { className: "bg-status-warning-bg border border-status-warning-border rounded-lg p-3 text-sm text-status-warning-text", children: t("workflows.checkoutDemo.product.noneFound", "No products found. Please create products in the catalog first.") }) : /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
756
758
|
/* @__PURE__ */ jsxs(
|
|
757
759
|
Select,
|
|
758
760
|
{
|
|
@@ -801,20 +803,26 @@ function CheckoutDemoPage() {
|
|
|
801
803
|
] }),
|
|
802
804
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
803
805
|
/* @__PURE__ */ jsx(
|
|
804
|
-
|
|
806
|
+
IconButton,
|
|
805
807
|
{
|
|
808
|
+
type: "button",
|
|
809
|
+
variant: "outline",
|
|
810
|
+
size: "sm",
|
|
811
|
+
"aria-label": t("workflows.checkoutDemo.cart.decreaseQty", "Decrease quantity"),
|
|
806
812
|
onClick: () => updateQuantity(item.id, item.quantity - 1),
|
|
807
|
-
|
|
808
|
-
children: "-"
|
|
813
|
+
children: /* @__PURE__ */ jsx(Minus, {})
|
|
809
814
|
}
|
|
810
815
|
),
|
|
811
816
|
/* @__PURE__ */ jsx("span", { className: "w-8 text-center text-sm font-medium", children: item.quantity }),
|
|
812
817
|
/* @__PURE__ */ jsx(
|
|
813
|
-
|
|
818
|
+
IconButton,
|
|
814
819
|
{
|
|
820
|
+
type: "button",
|
|
821
|
+
variant: "outline",
|
|
822
|
+
size: "sm",
|
|
823
|
+
"aria-label": t("workflows.checkoutDemo.cart.increaseQty", "Increase quantity"),
|
|
815
824
|
onClick: () => updateQuantity(item.id, item.quantity + 1),
|
|
816
|
-
|
|
817
|
-
children: "+"
|
|
825
|
+
children: /* @__PURE__ */ jsx(Plus, {})
|
|
818
826
|
}
|
|
819
827
|
)
|
|
820
828
|
] }),
|
|
@@ -824,12 +832,15 @@ function CheckoutDemoPage() {
|
|
|
824
832
|
(item.price * item.quantity).toFixed(2)
|
|
825
833
|
] }),
|
|
826
834
|
/* @__PURE__ */ jsx(
|
|
827
|
-
|
|
835
|
+
IconButton,
|
|
828
836
|
{
|
|
837
|
+
type: "button",
|
|
838
|
+
variant: "ghost",
|
|
839
|
+
size: "sm",
|
|
840
|
+
className: "text-status-error-text hover:bg-status-error-bg",
|
|
841
|
+
"aria-label": t("workflows.checkoutDemo.cart.removeItemTitle", "Remove from cart"),
|
|
829
842
|
onClick: () => removeFromCart(item.id),
|
|
830
|
-
|
|
831
|
-
title: t("workflows.checkoutDemo.cart.removeItemTitle", "Remove from cart"),
|
|
832
|
-
children: "\xD7"
|
|
843
|
+
children: /* @__PURE__ */ jsx(X, {})
|
|
833
844
|
}
|
|
834
845
|
)
|
|
835
846
|
] })
|
|
@@ -864,12 +875,12 @@ function CheckoutDemoPage() {
|
|
|
864
875
|
] })
|
|
865
876
|
] })
|
|
866
877
|
] }),
|
|
867
|
-
validationErrors.length > 0 && /* @__PURE__ */ jsxs("div", { className: "bg-
|
|
868
|
-
/* @__PURE__ */ jsxs("h4", { className: "text-sm font-medium text-
|
|
869
|
-
/* @__PURE__ */ jsx(
|
|
878
|
+
validationErrors.length > 0 && /* @__PURE__ */ jsxs("div", { className: "bg-status-error-bg border border-status-error-border rounded-lg p-4 mt-6", children: [
|
|
879
|
+
/* @__PURE__ */ jsxs("h4", { className: "text-sm font-medium text-status-error-text mb-2 flex items-center gap-2", children: [
|
|
880
|
+
/* @__PURE__ */ jsx(AlertCircle, { className: "h-4 w-4" }),
|
|
870
881
|
t("workflows.checkoutDemo.validation.errorTitle", "Cannot start checkout")
|
|
871
882
|
] }),
|
|
872
|
-
/* @__PURE__ */ jsx("ul", { className: "list-disc list-inside space-y-1", children: validationErrors.map((err, idx) => /* @__PURE__ */ jsx("li", { className: "text-sm text-
|
|
883
|
+
/* @__PURE__ */ jsx("ul", { className: "list-disc list-inside space-y-1", children: validationErrors.map((err, idx) => /* @__PURE__ */ jsx("li", { className: "text-sm text-status-error-text", children: err.message }, idx)) })
|
|
873
884
|
] }),
|
|
874
885
|
/* @__PURE__ */ jsx(
|
|
875
886
|
Button,
|
|
@@ -885,14 +896,14 @@ function CheckoutDemoPage() {
|
|
|
885
896
|
] }),
|
|
886
897
|
result && (result.currentStepId === "start" || result.currentStepId === "cart_validation") && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
887
898
|
/* @__PURE__ */ jsxs("h2", { className: "text-xl font-semibold text-gray-900 mb-4 flex items-center gap-2", children: [
|
|
888
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-
|
|
899
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-status-info-icon rounded-full animate-pulse" }),
|
|
889
900
|
t("workflows.checkoutDemo.cartValidation.title", "Validating Cart")
|
|
890
901
|
] }),
|
|
891
902
|
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
892
|
-
result.status === "WAITING_FOR_ACTIVITIES" ? /* @__PURE__ */ jsxs("div", { className: "bg-
|
|
893
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
894
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
895
|
-
] }) : /* @__PURE__ */ jsx("div", { className: "bg-
|
|
903
|
+
result.status === "WAITING_FOR_ACTIVITIES" ? /* @__PURE__ */ jsxs("div", { className: "bg-status-info-bg border border-status-info-border rounded-lg p-4", children: [
|
|
904
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-info-text font-medium", children: t("workflows.checkoutDemo.cartValidation.processingActivities", "Processing background activities...") }),
|
|
905
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-status-info-text mt-1", children: t("workflows.checkoutDemo.cartValidation.processingActivitiesHint", "The workflow is waiting for async tasks to complete before proceeding.") })
|
|
906
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "bg-status-info-bg border border-status-info-border rounded-lg p-4", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-status-info-text", children: t("workflows.checkoutDemo.cartValidation.inventoryCheck", "Checking cart items and inventory availability...") }) }),
|
|
896
907
|
demoCart.map((item) => /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center border-b border-gray-200 pb-2", children: [
|
|
897
908
|
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
898
909
|
/* @__PURE__ */ jsx("p", { className: "font-medium text-gray-900", children: item.name }),
|
|
@@ -902,7 +913,7 @@ function CheckoutDemoPage() {
|
|
|
902
913
|
item.quantity
|
|
903
914
|
] })
|
|
904
915
|
] }),
|
|
905
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
916
|
+
/* @__PURE__ */ jsx("span", { className: "text-status-success-text text-sm", children: t("workflows.checkoutDemo.cartValidation.available", "\u2713 Available") })
|
|
906
917
|
] }, item.id)),
|
|
907
918
|
/* @__PURE__ */ jsx("div", { className: "pt-2 border-t border-gray-200", children: /* @__PURE__ */ jsxs("p", { className: "text-sm font-medium text-gray-900", children: [
|
|
908
919
|
t("workflows.checkoutDemo.cartValidation.totalPrefix", "Total:"),
|
|
@@ -914,17 +925,17 @@ function CheckoutDemoPage() {
|
|
|
914
925
|
] }),
|
|
915
926
|
result && result.currentStepId === "customer_info" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
916
927
|
/* @__PURE__ */ jsxs("h2", { className: "text-xl font-semibold text-gray-900 mb-4 flex items-center gap-2", children: [
|
|
917
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-
|
|
928
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-status-warning-icon rounded-full animate-pulse" }),
|
|
918
929
|
t("workflows.checkoutDemo.customerInfo.title", "Customer Information Required")
|
|
919
930
|
] }),
|
|
920
931
|
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
921
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-
|
|
922
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
923
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
932
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-status-warning-bg border border-status-warning-border rounded-lg p-4", children: [
|
|
933
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-warning-text font-medium mb-2", children: t("workflows.checkoutDemo.customerInfo.promptTitle", "Please provide your shipping information") }),
|
|
934
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-status-warning-text", children: t("workflows.checkoutDemo.customerInfo.promptHint", "The workflow is paused waiting for customer details. Complete the form to continue checkout.") })
|
|
924
935
|
] }),
|
|
925
|
-
tasksError ? /* @__PURE__ */ jsxs("div", { className: "bg-
|
|
926
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
927
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
936
|
+
tasksError ? /* @__PURE__ */ jsxs("div", { className: "bg-status-error-bg border border-status-error-border rounded-lg p-4", children: [
|
|
937
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-error-text font-medium mb-2", children: t("workflows.checkoutDemo.customerInfo.errorLoadingTask", "Error loading task") }),
|
|
938
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-status-error-text mb-3", children: tasksError instanceof Error ? tasksError.message : t("workflows.checkoutDemo.customerInfo.unknownError", "Unknown error") }),
|
|
928
939
|
/* @__PURE__ */ jsx(
|
|
929
940
|
Button,
|
|
930
941
|
{
|
|
@@ -935,11 +946,11 @@ function CheckoutDemoPage() {
|
|
|
935
946
|
children: t("workflows.checkoutDemo.customerInfo.retry", "Retry")
|
|
936
947
|
}
|
|
937
948
|
)
|
|
938
|
-
] }) : tasksLoading ? /* @__PURE__ */ jsx("div", { className: "bg-
|
|
939
|
-
/* @__PURE__ */ jsx(
|
|
949
|
+
] }) : tasksLoading ? /* @__PURE__ */ jsx("div", { className: "bg-status-info-bg border border-status-info-border rounded-lg p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center py-4", children: [
|
|
950
|
+
/* @__PURE__ */ jsx(Spinner, { size: "lg" }),
|
|
940
951
|
/* @__PURE__ */ jsx("p", { className: "ml-3 text-sm text-gray-600", children: t("workflows.checkoutDemo.customerInfo.loading", "Loading task...") })
|
|
941
952
|
] }) }) : userTasks.length > 0 ? /* @__PURE__ */ jsxs("form", { onSubmit: handleTaskSubmit, className: "bg-white border border-gray-200 rounded-lg p-4 space-y-4", children: [
|
|
942
|
-
taskError && /* @__PURE__ */ jsx("div", { className: "bg-
|
|
953
|
+
taskError && /* @__PURE__ */ jsx("div", { className: "bg-status-error-bg border border-status-error-border rounded-lg p-3", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-status-error-text", children: taskError }) }),
|
|
943
954
|
userTasks[0].formSchema?.properties && /* @__PURE__ */ jsx("div", { className: "space-y-3", children: Object.keys(userTasks[0].formSchema.properties).map((fieldName) => {
|
|
944
955
|
const required = userTasks[0].formSchema.required?.includes(fieldName) || false;
|
|
945
956
|
return renderFormField(fieldName, userTasks[0].formSchema.properties[fieldName], required);
|
|
@@ -949,13 +960,13 @@ function CheckoutDemoPage() {
|
|
|
949
960
|
{
|
|
950
961
|
type: "submit",
|
|
951
962
|
disabled: submittingTask,
|
|
952
|
-
className: "w-full
|
|
963
|
+
className: "w-full font-medium",
|
|
953
964
|
children: submittingTask ? t("workflows.checkoutDemo.customerInfo.submitting", "Submitting...") : t("workflows.checkoutDemo.customerInfo.submit", "Complete & Continue Checkout")
|
|
954
965
|
}
|
|
955
966
|
) })
|
|
956
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "bg-
|
|
957
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
958
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
967
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "bg-status-warning-bg border border-status-warning-border rounded-lg p-4", children: [
|
|
968
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-warning-text font-medium mb-2", children: t("workflows.checkoutDemo.customerInfo.noTaskTitle", "No task found") }),
|
|
969
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-status-warning-text mb-3", children: t("workflows.checkoutDemo.customerInfo.noTaskHint", "The user task may still be creating. This usually takes less than a second.") }),
|
|
959
970
|
/* @__PURE__ */ jsx(
|
|
960
971
|
Button,
|
|
961
972
|
{
|
|
@@ -971,12 +982,12 @@ function CheckoutDemoPage() {
|
|
|
971
982
|
] }),
|
|
972
983
|
result && result.currentStepId === "payment_initiation" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
973
984
|
/* @__PURE__ */ jsxs("h2", { className: "text-xl font-semibold text-gray-900 mb-4 flex items-center gap-2", children: [
|
|
974
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-
|
|
985
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-status-info-icon rounded-full animate-pulse" }),
|
|
975
986
|
t("workflows.checkoutDemo.paymentInitiation.title", "Initiating Payment")
|
|
976
987
|
] }),
|
|
977
988
|
/* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
978
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-
|
|
979
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
989
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-status-info-bg border border-status-info-border rounded-lg p-4", children: [
|
|
990
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-info-text font-medium mb-2", children: t("workflows.checkoutDemo.paymentInitiation.detailsTitle", "Payment Details") }),
|
|
980
991
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-sm", children: [
|
|
981
992
|
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
982
993
|
/* @__PURE__ */ jsx("span", { className: "text-gray-600", children: t("workflows.checkoutDemo.paymentInitiation.methodLabel", "Method:") }),
|
|
@@ -992,23 +1003,23 @@ function CheckoutDemoPage() {
|
|
|
992
1003
|
] })
|
|
993
1004
|
] }),
|
|
994
1005
|
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
995
|
-
/* @__PURE__ */ jsx(
|
|
1006
|
+
/* @__PURE__ */ jsx(Spinner, { size: "lg", className: "mb-4" }),
|
|
996
1007
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-gray-600", children: t("workflows.checkoutDemo.paymentInitiation.sending", "Sending payment request...") })
|
|
997
1008
|
] }) })
|
|
998
1009
|
] })
|
|
999
1010
|
] }),
|
|
1000
1011
|
result && result.currentStepId === "wait_payment_confirmation" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1001
1012
|
/* @__PURE__ */ jsxs("h2", { className: "text-xl font-semibold text-gray-900 mb-4 flex items-center gap-2", children: [
|
|
1002
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-
|
|
1013
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-status-warning-icon rounded-full animate-pulse" }),
|
|
1003
1014
|
t("workflows.checkoutDemo.waitPayment.title", "Waiting for Payment Confirmation")
|
|
1004
1015
|
] }),
|
|
1005
1016
|
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
1006
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-
|
|
1007
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
1008
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
1009
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-xs text-
|
|
1017
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-status-warning-bg border border-status-warning-border rounded-lg p-4", children: [
|
|
1018
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-warning-text font-medium mb-2", children: t("workflows.checkoutDemo.waitPayment.heading", "Awaiting Payment Provider Webhook") }),
|
|
1019
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-status-warning-text mb-3", children: t("workflows.checkoutDemo.waitPayment.description", "The workflow is paused waiting for the payment provider to confirm the transaction via webhook. In production, this would be sent automatically by Stripe, PayPal, etc.") }),
|
|
1020
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-xs text-status-warning-text", children: [
|
|
1010
1021
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1011
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-1.5 h-1.5 bg-
|
|
1022
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-1.5 h-1.5 bg-status-warning-icon rounded-full" }),
|
|
1012
1023
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
1013
1024
|
t("workflows.checkoutDemo.waitPayment.statusLabel", "Status:"),
|
|
1014
1025
|
" ",
|
|
@@ -1016,41 +1027,24 @@ function CheckoutDemoPage() {
|
|
|
1016
1027
|
] })
|
|
1017
1028
|
] }),
|
|
1018
1029
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1019
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-1.5 h-1.5 bg-
|
|
1030
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-1.5 h-1.5 bg-status-warning-icon rounded-full" }),
|
|
1020
1031
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
1021
1032
|
t("workflows.checkoutDemo.waitPayment.signalNameLabel", "Signal Name:"),
|
|
1022
1033
|
" ",
|
|
1023
|
-
/* @__PURE__ */ jsx("code", { className: "bg-
|
|
1034
|
+
/* @__PURE__ */ jsx("code", { className: "bg-status-warning-bg px-1 py-0.5 rounded", children: "payment_confirmed" })
|
|
1024
1035
|
] })
|
|
1025
1036
|
] }),
|
|
1026
1037
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1027
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-1.5 h-1.5 bg-
|
|
1038
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-1.5 h-1.5 bg-status-warning-icon rounded-full" }),
|
|
1028
1039
|
/* @__PURE__ */ jsx("span", { children: t("workflows.checkoutDemo.waitPayment.timeout", "Timeout: 5 minutes") })
|
|
1029
1040
|
] })
|
|
1030
1041
|
] })
|
|
1031
1042
|
] }),
|
|
1032
|
-
signalError && /* @__PURE__ */ jsx("div", { className: "bg-
|
|
1033
|
-
/* @__PURE__ */ jsx(
|
|
1034
|
-
"svg",
|
|
1035
|
-
{
|
|
1036
|
-
className: "h-5 w-5 text-red-600 mt-0.5 flex-shrink-0",
|
|
1037
|
-
fill: "none",
|
|
1038
|
-
viewBox: "0 0 24 24",
|
|
1039
|
-
stroke: "currentColor",
|
|
1040
|
-
children: /* @__PURE__ */ jsx(
|
|
1041
|
-
"path",
|
|
1042
|
-
{
|
|
1043
|
-
strokeLinecap: "round",
|
|
1044
|
-
strokeLinejoin: "round",
|
|
1045
|
-
strokeWidth: 2,
|
|
1046
|
-
d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
1047
|
-
}
|
|
1048
|
-
)
|
|
1049
|
-
}
|
|
1050
|
-
),
|
|
1043
|
+
signalError && /* @__PURE__ */ jsx("div", { className: "bg-status-error-bg border border-status-error-border rounded-lg p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start", children: [
|
|
1044
|
+
/* @__PURE__ */ jsx(AlertCircle, { className: "h-5 w-5 text-status-error-text mt-0.5 flex-shrink-0" }),
|
|
1051
1045
|
/* @__PURE__ */ jsxs("div", { className: "ml-3", children: [
|
|
1052
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-
|
|
1053
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
1046
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-status-error-text", children: t("workflows.checkoutDemo.waitPayment.signalErrorTitle", "Signal Error") }),
|
|
1047
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-error-text mt-1 whitespace-pre-wrap", children: signalError }),
|
|
1054
1048
|
/* @__PURE__ */ jsx(
|
|
1055
1049
|
Button,
|
|
1056
1050
|
{
|
|
@@ -1071,7 +1065,7 @@ function CheckoutDemoPage() {
|
|
|
1071
1065
|
{
|
|
1072
1066
|
onClick: handleSendPaymentSignal,
|
|
1073
1067
|
disabled: sendingSignal || result.status !== "PAUSED",
|
|
1074
|
-
className: "w-full
|
|
1068
|
+
className: "w-full font-medium",
|
|
1075
1069
|
children: sendingSignal ? t("workflows.checkoutDemo.waitPayment.sendingSignal", "Sending Signal...") : t("workflows.checkoutDemo.waitPayment.simulateWebhook", "\u{1F514} Simulate Payment Webhook")
|
|
1076
1070
|
}
|
|
1077
1071
|
),
|
|
@@ -1081,33 +1075,33 @@ function CheckoutDemoPage() {
|
|
|
1081
1075
|
t("workflows.checkoutDemo.waitPayment.sendsSuffix", " event")
|
|
1082
1076
|
] })
|
|
1083
1077
|
] }),
|
|
1084
|
-
result.status !== "PAUSED" && /* @__PURE__ */ jsx("div", { className: "bg-
|
|
1078
|
+
result.status !== "PAUSED" && /* @__PURE__ */ jsx("div", { className: "bg-status-info-bg border border-status-info-border rounded-lg p-4", children: /* @__PURE__ */ jsxs("p", { className: "text-sm text-status-info-text", children: [
|
|
1085
1079
|
/* @__PURE__ */ jsx("strong", { children: t("workflows.checkoutDemo.waitPayment.noteLabel", "Note:") }),
|
|
1086
1080
|
" ",
|
|
1087
1081
|
t("workflows.checkoutDemo.waitPayment.noteStatusPrefix", "Workflow status is "),
|
|
1088
1082
|
/* @__PURE__ */ jsx("strong", { children: result.status }),
|
|
1089
1083
|
t("workflows.checkoutDemo.waitPayment.noteStatusSuffix", ". The signal button will appear when the workflow is fully paused at this step.")
|
|
1090
1084
|
] }) }),
|
|
1091
|
-
/* @__PURE__ */ jsx("div", { className: "bg-
|
|
1085
|
+
/* @__PURE__ */ jsx("div", { className: "bg-status-info-bg border border-status-info-border rounded-lg p-4", children: /* @__PURE__ */ jsxs("p", { className: "text-xs text-status-info-text", children: [
|
|
1092
1086
|
/* @__PURE__ */ jsx("strong", { children: t("workflows.checkoutDemo.waitPayment.realWorldLabel", "Real-world scenario:") }),
|
|
1093
1087
|
" ",
|
|
1094
1088
|
t("workflows.checkoutDemo.waitPayment.realWorldPart1", "Your payment provider (Stripe, PayPal) would send a webhook to your server endpoint (e.g., "),
|
|
1095
|
-
/* @__PURE__ */ jsx("code", { className: "bg-
|
|
1089
|
+
/* @__PURE__ */ jsx("code", { className: "bg-status-info-bg px-1 py-0.5 rounded", children: "/api/webhooks/payments" }),
|
|
1096
1090
|
t("workflows.checkoutDemo.waitPayment.realWorldPart2", "), which would then call "),
|
|
1097
|
-
/* @__PURE__ */ jsx("code", { className: "bg-
|
|
1091
|
+
/* @__PURE__ */ jsx("code", { className: "bg-status-info-bg px-1 py-0.5 rounded", children: "POST /api/workflows/instances/[id]/signal" }),
|
|
1098
1092
|
t("workflows.checkoutDemo.waitPayment.realWorldPart3", " to resume the workflow.")
|
|
1099
1093
|
] }) })
|
|
1100
1094
|
] })
|
|
1101
1095
|
] }),
|
|
1102
1096
|
result && result.currentStepId === "order_confirmation" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1103
1097
|
/* @__PURE__ */ jsxs("h2", { className: "text-xl font-semibold text-gray-900 mb-4 flex items-center gap-2", children: [
|
|
1104
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-
|
|
1098
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-status-info-icon rounded-full animate-pulse" }),
|
|
1105
1099
|
t("workflows.checkoutDemo.orderConfirmation.title", "Creating Order")
|
|
1106
1100
|
] }),
|
|
1107
1101
|
/* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
1108
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-
|
|
1109
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
1110
|
-
/* @__PURE__ */ jsxs("p", { className: "text-xs text-
|
|
1102
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-status-success-bg border border-status-success-border rounded-lg p-4", children: [
|
|
1103
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-success-text font-medium mb-1", children: t("workflows.checkoutDemo.orderConfirmation.paymentSuccess", "Payment Successful!") }),
|
|
1104
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-status-success-text", children: [
|
|
1111
1105
|
t("workflows.checkoutDemo.orderConfirmation.transactionIdPrefix", "Transaction ID: "),
|
|
1112
1106
|
result.instanceId.slice(0, 8),
|
|
1113
1107
|
"..."
|
|
@@ -1115,11 +1109,11 @@ function CheckoutDemoPage() {
|
|
|
1115
1109
|
] }),
|
|
1116
1110
|
/* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
1117
1111
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
1118
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
1112
|
+
/* @__PURE__ */ jsx("span", { className: "text-status-success-text", children: "\u2713" }),
|
|
1119
1113
|
/* @__PURE__ */ jsx("span", { className: "text-gray-700", children: t("workflows.checkoutDemo.orderConfirmation.creatingRecord", "Creating order record") })
|
|
1120
1114
|
] }),
|
|
1121
1115
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
1122
|
-
/* @__PURE__ */ jsx(
|
|
1116
|
+
/* @__PURE__ */ jsx(Spinner, { size: "sm" }),
|
|
1123
1117
|
/* @__PURE__ */ jsx("span", { className: "text-gray-700", children: t("workflows.checkoutDemo.orderConfirmation.sendingEmail", "Sending confirmation email") })
|
|
1124
1118
|
] }),
|
|
1125
1119
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
@@ -1131,7 +1125,7 @@ function CheckoutDemoPage() {
|
|
|
1131
1125
|
] }),
|
|
1132
1126
|
result && result.status === "COMPLETED" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1133
1127
|
/* @__PURE__ */ jsxs("div", { className: "text-center mb-6", children: [
|
|
1134
|
-
/* @__PURE__ */ jsx("div", { className: "inline-flex items-center justify-center w-16 h-16 bg-
|
|
1128
|
+
/* @__PURE__ */ jsx("div", { className: "inline-flex items-center justify-center w-16 h-16 bg-status-success-bg rounded-full mb-4", children: /* @__PURE__ */ jsx(Check, { className: "w-8 h-8 text-status-success-text" }) }),
|
|
1135
1129
|
/* @__PURE__ */ jsx("h2", { className: "text-2xl font-bold text-gray-900 mb-2", children: t("workflows.checkoutDemo.completed.title", "Order Confirmed!") }),
|
|
1136
1130
|
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-600", children: [
|
|
1137
1131
|
t("workflows.checkoutDemo.completed.orderNumberPrefix", "Order #"),
|
|
@@ -1170,7 +1164,7 @@ function CheckoutDemoPage() {
|
|
|
1170
1164
|
] })
|
|
1171
1165
|
] }, item.id))
|
|
1172
1166
|
] }),
|
|
1173
|
-
/* @__PURE__ */ jsx("div", { className: "bg-
|
|
1167
|
+
/* @__PURE__ */ jsx("div", { className: "bg-status-info-bg border border-status-info-border rounded-lg p-4", children: /* @__PURE__ */ jsx("p", { className: "text-xs text-status-info-text", children: t("workflows.checkoutDemo.completed.emailSent", "\u2709\uFE0F A confirmation email has been sent to demo@example.com") }) }),
|
|
1174
1168
|
/* @__PURE__ */ jsx(
|
|
1175
1169
|
Button,
|
|
1176
1170
|
{
|
|
@@ -1186,8 +1180,8 @@ function CheckoutDemoPage() {
|
|
|
1186
1180
|
] })
|
|
1187
1181
|
] }),
|
|
1188
1182
|
result && result.status === "FAILED" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1189
|
-
/* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold text-
|
|
1190
|
-
/* @__PURE__ */ jsx("div", { className: "bg-
|
|
1183
|
+
/* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold text-status-error-text mb-4", children: t("workflows.checkoutDemo.failed.title", "Order Failed") }),
|
|
1184
|
+
/* @__PURE__ */ jsx("div", { className: "bg-status-error-bg border border-status-error-border rounded-lg p-4", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-status-error-text", children: t("workflows.checkoutDemo.failed.message", "Unfortunately, your order could not be processed. Please try again.") }) }),
|
|
1191
1185
|
/* @__PURE__ */ jsx(
|
|
1192
1186
|
Button,
|
|
1193
1187
|
{
|
|
@@ -1204,52 +1198,18 @@ function CheckoutDemoPage() {
|
|
|
1204
1198
|
/* @__PURE__ */ jsxs("div", { className: "bg-white shadow rounded-lg p-6", children: [
|
|
1205
1199
|
/* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold text-gray-900 mb-4", children: t("workflows.checkoutDemo.progress.title", "Workflow Progress") }),
|
|
1206
1200
|
!result && !error && /* @__PURE__ */ jsxs("div", { className: "text-center py-12", children: [
|
|
1207
|
-
/* @__PURE__ */ jsx(
|
|
1208
|
-
"svg",
|
|
1209
|
-
{
|
|
1210
|
-
className: "mx-auto h-12 w-12 text-gray-400",
|
|
1211
|
-
fill: "none",
|
|
1212
|
-
viewBox: "0 0 24 24",
|
|
1213
|
-
stroke: "currentColor",
|
|
1214
|
-
children: /* @__PURE__ */ jsx(
|
|
1215
|
-
"path",
|
|
1216
|
-
{
|
|
1217
|
-
strokeLinecap: "round",
|
|
1218
|
-
strokeLinejoin: "round",
|
|
1219
|
-
strokeWidth: 2,
|
|
1220
|
-
d: "M13 10V3L4 14h7v7l9-11h-7z"
|
|
1221
|
-
}
|
|
1222
|
-
)
|
|
1223
|
-
}
|
|
1224
|
-
),
|
|
1201
|
+
/* @__PURE__ */ jsx(Zap, { className: "mx-auto h-12 w-12 text-muted-foreground" }),
|
|
1225
1202
|
/* @__PURE__ */ jsx("p", { className: "mt-4 text-gray-600", children: t("workflows.checkoutDemo.progress.prompt", 'Click "Start Checkout Workflow" to begin') })
|
|
1226
1203
|
] }),
|
|
1227
1204
|
loading && /* @__PURE__ */ jsxs("div", { className: "text-center py-12", children: [
|
|
1228
|
-
/* @__PURE__ */ jsx(
|
|
1205
|
+
/* @__PURE__ */ jsx(Spinner, { size: "lg", className: "mx-auto" }),
|
|
1229
1206
|
/* @__PURE__ */ jsx("p", { className: "mt-4 text-gray-600", children: t("workflows.checkoutDemo.progress.startingWorkflow", "Starting workflow...") })
|
|
1230
1207
|
] }),
|
|
1231
|
-
error && /* @__PURE__ */ jsx("div", { className: "bg-
|
|
1232
|
-
/* @__PURE__ */ jsx(
|
|
1233
|
-
"svg",
|
|
1234
|
-
{
|
|
1235
|
-
className: "h-5 w-5 text-red-600 mt-0.5 flex-shrink-0",
|
|
1236
|
-
fill: "none",
|
|
1237
|
-
viewBox: "0 0 24 24",
|
|
1238
|
-
stroke: "currentColor",
|
|
1239
|
-
children: /* @__PURE__ */ jsx(
|
|
1240
|
-
"path",
|
|
1241
|
-
{
|
|
1242
|
-
strokeLinecap: "round",
|
|
1243
|
-
strokeLinejoin: "round",
|
|
1244
|
-
strokeWidth: 2,
|
|
1245
|
-
d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
1246
|
-
}
|
|
1247
|
-
)
|
|
1248
|
-
}
|
|
1249
|
-
),
|
|
1208
|
+
error && /* @__PURE__ */ jsx("div", { className: "bg-status-error-bg border border-status-error-border rounded-lg p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start", children: [
|
|
1209
|
+
/* @__PURE__ */ jsx(AlertCircle, { className: "h-5 w-5 text-status-error-text mt-0.5 flex-shrink-0" }),
|
|
1250
1210
|
/* @__PURE__ */ jsxs("div", { className: "ml-3 flex-1", children: [
|
|
1251
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-
|
|
1252
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-
|
|
1211
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-status-error-text", children: t("workflows.checkoutDemo.progress.errorTitle", "Error") }),
|
|
1212
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-status-error-text whitespace-pre-wrap", children: error }),
|
|
1253
1213
|
/* @__PURE__ */ jsx(
|
|
1254
1214
|
Button,
|
|
1255
1215
|
{
|
|
@@ -1305,32 +1265,15 @@ function CheckoutDemoPage() {
|
|
|
1305
1265
|
);
|
|
1306
1266
|
}) })
|
|
1307
1267
|
] }),
|
|
1308
|
-
result.status === "PAUSED" && userTasks.length > 0 && /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 pt-4", children: /* @__PURE__ */ jsxs("div", { className: "bg-
|
|
1268
|
+
result.status === "PAUSED" && userTasks.length > 0 && /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 pt-4", children: /* @__PURE__ */ jsxs("div", { className: "bg-status-warning-bg border border-status-warning-border rounded-lg p-4", children: [
|
|
1309
1269
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start mb-3", children: [
|
|
1310
|
-
/* @__PURE__ */ jsx(
|
|
1311
|
-
"svg",
|
|
1312
|
-
{
|
|
1313
|
-
className: "h-5 w-5 text-yellow-600 mt-0.5",
|
|
1314
|
-
fill: "none",
|
|
1315
|
-
viewBox: "0 0 24 24",
|
|
1316
|
-
stroke: "currentColor",
|
|
1317
|
-
children: /* @__PURE__ */ jsx(
|
|
1318
|
-
"path",
|
|
1319
|
-
{
|
|
1320
|
-
strokeLinecap: "round",
|
|
1321
|
-
strokeLinejoin: "round",
|
|
1322
|
-
strokeWidth: 2,
|
|
1323
|
-
d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
|
1324
|
-
}
|
|
1325
|
-
)
|
|
1326
|
-
}
|
|
1327
|
-
),
|
|
1270
|
+
/* @__PURE__ */ jsx(AlertTriangle, { className: "h-5 w-5 text-status-warning-text mt-0.5" }),
|
|
1328
1271
|
/* @__PURE__ */ jsxs("div", { className: "ml-3", children: [
|
|
1329
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-
|
|
1330
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
1272
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-status-warning-text", children: t("workflows.checkoutDemo.progress.userActionTitle", "User Action Required") }),
|
|
1273
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-status-warning-text mt-1", children: t("workflows.checkoutDemo.progress.userActionHint", "This workflow is paused waiting for user input. Please complete the task below to continue.") })
|
|
1331
1274
|
] })
|
|
1332
1275
|
] }),
|
|
1333
|
-
userTasks.map((task) => /* @__PURE__ */ jsxs("div", { className: "mt-3 bg-white rounded-md p-3 border border-
|
|
1276
|
+
userTasks.map((task) => /* @__PURE__ */ jsxs("div", { className: "mt-3 bg-white rounded-md p-3 border border-status-warning-border", children: [
|
|
1334
1277
|
/* @__PURE__ */ jsx("div", { className: "flex items-start justify-between", children: /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
1335
1278
|
/* @__PURE__ */ jsx("h4", { className: "text-sm font-semibold text-gray-900", children: task.taskName }),
|
|
1336
1279
|
task.description && /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-600 mt-1", children: task.description }),
|
|
@@ -1339,14 +1282,7 @@ function CheckoutDemoPage() {
|
|
|
1339
1282
|
new Date(task.dueDate).toLocaleString()
|
|
1340
1283
|
] })
|
|
1341
1284
|
] }) }),
|
|
1342
|
-
/* @__PURE__ */ jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsx(
|
|
1343
|
-
"a",
|
|
1344
|
-
{
|
|
1345
|
-
href: `/backend/tasks/${task.id}`,
|
|
1346
|
-
className: "inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-white bg-yellow-600 hover:bg-yellow-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-ring",
|
|
1347
|
-
children: t("workflows.checkoutDemo.progress.completeTask", "Complete Task \u2192")
|
|
1348
|
-
}
|
|
1349
|
-
) })
|
|
1285
|
+
/* @__PURE__ */ jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsx(Button, { asChild: true, children: /* @__PURE__ */ jsx("a", { href: `/backend/tasks/${task.id}`, children: t("workflows.checkoutDemo.progress.completeTask", "Complete Task \u2192") }) }) })
|
|
1350
1286
|
] }, task.id))
|
|
1351
1287
|
] }) }),
|
|
1352
1288
|
result.status === "RUNNING" && currentStep && currentStep.stepType !== "END" && /* @__PURE__ */ jsxs("div", { className: "border-t border-gray-200 pt-4", children: [
|
|
@@ -1362,39 +1298,15 @@ function CheckoutDemoPage() {
|
|
|
1362
1298
|
}
|
|
1363
1299
|
)
|
|
1364
1300
|
] }),
|
|
1365
|
-
result.status === "COMPLETED" && /* @__PURE__ */ jsx("div", { className: "bg-
|
|
1366
|
-
/* @__PURE__ */ jsx(
|
|
1367
|
-
"svg",
|
|
1368
|
-
{
|
|
1369
|
-
className: "h-5 w-5 text-green-600 mt-0.5",
|
|
1370
|
-
fill: "none",
|
|
1371
|
-
viewBox: "0 0 24 24",
|
|
1372
|
-
stroke: "currentColor",
|
|
1373
|
-
children: /* @__PURE__ */ jsx(
|
|
1374
|
-
"path",
|
|
1375
|
-
{
|
|
1376
|
-
strokeLinecap: "round",
|
|
1377
|
-
strokeLinejoin: "round",
|
|
1378
|
-
strokeWidth: 2,
|
|
1379
|
-
d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
1380
|
-
}
|
|
1381
|
-
)
|
|
1382
|
-
}
|
|
1383
|
-
),
|
|
1301
|
+
result.status === "COMPLETED" && /* @__PURE__ */ jsx("div", { className: "bg-status-success-bg border border-status-success-border rounded-lg p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start", children: [
|
|
1302
|
+
/* @__PURE__ */ jsx(CheckCircle2, { className: "h-5 w-5 text-status-success-text mt-0.5" }),
|
|
1384
1303
|
/* @__PURE__ */ jsxs("div", { className: "ml-3", children: [
|
|
1385
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-
|
|
1386
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-
|
|
1304
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-status-success-text", children: t("workflows.checkoutDemo.progress.workflowCompleted", "Workflow Completed!") }),
|
|
1305
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-status-success-text", children: t("workflows.checkoutDemo.progress.workflowCompletedHint", "All steps executed successfully") })
|
|
1387
1306
|
] })
|
|
1388
1307
|
] }) }),
|
|
1389
1308
|
/* @__PURE__ */ jsxs("div", { className: "border-t border-gray-200 pt-4 space-y-3", children: [
|
|
1390
|
-
/* @__PURE__ */ jsx(
|
|
1391
|
-
Link,
|
|
1392
|
-
{
|
|
1393
|
-
href: `/backend/instances/${result.instanceId}`,
|
|
1394
|
-
className: "block w-full text-center px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",
|
|
1395
|
-
children: t("workflows.checkoutDemo.progress.viewInAdmin", "View in Admin")
|
|
1396
|
-
}
|
|
1397
|
-
),
|
|
1309
|
+
/* @__PURE__ */ jsx(Button, { asChild: true, className: "w-full", children: /* @__PURE__ */ jsx(Link, { href: `/backend/instances/${result.instanceId}`, children: t("workflows.checkoutDemo.progress.viewInAdmin", "View in Admin") }) }),
|
|
1398
1310
|
/* @__PURE__ */ jsx(
|
|
1399
1311
|
Button,
|
|
1400
1312
|
{
|
|
@@ -1422,8 +1334,8 @@ function CheckoutDemoPage() {
|
|
|
1422
1334
|
")"
|
|
1423
1335
|
] })
|
|
1424
1336
|
] }),
|
|
1425
|
-
(result.status === "RUNNING" || result.status === "WAITING_FOR_ACTIVITIES") && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full text-xs font-medium bg-
|
|
1426
|
-
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-
|
|
1337
|
+
(result.status === "RUNNING" || result.status === "WAITING_FOR_ACTIVITIES") && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full text-xs font-medium bg-status-error-bg text-status-error-text", children: [
|
|
1338
|
+
/* @__PURE__ */ jsx("span", { className: "inline-block w-2 h-2 bg-status-error-icon rounded-full animate-pulse" }),
|
|
1427
1339
|
t("workflows.checkoutDemo.events.liveBadge", "Live")
|
|
1428
1340
|
] })
|
|
1429
1341
|
] }),
|
|
@@ -1431,7 +1343,7 @@ function CheckoutDemoPage() {
|
|
|
1431
1343
|
Link,
|
|
1432
1344
|
{
|
|
1433
1345
|
href: `/backend/events?workflowInstanceId=${result.instanceId}`,
|
|
1434
|
-
className: "text-sm text-
|
|
1346
|
+
className: "text-sm text-primary hover:underline",
|
|
1435
1347
|
children: t("workflows.checkoutDemo.events.viewAllLink", "View all events \u2192")
|
|
1436
1348
|
}
|
|
1437
1349
|
)
|
|
@@ -1463,7 +1375,7 @@ function CheckoutDemoPage() {
|
|
|
1463
1375
|
Link,
|
|
1464
1376
|
{
|
|
1465
1377
|
href: `/backend/events/${event.id}`,
|
|
1466
|
-
className: "text-xs text-
|
|
1378
|
+
className: "text-xs text-primary hover:underline whitespace-nowrap",
|
|
1467
1379
|
children: t("workflows.checkoutDemo.events.detailsLink", "Details")
|
|
1468
1380
|
}
|
|
1469
1381
|
)
|
|
@@ -1475,7 +1387,7 @@ function CheckoutDemoPage() {
|
|
|
1475
1387
|
Link,
|
|
1476
1388
|
{
|
|
1477
1389
|
href: `/backend/events?workflowInstanceId=${result.instanceId}`,
|
|
1478
|
-
className: "text-sm text-
|
|
1390
|
+
className: "text-sm text-primary hover:underline",
|
|
1479
1391
|
children: [
|
|
1480
1392
|
t("workflows.checkoutDemo.events.viewAllPrefix", "View all"),
|
|
1481
1393
|
" ",
|
|
@@ -1486,28 +1398,11 @@ function CheckoutDemoPage() {
|
|
|
1486
1398
|
}
|
|
1487
1399
|
) })
|
|
1488
1400
|
] }),
|
|
1489
|
-
/* @__PURE__ */ jsx("div", { className: "mt-4 bg-
|
|
1490
|
-
/* @__PURE__ */ jsx(
|
|
1491
|
-
"svg",
|
|
1492
|
-
{
|
|
1493
|
-
className: "h-5 w-5 text-blue-600 mt-0.5",
|
|
1494
|
-
fill: "none",
|
|
1495
|
-
viewBox: "0 0 24 24",
|
|
1496
|
-
stroke: "currentColor",
|
|
1497
|
-
children: /* @__PURE__ */ jsx(
|
|
1498
|
-
"path",
|
|
1499
|
-
{
|
|
1500
|
-
strokeLinecap: "round",
|
|
1501
|
-
strokeLinejoin: "round",
|
|
1502
|
-
strokeWidth: 2,
|
|
1503
|
-
d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
1504
|
-
}
|
|
1505
|
-
)
|
|
1506
|
-
}
|
|
1507
|
-
),
|
|
1401
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4 bg-status-info-bg border border-status-info-border rounded-lg p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start", children: [
|
|
1402
|
+
/* @__PURE__ */ jsx(Info, { className: "h-5 w-5 text-status-info-text mt-0.5" }),
|
|
1508
1403
|
/* @__PURE__ */ jsxs("div", { className: "ml-3", children: [
|
|
1509
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-
|
|
1510
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-2 text-sm text-
|
|
1404
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-medium text-status-info-text", children: t("workflows.checkoutDemo.features.title", "Features") }),
|
|
1405
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-2 text-sm text-status-info-text", children: [
|
|
1511
1406
|
/* @__PURE__ */ jsxs("ul", { className: "list-disc list-inside space-y-1", children: [
|
|
1512
1407
|
/* @__PURE__ */ jsxs("li", { children: [
|
|
1513
1408
|
/* @__PURE__ */ jsx("strong", { children: t("workflows.checkoutDemo.features.signalFlow.label", "Signal-Based Payment Flow:") }),
|
|
@@ -1546,7 +1441,7 @@ function CheckoutDemoPage() {
|
|
|
1546
1441
|
t("workflows.checkoutDemo.features.startPreconditions.body", " Validate business rules before workflow can start (e.g., cart not empty) with localized error messages")
|
|
1547
1442
|
] })
|
|
1548
1443
|
] }),
|
|
1549
|
-
/* @__PURE__ */ jsx("p", { className: "mt-2", children: /* @__PURE__ */ jsx(Link, { href: "/backend/definitions", className: "text-
|
|
1444
|
+
/* @__PURE__ */ jsx("p", { className: "mt-2", children: /* @__PURE__ */ jsx(Link, { href: "/backend/definitions", className: "text-primary underline", children: t("workflows.checkoutDemo.features.viewAllWorkflowsLink", "View all workflows \u2192") }) })
|
|
1550
1445
|
] })
|
|
1551
1446
|
] })
|
|
1552
1447
|
] }) })
|