@fluid-app/portal-sdk 0.1.340 → 0.1.341
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/{AddressAutocompleteInput-4OS-oYis.mjs → AddressAutocompleteInput-BQ7HCDqS.mjs} +17 -17
- package/dist/AddressAutocompleteInput-BQ7HCDqS.mjs.map +1 -0
- package/dist/{AddressAutocompleteInput-CZITNL-n.cjs → AddressAutocompleteInput-C0ns8N-l.cjs} +17 -17
- package/dist/AddressAutocompleteInput-C0ns8N-l.cjs.map +1 -0
- package/dist/{AppDownloadScreen-BYjlFEVq.cjs → AppDownloadScreen-DqqUBpS-.cjs} +5 -5
- package/dist/AppDownloadScreen-DqqUBpS-.cjs.map +1 -0
- package/dist/{AppDownloadScreen-BkPXQ6HD.mjs → AppDownloadScreen-ZUoc8X2D.mjs} +5 -5
- package/dist/AppDownloadScreen-ZUoc8X2D.mjs.map +1 -0
- package/dist/{CardWidget-Jv6HiiK-.cjs → CardWidget--S5FBquC.cjs} +2 -2
- package/dist/{CardWidget-Jv6HiiK-.cjs.map → CardWidget--S5FBquC.cjs.map} +1 -1
- package/dist/{CardWidget-C9UbLrzZ.mjs → CardWidget-ChfurL_z.mjs} +2 -2
- package/dist/{CardWidget-C9UbLrzZ.mjs.map → CardWidget-ChfurL_z.mjs.map} +1 -1
- package/dist/{CardWidget-Wj7aNAAe.cjs → CardWidget-DsfLoyup.cjs} +2 -2
- package/dist/{ContactsScreen-BDOyYGyR.cjs → ContactsScreen-B3Ena0O7.cjs} +2 -2
- package/dist/{ContactsScreen-6x_Y2HBg.cjs → ContactsScreen-CiegGc50.cjs} +18 -18
- package/dist/ContactsScreen-CiegGc50.cjs.map +1 -0
- package/dist/{ContactsScreen-CU5_SYVK.mjs → ContactsScreen-Cwyt5qIf.mjs} +18 -18
- package/dist/ContactsScreen-Cwyt5qIf.mjs.map +1 -0
- package/dist/{ContainerWidget-B0WqVKej.mjs → ContainerWidget-BHWPtBmF.mjs} +2 -2
- package/dist/{ContainerWidget-B0WqVKej.mjs.map → ContainerWidget-BHWPtBmF.mjs.map} +1 -1
- package/dist/{ContainerWidget-BJys0vji.cjs → ContainerWidget-Cf_D4TAi.cjs} +2 -2
- package/dist/{ContainerWidget-BJys0vji.cjs.map → ContainerWidget-Cf_D4TAi.cjs.map} +1 -1
- package/dist/{ContainerWidget-BPoDy9wl.cjs → ContainerWidget-CyDVJu83.cjs} +3 -3
- package/dist/{EmbedWidget-BjLKHqCD.cjs → EmbedWidget-B1gWxgsn.cjs} +2 -2
- package/dist/EmbedWidget-B1gWxgsn.cjs.map +1 -0
- package/dist/{EmbedWidget-DwYcDOSr.mjs → EmbedWidget-JVbp9wAL.mjs} +2 -2
- package/dist/EmbedWidget-JVbp9wAL.mjs.map +1 -0
- package/dist/{FluidProvider-CYgSHMUd.cjs → FluidProvider-BFU7ermL.cjs} +23 -23
- package/dist/{FluidProvider-CYgSHMUd.cjs.map → FluidProvider-BFU7ermL.cjs.map} +1 -1
- package/dist/{FluidProvider-rLNjrHI9.mjs → FluidProvider-BqJ-t2bW.mjs} +23 -23
- package/dist/{FluidProvider-rLNjrHI9.mjs.map → FluidProvider-BqJ-t2bW.mjs.map} +1 -1
- package/dist/{LayoutWidget-COFyne-B.cjs → LayoutWidget-3G-w-YLz.cjs} +2 -2
- package/dist/{LayoutWidget-_f70Meea.cjs → LayoutWidget-CG-dWz_c.cjs} +2 -2
- package/dist/{LayoutWidget-_f70Meea.cjs.map → LayoutWidget-CG-dWz_c.cjs.map} +1 -1
- package/dist/{LayoutWidget-CUG5HXPH.mjs → LayoutWidget-CrZG6Ipw.mjs} +2 -2
- package/dist/{LayoutWidget-CUG5HXPH.mjs.map → LayoutWidget-CrZG6Ipw.mjs.map} +1 -1
- package/dist/{MessagingScreen-CKPKnmdA.cjs → MessagingScreen-7BBNidBx.cjs} +15 -15
- package/dist/{MessagingScreen-DEKQhSxk.mjs → MessagingScreen-BIWRCS3T.mjs} +15 -15
- package/dist/{MessagingScreen-C_VnN2yj.cjs → MessagingScreen-D_wVko-i.cjs} +2 -2
- package/dist/{MessagingScreen-C_VnN2yj.cjs.map → MessagingScreen-D_wVko-i.cjs.map} +1 -1
- package/dist/{MessagingScreen-Bn1jNjdF.mjs → MessagingScreen-ZwSPp6zu.mjs} +2 -2
- package/dist/{MessagingScreen-Bn1jNjdF.mjs.map → MessagingScreen-ZwSPp6zu.mjs.map} +1 -1
- package/dist/{MySiteScreen-BLI39L5d.cjs → MySiteScreen-17KRkcj7.cjs} +29 -29
- package/dist/MySiteScreen-17KRkcj7.cjs.map +1 -0
- package/dist/{MySiteScreen-h7lBk3gC.cjs → MySiteScreen-BdBnDI6s.cjs} +1 -1
- package/dist/{MySiteScreen-B5jblKuW.mjs → MySiteScreen-BlTSt7a0.mjs} +29 -29
- package/dist/MySiteScreen-BlTSt7a0.mjs.map +1 -0
- package/dist/{MySiteWidget-CAj-6hXM.cjs → MySiteWidget-23lGcDO1.cjs} +3 -3
- package/dist/MySiteWidget-23lGcDO1.cjs.map +1 -0
- package/dist/{MySiteWidget-D0ZQpY-e.mjs → MySiteWidget-BXO8rmnf.mjs} +3 -3
- package/dist/{MySiteWidget-D0ZQpY-e.mjs.map → MySiteWidget-BXO8rmnf.mjs.map} +1 -1
- package/dist/{NestedWidget-D1iDgWh8.cjs → NestedWidget-CZGOZbpZ.cjs} +5 -5
- package/dist/NestedWidget-CZGOZbpZ.cjs.map +1 -0
- package/dist/{NestedWidget-BISpn0HM.cjs → NestedWidget-Cv8h-u5K.cjs} +1 -1
- package/dist/{NestedWidget-DPC6Y52o.mjs → NestedWidget-DuNuNaeT.mjs} +5 -5
- package/dist/NestedWidget-DuNuNaeT.mjs.map +1 -0
- package/dist/{OrdersScreen-BOu-b93J.mjs → OrdersScreen-BkUvISL0.mjs} +15 -15
- package/dist/{OrdersScreen-BX3Tp0W6.mjs → OrdersScreen-DgriwQBo.mjs} +4 -4
- package/dist/OrdersScreen-DgriwQBo.mjs.map +1 -0
- package/dist/{OrdersScreen-C0-X_pGG.cjs → OrdersScreen-TGNvFpjj.cjs} +4 -4
- package/dist/OrdersScreen-TGNvFpjj.cjs.map +1 -0
- package/dist/{OrdersScreen-CyT1TpjL.cjs → OrdersScreen-t1EwXPZx.cjs} +15 -15
- package/dist/{ProfileScreen-B1OMNJrQ.mjs → ProfileScreen-Bw8W8nxK.mjs} +4 -4
- package/dist/{ProfileScreen-B1OMNJrQ.mjs.map → ProfileScreen-Bw8W8nxK.mjs.map} +1 -1
- package/dist/{ProfileScreen-DEYfahoM.mjs → ProfileScreen-CArZ7TAm.mjs} +16 -16
- package/dist/{ProfileScreen-Dshb7RM2.cjs → ProfileScreen-CP5ijd_t.cjs} +4 -4
- package/dist/{ProfileScreen-Dshb7RM2.cjs.map → ProfileScreen-CP5ijd_t.cjs.map} +1 -1
- package/dist/{ProfileScreen-BRbz69S3.cjs → ProfileScreen-DXlKK4gO.cjs} +16 -16
- package/dist/{RecentActivityWidget-CVQpo1jC.mjs → RecentActivityWidget-ClgOlTXl.mjs} +3 -3
- package/dist/RecentActivityWidget-ClgOlTXl.mjs.map +1 -0
- package/dist/{RecentActivityWidget-DnGybdc3.cjs → RecentActivityWidget-DZGKRR5x.cjs} +3 -3
- package/dist/RecentActivityWidget-DZGKRR5x.cjs.map +1 -0
- package/dist/{ScreenRenderer-BYiZunHL.cjs → ScreenRenderer-CLDJUinO.cjs} +2 -2
- package/dist/{ScreenRenderer-BYiZunHL.cjs.map → ScreenRenderer-CLDJUinO.cjs.map} +1 -1
- package/dist/{ScreenRenderer-1ZCNOyIb.mjs → ScreenRenderer-TobkTBMC.mjs} +2 -2
- package/dist/{ScreenRenderer-1ZCNOyIb.mjs.map → ScreenRenderer-TobkTBMC.mjs.map} +1 -1
- package/dist/{SearchSort-K0-ffUoD.cjs → SearchSort-CDuQPacI.cjs} +2 -2
- package/dist/{SearchSort-K0-ffUoD.cjs.map → SearchSort-CDuQPacI.cjs.map} +1 -1
- package/dist/{SearchSort-CObUt78n.mjs → SearchSort-CMUL0qt3.mjs} +2 -2
- package/dist/{SearchSort-CObUt78n.mjs.map → SearchSort-CMUL0qt3.mjs.map} +1 -1
- package/dist/{ShareablesScreen-aafzr3Vs.mjs → ShareablesScreen-B6Qs0xXn.mjs} +116 -116
- package/dist/ShareablesScreen-B6Qs0xXn.mjs.map +1 -0
- package/dist/{ShareablesScreen-COVW0ikb.cjs → ShareablesScreen-BAOW6RIK.cjs} +116 -116
- package/dist/ShareablesScreen-BAOW6RIK.cjs.map +1 -0
- package/dist/{ShareablesScreen-CNAem5rt.mjs → ShareablesScreen-C3K5ed-X.mjs} +2 -2
- package/dist/{ShareablesScreen-BZv1NXJV.cjs → ShareablesScreen-C3juoUMG.cjs} +2 -2
- package/dist/{ShopScreen-fcy9uJ3Z.cjs → ShopScreen-BjuLPVrk.cjs} +13 -13
- package/dist/ShopScreen-BjuLPVrk.cjs.map +1 -0
- package/dist/{ShopScreen-Bhn_bZ8O.mjs → ShopScreen-CtqHSaUW.mjs} +15 -15
- package/dist/{ShopScreen-CaEKFEGZ.cjs → ShopScreen-CwGh-q7J.cjs} +15 -15
- package/dist/{ShopScreen-dvruZcuz.mjs → ShopScreen-DNJ4Geoq.mjs} +13 -13
- package/dist/ShopScreen-DNJ4Geoq.mjs.map +1 -0
- package/dist/{ShopWidget-BZ48BUxp.cjs → ShopWidget-BAi2p8DP.cjs} +8 -8
- package/dist/ShopWidget-BAi2p8DP.cjs.map +1 -0
- package/dist/{ShopWidget-ZmhMoVmK.mjs → ShopWidget-D9-DhKP4.mjs} +8 -8
- package/dist/ShopWidget-D9-DhKP4.mjs.map +1 -0
- package/dist/{ShopWidget-DmlseAqM.cjs → ShopWidget-_T-ycRq1.cjs} +2 -2
- package/dist/{SubscriptionsScreen-BYQrZ2aR.mjs → SubscriptionsScreen-B55dK8Qb.mjs} +16 -16
- package/dist/{SubscriptionsScreen-CfxeuHVV.mjs → SubscriptionsScreen-CVKyyzbR.mjs} +23 -23
- package/dist/SubscriptionsScreen-CVKyyzbR.mjs.map +1 -0
- package/dist/{SubscriptionsScreen-Bupuf-0D.cjs → SubscriptionsScreen-Dz1PGO2z.cjs} +23 -23
- package/dist/SubscriptionsScreen-Dz1PGO2z.cjs.map +1 -0
- package/dist/{SubscriptionsScreen-BoSpOiOm.cjs → SubscriptionsScreen-TAXj2UXa.cjs} +16 -16
- package/dist/{TableWidget-Dyq8JXbd.cjs → TableWidget-C4F1IEKt.cjs} +1 -1
- package/dist/{TableWidget-fbsVsyqZ.mjs → TableWidget-CpHI9CGQ.mjs} +3 -3
- package/dist/TableWidget-CpHI9CGQ.mjs.map +1 -0
- package/dist/{TableWidget-wQkzw7Jg.cjs → TableWidget-RK0B52qT.cjs} +3 -3
- package/dist/TableWidget-RK0B52qT.cjs.map +1 -0
- package/dist/{ToDoWidget-BPh5ZLCT.cjs → ToDoWidget-B1uzfuI5.cjs} +2 -2
- package/dist/{ToDoWidget-1_JCx9X7.mjs → ToDoWidget-BaWksZpJ.mjs} +5 -5
- package/dist/{ToDoWidget-1_JCx9X7.mjs.map → ToDoWidget-BaWksZpJ.mjs.map} +1 -1
- package/dist/{ToDoWidget-1ZaXZTi4.cjs → ToDoWidget-C03kvBE-.cjs} +5 -5
- package/dist/{ToDoWidget-1ZaXZTi4.cjs.map → ToDoWidget-C03kvBE-.cjs.map} +1 -1
- package/dist/index.cjs +50 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +50 -50
- package/dist/index.mjs.map +1 -1
- package/dist/{task-composer-form-2z5Qk6US.cjs → task-composer-form-BEZGTBBZ.cjs} +2 -2
- package/dist/{task-composer-form-2z5Qk6US.cjs.map → task-composer-form-BEZGTBBZ.cjs.map} +1 -1
- package/dist/{task-composer-form-B3eR9kfb.mjs → task-composer-form-D_Pbl6qk.mjs} +2 -2
- package/dist/{task-composer-form-B3eR9kfb.mjs.map → task-composer-form-D_Pbl6qk.mjs.map} +1 -1
- package/package.json +15 -15
- package/dist/AddressAutocompleteInput-4OS-oYis.mjs.map +0 -1
- package/dist/AddressAutocompleteInput-CZITNL-n.cjs.map +0 -1
- package/dist/AppDownloadScreen-BYjlFEVq.cjs.map +0 -1
- package/dist/AppDownloadScreen-BkPXQ6HD.mjs.map +0 -1
- package/dist/ContactsScreen-6x_Y2HBg.cjs.map +0 -1
- package/dist/ContactsScreen-CU5_SYVK.mjs.map +0 -1
- package/dist/EmbedWidget-BjLKHqCD.cjs.map +0 -1
- package/dist/EmbedWidget-DwYcDOSr.mjs.map +0 -1
- package/dist/MySiteScreen-B5jblKuW.mjs.map +0 -1
- package/dist/MySiteScreen-BLI39L5d.cjs.map +0 -1
- package/dist/MySiteWidget-CAj-6hXM.cjs.map +0 -1
- package/dist/NestedWidget-D1iDgWh8.cjs.map +0 -1
- package/dist/NestedWidget-DPC6Y52o.mjs.map +0 -1
- package/dist/OrdersScreen-BX3Tp0W6.mjs.map +0 -1
- package/dist/OrdersScreen-C0-X_pGG.cjs.map +0 -1
- package/dist/RecentActivityWidget-CVQpo1jC.mjs.map +0 -1
- package/dist/RecentActivityWidget-DnGybdc3.cjs.map +0 -1
- package/dist/ShareablesScreen-COVW0ikb.cjs.map +0 -1
- package/dist/ShareablesScreen-aafzr3Vs.mjs.map +0 -1
- package/dist/ShopScreen-dvruZcuz.mjs.map +0 -1
- package/dist/ShopScreen-fcy9uJ3Z.cjs.map +0 -1
- package/dist/ShopWidget-BZ48BUxp.cjs.map +0 -1
- package/dist/ShopWidget-ZmhMoVmK.mjs.map +0 -1
- package/dist/SubscriptionsScreen-Bupuf-0D.cjs.map +0 -1
- package/dist/SubscriptionsScreen-CfxeuHVV.mjs.map +0 -1
- package/dist/TableWidget-fbsVsyqZ.mjs.map +0 -1
- package/dist/TableWidget-wQkzw7Jg.cjs.map +0 -1
|
@@ -3,7 +3,7 @@ const require_PortalTenantClientProvider = require("./PortalTenantClientProvider
|
|
|
3
3
|
const require_static_dict_adapter = require("./static-dict-adapter-JAau5LHb.cjs");
|
|
4
4
|
const require_translation_api_context_factory = require("./translation-api-context-factory-BSRK6Z50.cjs");
|
|
5
5
|
const require_src = require("./src-Cx7UyT_c.cjs");
|
|
6
|
-
const require_SearchSort = require("./SearchSort-
|
|
6
|
+
const require_SearchSort = require("./SearchSort-CDuQPacI.cjs");
|
|
7
7
|
const require_ScreenHeaderContext = require("./ScreenHeaderContext-DWDN0-mb.cjs");
|
|
8
8
|
const require_use_store = require("./use-store-D2S1FywW.cjs");
|
|
9
9
|
const require_use_account = require("./use-account-BMLTwG3m.cjs");
|
|
@@ -532,8 +532,8 @@ function ShareItemCard({ title, imageUrl, href, badge, isVideo = false, subtitle
|
|
|
532
532
|
isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
533
533
|
className: "absolute inset-0 flex items-center justify-center",
|
|
534
534
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
535
|
-
className: "bg-foreground/50 flex
|
|
536
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CirclePlay, { className: "text-background
|
|
535
|
+
className: "bg-foreground/50 flex size-16 items-center justify-center rounded-full backdrop-blur-sm",
|
|
536
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CirclePlay, { className: "text-background size-12" })
|
|
537
537
|
})
|
|
538
538
|
}),
|
|
539
539
|
badge && !isVideo && !badge.isLoading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Badge, {
|
|
@@ -541,7 +541,7 @@ function ShareItemCard({ title, imageUrl, href, badge, isVideo = false, subtitle
|
|
|
541
541
|
variant: "default",
|
|
542
542
|
children: badge.text
|
|
543
543
|
}),
|
|
544
|
-
badge?.isLoading && !isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "bg-muted-foreground absolute top-2 right-2
|
|
544
|
+
badge?.isLoading && !isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "bg-muted-foreground absolute top-2 right-2 size-6 animate-pulse rounded-full" })
|
|
545
545
|
]
|
|
546
546
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
547
547
|
className: "px-2 pt-2 pb-4",
|
|
@@ -559,7 +559,7 @@ function ShareItemCard({ title, imageUrl, href, badge, isVideo = false, subtitle
|
|
|
559
559
|
//#region ../../shareables/ui/src/components/MediaShare/products/ShareProductCard.tsx
|
|
560
560
|
function getProductImageUrl(product) {
|
|
561
561
|
if (Array.isArray(product.images) && product.images.length > 0) {
|
|
562
|
-
const primaryImage =
|
|
562
|
+
const primaryImage = product.images.toSorted((a, b) => (a.position ?? 0) - (b.position ?? 0))[0];
|
|
563
563
|
if (primaryImage?.image_url) return primaryImage.image_url;
|
|
564
564
|
}
|
|
565
565
|
return product.image_url ?? null;
|
|
@@ -605,7 +605,7 @@ function ShareableListLayout({ filters, children, isLoading, error, errorMessage
|
|
|
605
605
|
className: "flex items-center gap-3",
|
|
606
606
|
children: [
|
|
607
607
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-10 flex-1" }),
|
|
608
|
-
loadingFilterShape === "search-view" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "
|
|
608
|
+
loadingFilterShape === "search-view" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "size-10" }),
|
|
609
609
|
loadingFilterShape === "search-action" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Skeleton, { className: "h-10 w-24" })
|
|
610
610
|
]
|
|
611
611
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -670,7 +670,7 @@ function ShareableListRow({ imageUrl, imageAlt, title, subtitle, onClick, leadin
|
|
|
670
670
|
onClick,
|
|
671
671
|
className: "flex min-w-0 flex-1 items-center gap-4 text-left",
|
|
672
672
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
673
|
-
className: "bg-muted
|
|
673
|
+
className: "bg-muted size-12 shrink-0 overflow-hidden rounded-md",
|
|
674
674
|
children: imageUrl ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
675
675
|
src: imageUrl,
|
|
676
676
|
alt: imageAlt ?? title,
|
|
@@ -705,12 +705,12 @@ function ViewModeToggle({ value, onChange }) {
|
|
|
705
705
|
active: value === "list",
|
|
706
706
|
label: t("common_list_view"),
|
|
707
707
|
onClick: () => onChange("list"),
|
|
708
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.List, { className: "
|
|
708
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.List, { className: "size-4" })
|
|
709
709
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToggleButton, {
|
|
710
710
|
active: value === "grid",
|
|
711
711
|
label: t("common_grid_view"),
|
|
712
712
|
onClick: () => onChange("grid"),
|
|
713
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.LayoutGrid, { className: "
|
|
713
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.LayoutGrid, { className: "size-4" })
|
|
714
714
|
})]
|
|
715
715
|
});
|
|
716
716
|
}
|
|
@@ -864,7 +864,7 @@ function ProductsScreen({ countryCode, fetchProducts: fetchPortalProducts, onNav
|
|
|
864
864
|
}, [data, usePortal]);
|
|
865
865
|
const footer = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [isFetchingNextPage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
866
866
|
className: "flex justify-center py-4",
|
|
867
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary
|
|
867
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary size-6 animate-spin rounded-full border-2 border-t-transparent" })
|
|
868
868
|
}), error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
869
869
|
className: "bg-destructive/10 text-destructive rounded-lg px-3 py-2",
|
|
870
870
|
children: t("products_load_error")
|
|
@@ -963,9 +963,9 @@ function SharePageImageDisplay({ displayImage, displayTitle, displayVideo, displ
|
|
|
963
963
|
disabled: currentPage <= 1,
|
|
964
964
|
variant: "outline",
|
|
965
965
|
size: "sm",
|
|
966
|
-
className: "
|
|
966
|
+
className: "size-8 p-0",
|
|
967
967
|
"aria-label": "Previous page",
|
|
968
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronLeft, { className: "
|
|
968
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronLeft, { className: "size-4" })
|
|
969
969
|
}),
|
|
970
970
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
971
971
|
className: "flex items-center gap-2",
|
|
@@ -984,9 +984,9 @@ function SharePageImageDisplay({ displayImage, displayTitle, displayVideo, displ
|
|
|
984
984
|
onClick: handleNextPage,
|
|
985
985
|
variant: "outline",
|
|
986
986
|
size: "sm",
|
|
987
|
-
className: "
|
|
987
|
+
className: "size-8 p-0",
|
|
988
988
|
"aria-label": "Next page",
|
|
989
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRight, { className: "
|
|
989
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRight, { className: "size-4" })
|
|
990
990
|
})
|
|
991
991
|
]
|
|
992
992
|
})] }) : renderImage({
|
|
@@ -1002,20 +1002,20 @@ function SharePageImageDisplay({ displayImage, displayTitle, displayVideo, displ
|
|
|
1002
1002
|
}),
|
|
1003
1003
|
(isVideo || displayPdf) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
1004
1004
|
onClick: () => setIsPreviewOpen(true),
|
|
1005
|
-
className: "absolute top-3 left-3 z-0 flex
|
|
1005
|
+
className: "absolute top-3 left-3 z-0 flex size-8 items-center justify-center rounded-full bg-white/90 text-gray-700 backdrop-blur-sm transition-colors hover:bg-white",
|
|
1006
1006
|
variant: "ghost",
|
|
1007
1007
|
size: "sm",
|
|
1008
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Maximize, { className: "
|
|
1008
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Maximize, { className: "size-4" })
|
|
1009
1009
|
}),
|
|
1010
1010
|
isPreviewOpen && isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1011
1011
|
className: "fixed inset-0 z-9999 flex items-center justify-center bg-black",
|
|
1012
1012
|
onClick: () => setIsPreviewOpen(false),
|
|
1013
1013
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
1014
1014
|
onClick: () => setIsPreviewOpen(false),
|
|
1015
|
-
className: "absolute top-4 right-4 z-10000 flex
|
|
1015
|
+
className: "absolute top-4 right-4 z-10000 flex size-10 items-center justify-center rounded-full bg-white/90 text-gray-900 backdrop-blur-sm transition-colors hover:bg-white",
|
|
1016
1016
|
variant: "ghost",
|
|
1017
1017
|
size: "sm",
|
|
1018
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "
|
|
1018
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "size-5" })
|
|
1019
1019
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("video", {
|
|
1020
1020
|
src: displayVideo || "",
|
|
1021
1021
|
className: "max-h-screen max-w-full",
|
|
@@ -1032,10 +1032,10 @@ function SharePageImageDisplay({ displayImage, displayTitle, displayVideo, displ
|
|
|
1032
1032
|
e.stopPropagation();
|
|
1033
1033
|
setIsPreviewOpen(false);
|
|
1034
1034
|
},
|
|
1035
|
-
className: "absolute top-4 right-4 z-10000 flex
|
|
1035
|
+
className: "absolute top-4 right-4 z-10000 flex size-10 items-center justify-center rounded-full bg-white/90 text-gray-900 backdrop-blur-sm transition-colors hover:bg-white",
|
|
1036
1036
|
variant: "ghost",
|
|
1037
1037
|
size: "sm",
|
|
1038
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "
|
|
1038
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "size-5" })
|
|
1039
1039
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1040
1040
|
className: "relative",
|
|
1041
1041
|
onClick: (e) => e.stopPropagation(),
|
|
@@ -1249,21 +1249,21 @@ function ShareLinkSection({ shareLink, loading, displayTitle, isVideo, relateabl
|
|
|
1249
1249
|
variant: "secondary",
|
|
1250
1250
|
size: "sm",
|
|
1251
1251
|
className: "border-foreground bg-background text-foreground hover:bg-muted h-8 rounded-md border px-3 text-xs font-semibold transition-colors",
|
|
1252
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Menu, { className: "mr-1
|
|
1252
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Menu, { className: "mr-1 size-3" }), t("share_button")]
|
|
1253
1253
|
})
|
|
1254
1254
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
|
|
1255
1255
|
className: "w-48",
|
|
1256
1256
|
children: socialPlatforms.map((platform) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
1257
1257
|
onClick: () => handlePlatformShare(platform.name),
|
|
1258
1258
|
className: "flex cursor-pointer items-center gap-2",
|
|
1259
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(platform.Icon, { className: "
|
|
1259
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(platform.Icon, { className: "size-4" }), platform.name]
|
|
1260
1260
|
}, platform.name))
|
|
1261
1261
|
})] }) : socialPlatforms.map((platform) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
1262
1262
|
onClick: () => handlePlatformShare(platform.name),
|
|
1263
1263
|
variant: "secondary",
|
|
1264
1264
|
size: "sm",
|
|
1265
1265
|
className: "border-foreground bg-background text-foreground hover:bg-muted h-8 rounded-md border px-3 text-xs font-semibold transition-colors",
|
|
1266
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(platform.Icon, { className: "mr-1.5
|
|
1266
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(platform.Icon, { className: "mr-1.5 size-3" }), platform.name]
|
|
1267
1267
|
}, platform.name))]
|
|
1268
1268
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1269
1269
|
className: "flex h-10 items-center gap-2 rounded-lg px-3",
|
|
@@ -1275,9 +1275,9 @@ function ShareLinkSection({ shareLink, loading, displayTitle, isVideo, relateabl
|
|
|
1275
1275
|
onClick: handleCopyLink,
|
|
1276
1276
|
variant: "ghost",
|
|
1277
1277
|
size: "sm",
|
|
1278
|
-
className: "
|
|
1278
|
+
className: "size-6 shrink-0 p-0 hover:bg-transparent",
|
|
1279
1279
|
disabled: !shareLink,
|
|
1280
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Copy, { className: "
|
|
1280
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Copy, { className: "size-4 text-[#344054]" })
|
|
1281
1281
|
})]
|
|
1282
1282
|
})]
|
|
1283
1283
|
})]
|
|
@@ -1330,7 +1330,7 @@ function AssetActions({ downloadUrl, displayTitle, shareLink, shareLinkLoading,
|
|
|
1330
1330
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1331
1331
|
className: "text-sm font-medium",
|
|
1332
1332
|
children: t("share_download_asset")
|
|
1333
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Download, { className: "
|
|
1333
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Download, { className: "size-4" })]
|
|
1334
1334
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ShareLinkSection, {
|
|
1335
1335
|
shareLink,
|
|
1336
1336
|
loading: shareLinkLoading,
|
|
@@ -1374,8 +1374,8 @@ const MediaCard = react.default.memo(function MediaCard({ mediaItem, onClick })
|
|
|
1374
1374
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1375
1375
|
className: "absolute top-2 right-2",
|
|
1376
1376
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1377
|
-
className: "bg-background/90 flex
|
|
1378
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MediaIcon, { className: "
|
|
1377
|
+
className: "bg-background/90 flex size-8 items-center justify-center rounded-full shadow-md backdrop-blur-sm",
|
|
1378
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MediaIcon, { className: "size-4 text-gray-900" })
|
|
1379
1379
|
})
|
|
1380
1380
|
})]
|
|
1381
1381
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
|
|
@@ -1455,7 +1455,7 @@ const NoAssetsState = react.default.memo(function NoAssetsState({ relateable_typ
|
|
|
1455
1455
|
children: [
|
|
1456
1456
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1457
1457
|
className: "mb-2 text-gray-400",
|
|
1458
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "mx-auto
|
|
1458
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "mx-auto size-12" })
|
|
1459
1459
|
}),
|
|
1460
1460
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1461
1461
|
className: "mb-1 text-sm text-gray-500",
|
|
@@ -1708,7 +1708,7 @@ function ProductDetailScreen({ productId, countryCode, fetchProduct: fetchPortal
|
|
|
1708
1708
|
children: [
|
|
1709
1709
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1710
1710
|
className: "mb-2 text-gray-400",
|
|
1711
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "mx-auto
|
|
1711
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "mx-auto size-12" })
|
|
1712
1712
|
}),
|
|
1713
1713
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1714
1714
|
className: "mb-1 text-sm text-gray-500",
|
|
@@ -1821,12 +1821,12 @@ function MediaRowActionsMenu({ onDelete }) {
|
|
|
1821
1821
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
1822
1822
|
variant: "ghost",
|
|
1823
1823
|
size: "sm",
|
|
1824
|
-
className: "bg-background/80 hover:bg-background
|
|
1824
|
+
className: "bg-background/80 hover:bg-background size-8 p-0 backdrop-blur-sm",
|
|
1825
1825
|
onClick: (e) => {
|
|
1826
1826
|
e.stopPropagation();
|
|
1827
1827
|
},
|
|
1828
1828
|
"aria-label": t("media_actions_aria"),
|
|
1829
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "
|
|
1829
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "size-4" })
|
|
1830
1830
|
})
|
|
1831
1831
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
|
|
1832
1832
|
align: "end",
|
|
@@ -1834,7 +1834,7 @@ function MediaRowActionsMenu({ onDelete }) {
|
|
|
1834
1834
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
1835
1835
|
onClick: onDelete,
|
|
1836
1836
|
className: "text-destructive focus:text-destructive",
|
|
1837
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2
|
|
1837
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2 size-4" }), t("common_delete")]
|
|
1838
1838
|
})
|
|
1839
1839
|
})] });
|
|
1840
1840
|
}
|
|
@@ -1987,7 +1987,7 @@ function MediaListingScreen(_props) {
|
|
|
1987
1987
|
});
|
|
1988
1988
|
const footer = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [isFetchingNextPage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1989
1989
|
className: "flex justify-center py-4",
|
|
1990
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary
|
|
1990
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary size-6 animate-spin rounded-full border-2 border-t-transparent" })
|
|
1991
1991
|
}), error && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
1992
1992
|
className: "bg-destructive/10 text-destructive rounded-lg px-3 py-2",
|
|
1993
1993
|
children: [t("common_error_prefix"), error.message]
|
|
@@ -1996,7 +1996,7 @@ function MediaListingScreen(_props) {
|
|
|
1996
1996
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScreenHeaderContext.ScreenHeaderActions, { children: readOnly ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
1997
1997
|
onClick: () => navigate("media/new"),
|
|
1998
1998
|
size: "sm",
|
|
1999
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "mr-1
|
|
1999
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "mr-1 size-4" }), t("media_add_button")]
|
|
2000
2000
|
}) }),
|
|
2001
2001
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScreenHeaderContext.ScreenHeaderBreadcrumbs, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbList, {
|
|
2002
2002
|
className: "text-lg",
|
|
@@ -2144,7 +2144,7 @@ function TaggedProductsList({ products, onProductClick }) {
|
|
|
2144
2144
|
children: [
|
|
2145
2145
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
2146
2146
|
className: "text-muted-foreground mb-2",
|
|
2147
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ShoppingBag, { className: "mx-auto
|
|
2147
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ShoppingBag, { className: "mx-auto size-12" })
|
|
2148
2148
|
}),
|
|
2149
2149
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
2150
2150
|
className: "text-foreground mb-1 text-sm",
|
|
@@ -2192,7 +2192,7 @@ function TaggedProductsList({ products, onProductClick }) {
|
|
|
2192
2192
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
2193
2193
|
className: "line-clamp-2",
|
|
2194
2194
|
children: title
|
|
2195
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowUpRight, { className: "text-foreground mt-0.5
|
|
2195
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowUpRight, { className: "text-foreground mt-0.5 size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100" })]
|
|
2196
2196
|
}), displayPrice && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
2197
2197
|
className: "text-foreground text-[15px] leading-[1.4] font-normal",
|
|
2198
2198
|
children: displayPrice
|
|
@@ -2276,7 +2276,7 @@ function MediaDetailScreen({ mediaId, onNavigate, onBack }) {
|
|
|
2276
2276
|
variant: "outline",
|
|
2277
2277
|
onClick: () => navigate(`media/${mediaId}/edit`),
|
|
2278
2278
|
className: "flex items-center gap-1.5",
|
|
2279
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "
|
|
2279
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "size-3.5" }), t("common_edit")]
|
|
2280
2280
|
}) }),
|
|
2281
2281
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ShareableDetailLayout, {
|
|
2282
2282
|
isLoading,
|
|
@@ -7855,28 +7855,28 @@ function RichTextEditor({ value, onChange, placeholder, className, editorClassNa
|
|
|
7855
7855
|
onClick: () => editor?.chain().focus().setTextAlign("left").run(),
|
|
7856
7856
|
className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "left" }) ? buttonActive : buttonInactive),
|
|
7857
7857
|
title: t("editor_align_left"),
|
|
7858
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignLeft, { className: "
|
|
7858
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignLeft, { className: "size-3.5" })
|
|
7859
7859
|
}),
|
|
7860
7860
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7861
7861
|
type: "button",
|
|
7862
7862
|
onClick: () => editor?.chain().focus().setTextAlign("center").run(),
|
|
7863
7863
|
className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "center" }) ? buttonActive : buttonInactive),
|
|
7864
7864
|
title: t("editor_align_center"),
|
|
7865
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignCenter, { className: "
|
|
7865
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignCenter, { className: "size-3.5" })
|
|
7866
7866
|
}),
|
|
7867
7867
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7868
7868
|
type: "button",
|
|
7869
7869
|
onClick: () => editor?.chain().focus().setTextAlign("right").run(),
|
|
7870
7870
|
className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "right" }) ? buttonActive : buttonInactive),
|
|
7871
7871
|
title: t("editor_align_right"),
|
|
7872
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignRight, { className: "
|
|
7872
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignRight, { className: "size-3.5" })
|
|
7873
7873
|
}),
|
|
7874
7874
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7875
7875
|
type: "button",
|
|
7876
7876
|
onClick: () => editor?.chain().focus().setTextAlign("justify").run(),
|
|
7877
7877
|
className: require_src.cn(buttonBase, editor?.isActive({ textAlign: "justify" }) ? buttonActive : buttonInactive),
|
|
7878
7878
|
title: t("editor_justify"),
|
|
7879
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignJustify, { className: "
|
|
7879
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.AlignJustify, { className: "size-3.5" })
|
|
7880
7880
|
}),
|
|
7881
7881
|
separator,
|
|
7882
7882
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
@@ -7884,14 +7884,14 @@ function RichTextEditor({ value, onChange, placeholder, className, editorClassNa
|
|
|
7884
7884
|
onClick: () => editor?.chain().focus().toggleBulletList().run(),
|
|
7885
7885
|
className: require_src.cn(buttonBase, editor?.isActive("bulletList") ? buttonActive : buttonInactive),
|
|
7886
7886
|
title: t("editor_bullet_list"),
|
|
7887
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.List, { className: "
|
|
7887
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.List, { className: "size-3.5" })
|
|
7888
7888
|
}),
|
|
7889
7889
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7890
7890
|
type: "button",
|
|
7891
7891
|
onClick: () => editor?.chain().focus().toggleOrderedList().run(),
|
|
7892
7892
|
className: require_src.cn(buttonBase, editor?.isActive("orderedList") ? buttonActive : buttonInactive),
|
|
7893
7893
|
title: t("editor_ordered_list"),
|
|
7894
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ListOrdered, { className: "
|
|
7894
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ListOrdered, { className: "size-3.5" })
|
|
7895
7895
|
})
|
|
7896
7896
|
]
|
|
7897
7897
|
}),
|
|
@@ -7942,12 +7942,12 @@ function ProductImage({ imageUrl, name }) {
|
|
|
7942
7942
|
alt: name ?? t("common_product"),
|
|
7943
7943
|
width: 40,
|
|
7944
7944
|
height: 40,
|
|
7945
|
-
className: "
|
|
7945
|
+
className: "size-10 shrink-0 rounded object-cover",
|
|
7946
7946
|
onError: () => setErrored(true)
|
|
7947
7947
|
});
|
|
7948
7948
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7949
|
-
className: "flex
|
|
7950
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Package, { className: "
|
|
7949
|
+
className: "flex size-10 shrink-0 items-center justify-center rounded bg-gray-100",
|
|
7950
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Package, { className: "size-5 text-gray-400" })
|
|
7951
7951
|
});
|
|
7952
7952
|
}
|
|
7953
7953
|
function MediaProductTagging({ products, onAddProduct, onRemoveProduct, onSearchProducts, disabled = false, maxProducts = 100 }) {
|
|
@@ -8097,7 +8097,7 @@ function MediaProductTagging({ products, onAddProduct, onRemoveProduct, onSearch
|
|
|
8097
8097
|
onClick: handleOpenModal,
|
|
8098
8098
|
size: "sm",
|
|
8099
8099
|
className: "gap-1.5",
|
|
8100
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "
|
|
8100
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "size-3" }), t("media_add_product_button")]
|
|
8101
8101
|
})]
|
|
8102
8102
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8103
8103
|
className: "relative space-y-4",
|
|
@@ -8116,7 +8116,7 @@ function MediaProductTagging({ products, onAddProduct, onRemoveProduct, onSearch
|
|
|
8116
8116
|
variant: "outline",
|
|
8117
8117
|
size: "sm",
|
|
8118
8118
|
className: "gap-1.5 text-xs",
|
|
8119
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "
|
|
8119
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "size-3" }), t("media_add_products_button")]
|
|
8120
8120
|
})]
|
|
8121
8121
|
}),
|
|
8122
8122
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
@@ -8257,22 +8257,22 @@ function CtaModal({ open, onOpenChange, ctaEnabled, ctaType, ctaButtonText, ctaU
|
|
|
8257
8257
|
{
|
|
8258
8258
|
value: "link",
|
|
8259
8259
|
label: t("cta_type_page"),
|
|
8260
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Globe, { className: "
|
|
8260
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Globe, { className: "size-3.5 text-gray-500" })
|
|
8261
8261
|
},
|
|
8262
8262
|
{
|
|
8263
8263
|
value: "cart",
|
|
8264
8264
|
label: t("cta_type_cart"),
|
|
8265
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ShoppingCart, { className: "
|
|
8265
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ShoppingCart, { className: "size-3.5 text-gray-500" })
|
|
8266
8266
|
},
|
|
8267
8267
|
{
|
|
8268
8268
|
value: "email",
|
|
8269
8269
|
label: t("cta_type_email"),
|
|
8270
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Mail, { className: "
|
|
8270
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Mail, { className: "size-3.5 text-gray-500" })
|
|
8271
8271
|
},
|
|
8272
8272
|
{
|
|
8273
8273
|
value: "phone",
|
|
8274
8274
|
label: t("cta_type_phone"),
|
|
8275
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Phone, { className: "
|
|
8275
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Phone, { className: "size-3.5 text-gray-500" })
|
|
8276
8276
|
}
|
|
8277
8277
|
], [t]);
|
|
8278
8278
|
const [enabled, setEnabled] = (0, react.useState)(ctaEnabled);
|
|
@@ -8363,7 +8363,7 @@ function CtaModal({ open, onOpenChange, ctaEnabled, ctaType, ctaButtonText, ctaU
|
|
|
8363
8363
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
8364
8364
|
className: fieldsDisabled ? "text-gray-400" : "text-gray-700",
|
|
8365
8365
|
children: t("cta_button_label")
|
|
8366
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.HelpCircle, { className: "
|
|
8366
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.HelpCircle, { className: "size-3.5 text-gray-400" })]
|
|
8367
8367
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
|
|
8368
8368
|
value: buttonText,
|
|
8369
8369
|
onChange: (e) => setButtonText(e.target.value),
|
|
@@ -8380,7 +8380,7 @@ function CtaModal({ open, onOpenChange, ctaEnabled, ctaType, ctaButtonText, ctaU
|
|
|
8380
8380
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
8381
8381
|
className: fieldsDisabled ? "text-gray-400" : "text-gray-700",
|
|
8382
8382
|
children: t("cta_url_label")
|
|
8383
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.HelpCircle, { className: "
|
|
8383
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.HelpCircle, { className: "size-3.5 text-gray-400" })]
|
|
8384
8384
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
|
|
8385
8385
|
value: url,
|
|
8386
8386
|
onChange: (e) => setUrl(e.target.value),
|
|
@@ -8507,7 +8507,7 @@ function VideoThumbnailSelector({ videoUrl, thumbnailUrl, onThumbnailCaptured, o
|
|
|
8507
8507
|
className: "flex items-start gap-4",
|
|
8508
8508
|
children: [imgLoadError ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8509
8509
|
className: "bg-muted flex h-28 w-48 shrink-0 items-center justify-center rounded-md border",
|
|
8510
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground
|
|
8510
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground size-8" })
|
|
8511
8511
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
8512
8512
|
src: thumbnailUrl,
|
|
8513
8513
|
alt: t("media_video_thumbnail_alt"),
|
|
@@ -8541,13 +8541,13 @@ function VideoThumbnailSelector({ videoUrl, thumbnailUrl, onThumbnailCaptured, o
|
|
|
8541
8541
|
size: "sm",
|
|
8542
8542
|
onClick: handleOpenDialog,
|
|
8543
8543
|
className: "gap-1.5",
|
|
8544
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "
|
|
8544
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "size-3.5" }), t("media_select_from_video_frame")]
|
|
8545
8545
|
}), onThumbnailSelected && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
8546
8546
|
variant: "outline",
|
|
8547
8547
|
size: "sm",
|
|
8548
8548
|
onClick: onThumbnailSelected,
|
|
8549
8549
|
className: "gap-1.5",
|
|
8550
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "
|
|
8550
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "size-3.5" }), t("media_select_new_image")]
|
|
8551
8551
|
})]
|
|
8552
8552
|
})
|
|
8553
8553
|
]
|
|
@@ -8556,7 +8556,7 @@ function VideoThumbnailSelector({ videoUrl, thumbnailUrl, onThumbnailCaptured, o
|
|
|
8556
8556
|
className: "flex items-center gap-4",
|
|
8557
8557
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8558
8558
|
className: "bg-muted flex h-28 w-48 shrink-0 items-center justify-center rounded-md border",
|
|
8559
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "text-muted-foreground
|
|
8559
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "text-muted-foreground size-8" })
|
|
8560
8560
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8561
8561
|
className: "min-w-0 flex-1",
|
|
8562
8562
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
@@ -8569,7 +8569,7 @@ function VideoThumbnailSelector({ videoUrl, thumbnailUrl, onThumbnailCaptured, o
|
|
|
8569
8569
|
size: "sm",
|
|
8570
8570
|
onClick: handleOpenDialog,
|
|
8571
8571
|
className: "gap-1.5",
|
|
8572
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "
|
|
8572
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "size-3.5" }), t("media_select_video_frame")]
|
|
8573
8573
|
})
|
|
8574
8574
|
})]
|
|
8575
8575
|
})]
|
|
@@ -8601,7 +8601,7 @@ function VideoThumbnailSelector({ videoUrl, thumbnailUrl, onThumbnailCaptured, o
|
|
|
8601
8601
|
onClick: handlePlayPause,
|
|
8602
8602
|
disabled: !isMetadataLoaded,
|
|
8603
8603
|
className: "absolute inset-0 flex items-center justify-center bg-black/20 opacity-0 transition-opacity hover:opacity-100",
|
|
8604
|
-
children: isPlaying ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pause, { className: "
|
|
8604
|
+
children: isPlaying ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pause, { className: "size-12 text-white" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Play, { className: "size-12 text-white" })
|
|
8605
8605
|
})]
|
|
8606
8606
|
}),
|
|
8607
8607
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -8631,7 +8631,7 @@ function VideoThumbnailSelector({ videoUrl, thumbnailUrl, onThumbnailCaptured, o
|
|
|
8631
8631
|
onClick: handleCapture,
|
|
8632
8632
|
disabled: !isMetadataLoaded || capturing,
|
|
8633
8633
|
className: "w-full gap-2",
|
|
8634
|
-
children: [capturing ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Spinner, { className: "size-4" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "
|
|
8634
|
+
children: [capturing ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Spinner, { className: "size-4" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Camera, { className: "size-4" }), t("media_capture_frame")]
|
|
8635
8635
|
})
|
|
8636
8636
|
]
|
|
8637
8637
|
}),
|
|
@@ -8685,7 +8685,7 @@ function ThumbnailWithMeta({ src, onReplace }) {
|
|
|
8685
8685
|
className: "flex items-start gap-4",
|
|
8686
8686
|
children: [loadError ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8687
8687
|
className: "bg-muted flex h-28 w-48 shrink-0 items-center justify-center rounded-md border",
|
|
8688
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground
|
|
8688
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground size-8" })
|
|
8689
8689
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
8690
8690
|
src,
|
|
8691
8691
|
alt: t("media_thumbnail_alt"),
|
|
@@ -8719,7 +8719,7 @@ function ThumbnailWithMeta({ src, onReplace }) {
|
|
|
8719
8719
|
size: "sm",
|
|
8720
8720
|
onClick: onReplace,
|
|
8721
8721
|
className: "gap-1.5",
|
|
8722
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "
|
|
8722
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "size-3.5" }), t("media_select_new_image")]
|
|
8723
8723
|
})
|
|
8724
8724
|
})
|
|
8725
8725
|
]
|
|
@@ -8762,7 +8762,7 @@ function CurrentMediaPreview({ mediaItem, pendingFileUrl, pendingKind }) {
|
|
|
8762
8762
|
});
|
|
8763
8763
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8764
8764
|
className: "border-border text-muted-foreground flex h-40 w-full flex-col items-center justify-center gap-2 rounded-lg border",
|
|
8765
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "
|
|
8765
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "size-6" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8766
8766
|
className: "text-sm",
|
|
8767
8767
|
children: t("media_no_media_available")
|
|
8768
8768
|
})]
|
|
@@ -8958,15 +8958,15 @@ function MediaEditScreen({ mediaId, onNavigate: _onNavigate, onBack }) {
|
|
|
8958
8958
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
8959
8959
|
variant: "outline",
|
|
8960
8960
|
size: "sm",
|
|
8961
|
-
className: "
|
|
8962
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "
|
|
8961
|
+
className: "size-8 p-0",
|
|
8962
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "size-4" })
|
|
8963
8963
|
})
|
|
8964
8964
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
|
|
8965
8965
|
align: "end",
|
|
8966
8966
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
8967
8967
|
onClick: () => setIsDeleteOpen(true),
|
|
8968
8968
|
className: "text-destructive focus:text-destructive",
|
|
8969
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2
|
|
8969
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2 size-4" }), t("common_delete")]
|
|
8970
8970
|
})
|
|
8971
8971
|
})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
8972
8972
|
onClick: handleSave,
|
|
@@ -9070,7 +9070,7 @@ function MediaEditScreen({ mediaId, onNavigate: _onNavigate, onBack }) {
|
|
|
9070
9070
|
className: "flex items-center gap-4",
|
|
9071
9071
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9072
9072
|
className: "bg-muted flex h-28 w-48 shrink-0 items-center justify-center rounded-md border",
|
|
9073
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground
|
|
9073
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground size-8" })
|
|
9074
9074
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9075
9075
|
className: "min-w-0 flex-1",
|
|
9076
9076
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
@@ -9081,7 +9081,7 @@ function MediaEditScreen({ mediaId, onNavigate: _onNavigate, onBack }) {
|
|
|
9081
9081
|
size: "sm",
|
|
9082
9082
|
onClick: () => setIsThumbnailPickerOpen(true),
|
|
9083
9083
|
className: "gap-1.5",
|
|
9084
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "
|
|
9084
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "size-3.5" }), t("media_select_new_image")]
|
|
9085
9085
|
})]
|
|
9086
9086
|
})]
|
|
9087
9087
|
})]
|
|
@@ -9203,10 +9203,10 @@ function MediaEditScreen({ mediaId, onNavigate: _onNavigate, onBack }) {
|
|
|
9203
9203
|
children: [seoThumbnailUrl ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
9204
9204
|
src: seoThumbnailUrl,
|
|
9205
9205
|
alt: "SEO preview",
|
|
9206
|
-
className: "
|
|
9206
|
+
className: "size-8 shrink-0 rounded object-cover"
|
|
9207
9207
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9208
|
-
className: "bg-muted flex
|
|
9209
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground
|
|
9208
|
+
className: "bg-muted flex size-8 items-center justify-center rounded",
|
|
9209
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground size-4" })
|
|
9210
9210
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9211
9211
|
className: "min-w-0 flex-1",
|
|
9212
9212
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
@@ -9379,7 +9379,7 @@ function FilePreview({ result, mediaType }) {
|
|
|
9379
9379
|
className: "absolute inset-0 h-full w-full object-cover"
|
|
9380
9380
|
}), Icon && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9381
9381
|
className: "absolute bottom-2 left-2 flex items-center gap-1.5 rounded-md bg-black/60 px-2 py-1 text-white",
|
|
9382
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, { className: "
|
|
9382
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, { className: "size-3.5" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9383
9383
|
className: "text-xs font-medium",
|
|
9384
9384
|
children: mediaType === "video" ? t("media_type_video") : t("media_type_pdf")
|
|
9385
9385
|
})]
|
|
@@ -9388,7 +9388,7 @@ function FilePreview({ result, mediaType }) {
|
|
|
9388
9388
|
}
|
|
9389
9389
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9390
9390
|
className: "flex items-center gap-3 rounded-lg border p-4",
|
|
9391
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(mediaType === "video" ? lucide_react.Video : lucide_react.FileText, { className: "text-muted-foreground
|
|
9391
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(mediaType === "video" ? lucide_react.Video : lucide_react.FileText, { className: "text-muted-foreground size-8 shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9392
9392
|
className: "min-w-0 flex-1",
|
|
9393
9393
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
9394
9394
|
className: "text-foreground truncate text-sm font-medium",
|
|
@@ -9592,7 +9592,7 @@ function MediaCreateScreen({ onNavigate, onBack }) {
|
|
|
9592
9592
|
onClick: () => setIsPickerOpen(true),
|
|
9593
9593
|
disabled: !filePickerApi,
|
|
9594
9594
|
className: "border-border text-muted-foreground hover:bg-muted/30 flex h-40 w-full flex-col items-center justify-center gap-2 rounded-lg border border-dashed transition-colors disabled:cursor-not-allowed disabled:opacity-50",
|
|
9595
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Upload, { className: "
|
|
9595
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Upload, { className: "size-6" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9596
9596
|
className: "text-sm",
|
|
9597
9597
|
children: t("media_upload_placeholder")
|
|
9598
9598
|
})]
|
|
@@ -9655,8 +9655,8 @@ function MediaCreateScreen({ onNavigate, onBack }) {
|
|
|
9655
9655
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9656
9656
|
className: "mb-2 flex items-center gap-2",
|
|
9657
9657
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9658
|
-
className: "bg-muted flex
|
|
9659
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground
|
|
9658
|
+
className: "bg-muted flex size-8 items-center justify-center rounded",
|
|
9659
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ImageIcon, { className: "text-muted-foreground size-4" })
|
|
9660
9660
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9661
9661
|
className: "min-w-0 flex-1",
|
|
9662
9662
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
@@ -9811,9 +9811,9 @@ function PlaylistCard({ title, imageUrl, href, itemCount, isFavorited = false, i
|
|
|
9811
9811
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9812
9812
|
type: "button",
|
|
9813
9813
|
onClick: (e) => e.stopPropagation(),
|
|
9814
|
-
className: "bg-background/90 hover:bg-background flex
|
|
9814
|
+
className: "bg-background/90 hover:bg-background flex size-8 items-center justify-center rounded-lg shadow-md backdrop-blur-sm transition-all",
|
|
9815
9815
|
"aria-label": t("common_more_options_aria"),
|
|
9816
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "text-foreground
|
|
9816
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "text-foreground size-4" })
|
|
9817
9817
|
})
|
|
9818
9818
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuContent, {
|
|
9819
9819
|
align: "end",
|
|
@@ -9825,17 +9825,17 @@ function PlaylistCard({ title, imageUrl, href, itemCount, isFavorited = false, i
|
|
|
9825
9825
|
}),
|
|
9826
9826
|
canEdit && onEdit && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
9827
9827
|
onClick: onEdit,
|
|
9828
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "mr-2
|
|
9828
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "mr-2 size-4" }), t("common_edit")]
|
|
9829
9829
|
}),
|
|
9830
9830
|
canEdit && onDelete && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
9831
9831
|
variant: "destructive",
|
|
9832
9832
|
onClick: onDelete,
|
|
9833
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2
|
|
9833
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2 size-4" }), t("common_delete")]
|
|
9834
9834
|
})] })
|
|
9835
9835
|
]
|
|
9836
9836
|
})] })
|
|
9837
9837
|
}),
|
|
9838
|
-
onToggleFavorite && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "pointer-events-none absolute -bottom-8 -left-8 z-9
|
|
9838
|
+
onToggleFavorite && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "pointer-events-none absolute -bottom-8 -left-8 z-9 size-24 rounded-full bg-[#00000020] blur-xl" }),
|
|
9839
9839
|
onToggleFavorite && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9840
9840
|
type: "button",
|
|
9841
9841
|
className: "absolute bottom-3 left-3 z-10 cursor-pointer transition-transform hover:scale-110",
|
|
@@ -9897,7 +9897,7 @@ function BulkSelectionBar({ selectedCount, totalCount, onSelectAll, onClearSelec
|
|
|
9897
9897
|
onClick: onClearSelection,
|
|
9898
9898
|
className: "text-background hover:text-background/80",
|
|
9899
9899
|
"aria-label": t("common_cancel_selection_aria"),
|
|
9900
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "
|
|
9900
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "size-4" })
|
|
9901
9901
|
})]
|
|
9902
9902
|
})]
|
|
9903
9903
|
});
|
|
@@ -10111,7 +10111,7 @@ function PlaylistsListingScreen(_props) {
|
|
|
10111
10111
|
});
|
|
10112
10112
|
const footer = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [isFetchingNextPage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10113
10113
|
className: "flex justify-center py-4",
|
|
10114
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary
|
|
10114
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary size-6 animate-spin rounded-full border-2 border-t-transparent" })
|
|
10115
10115
|
}), error && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
10116
10116
|
className: "bg-destructive/10 text-destructive rounded-lg px-3 py-2",
|
|
10117
10117
|
children: ["Error: ", error.message]
|
|
@@ -10121,7 +10121,7 @@ function PlaylistsListingScreen(_props) {
|
|
|
10121
10121
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScreenHeaderContext.ScreenHeaderActions, { children: readOnly ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
10122
10122
|
onClick: () => navigate("playlists/new"),
|
|
10123
10123
|
size: "sm",
|
|
10124
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "mr-1
|
|
10124
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "mr-1 size-4" }), t("playlist_create_button")]
|
|
10125
10125
|
}) }),
|
|
10126
10126
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScreenHeaderContext.ScreenHeaderBreadcrumbs, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.BreadcrumbList, {
|
|
10127
10127
|
className: "text-lg",
|
|
@@ -10203,26 +10203,26 @@ function PlaylistsListingScreen(_props) {
|
|
|
10203
10203
|
type: "button",
|
|
10204
10204
|
onClick: () => handleFavorite(playlist.id),
|
|
10205
10205
|
"aria-label": playlist.is_favorited ? t("common_unfavorite") : t("common_favorite"),
|
|
10206
|
-
className: "hover:bg-muted-foreground/10 flex
|
|
10206
|
+
className: "hover:bg-muted-foreground/10 flex size-8 items-center justify-center rounded-md transition-colors",
|
|
10207
10207
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Heart, { className: require_src.cn("h-4 w-4 transition-colors", playlist.is_favorited ? "fill-destructive text-destructive" : "text-muted-foreground") })
|
|
10208
10208
|
}), canEdit && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
|
|
10209
10209
|
asChild: true,
|
|
10210
10210
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
10211
10211
|
variant: "ghost",
|
|
10212
10212
|
size: "sm",
|
|
10213
|
-
className: "
|
|
10213
|
+
className: "size-8 p-0",
|
|
10214
10214
|
"aria-label": t("playlist_actions_aria"),
|
|
10215
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "
|
|
10215
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "size-4" })
|
|
10216
10216
|
})
|
|
10217
10217
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuContent, {
|
|
10218
10218
|
align: "end",
|
|
10219
10219
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
10220
10220
|
onClick: () => handleEdit(playlist.id),
|
|
10221
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "mr-2
|
|
10221
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "mr-2 size-4" }), t("common_edit")]
|
|
10222
10222
|
}), onDeletePlaylist && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
10223
10223
|
variant: "destructive",
|
|
10224
10224
|
onClick: () => setPendingDeleteId(playlist.id),
|
|
10225
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2
|
|
10225
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2 size-4" }), t("common_delete")]
|
|
10226
10226
|
})] })]
|
|
10227
10227
|
})] })] })
|
|
10228
10228
|
}, playlist.id);
|
|
@@ -10300,7 +10300,7 @@ function PlaylistItemsList({ items, onSelectItem, selectedItemIndex = 0, onNavig
|
|
|
10300
10300
|
children: [
|
|
10301
10301
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10302
10302
|
className: "mb-2 text-gray-400",
|
|
10303
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ListMusic, { className: "mx-auto
|
|
10303
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ListMusic, { className: "mx-auto size-12" })
|
|
10304
10304
|
}),
|
|
10305
10305
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10306
10306
|
className: "mb-1 text-sm text-gray-500",
|
|
@@ -10349,8 +10349,8 @@ function PlaylistItemsList({ items, onSelectItem, selectedItemIndex = 0, onNavig
|
|
|
10349
10349
|
}), isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10350
10350
|
className: "absolute inset-0 flex items-center justify-center",
|
|
10351
10351
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10352
|
-
className: "bg-background/90 flex
|
|
10353
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Play, { className: "text-foreground ml-0.5
|
|
10352
|
+
className: "bg-background/90 flex size-10 items-center justify-center rounded-full shadow-md",
|
|
10353
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Play, { className: "text-foreground ml-0.5 size-4" })
|
|
10354
10354
|
})
|
|
10355
10355
|
})]
|
|
10356
10356
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -10362,7 +10362,7 @@ function PlaylistItemsList({ items, onSelectItem, selectedItemIndex = 0, onNavig
|
|
|
10362
10362
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
10363
10363
|
className: "line-clamp-2",
|
|
10364
10364
|
children: title
|
|
10365
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowUpRight, { className: "text-foreground mt-0.5
|
|
10365
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowUpRight, { className: "text-foreground mt-0.5 size-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100" })]
|
|
10366
10366
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10367
10367
|
className: "text-foreground text-[15px] leading-[1.4] font-semibold",
|
|
10368
10368
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -10440,7 +10440,7 @@ function PlaylistDetailScreen({ playlistId, onNavigate }) {
|
|
|
10440
10440
|
variant: "outline",
|
|
10441
10441
|
size: "sm",
|
|
10442
10442
|
onClick: () => navigate(`playlists/${playlistId}/edit`),
|
|
10443
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "mr-1
|
|
10443
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Pencil, { className: "mr-1 size-3.5" }), t("common_edit")]
|
|
10444
10444
|
})
|
|
10445
10445
|
}) : null }),
|
|
10446
10446
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScreenHeaderContext.ScreenHeaderBreadcrumbs, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Breadcrumb, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.BreadcrumbList, {
|
|
@@ -10710,17 +10710,17 @@ function PlaylistFormHeader({ playlistId, isEditMode, onSubmit, isSaving }) {
|
|
|
10710
10710
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
10711
10711
|
variant: "outline",
|
|
10712
10712
|
size: "sm",
|
|
10713
|
-
className: "
|
|
10713
|
+
className: "size-8 p-0",
|
|
10714
10714
|
"aria-label": t("playlist_actions_aria"),
|
|
10715
10715
|
disabled: isMutating,
|
|
10716
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "
|
|
10716
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreVertical, { className: "size-4" })
|
|
10717
10717
|
})
|
|
10718
10718
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
|
|
10719
10719
|
align: "end",
|
|
10720
10720
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
10721
10721
|
onClick: () => setIsDeleteOpen(true),
|
|
10722
10722
|
className: "text-destructive focus:text-destructive",
|
|
10723
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2
|
|
10723
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2 size-4" }), t("common_delete")]
|
|
10724
10724
|
})
|
|
10725
10725
|
})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
10726
10726
|
onClick: () => {
|
|
@@ -10879,11 +10879,11 @@ function getTypeDisplay(relateableType, relateableKind, t) {
|
|
|
10879
10879
|
}
|
|
10880
10880
|
function getItemIcon(relateableType) {
|
|
10881
10881
|
switch (relateableType) {
|
|
10882
|
-
case "Medium": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "text-muted-foreground
|
|
10883
|
-
case "Page": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.FileText, { className: "text-muted-foreground
|
|
10884
|
-
case "Product": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ShoppingBag, { className: "text-muted-foreground
|
|
10885
|
-
case "EnrollmentPack": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Package, { className: "text-muted-foreground
|
|
10886
|
-
default: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "text-muted-foreground
|
|
10882
|
+
case "Medium": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "text-muted-foreground size-4" });
|
|
10883
|
+
case "Page": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.FileText, { className: "text-muted-foreground size-4" });
|
|
10884
|
+
case "Product": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ShoppingBag, { className: "text-muted-foreground size-4" });
|
|
10885
|
+
case "EnrollmentPack": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Package, { className: "text-muted-foreground size-4" });
|
|
10886
|
+
default: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Image, { className: "text-muted-foreground size-4" });
|
|
10887
10887
|
}
|
|
10888
10888
|
}
|
|
10889
10889
|
function SortableTable({ items, setItems, onDeleteItem, isDeletePending, enableReordering = true }) {
|
|
@@ -10951,7 +10951,7 @@ function SortableTable({ items, setItems, onDeleteItem, isDeletePending, enableR
|
|
|
10951
10951
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
10952
10952
|
className: "flex min-w-0 items-center gap-3",
|
|
10953
10953
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10954
|
-
className: "bg-muted flex
|
|
10954
|
+
className: "bg-muted flex size-8 shrink-0 items-center justify-center overflow-hidden rounded",
|
|
10955
10955
|
children: row.image_url ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
10956
10956
|
src: String(row.image_url),
|
|
10957
10957
|
alt: String(row.title),
|
|
@@ -10970,7 +10970,7 @@ function SortableTable({ items, setItems, onDeleteItem, isDeletePending, enableR
|
|
|
10970
10970
|
className: "px-6 py-4 whitespace-nowrap",
|
|
10971
10971
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10972
10972
|
className: "bg-muted text-foreground inline-flex items-center gap-1 rounded-full px-2 py-1 text-xs",
|
|
10973
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(typeBadgeIcon(row.relateable_type || "", row.kind || ""), { className: "
|
|
10973
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(typeBadgeIcon(row.relateable_type || "", row.kind || ""), { className: "size-3 shrink-0" }), getTypeDisplay(row.relateable_type || "", row.kind || "", t)] })
|
|
10974
10974
|
})
|
|
10975
10975
|
}),
|
|
10976
10976
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
|
|
@@ -10980,9 +10980,9 @@ function SortableTable({ items, setItems, onDeleteItem, isDeletePending, enableR
|
|
|
10980
10980
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
10981
10981
|
variant: "ghost",
|
|
10982
10982
|
size: "sm",
|
|
10983
|
-
className: "flex
|
|
10983
|
+
className: "flex size-8 items-center justify-center p-0",
|
|
10984
10984
|
disabled: isDeletePending,
|
|
10985
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreHorizontal, { className: "
|
|
10985
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.MoreHorizontal, { className: "size-4" })
|
|
10986
10986
|
})
|
|
10987
10987
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuContent, {
|
|
10988
10988
|
align: "end",
|
|
@@ -10991,7 +10991,7 @@ function SortableTable({ items, setItems, onDeleteItem, isDeletePending, enableR
|
|
|
10991
10991
|
onDeleteItem(typeof row.id === "number" ? row.id : parseInt(String(row.id).replace("item-", "")));
|
|
10992
10992
|
},
|
|
10993
10993
|
variant: "destructive",
|
|
10994
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2
|
|
10994
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Trash2, { className: "mr-2 size-4" }), t("playlist_delete_item")]
|
|
10995
10995
|
})
|
|
10996
10996
|
})] })
|
|
10997
10997
|
})
|
|
@@ -11346,7 +11346,7 @@ function PlaylistItemsSubsection({ section, items, onAdd, onReorder, onDeleteIte
|
|
|
11346
11346
|
size: "sm",
|
|
11347
11347
|
className: "flex min-w-25 items-center gap-2",
|
|
11348
11348
|
onClick: onAdd,
|
|
11349
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "
|
|
11349
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Plus, { className: "size-4" }), t("playlist_add_item_button")]
|
|
11350
11350
|
})
|
|
11351
11351
|
})]
|
|
11352
11352
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortableTable, {
|
|
@@ -11376,7 +11376,7 @@ function getImageFromRelateable(item) {
|
|
|
11376
11376
|
function getFirstOrderedContentItem(items) {
|
|
11377
11377
|
const content = items.filter((item) => item.relateable_type && PLAYLIST_PREVIEW_CONTENT_TYPES.has(item.relateable_type));
|
|
11378
11378
|
if (content.length === 0) return void 0;
|
|
11379
|
-
return
|
|
11379
|
+
return content.toSorted((a, b) => (a.order ?? Number.POSITIVE_INFINITY) - (b.order ?? Number.POSITIVE_INFINITY))[0];
|
|
11380
11380
|
}
|
|
11381
11381
|
function stripHtml(html) {
|
|
11382
11382
|
if (!html) return "";
|
|
@@ -11730,7 +11730,7 @@ function FilesListingScreen({ onNavigate }) {
|
|
|
11730
11730
|
});
|
|
11731
11731
|
const footer = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [isFetchingNextPage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11732
11732
|
className: "flex justify-center py-4",
|
|
11733
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary
|
|
11733
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary size-6 animate-spin rounded-full border-2 border-t-transparent" })
|
|
11734
11734
|
}), error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
11735
11735
|
className: "bg-destructive/10 text-destructive rounded-lg px-3 py-2",
|
|
11736
11736
|
children: t("files_load_error")
|
|
@@ -11786,8 +11786,8 @@ function FilesListingScreen({ onNavigate }) {
|
|
|
11786
11786
|
isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11787
11787
|
className: "absolute inset-0 flex items-center justify-center",
|
|
11788
11788
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11789
|
-
className: "bg-foreground/50 flex
|
|
11790
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CirclePlay, { className: "text-background
|
|
11789
|
+
className: "bg-foreground/50 flex size-16 items-center justify-center rounded-full backdrop-blur-sm",
|
|
11790
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CirclePlay, { className: "text-background size-12" })
|
|
11791
11791
|
})
|
|
11792
11792
|
}),
|
|
11793
11793
|
!isVideo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Badge, {
|
|
@@ -11912,7 +11912,7 @@ function PagesListingScreen({ onNavigate }) {
|
|
|
11912
11912
|
}),
|
|
11913
11913
|
footer: isFetchingNextPage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11914
11914
|
className: "flex justify-center py-4",
|
|
11915
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary
|
|
11915
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary size-6 animate-spin rounded-full border-2 border-t-transparent" })
|
|
11916
11916
|
}),
|
|
11917
11917
|
sentinelRef: observerTarget,
|
|
11918
11918
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -13995,4 +13995,4 @@ Object.defineProperty(exports, "shareablesScreenPropertySchema", {
|
|
|
13995
13995
|
}
|
|
13996
13996
|
});
|
|
13997
13997
|
|
|
13998
|
-
//# sourceMappingURL=ShareablesScreen-
|
|
13998
|
+
//# sourceMappingURL=ShareablesScreen-BAOW6RIK.cjs.map
|