diff --git a/src/pages/CampaignRuleWizard/CriteriaBuilder/Canvas.tsx b/src/pages/CampaignRuleWizard/CriteriaBuilder/Canvas.tsx index 605100e..0d37d6c 100644 --- a/src/pages/CampaignRuleWizard/CriteriaBuilder/Canvas.tsx +++ b/src/pages/CampaignRuleWizard/CriteriaBuilder/Canvas.tsx @@ -1,6 +1,7 @@ import { useDroppable } from "@dnd-kit/core"; import { useCampaignRule } from "@/context/CampaignRuleContext"; import { RuleGroup } from "./RuleGroup"; +import { Fragment } from "react"; export function Canvas() { const { state, updateState } = useCampaignRule(); @@ -23,14 +24,30 @@ export function Canvas() { return (
-
- {groups.map((group: any) => ( - +
+ {groups.map((group: any, index: number) => ( + + + {index < groups.length - 1 && ( +
+
+
+
+
+ +
+
+ )} + ))}
diff --git a/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleCondition.tsx b/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleCondition.tsx index 5f37c98..f631ba3 100644 --- a/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleCondition.tsx +++ b/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleCondition.tsx @@ -40,13 +40,13 @@ export function Condition({ condition, groupId }: ConditionProps) { }; return ( -
-
+
+
{condition.label}
handleUpdate("value", e.target.value)} /> -
); diff --git a/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleGroup.tsx b/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleGroup.tsx index 9f741da..43c1c41 100644 --- a/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleGroup.tsx +++ b/src/pages/CampaignRuleWizard/CriteriaBuilder/RuleGroup.tsx @@ -21,11 +21,11 @@ export function RuleGroup({ id, operator, conditions, onDeleteGroup, onOperatorC return (
-
+
-
+
{conditions.length === 0 ? (
Drop condition here diff --git a/src/pages/CampaignRuleWizard/CriteriaBuilder/Sidebar.tsx b/src/pages/CampaignRuleWizard/CriteriaBuilder/Sidebar.tsx index e968e95..c081436 100644 --- a/src/pages/CampaignRuleWizard/CriteriaBuilder/Sidebar.tsx +++ b/src/pages/CampaignRuleWizard/CriteriaBuilder/Sidebar.tsx @@ -195,8 +195,8 @@ export function Sidebar() { }, [search, selectedGroupIds]); return ( -
-
+
+
{/* Ô tìm kiếm */}
@@ -256,7 +256,7 @@ export function Sidebar() {
-
+
{filteredGroups.length === 0 ? (
Không tìm thấy trường nào. diff --git a/src/pages/CampaignRuleWizard/CriteriaBuilder/index.tsx b/src/pages/CampaignRuleWizard/CriteriaBuilder/index.tsx index ef85b2f..8bcf0e8 100644 --- a/src/pages/CampaignRuleWizard/CriteriaBuilder/index.tsx +++ b/src/pages/CampaignRuleWizard/CriteriaBuilder/index.tsx @@ -67,24 +67,7 @@ export function CriteriaBuilder() { return (
-
- Match -
- - -
- of the following groups: -
+
diff --git a/src/pages/CampaignRuleWizard/GlobalSummaryPanel.tsx b/src/pages/CampaignRuleWizard/GlobalSummaryPanel.tsx index 0b3b2a5..7f09db3 100644 --- a/src/pages/CampaignRuleWizard/GlobalSummaryPanel.tsx +++ b/src/pages/CampaignRuleWizard/GlobalSummaryPanel.tsx @@ -6,13 +6,13 @@ export function GlobalSummaryPanel() { const { general, criteria, formula, notification } = state; return ( -
-
-

Campaign Summary

-

Live preview of your configurations

+
+
+

Campaign Summary

+

Live preview of configurations

-
+
{/* General Info */}
@@ -24,20 +24,20 @@ export function GlobalSummaryPanel() {
- -
+ +
{general.name ? ( <> -

Name: {general.name}

- {general.type &&

Type: {general.type}

} +
Name: {general.name}
+ {general.type &&
Type: {general.type}
} {general.effectiveDateStart && ( -

+

{general.effectiveDateStart} {general.effectiveDateEnd && `to ${general.effectiveDateEnd}`} -

+
)} ) : ( -

+

Not configured yet

)} @@ -57,33 +57,37 @@ export function GlobalSummaryPanel() {
- -
+ +
{criteria.groups.length > 0 ? ( -
-

Match {criteria.globalOperator} of:

+
{criteria.groups.map((g, i) => ( -
-

- Group {i + 1} - {g.operator} -

-
    +
    +
    + Group {i + 1} + {g.operator} +
    +
      {g.conditions.map(c => ( -
    • - {c.label} -
      - {c.operator} - +
    • + {c.label} +
      + {c.operator} + {c.value || '...'}
    • ))} - {g.conditions.length === 0 && Empty} + {g.conditions.length === 0 && Empty}
    ))} + {criteria.groups.length > 1 && ( +

    + Groups are matched by {criteria.globalOperator} +

    + )}
) : (

@@ -104,7 +108,7 @@ export function GlobalSummaryPanel() {

-
+

Pending configuration

@@ -122,7 +126,7 @@ export function GlobalSummaryPanel() {
-
+

Pending configuration

diff --git a/src/pages/CampaignRuleWizard/index.tsx b/src/pages/CampaignRuleWizard/index.tsx index ae0eda3..078e5de 100644 --- a/src/pages/CampaignRuleWizard/index.tsx +++ b/src/pages/CampaignRuleWizard/index.tsx @@ -24,10 +24,8 @@ function WizardContent() {
- - -
-
+
+
{currentStep === 0 && } {currentStep === 1 && } {currentStep === 2 && }