@lodashventure/medusa-campaign 1.4.20 → 1.4.22
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/.medusa/server/src/admin/index.js +8 -7
- package/.medusa/server/src/admin/index.mjs +8 -7
- package/.medusa/server/src/api/admin/coupons/route.js +2 -2
- package/.medusa/server/src/workflows/custom-campaign/createCouponCampaignWorkflow.js +2 -2
- package/.medusa/server/src/workflows/custom-campaign/updateCouponCampaignWorkflow.js +2 -2
- package/package.json +1 -1
- package/src/admin/components/CouponForm.tsx +5 -3
- package/src/admin/components/FlashSalePage.tsx +2 -0
- package/src/admin/routes/coupons/[id]/page.tsx +4 -1
- package/src/api/admin/coupons/route.ts +1 -1
- package/src/workflows/custom-campaign/createCouponCampaignWorkflow.ts +2 -2
- package/src/workflows/custom-campaign/updateCouponCampaignWorkflow.ts +2 -2
|
@@ -357,6 +357,7 @@ const FlashSalePage = () => {
|
|
|
357
357
|
cell: (info) => info.getValue()
|
|
358
358
|
}),
|
|
359
359
|
columnHelper2.accessor("ends_at", {
|
|
360
|
+
id: "status",
|
|
360
361
|
header: "Status",
|
|
361
362
|
cell: (info) => {
|
|
362
363
|
const date = info.getValue();
|
|
@@ -378,6 +379,7 @@ const FlashSalePage = () => {
|
|
|
378
379
|
}
|
|
379
380
|
}),
|
|
380
381
|
columnHelper2.accessor("ends_at", {
|
|
382
|
+
id: "end_date",
|
|
381
383
|
header: "End Date",
|
|
382
384
|
cell: (info) => {
|
|
383
385
|
const date = info.getValue();
|
|
@@ -430,7 +432,7 @@ const couponSchema = z__default.default.object({
|
|
|
430
432
|
currency_code: z__default.default.string().optional(),
|
|
431
433
|
starts_at: z__default.default.string().min(1, "Start date is required"),
|
|
432
434
|
ends_at: z__default.default.string().min(1, "End date is required"),
|
|
433
|
-
allocation: z__default.default.enum(["each", "across"
|
|
435
|
+
allocation: z__default.default.enum(["each", "across"]).optional(),
|
|
434
436
|
target_type: z__default.default.enum(["order", "items"]).optional()
|
|
435
437
|
}).superRefine((data, ctx) => {
|
|
436
438
|
if (new Date(data.ends_at) < new Date(data.starts_at)) {
|
|
@@ -473,7 +475,7 @@ const CouponForm = ({
|
|
|
473
475
|
currency_code: (initialData == null ? void 0 : initialData.currency_code) ?? "",
|
|
474
476
|
starts_at: (initialData == null ? void 0 : initialData.starts_at) ?? dayjs__default.default().startOf("day").format("YYYY-MM-DDTHH:mm"),
|
|
475
477
|
ends_at: (initialData == null ? void 0 : initialData.ends_at) ?? dayjs__default.default().endOf("day").format("YYYY-MM-DDTHH:mm"),
|
|
476
|
-
allocation: (initialData == null ? void 0 : initialData.allocation) ?? "across",
|
|
478
|
+
allocation: (initialData == null ? void 0 : initialData.allocation) === "total" ? "across" : (initialData == null ? void 0 : initialData.allocation) ?? "across",
|
|
477
479
|
target_type: (initialData == null ? void 0 : initialData.target_type) ?? "order"
|
|
478
480
|
}
|
|
479
481
|
});
|
|
@@ -653,8 +655,7 @@ const CouponForm = ({
|
|
|
653
655
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Select.Value, { placeholder: "Select allocation" }) }),
|
|
654
656
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.Select.Content, { children: [
|
|
655
657
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Item, { value: "across", children: "Across Order" }),
|
|
656
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Item, { value: "each", children: "Each Item" })
|
|
657
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Item, { value: "once", children: "Once Per Order" })
|
|
658
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Item, { value: "each", children: "Each Item" })
|
|
658
659
|
] })
|
|
659
660
|
]
|
|
660
661
|
}
|
|
@@ -1569,7 +1570,7 @@ const CampaignDetailForm = ({
|
|
|
1569
1570
|
] });
|
|
1570
1571
|
};
|
|
1571
1572
|
const CouponDetail = () => {
|
|
1572
|
-
var _a, _b, _c, _d, _e, _f;
|
|
1573
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1573
1574
|
const { id } = reactRouterDom.useParams();
|
|
1574
1575
|
const navigate = reactRouterDom.useNavigate();
|
|
1575
1576
|
const [isEditing, setIsEditing] = react.useState(false);
|
|
@@ -1592,8 +1593,8 @@ const CouponDetail = () => {
|
|
|
1592
1593
|
currency_code: ((_d = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _d.currency_code) ?? void 0,
|
|
1593
1594
|
starts_at: campaign.starts_at ? dayjs__default.default(campaign.starts_at).format("YYYY-MM-DDTHH:mm") : void 0,
|
|
1594
1595
|
ends_at: campaign.ends_at ? dayjs__default.default(campaign.ends_at).format("YYYY-MM-DDTHH:mm") : void 0,
|
|
1595
|
-
allocation: ((_e = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _e.allocation)
|
|
1596
|
-
target_type: ((
|
|
1596
|
+
allocation: ((_e = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _e.allocation) === "total" ? "across" : ((_f = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _f.allocation) ?? "across",
|
|
1597
|
+
target_type: ((_g = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _g.target_type) ?? "order"
|
|
1597
1598
|
};
|
|
1598
1599
|
const handleSubmit = async (formData) => {
|
|
1599
1600
|
var _a2, _b2;
|
|
@@ -351,6 +351,7 @@ const FlashSalePage = () => {
|
|
|
351
351
|
cell: (info) => info.getValue()
|
|
352
352
|
}),
|
|
353
353
|
columnHelper2.accessor("ends_at", {
|
|
354
|
+
id: "status",
|
|
354
355
|
header: "Status",
|
|
355
356
|
cell: (info) => {
|
|
356
357
|
const date = info.getValue();
|
|
@@ -372,6 +373,7 @@ const FlashSalePage = () => {
|
|
|
372
373
|
}
|
|
373
374
|
}),
|
|
374
375
|
columnHelper2.accessor("ends_at", {
|
|
376
|
+
id: "end_date",
|
|
375
377
|
header: "End Date",
|
|
376
378
|
cell: (info) => {
|
|
377
379
|
const date = info.getValue();
|
|
@@ -424,7 +426,7 @@ const couponSchema = z.object({
|
|
|
424
426
|
currency_code: z.string().optional(),
|
|
425
427
|
starts_at: z.string().min(1, "Start date is required"),
|
|
426
428
|
ends_at: z.string().min(1, "End date is required"),
|
|
427
|
-
allocation: z.enum(["each", "across"
|
|
429
|
+
allocation: z.enum(["each", "across"]).optional(),
|
|
428
430
|
target_type: z.enum(["order", "items"]).optional()
|
|
429
431
|
}).superRefine((data, ctx) => {
|
|
430
432
|
if (new Date(data.ends_at) < new Date(data.starts_at)) {
|
|
@@ -467,7 +469,7 @@ const CouponForm = ({
|
|
|
467
469
|
currency_code: (initialData == null ? void 0 : initialData.currency_code) ?? "",
|
|
468
470
|
starts_at: (initialData == null ? void 0 : initialData.starts_at) ?? dayjs().startOf("day").format("YYYY-MM-DDTHH:mm"),
|
|
469
471
|
ends_at: (initialData == null ? void 0 : initialData.ends_at) ?? dayjs().endOf("day").format("YYYY-MM-DDTHH:mm"),
|
|
470
|
-
allocation: (initialData == null ? void 0 : initialData.allocation) ?? "across",
|
|
472
|
+
allocation: (initialData == null ? void 0 : initialData.allocation) === "total" ? "across" : (initialData == null ? void 0 : initialData.allocation) ?? "across",
|
|
471
473
|
target_type: (initialData == null ? void 0 : initialData.target_type) ?? "order"
|
|
472
474
|
}
|
|
473
475
|
});
|
|
@@ -647,8 +649,7 @@ const CouponForm = ({
|
|
|
647
649
|
/* @__PURE__ */ jsx(Select.Trigger, { children: /* @__PURE__ */ jsx(Select.Value, { placeholder: "Select allocation" }) }),
|
|
648
650
|
/* @__PURE__ */ jsxs(Select.Content, { children: [
|
|
649
651
|
/* @__PURE__ */ jsx(Select.Item, { value: "across", children: "Across Order" }),
|
|
650
|
-
/* @__PURE__ */ jsx(Select.Item, { value: "each", children: "Each Item" })
|
|
651
|
-
/* @__PURE__ */ jsx(Select.Item, { value: "once", children: "Once Per Order" })
|
|
652
|
+
/* @__PURE__ */ jsx(Select.Item, { value: "each", children: "Each Item" })
|
|
652
653
|
] })
|
|
653
654
|
]
|
|
654
655
|
}
|
|
@@ -1563,7 +1564,7 @@ const CampaignDetailForm = ({
|
|
|
1563
1564
|
] });
|
|
1564
1565
|
};
|
|
1565
1566
|
const CouponDetail = () => {
|
|
1566
|
-
var _a, _b, _c, _d, _e, _f;
|
|
1567
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1567
1568
|
const { id } = useParams();
|
|
1568
1569
|
const navigate = useNavigate();
|
|
1569
1570
|
const [isEditing, setIsEditing] = useState(false);
|
|
@@ -1586,8 +1587,8 @@ const CouponDetail = () => {
|
|
|
1586
1587
|
currency_code: ((_d = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _d.currency_code) ?? void 0,
|
|
1587
1588
|
starts_at: campaign.starts_at ? dayjs(campaign.starts_at).format("YYYY-MM-DDTHH:mm") : void 0,
|
|
1588
1589
|
ends_at: campaign.ends_at ? dayjs(campaign.ends_at).format("YYYY-MM-DDTHH:mm") : void 0,
|
|
1589
|
-
allocation: ((_e = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _e.allocation)
|
|
1590
|
-
target_type: ((
|
|
1590
|
+
allocation: ((_e = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _e.allocation) === "total" ? "across" : ((_f = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _f.allocation) ?? "across",
|
|
1591
|
+
target_type: ((_g = promotion == null ? void 0 : promotion.application_method) == null ? void 0 : _g.target_type) ?? "order"
|
|
1591
1592
|
};
|
|
1592
1593
|
const handleSubmit = async (formData) => {
|
|
1593
1594
|
var _a2, _b2;
|
|
@@ -22,7 +22,7 @@ exports.createCouponCampaignSchema = zod_1.default
|
|
|
22
22
|
discount_type: zod_1.default.enum(["percentage", "fixed"]),
|
|
23
23
|
discount_value: zod_1.default.number().positive("Discount value must be positive"),
|
|
24
24
|
currency_code: zod_1.default.string().optional(),
|
|
25
|
-
allocation: zod_1.default.enum(["each", "
|
|
25
|
+
allocation: zod_1.default.enum(["each", "across"]).optional(),
|
|
26
26
|
target_type: zod_1.default.enum(["order", "items"]).optional(),
|
|
27
27
|
})
|
|
28
28
|
.superRefine((data, ctx) => {
|
|
@@ -85,4 +85,4 @@ const GET = async (req, res) => {
|
|
|
85
85
|
});
|
|
86
86
|
};
|
|
87
87
|
exports.GET = GET;
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvdXBvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQStFO0FBQy9FLHFEQUdtQztBQUNuQyxzRUFBeUU7QUFDekUsOENBQW9CO0FBQ3BCLG1HQUE4RjtBQUM5RixrSEFBK0c7QUFDL0csd0VBQTJFO0FBRzlELFFBQUEsMEJBQTBCLEdBQUcsYUFBQztLQUN4QyxNQUFNLENBQUM7SUFDTixJQUFJLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUM7SUFDM0MsV0FBVyxFQUFFLGFBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixDQUFDO0lBQ3pELElBQUksRUFBRSxhQUFDLENBQUMsT0FBTyxDQUFDLHFDQUFnQixDQUFDLE1BQU0sQ0FBQztJQUN4QyxJQUFJLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLENBQUM7SUFDbEQsU0FBUyxFQUFFLGFBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO0lBQzFCLE9BQU8sRUFBRSxhQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtJQUN4QixhQUFhLEVBQUUsYUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxjQUFjLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsQ0FBQztJQUN0RSxhQUFhLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxVQUFVLEVBQUUsYUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFB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
|
|
@@ -45,7 +45,7 @@ const createCouponCampaignStep = (0, workflows_sdk_1.createStep)("create-coupon-
|
|
|
45
45
|
campaign_id: campaign.id,
|
|
46
46
|
application_method: {
|
|
47
47
|
target_type: input.target_type ?? "order",
|
|
48
|
-
allocation:
|
|
48
|
+
allocation: input.allocation ?? "across",
|
|
49
49
|
type: input.discount_type,
|
|
50
50
|
value: input.discount_value,
|
|
51
51
|
currency_code: input.discount_type === "fixed" && input.currency_code
|
|
@@ -102,4 +102,4 @@ exports.createCouponCampaignWorkflow = (0, workflows_sdk_1.createWorkflow)("crea
|
|
|
102
102
|
const couponCampaign = createCouponCampaignStep(input);
|
|
103
103
|
return new workflows_sdk_1.WorkflowResponse(couponCampaign);
|
|
104
104
|
});
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ291cG9uQ2FtcGFpZ25Xb3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY3VzdG9tLWNhbXBhaWduL2NyZWF0ZUNvdXBvbkNhbXBhaWduV29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBT2hELHFEQUltQztBQUNuQyxxRUFLMkM7QUFDM0MsNERBS3FDO0FBQ3JDLHFFQUF3RTtBQWtCeEUsTUFBTSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLDZCQUE2QixFQUM3QixLQUFLLEVBQUUsS0FBZ0MsRUFBRSxFQUFFO0lBQ3pDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLG1DQUFtQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLGFBQWEsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUQsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsbURBQW1ELENBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsTUFBTSwyQkFBMkIsR0FDL0IscUJBQVMsQ0FBQyxPQUFPLENBQThCLHlDQUFzQixDQUFDLENBQUM7SUFFekUsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFFekQsSUFBSSxRQUFpQyxD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
|
|
@@ -39,7 +39,7 @@ const updateCouponCampaignStep = (0, workflows_sdk_1.createStep)("update-coupon-
|
|
|
39
39
|
application_method: {
|
|
40
40
|
type: input.discount_type,
|
|
41
41
|
target_type: input.target_type ?? "order",
|
|
42
|
-
allocation:
|
|
42
|
+
allocation: input.allocation ?? "across",
|
|
43
43
|
value: input.discount_value,
|
|
44
44
|
currency_code: input.discount_type === "fixed" && input.currency_code
|
|
45
45
|
? input.currency_code
|
|
@@ -56,4 +56,4 @@ exports.updateCouponCampaignWorkflow = (0, workflows_sdk_1.createWorkflow)("upda
|
|
|
56
56
|
const result = updateCouponCampaignStep(input);
|
|
57
57
|
return new workflows_sdk_1.WorkflowResponse(result);
|
|
58
58
|
});
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlQ291cG9uQ2FtcGFpZ25Xb3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY3VzdG9tLWNhbXBhaWduL3VwZGF0ZUNvdXBvbkNhbXBhaWduV29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBS2hELHFEQUFpRTtBQUNqRSxxRUFLMkM7QUFDM0MsNERBQXNFO0FBZ0J0RSxNQUFNLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFDekMsNkJBQTZCLEVBQzdCLEtBQUssRUFBRSxLQUFnQyxFQUFFLEVBQUU7SUFDekMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsbUNBQW1DLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsYUFBYSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1RCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixtREFBbUQsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLHFCQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU5RCxNQUFNLFVBQVUsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztRQUN2RCxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUU7S0FDZixDQUFDLENBQUM7SUFFVixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLHlDQUF5QyxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoQyxNQUFNLG9DQUF1QixDQUFDLEdBQUcsQ0FBQztRQUNoQyxLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNaLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDaEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO29CQUM5QixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7aUJBQ0w7YUFDOUI7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUF1QjtRQUNyQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUU7UUFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLGtCQUFrQixFQUFFO1lBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYTtZQUN6QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxPQUFPO1lBQ3pDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLFFBQVE7WUFDeEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQzNCLGFBQWEsRUFDWCxLQUFLLENBQUMsYUFBYSxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsYUFBYTtnQkFDcEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhO2dCQUNyQixDQUFDLENBQUMsU0FBUztTQUNoQjtLQUNGLENBQUM7SUFFRixNQUFNLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUV0RCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDckIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFO0tBQzNCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDO0FBRVcsUUFBQSw0QkFBNEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3hELHdCQUF3QixFQUN4QixDQUFDLEtBQWdDLEVBQUUsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUNGLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@ const couponSchema = z
|
|
|
24
24
|
currency_code: z.string().optional(),
|
|
25
25
|
starts_at: z.string().min(1, "Start date is required"),
|
|
26
26
|
ends_at: z.string().min(1, "End date is required"),
|
|
27
|
-
allocation: z.enum(["each", "across"
|
|
27
|
+
allocation: z.enum(["each", "across"]).optional(),
|
|
28
28
|
target_type: z.enum(["order", "items"]).optional(),
|
|
29
29
|
})
|
|
30
30
|
.superRefine((data, ctx) => {
|
|
@@ -83,7 +83,10 @@ export const CouponForm: FC<CouponFormProps> = ({
|
|
|
83
83
|
ends_at:
|
|
84
84
|
initialData?.ends_at ??
|
|
85
85
|
dayjs().endOf("day").format("YYYY-MM-DDTHH:mm"),
|
|
86
|
-
allocation:
|
|
86
|
+
allocation:
|
|
87
|
+
initialData?.allocation === "total"
|
|
88
|
+
? "across"
|
|
89
|
+
: initialData?.allocation ?? "across",
|
|
87
90
|
target_type: initialData?.target_type ?? "order",
|
|
88
91
|
},
|
|
89
92
|
});
|
|
@@ -308,7 +311,6 @@ export const CouponForm: FC<CouponFormProps> = ({
|
|
|
308
311
|
<Select.Content>
|
|
309
312
|
<Select.Item value="across">Across Order</Select.Item>
|
|
310
313
|
<Select.Item value="each">Each Item</Select.Item>
|
|
311
|
-
<Select.Item value="once">Once Per Order</Select.Item>
|
|
312
314
|
</Select.Content>
|
|
313
315
|
</Select>
|
|
314
316
|
)}
|
|
@@ -32,6 +32,7 @@ export const FlashSalePage = () => {
|
|
|
32
32
|
cell: (info) => info.getValue(),
|
|
33
33
|
}),
|
|
34
34
|
columnHelper.accessor("ends_at", {
|
|
35
|
+
id: "status",
|
|
35
36
|
header: "Status",
|
|
36
37
|
cell: (info) => {
|
|
37
38
|
const date = info.getValue();
|
|
@@ -58,6 +59,7 @@ export const FlashSalePage = () => {
|
|
|
58
59
|
},
|
|
59
60
|
}),
|
|
60
61
|
columnHelper.accessor("ends_at", {
|
|
62
|
+
id: "end_date",
|
|
61
63
|
header: "End Date",
|
|
62
64
|
cell: (info) => {
|
|
63
65
|
const date = info.getValue();
|
|
@@ -57,7 +57,10 @@ const CouponDetail: FC = () => {
|
|
|
57
57
|
ends_at: campaign.ends_at
|
|
58
58
|
? dayjs(campaign.ends_at).format("YYYY-MM-DDTHH:mm")
|
|
59
59
|
: undefined,
|
|
60
|
-
allocation:
|
|
60
|
+
allocation:
|
|
61
|
+
promotion?.application_method?.allocation === "total"
|
|
62
|
+
? "across"
|
|
63
|
+
: promotion?.application_method?.allocation ?? "across",
|
|
61
64
|
target_type: promotion?.application_method?.target_type ?? "order",
|
|
62
65
|
};
|
|
63
66
|
|
|
@@ -21,7 +21,7 @@ export const createCouponCampaignSchema = z
|
|
|
21
21
|
discount_type: z.enum(["percentage", "fixed"]),
|
|
22
22
|
discount_value: z.number().positive("Discount value must be positive"),
|
|
23
23
|
currency_code: z.string().optional(),
|
|
24
|
-
allocation: z.enum(["each", "
|
|
24
|
+
allocation: z.enum(["each", "across"]).optional(),
|
|
25
25
|
target_type: z.enum(["order", "items"]).optional(),
|
|
26
26
|
})
|
|
27
27
|
.superRefine((data, ctx) => {
|
|
@@ -36,7 +36,7 @@ export type CreateCouponCampaignInput = {
|
|
|
36
36
|
discount_type: "percentage" | "fixed";
|
|
37
37
|
discount_value: number;
|
|
38
38
|
currency_code?: string | null;
|
|
39
|
-
allocation?: "each" | "
|
|
39
|
+
allocation?: "each" | "across";
|
|
40
40
|
target_type?: "order" | "items";
|
|
41
41
|
};
|
|
42
42
|
|
|
@@ -103,7 +103,7 @@ const createCouponCampaignStep = createStep(
|
|
|
103
103
|
campaign_id: campaign.id,
|
|
104
104
|
application_method: {
|
|
105
105
|
target_type: input.target_type ?? "order",
|
|
106
|
-
allocation:
|
|
106
|
+
allocation: input.allocation ?? "across",
|
|
107
107
|
type: input.discount_type,
|
|
108
108
|
value: input.discount_value,
|
|
109
109
|
currency_code:
|
|
@@ -22,7 +22,7 @@ export type UpdateCouponCampaignInput = {
|
|
|
22
22
|
discount_type: "percentage" | "fixed";
|
|
23
23
|
discount_value: number;
|
|
24
24
|
currency_code?: string | null;
|
|
25
|
-
allocation?: "each" | "
|
|
25
|
+
allocation?: "each" | "across";
|
|
26
26
|
target_type?: "order" | "items";
|
|
27
27
|
};
|
|
28
28
|
|
|
@@ -78,7 +78,7 @@ const updateCouponCampaignStep = createStep(
|
|
|
78
78
|
application_method: {
|
|
79
79
|
type: input.discount_type,
|
|
80
80
|
target_type: input.target_type ?? "order",
|
|
81
|
-
allocation:
|
|
81
|
+
allocation: input.allocation ?? "across",
|
|
82
82
|
value: input.discount_value,
|
|
83
83
|
currency_code:
|
|
84
84
|
input.discount_type === "fixed" && input.currency_code
|