@mercurjs/admin 2.1.0-canary.6 → 2.1.0-canary.8
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/dist/{add-campaign-promotions-VKH6RC3R.js → add-campaign-promotions-WILFAFL4.js} +5 -5
- package/dist/{api-key-management-list-4MCSXO5L.js → api-key-management-list-DQ33T6KV.js} +3 -3
- package/dist/{attribute-detail-E6ILEV4C.js → attribute-detail-FLQKKFCO.js} +2 -2
- package/dist/{attribute-list-SFUKKH25.js → attribute-list-ODT2ZP4T.js} +3 -3
- package/dist/{campaign-detail-OJF24KXP.js → campaign-detail-S44LA6AX.js} +6 -6
- package/dist/{campaign-list-TXTMGE6H.js → campaign-list-A3TVXCV4.js} +3 -3
- package/dist/{category-detail-YELQ7OSB.js → category-detail-DXQECKDO.js} +3 -3
- package/dist/{category-list-DVDOBE7O.js → category-list-AQIONIMS.js} +3 -3
- package/dist/{category-products-G6XFVWWK.js → category-products-VV3JLNW7.js} +2 -2
- package/dist/{chunk-2KWNTJGL.js → chunk-3QIIWLCT.js} +1 -1
- package/dist/{chunk-TLAUR5IR.js → chunk-3TOCWPCQ.js} +1 -1
- package/dist/{chunk-6BOPJWOS.js → chunk-3U4C3UKN.js} +2 -2
- package/dist/{chunk-Q4WP4LIW.js → chunk-4OHMUFVP.js} +1 -1
- package/dist/{chunk-SNH3O6QM.js → chunk-52ZAPY3Z.js} +2 -2
- package/dist/{chunk-ZFQ5XQ2W.js → chunk-5Q2DL7Z2.js} +2 -2
- package/dist/{chunk-3EF54XFY.js → chunk-634XVU3D.js} +1 -1
- package/dist/{chunk-QONWYA46.js → chunk-6AZBAS4D.js} +1 -1
- package/dist/{chunk-T3ZRBKEC.js → chunk-6KIROGNM.js} +117 -64
- package/dist/{chunk-3LPDWXLV.js → chunk-7IKRJNID.js} +1 -1
- package/dist/{chunk-RFYOW244.js → chunk-BAJODL3V.js} +2 -2
- package/dist/{chunk-AGB4RMSE.js → chunk-BGSOUCCN.js} +1 -1
- package/dist/{chunk-ZTAKV4UY.js → chunk-CPZJNHAL.js} +1 -1
- package/dist/{chunk-7URRKQIX.js → chunk-CUSRWXZY.js} +1 -1
- package/dist/{chunk-YHWY7YA3.js → chunk-D3OIFOHY.js} +1 -1
- package/dist/{chunk-2ASJQTGT.js → chunk-E3DLJSYD.js} +1 -1
- package/dist/{chunk-VZVB3ZR3.js → chunk-EHLONIAY.js} +1 -1
- package/dist/{chunk-O6X4QXB5.js → chunk-FZCXIX37.js} +1 -1
- package/dist/{chunk-LGYQGZNR.js → chunk-GQUE4TAJ.js} +1 -1
- package/dist/{chunk-ZD46XW74.js → chunk-GS7L2B4S.js} +1 -1
- package/dist/{chunk-MVSHIITK.js → chunk-H55UROTU.js} +1 -1
- package/dist/{chunk-N2Y3OWEV.js → chunk-IBOTFRZP.js} +1 -1
- package/dist/{chunk-LVEROZU4.js → chunk-IGBGQDKS.js} +1 -1
- package/dist/{chunk-BOGOBZVM.js → chunk-IXHIM2HR.js} +1 -1
- package/dist/{chunk-73JXHNUH.js → chunk-JDHG7FWL.js} +1 -1
- package/dist/{chunk-IDBCFDIT.js → chunk-JJYOI5PR.js} +1 -1
- package/dist/{chunk-F2ZHPWHP.js → chunk-JPJISU7W.js} +1 -1
- package/dist/{chunk-EA5ADIDK.js → chunk-JRFNFYXA.js} +1 -1
- package/dist/{chunk-TFRTL5VZ.js → chunk-K7BVNZS6.js} +1 -1
- package/dist/{chunk-L6LJB5HH.js → chunk-KERTIEWE.js} +1 -1
- package/dist/{chunk-ULJ3OMWU.js → chunk-KLVTWJ4M.js} +1 -1
- package/dist/{chunk-3WQCJEAS.js → chunk-LET54CD5.js} +1 -1
- package/dist/{chunk-CDS2B2P6.js → chunk-LN3OHONN.js} +1 -1
- package/dist/{chunk-ARMMSJ7L.js → chunk-LVLDW6FV.js} +1 -1
- package/dist/{chunk-22YCBNLL.js → chunk-MSXZLZ4X.js} +1 -1
- package/dist/{chunk-A3HOLGBF.js → chunk-N3XQFZPF.js} +1 -1
- package/dist/{chunk-QP3ID4X3.js → chunk-NEAMPCCU.js} +1 -1
- package/dist/{chunk-EKMBY4QP.js → chunk-NHHZHVP6.js} +1 -1
- package/dist/{chunk-SZO2SCY2.js → chunk-NSUWKSBC.js} +2 -2
- package/dist/{chunk-M3LFFRPG.js → chunk-NYOSVNJ4.js} +1 -1
- package/dist/{chunk-QJLICXCV.js → chunk-OADU6FQZ.js} +1 -1
- package/dist/{chunk-6SND23WS.js → chunk-OCEPZGFS.js} +1 -1
- package/dist/{chunk-JSLUA5Y4.js → chunk-OVB4R5U5.js} +1 -1
- package/dist/{chunk-DW7BD2BR.js → chunk-PJSWOWXT.js} +15 -9
- package/dist/{chunk-IF36RZZS.js → chunk-QRAFS63H.js} +2 -2
- package/dist/{chunk-G2GB77RC.js → chunk-RHCDOBTU.js} +1 -1
- package/dist/{chunk-EV6CDI37.js → chunk-RTOCKSJ5.js} +1 -1
- package/dist/{chunk-TH4GYG3E.js → chunk-SCKY77PC.js} +1 -1
- package/dist/{chunk-NUMAHMW2.js → chunk-TVL4IXSL.js} +1 -1
- package/dist/{chunk-6F6T6O6R.js → chunk-WIDZXOML.js} +1 -1
- package/dist/{chunk-QGXOLAXL.js → chunk-WQO26Z76.js} +1 -1
- package/dist/{chunk-C2GSCU65.js → chunk-WX6UWXY6.js} +2 -2
- package/dist/{chunk-T62OEGJG.js → chunk-XRCERDBF.js} +1 -1
- package/dist/{chunk-IO3TLOTN.js → chunk-YA53AXGM.js} +2 -2
- package/dist/{chunk-FCQMQF2U.js → chunk-Z433IE4R.js} +1 -1
- package/dist/{chunk-C43DG3K3.js → chunk-ZEBQKDHR.js} +1 -1
- package/dist/{chunk-UZ52KLQM.js → chunk-ZOS6EBB2.js} +1 -1
- package/dist/{collection-add-products-VSSL3PJV.js → collection-add-products-K4R67OLS.js} +2 -2
- package/dist/{collection-detail-AAD4X24M.js → collection-detail-4ATHIFVS.js} +3 -3
- package/dist/{collection-list-J32PG7BB.js → collection-list-7L64AQM5.js} +3 -3
- package/dist/{commission-rate-create-KTQR4WCZ.js → commission-rate-create-CUSB36XK.js} +3 -3
- package/dist/{commission-rate-edit-52CJF2EX.js → commission-rate-edit-KPY5EXDK.js} +3 -3
- package/dist/{commission-rate-list-TSEOC244.js → commission-rate-list-CFKHN2F5.js} +3 -3
- package/dist/{customer-detail-4J4RSVSG.js → customer-detail-5UW56MGD.js} +3 -3
- package/dist/{customer-group-add-customers-Y4AIT37I.js → customer-group-add-customers-YSFEUI5M.js} +2 -2
- package/dist/{customer-group-detail-KCKJEPSN.js → customer-group-detail-NL7FAEBO.js} +3 -3
- package/dist/{customer-group-list-IQGAXHVE.js → customer-group-list-T53DLWPQ.js} +3 -3
- package/dist/{customer-list-MH5N6M5L.js → customer-list-LHGKF34F.js} +3 -3
- package/dist/{customers-add-customer-group-ASX6POFR.js → customers-add-customer-group-IWFFLQQQ.js} +2 -2
- package/dist/index.d.ts +11 -3
- package/dist/index.js +99 -99
- package/dist/{inventory-detail-KU5IMRS6.js → inventory-detail-RU37UA2Y.js} +3 -3
- package/dist/{inventory-list-HGWKI5CF.js → inventory-list-3H3J7IOB.js} +3 -3
- package/dist/{location-detail-RY65FCD3.js → location-detail-QHF23BXP.js} +2 -2
- package/dist/{location-fulfillment-providers-FNXAQUCV.js → location-fulfillment-providers-OQTYP6C7.js} +2 -2
- package/dist/{location-service-zone-create-AC4JW4Y4.js → location-service-zone-create-URK3O2H4.js} +3 -3
- package/dist/{location-service-zone-manage-areas-M52WHSWM.js → location-service-zone-manage-areas-DO3XK6TU.js} +3 -3
- package/dist/{marketplace-add-currencies-C6S4Z3VT.js → marketplace-add-currencies-BIN4YT3V.js} +2 -2
- package/dist/{marketplace-detail-QQ2WZ27G.js → marketplace-detail-AXO5YXED.js} +3 -3
- package/dist/{order-create-claim-GAGJ7QNH.js → order-create-claim-PLC342V5.js} +2 -2
- package/dist/{order-create-edit-R5AK2LPP.js → order-create-edit-25CJG3KZ.js} +2 -2
- package/dist/{order-create-exchange-P3PLSEME.js → order-create-exchange-TK65KBGW.js} +2 -2
- package/dist/{order-create-return-J35OSJJW.js → order-create-return-5XDDN456.js} +2 -2
- package/dist/{order-detail-RL4RFNAM.js → order-detail-PSJFXQV7.js} +3 -3
- package/dist/{order-edit-billing-address-C5OLRWHW.js → order-edit-billing-address-2WTUR5PX.js} +1 -1
- package/dist/{order-list-UBH5RRTI.js → order-list-DEFD5MI5.js} +3 -3
- package/dist/pages/index.js +55 -55
- package/dist/{payout-list-KUFWUKTH.js → payout-list-WQIMALHI.js} +3 -3
- package/dist/{price-list-configuration-JNMKFGCK.js → price-list-configuration-FEO2XAX5.js} +3 -3
- package/dist/{price-list-create-VWLNTKY7.js → price-list-create-6XVOYBM4.js} +4 -4
- package/dist/{price-list-detail-3XN7D2PU.js → price-list-detail-FBY7PWN3.js} +3 -3
- package/dist/{price-list-list-NFS344UG.js → price-list-list-TZIZJJH3.js} +3 -3
- package/dist/{price-list-prices-add-YY33AL6G.js → price-list-prices-add-HQHRB3XG.js} +3 -3
- package/dist/{product-create-XCQ2TZ7B.js → product-create-WVC72ZZ2.js} +3 -3
- package/dist/{product-list-5WTGEHDX.js → product-list-G23MTE7S.js} +3 -3
- package/dist/{product-media-4QKZILIM.js → product-media-CBKZEHLD.js} +2 -2
- package/dist/{product-tag-detail-DAVCOGGL.js → product-tag-detail-U3TJRILA.js} +3 -3
- package/dist/{product-tag-list-YBRNLXCK.js → product-tag-list-CT33WG55.js} +3 -3
- package/dist/{product-type-detail-JEFUXSFV.js → product-type-detail-LOCLZUCY.js} +3 -3
- package/dist/{product-type-list-E2BUVXIT.js → product-type-list-7SXDLL6L.js} +3 -3
- package/dist/{product-variant-detail-S4DAVZFS.js → product-variant-detail-7UVACNQV.js} +3 -3
- package/dist/{promotion-detail-DL52RQ5R.js → promotion-detail-6ZCWQYON.js} +4 -4
- package/dist/{promotion-list-CJJNLF5E.js → promotion-list-ZARTSDFP.js} +6 -6
- package/dist/{region-add-countries-6HKFPVNE.js → region-add-countries-TZEP4SML.js} +2 -2
- package/dist/{region-create-BOHJGJCB.js → region-create-7YJ25C3H.js} +2 -2
- package/dist/{region-detail-VR2RSHCW.js → region-detail-KFFPZLZL.js} +3 -3
- package/dist/{region-list-IHOCFATO.js → region-list-TPQG44BF.js} +3 -3
- package/dist/{reservation-list-EKIR6AET.js → reservation-list-DOW3PKTS.js} +3 -3
- package/dist/{reset-password-PCKBFFXR.js → reset-password-J4XCWJXV.js} +1 -1
- package/dist/{return-reason-list-FHE2DTG6.js → return-reason-list-IGZ3HCXY.js} +3 -3
- package/dist/{sales-channel-add-products-ABMGZC7O.js → sales-channel-add-products-P5AAQFVB.js} +2 -2
- package/dist/{sales-channel-detail-PNWRSILX.js → sales-channel-detail-BJCMSTSA.js} +3 -3
- package/dist/{shipping-option-type-list-AB2FPIQS.js → shipping-option-type-list-HRW7XFEQ.js} +3 -3
- package/dist/{shipping-profiles-list-CCMGZXHJ.js → shipping-profiles-list-IT433GKY.js} +3 -3
- package/dist/{store-create-CUH7NDFG.js → store-create-OQVFVIK4.js} +89 -12
- package/dist/{store-details-6EJNLLJU.js → store-details-NFUGBVH3.js} +3 -3
- package/dist/{store-edit-N2V2Z4UU.js → store-edit-U2Q6LMXR.js} +6 -6
- package/dist/{store-list-TRXWHGBQ.js → store-list-CWVEPRJM.js} +3 -3
- package/dist/{tax-region-create-UTSDM5EN.js → tax-region-create-CQCW6ELU.js} +1 -1
- package/dist/{tax-region-detail-IIKSTR7V.js → tax-region-detail-KCJTJZZI.js} +4 -4
- package/dist/{tax-region-list-BU5TV5MS.js → tax-region-list-LP6SV4BF.js} +3 -3
- package/dist/{tax-region-province-detail-SQHBO2XB.js → tax-region-province-detail-IQ3IRVIE.js} +3 -3
- package/dist/{tax-region-tax-override-create-WSZTBKMS.js → tax-region-tax-override-create-GLAYEGAP.js} +3 -3
- package/dist/{tax-region-tax-override-edit-OE4WUDOA.js → tax-region-tax-override-edit-JZDKFEJC.js} +3 -3
- package/dist/{user-invite-CTH3YNUV.js → user-invite-ZAGFYQDN.js} +2 -2
- package/dist/{user-list-2766SCTA.js → user-list-7PIKWZQY.js} +3 -3
- package/package.json +3 -3
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
_DataTable,
|
|
21
21
|
useDataTable
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-KLVTWJ4M.js";
|
|
23
23
|
import {
|
|
24
24
|
NoRecords
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-634XVU3D.js";
|
|
26
26
|
import {
|
|
27
27
|
currencies
|
|
28
28
|
} from "./chunk-IQPN4PZJ.js";
|
|
@@ -515,13 +515,13 @@ import { Link as Link2 } from "react-router-dom";
|
|
|
515
515
|
|
|
516
516
|
// src/pages/stores/store-details/components/store-members-section/store-members-data-table.tsx
|
|
517
517
|
import { useMemo } from "react";
|
|
518
|
-
import { ArrowPath, Link as LinkIcon, Trash } from "@medusajs/icons";
|
|
519
|
-
import { toast } from "@medusajs/ui";
|
|
518
|
+
import { ArrowPath, Link as LinkIcon, Trash, User } from "@medusajs/icons";
|
|
519
|
+
import { Badge as Badge2, toast } from "@medusajs/ui";
|
|
520
520
|
import { keepPreviousData } from "@tanstack/react-query";
|
|
521
521
|
import { createColumnHelper } from "@tanstack/react-table";
|
|
522
522
|
import { useTranslation as useTranslation8 } from "react-i18next";
|
|
523
523
|
var import_types2 = __toESM(require_dist(), 1);
|
|
524
|
-
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
524
|
+
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
525
525
|
var PAGE_SIZE = 20;
|
|
526
526
|
var ROLE_TRANSLATION_MAP = {
|
|
527
527
|
[import_types2.SellerRole.SELLER_ADMINISTRATION]: "users.roles.administration",
|
|
@@ -530,6 +530,22 @@ var ROLE_TRANSLATION_MAP = {
|
|
|
530
530
|
[import_types2.SellerRole.ACCOUNTING]: "users.roles.accounting",
|
|
531
531
|
[import_types2.SellerRole.SUPPORT]: "users.roles.support"
|
|
532
532
|
};
|
|
533
|
+
var trimTrailingSlashes = (value) => {
|
|
534
|
+
let end = value.length;
|
|
535
|
+
while (end > 0 && value.charCodeAt(end - 1) === 47) {
|
|
536
|
+
end -= 1;
|
|
537
|
+
}
|
|
538
|
+
return end === value.length ? value : value.slice(0, end);
|
|
539
|
+
};
|
|
540
|
+
var buildVendorInviteUrl = (token) => {
|
|
541
|
+
const vendorBase = trimTrailingSlashes(__VENDOR_URL__ || "/seller");
|
|
542
|
+
const url = new URL(
|
|
543
|
+
`${vendorBase}/invite`,
|
|
544
|
+
typeof window === "undefined" ? "http://localhost" : window.location.origin
|
|
545
|
+
);
|
|
546
|
+
url.searchParams.set("token", token);
|
|
547
|
+
return url.toString();
|
|
548
|
+
};
|
|
533
549
|
var StoreMembersDataTable = ({
|
|
534
550
|
sellerId
|
|
535
551
|
}) => {
|
|
@@ -553,14 +569,22 @@ var StoreMembersDataTable = ({
|
|
|
553
569
|
email: m.member?.email ?? "-",
|
|
554
570
|
role_id: m.role_id,
|
|
555
571
|
is_owner: Boolean(m.is_owner),
|
|
572
|
+
created_at: m.created_at,
|
|
573
|
+
updated_at: m.updated_at,
|
|
556
574
|
member: m
|
|
557
575
|
}));
|
|
558
|
-
const
|
|
576
|
+
const hasOwnerMember = members.some((m) => m.is_owner);
|
|
577
|
+
const pendingInvites = (member_invites ?? []).filter((invite) => !invite.accepted);
|
|
578
|
+
const inviteIsFutureOwner = !hasOwnerMember && pendingInvites.length === 1;
|
|
579
|
+
const invites = pendingInvites.map((invite) => ({
|
|
559
580
|
kind: "invite",
|
|
560
581
|
id: invite.id,
|
|
561
582
|
email: invite.email,
|
|
562
583
|
role_id: invite.role_id,
|
|
563
|
-
|
|
584
|
+
token: invite.token,
|
|
585
|
+
is_owner: inviteIsFutureOwner,
|
|
586
|
+
created_at: invite.created_at,
|
|
587
|
+
updated_at: invite.updated_at
|
|
564
588
|
}));
|
|
565
589
|
return [...invites, ...members];
|
|
566
590
|
}, [seller_members, member_invites]);
|
|
@@ -595,7 +619,8 @@ var StoreMembersDataTable = ({
|
|
|
595
619
|
message: t(
|
|
596
620
|
"stores.emptyStates.users.message",
|
|
597
621
|
"Invite the first user to manage this store."
|
|
598
|
-
)
|
|
622
|
+
),
|
|
623
|
+
icon: /* @__PURE__ */ jsx8(User, { className: "text-ui-fg-subtle" })
|
|
599
624
|
}
|
|
600
625
|
}
|
|
601
626
|
);
|
|
@@ -607,7 +632,18 @@ var useColumns = (sellerId) => {
|
|
|
607
632
|
() => [
|
|
608
633
|
columnHelper.accessor("email", {
|
|
609
634
|
header: () => /* @__PURE__ */ jsx8("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx8("span", { children: t("fields.email") }) }),
|
|
610
|
-
cell: ({ row }) => /* @__PURE__ */
|
|
635
|
+
cell: ({ row }) => /* @__PURE__ */ jsxs8("div", { className: "flex size-full items-center gap-x-2 overflow-hidden", children: [
|
|
636
|
+
/* @__PURE__ */ jsx8("span", { className: "truncate", children: row.original.email }),
|
|
637
|
+
row.original.is_owner && /* @__PURE__ */ jsx8(
|
|
638
|
+
Badge2,
|
|
639
|
+
{
|
|
640
|
+
size: "2xsmall",
|
|
641
|
+
color: "grey",
|
|
642
|
+
className: "flex-shrink-0",
|
|
643
|
+
children: t("stores.members.mainAdmin", "Admin")
|
|
644
|
+
}
|
|
645
|
+
)
|
|
646
|
+
] })
|
|
611
647
|
}),
|
|
612
648
|
columnHelper.accessor("role_id", {
|
|
613
649
|
header: () => /* @__PURE__ */ jsx8("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx8("span", { children: t("fields.role") }) }),
|
|
@@ -665,16 +701,16 @@ var InviteActions = ({
|
|
|
665
701
|
};
|
|
666
702
|
const handleCopyLink = async () => {
|
|
667
703
|
try {
|
|
668
|
-
let
|
|
669
|
-
if (!
|
|
704
|
+
let token = invite.token;
|
|
705
|
+
if (!token) {
|
|
670
706
|
const response = await resend({ invite_id: invite.id });
|
|
671
|
-
|
|
707
|
+
token = response?.member_invite?.token ?? null;
|
|
672
708
|
}
|
|
673
|
-
if (!
|
|
709
|
+
if (!token) {
|
|
674
710
|
toast.error(t("stores.members.invite.noVendorUrl"));
|
|
675
711
|
return;
|
|
676
712
|
}
|
|
677
|
-
await navigator.clipboard.writeText(
|
|
713
|
+
await navigator.clipboard.writeText(buildVendorInviteUrl(token));
|
|
678
714
|
toast.success(t("stores.members.invite.linkCopied"));
|
|
679
715
|
} catch (e) {
|
|
680
716
|
toast.error(e.message);
|
|
@@ -757,11 +793,11 @@ var MemberActions = ({
|
|
|
757
793
|
};
|
|
758
794
|
|
|
759
795
|
// src/pages/stores/store-details/components/store-members-section/store-members-section.tsx
|
|
760
|
-
import { jsx as jsx9, jsxs as
|
|
796
|
+
import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
761
797
|
var StoreMembersSection = ({ sellerId }) => {
|
|
762
798
|
const { t } = useTranslation9();
|
|
763
|
-
return /* @__PURE__ */
|
|
764
|
-
/* @__PURE__ */
|
|
799
|
+
return /* @__PURE__ */ jsxs9(Container7, { className: "divide-y p-0", children: [
|
|
800
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-between px-6 py-4", children: [
|
|
765
801
|
/* @__PURE__ */ jsx9(Heading7, { level: "h2", children: t("users.domain", "Users") }),
|
|
766
802
|
/* @__PURE__ */ jsx9(Link2, { to: "invite", children: /* @__PURE__ */ jsx9(Button, { size: "small", variant: "secondary", children: t("stores.members.addUser.action", "Add") }) })
|
|
767
803
|
] }),
|
|
@@ -782,35 +818,43 @@ import {
|
|
|
782
818
|
toast as toast2
|
|
783
819
|
} from "@medusajs/ui";
|
|
784
820
|
import { useTranslation as useTranslation10 } from "react-i18next";
|
|
785
|
-
import { jsx as jsx10, jsxs as
|
|
821
|
+
import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
786
822
|
var StoreRequestSection = ({ seller }) => {
|
|
787
823
|
const { t } = useTranslation10();
|
|
788
824
|
const { mutateAsync: approveSeller, isPending: isApproving } = useApproveSeller(seller.id);
|
|
789
825
|
const { mutateAsync: suspendSeller, isPending: isRejecting } = useSuspendSeller(seller.id);
|
|
790
|
-
const
|
|
791
|
-
|
|
792
|
-
|
|
826
|
+
const { seller_members } = useSellerMembers(seller.id, { limit: 100 });
|
|
827
|
+
const owner = seller_members?.find(
|
|
828
|
+
(m) => m.is_owner
|
|
829
|
+
);
|
|
830
|
+
const ownerFullName = [owner?.member?.first_name, owner?.member?.last_name].filter(Boolean).join(" ").trim();
|
|
831
|
+
const requesterLabel = ownerFullName || owner?.member?.email || seller.email || seller.name;
|
|
832
|
+
return /* @__PURE__ */ jsxs10(Container8, { className: "p-0", children: [
|
|
833
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-x-3 border-b border-ui-border-base px-6 py-4", children: [
|
|
793
834
|
/* @__PURE__ */ jsx10(ExclamationCircleSolid, { className: "text-ui-tag-blue-icon" }),
|
|
794
835
|
/* @__PURE__ */ jsx10(Heading8, { level: "h2", children: t("stores.request.title") })
|
|
795
836
|
] }),
|
|
796
837
|
/* @__PURE__ */ jsx10("div", { className: "px-6 py-4", children: /* @__PURE__ */ jsx10(Text6, { className: "text-ui-fg-subtle", children: t("stores.request.description", { requester: requesterLabel }) }) }),
|
|
797
|
-
/* @__PURE__ */
|
|
838
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-end gap-x-2 rounded-b-lg border-t border-ui-border-base bg-ui-bg-subtle px-6 py-4", children: [
|
|
798
839
|
/* @__PURE__ */ jsx10(
|
|
799
840
|
RequestActionPrompt,
|
|
800
841
|
{
|
|
801
|
-
trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.
|
|
802
|
-
title: t("stores.request.
|
|
842
|
+
trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.confirm") }),
|
|
843
|
+
title: t("stores.request.confirmTitle", "Confirm request"),
|
|
803
844
|
description: t(
|
|
804
|
-
"stores.request.
|
|
805
|
-
"
|
|
845
|
+
"stores.request.confirmDescription",
|
|
846
|
+
"You are about to confirm this store request."
|
|
806
847
|
),
|
|
807
|
-
confirmLabel: t("stores.request.
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
848
|
+
confirmLabel: t("stores.request.confirm"),
|
|
849
|
+
notePlaceholder: t(
|
|
850
|
+
"stores.request.confirmNotePlaceholder",
|
|
851
|
+
"Specify changes you made or additional requests"
|
|
852
|
+
),
|
|
853
|
+
isLoading: isApproving,
|
|
854
|
+
onConfirm: async (_note) => {
|
|
811
855
|
try {
|
|
812
|
-
await
|
|
813
|
-
toast2.success(t("stores.request.
|
|
856
|
+
await approveSeller();
|
|
857
|
+
toast2.success(t("stores.request.confirmSuccess"));
|
|
814
858
|
} catch (error) {
|
|
815
859
|
toast2.error(error.message);
|
|
816
860
|
throw error;
|
|
@@ -821,19 +865,22 @@ var StoreRequestSection = ({ seller }) => {
|
|
|
821
865
|
/* @__PURE__ */ jsx10(
|
|
822
866
|
RequestActionPrompt,
|
|
823
867
|
{
|
|
824
|
-
trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "
|
|
825
|
-
title: t("stores.request.
|
|
868
|
+
trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.reject") }),
|
|
869
|
+
title: t("stores.request.rejectTitle", "Reject request"),
|
|
826
870
|
description: t(
|
|
827
|
-
"stores.request.
|
|
828
|
-
"
|
|
871
|
+
"stores.request.rejectDescription",
|
|
872
|
+
"You are about to reject this store request."
|
|
829
873
|
),
|
|
830
|
-
confirmLabel: t("stores.request.
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
874
|
+
confirmLabel: t("stores.request.reject"),
|
|
875
|
+
notePlaceholder: t(
|
|
876
|
+
"stores.request.rejectNotePlaceholder",
|
|
877
|
+
"Explain why you reject the request or suggest changes"
|
|
878
|
+
),
|
|
879
|
+
isLoading: isRejecting,
|
|
880
|
+
onConfirm: async (note) => {
|
|
834
881
|
try {
|
|
835
|
-
await
|
|
836
|
-
toast2.success(t("stores.request.
|
|
882
|
+
await suspendSeller({ reason: note || void 0 });
|
|
883
|
+
toast2.success(t("stores.request.rejectSuccess"));
|
|
837
884
|
} catch (error) {
|
|
838
885
|
toast2.error(error.message);
|
|
839
886
|
throw error;
|
|
@@ -848,8 +895,8 @@ var RequestActionPrompt = ({
|
|
|
848
895
|
trigger,
|
|
849
896
|
title,
|
|
850
897
|
description,
|
|
898
|
+
notePlaceholder,
|
|
851
899
|
confirmLabel,
|
|
852
|
-
confirmVariant,
|
|
853
900
|
isLoading,
|
|
854
901
|
onConfirm
|
|
855
902
|
}) => {
|
|
@@ -864,18 +911,19 @@ var RequestActionPrompt = ({
|
|
|
864
911
|
} catch {
|
|
865
912
|
}
|
|
866
913
|
};
|
|
867
|
-
return /* @__PURE__ */
|
|
914
|
+
return /* @__PURE__ */ jsxs10(Prompt, { open, onOpenChange: setOpen, children: [
|
|
868
915
|
/* @__PURE__ */ jsx10(Prompt.Trigger, { asChild: true, children: trigger }),
|
|
869
|
-
/* @__PURE__ */
|
|
870
|
-
/* @__PURE__ */
|
|
916
|
+
/* @__PURE__ */ jsxs10(Prompt.Content, { children: [
|
|
917
|
+
/* @__PURE__ */ jsxs10(Prompt.Header, { children: [
|
|
871
918
|
/* @__PURE__ */ jsx10(Prompt.Title, { children: title }),
|
|
872
919
|
/* @__PURE__ */ jsx10(Prompt.Description, { children: description })
|
|
873
920
|
] }),
|
|
874
|
-
/* @__PURE__ */
|
|
875
|
-
|
|
876
|
-
|
|
921
|
+
/* @__PURE__ */ jsx10("div", { className: "border-ui-border-base border-t mt-3" }),
|
|
922
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-y-3 px-6 py-3", children: [
|
|
923
|
+
/* @__PURE__ */ jsxs10(Text6, { size: "small", weight: "plus", className: "text-ui-fg-base", children: [
|
|
924
|
+
t("stores.request.noteLabel", "Notes for vendor"),
|
|
877
925
|
" ",
|
|
878
|
-
/* @__PURE__ */
|
|
926
|
+
/* @__PURE__ */ jsxs10("span", { className: "text-ui-fg-muted font-normal", children: [
|
|
879
927
|
"(",
|
|
880
928
|
t("fields.optional", "Optional"),
|
|
881
929
|
")"
|
|
@@ -884,19 +932,20 @@ var RequestActionPrompt = ({
|
|
|
884
932
|
/* @__PURE__ */ jsx10(
|
|
885
933
|
Textarea,
|
|
886
934
|
{
|
|
887
|
-
placeholder:
|
|
935
|
+
placeholder: notePlaceholder,
|
|
888
936
|
value: note,
|
|
889
937
|
onChange: (e) => setNote(e.target.value)
|
|
890
938
|
}
|
|
891
939
|
)
|
|
892
940
|
] }),
|
|
893
|
-
/* @__PURE__ */
|
|
941
|
+
/* @__PURE__ */ jsx10("div", { className: "border-ui-border-base border-t mt-2" }),
|
|
942
|
+
/* @__PURE__ */ jsxs10(Prompt.Footer, { children: [
|
|
894
943
|
/* @__PURE__ */ jsx10(Prompt.Cancel, { disabled: isLoading, children: t("actions.cancel") }),
|
|
895
944
|
/* @__PURE__ */ jsx10(
|
|
896
945
|
Button2,
|
|
897
946
|
{
|
|
898
947
|
size: "small",
|
|
899
|
-
variant:
|
|
948
|
+
variant: "primary",
|
|
900
949
|
onClick: handleSubmit,
|
|
901
950
|
isLoading,
|
|
902
951
|
children: confirmLabel
|
|
@@ -908,10 +957,11 @@ var RequestActionPrompt = ({
|
|
|
908
957
|
};
|
|
909
958
|
|
|
910
959
|
// src/pages/stores/store-details/components/store-orders-section.tsx
|
|
960
|
+
import { ShoppingCart } from "@medusajs/icons";
|
|
911
961
|
import { Container as Container9, Heading as Heading9 } from "@medusajs/ui";
|
|
912
962
|
import { keepPreviousData as keepPreviousData2 } from "@tanstack/react-query";
|
|
913
963
|
import { useTranslation as useTranslation11 } from "react-i18next";
|
|
914
|
-
import { jsx as jsx11, jsxs as
|
|
964
|
+
import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
915
965
|
var PAGE_SIZE2 = 10;
|
|
916
966
|
var PREFIX = "store-orders";
|
|
917
967
|
var DEFAULT_RELATIONS = "*customer,*items,*sales_channel";
|
|
@@ -947,7 +997,7 @@ var StoreOrdersSection = ({ sellerId }) => {
|
|
|
947
997
|
if (isError) {
|
|
948
998
|
throw error;
|
|
949
999
|
}
|
|
950
|
-
return /* @__PURE__ */
|
|
1000
|
+
return /* @__PURE__ */ jsxs11(Container9, { className: "divide-y p-0", "data-testid": "store-orders-section", children: [
|
|
951
1001
|
/* @__PURE__ */ jsx11(
|
|
952
1002
|
"div",
|
|
953
1003
|
{
|
|
@@ -980,7 +1030,8 @@ var StoreOrdersSection = ({ sellerId }) => {
|
|
|
980
1030
|
message: t(
|
|
981
1031
|
"stores.emptyStates.orders.message",
|
|
982
1032
|
"Orders placed at this store will appear here."
|
|
983
|
-
)
|
|
1033
|
+
),
|
|
1034
|
+
icon: /* @__PURE__ */ jsx11(ShoppingCart, { className: "text-ui-fg-subtle" })
|
|
984
1035
|
}
|
|
985
1036
|
}
|
|
986
1037
|
)
|
|
@@ -988,10 +1039,11 @@ var StoreOrdersSection = ({ sellerId }) => {
|
|
|
988
1039
|
};
|
|
989
1040
|
|
|
990
1041
|
// src/pages/stores/store-details/components/store-products-section.tsx
|
|
1042
|
+
import { Tag } from "@medusajs/icons";
|
|
991
1043
|
import { Container as Container10, Heading as Heading10 } from "@medusajs/ui";
|
|
992
1044
|
import { keepPreviousData as keepPreviousData3 } from "@tanstack/react-query";
|
|
993
1045
|
import { useTranslation as useTranslation12 } from "react-i18next";
|
|
994
|
-
import { jsx as jsx12, jsxs as
|
|
1046
|
+
import { jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
995
1047
|
var PAGE_SIZE3 = 10;
|
|
996
1048
|
var PREFIX2 = "store-products";
|
|
997
1049
|
var StoreProductsSection = ({
|
|
@@ -1022,7 +1074,7 @@ var StoreProductsSection = ({
|
|
|
1022
1074
|
if (isError) {
|
|
1023
1075
|
throw error;
|
|
1024
1076
|
}
|
|
1025
|
-
return /* @__PURE__ */
|
|
1077
|
+
return /* @__PURE__ */ jsxs12(Container10, { className: "divide-y p-0", "data-testid": "store-products-section", children: [
|
|
1026
1078
|
/* @__PURE__ */ jsx12(
|
|
1027
1079
|
"div",
|
|
1028
1080
|
{
|
|
@@ -1055,7 +1107,8 @@ var StoreProductsSection = ({
|
|
|
1055
1107
|
message: t(
|
|
1056
1108
|
"stores.emptyStates.products.message",
|
|
1057
1109
|
"Products published by this store will appear here."
|
|
1058
|
-
)
|
|
1110
|
+
),
|
|
1111
|
+
icon: /* @__PURE__ */ jsx12(Tag, { className: "text-ui-fg-subtle" })
|
|
1059
1112
|
}
|
|
1060
1113
|
}
|
|
1061
1114
|
)
|
|
@@ -1063,7 +1116,7 @@ var StoreProductsSection = ({
|
|
|
1063
1116
|
};
|
|
1064
1117
|
|
|
1065
1118
|
// src/pages/stores/store-details/components/store-details.tsx
|
|
1066
|
-
import { jsx as jsx13, jsxs as
|
|
1119
|
+
import { jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1067
1120
|
var TABS = ["orders", "products", "users", "timeOff"];
|
|
1068
1121
|
var TabBar = ({
|
|
1069
1122
|
activeTab,
|
|
@@ -1117,9 +1170,9 @@ var Root = ({ children }) => {
|
|
|
1117
1170
|
if (Children3.count(children) > 0) {
|
|
1118
1171
|
return /* @__PURE__ */ jsx13(TwoColumnPage, { data: seller, hasOutlet: true, "data-testid": "store-detail-page", children });
|
|
1119
1172
|
}
|
|
1120
|
-
return /* @__PURE__ */
|
|
1121
|
-
/* @__PURE__ */
|
|
1122
|
-
seller.status === import_types3.SellerStatus.PENDING_APPROVAL && !seller.approved_at && /* @__PURE__ */ jsx13(StoreRequestSection, { seller }),
|
|
1173
|
+
return /* @__PURE__ */ jsxs13(TwoColumnPage, { data: seller, hasOutlet: true, "data-testid": "store-detail-page", children: [
|
|
1174
|
+
/* @__PURE__ */ jsxs13(TwoColumnPage.Main, { children: [
|
|
1175
|
+
seller.status === import_types3.SellerStatus.PENDING_APPROVAL && !seller.approved_at && !seller.rejected_at && /* @__PURE__ */ jsx13(StoreRequestSection, { seller }),
|
|
1123
1176
|
/* @__PURE__ */ jsx13(StoreGeneralSection, { seller }),
|
|
1124
1177
|
/* @__PURE__ */ jsx13(TabBar, { activeTab, onTabChange: setActiveTab }),
|
|
1125
1178
|
activeTab === "orders" && /* @__PURE__ */ jsx13(
|
|
@@ -1159,7 +1212,7 @@ var Root = ({ children }) => {
|
|
|
1159
1212
|
}
|
|
1160
1213
|
)
|
|
1161
1214
|
] }),
|
|
1162
|
-
/* @__PURE__ */
|
|
1215
|
+
/* @__PURE__ */ jsxs13(TwoColumnPage.Sidebar, { children: [
|
|
1163
1216
|
/* @__PURE__ */ jsx13(StoreAddressSection, { seller }),
|
|
1164
1217
|
/* @__PURE__ */ jsx13(StoreCompanyDetailsSection, { seller }),
|
|
1165
1218
|
/* @__PURE__ */ jsx13(StorePaymentDetailsSection, { seller }),
|
|
@@ -22,10 +22,10 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
_DataTable,
|
|
24
24
|
useDataTable
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-KLVTWJ4M.js";
|
|
26
26
|
import {
|
|
27
27
|
NoRecords
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-634XVU3D.js";
|
|
29
29
|
import {
|
|
30
30
|
TwoColumnPageSkeleton
|
|
31
31
|
} from "./chunk-INNFZYX2.js";
|