@nextblock-cms/ecom 0.19.0 → 0.19.3
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/index.cjs.js +1 -1
- package/index.es.js +26 -25
- package/lib/CurrencyProvider.cjs.js +1 -1
- package/lib/CurrencyProvider.es.js +41 -45
- package/lib/PaymentReadinessProvider.cjs.js +1 -1
- package/lib/PaymentReadinessProvider.es.js +15 -19
- package/lib/cart-store.cjs.js +1 -1
- package/lib/cart-store.d.ts +4 -0
- package/lib/cart-store.es.js +77 -69
- package/lib/components/AccountNavigationMenu.cjs.js +1 -1
- package/lib/components/AccountNavigationMenu.es.js +44 -62
- package/lib/components/AddToCartButton.cjs.js +1 -1
- package/lib/components/AddToCartButton.es.js +50 -78
- package/lib/components/Cart.cjs.js +1 -1
- package/lib/components/Cart.d.ts +1 -1
- package/lib/components/Cart.es.js +158 -377
- package/lib/components/CartDrawer.cjs.js +1 -1
- package/lib/components/CartDrawer.es.js +143 -297
- package/lib/components/CartIcon.cjs.js +1 -1
- package/lib/components/CartIcon.es.js +21 -47
- package/lib/components/Checkout.cjs.js +1 -1
- package/lib/components/Checkout.d.ts +1 -1
- package/lib/components/Checkout.es.js +839 -1627
- package/lib/components/CouponForm.cjs.js +1 -1
- package/lib/components/CouponForm.es.js +104 -155
- package/lib/components/CurrencySwitcher.cjs.js +1 -1
- package/lib/components/CurrencySwitcher.es.js +14 -33
- package/lib/components/CustomerProfileForm.cjs.js +1 -1
- package/lib/components/CustomerProfileForm.d.ts +1 -1
- package/lib/components/CustomerProfileForm.es.js +264 -672
- package/lib/components/FeaturedProduct.cjs.js +1 -1
- package/lib/components/FeaturedProduct.es.js +54 -126
- package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
- package/lib/components/FreemiusLicensePanel.es.js +45 -125
- package/lib/components/InvoiceDocument.cjs.js +1 -1
- package/lib/components/InvoiceDocument.es.js +148 -487
- package/lib/components/InvoiceViewerShell.cjs.js +2 -2
- package/lib/components/InvoiceViewerShell.d.ts +4 -1
- package/lib/components/InvoiceViewerShell.es.js +59 -142
- package/lib/components/ProductCard.cjs.js +1 -1
- package/lib/components/ProductCard.d.ts +3 -1
- package/lib/components/ProductCard.es.js +128 -242
- package/lib/components/ProductDetailsLayout.cjs.js +1 -1
- package/lib/components/ProductDetailsLayout.es.js +315 -657
- package/lib/components/ProductGallery.cjs.js +1 -1
- package/lib/components/ProductGallery.d.ts +2 -0
- package/lib/components/ProductGallery.es.js +37 -66
- package/lib/components/ProductGrid.cjs.js +1 -1
- package/lib/components/ProductGrid.es.js +23 -32
- package/lib/components/ShippingEstimator.cjs.js +1 -1
- package/lib/components/ShippingEstimator.es.js +124 -231
- package/lib/components/ShortDescription.cjs.js +1 -0
- package/lib/components/ShortDescription.d.ts +19 -0
- package/lib/components/ShortDescription.es.js +18 -0
- package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
- package/lib/components/SimpleTiptapRenderer.es.js +111 -294
- package/lib/components/SubscriptionSelector.cjs.js +1 -1
- package/lib/components/SubscriptionSelector.es.js +120 -181
- package/lib/components/media/MediaPickerDialog.d.ts +1 -1
- package/lib/components/media/MediaUploadForm.d.ts +1 -1
- package/lib/invoice.cjs.js +1 -1
- package/lib/invoice.d.ts +1 -1
- package/lib/invoice.es.js +6 -5
- package/lib/order-inventory.d.ts +1 -1
- package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
- package/lib/pages/cms/coupons/CouponEditorForm.es.js +115 -375
- package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
- package/lib/pages/cms/coupons/CouponsPage.es.js +116 -368
- package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
- package/lib/pages/cms/coupons/CreateCouponDialog.es.js +26 -62
- package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
- package/lib/pages/cms/coupons/EditCouponPage.es.js +35 -71
- package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
- package/lib/pages/cms/coupons/ProductScopePicker.es.js +72 -167
- package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
- package/lib/pages/cms/orders/ExportReportsDialog.es.js +87 -247
- package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -283
- package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderPrintButton.es.js +9 -21
- package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderStatusForm.es.js +46 -106
- package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrdersPage.es.js +78 -257
- package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsClient.es.js +192 -580
- package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsPage.es.js +14 -22
- package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
- package/lib/pages/cms/products/ProductsPage.es.js +47 -87
- package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +97 -177
- package/lib/pages/cms/products/actions.d.ts +20 -20
- package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +40 -84
- package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
- package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +192 -455
- package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +28 -72
- package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
- package/lib/pages/cms/products/categories/components/CategoryManager.es.js +183 -490
- package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
- package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +69 -177
- package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +102 -213
- package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/DeleteProductButton.es.js +25 -45
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +58 -202
- package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductCategorySelector.es.js +89 -235
- package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductForm.es.js +526 -1110
- package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductMediaManager.es.js +63 -154
- package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductsBulkTable.es.js +213 -544
- package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/SaleScheduleFields.es.js +91 -207
- package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +16 -28
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +25 -37
- package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
- package/lib/pages/cms/products/components/VariationsEditor.es.js +261 -492
- package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
- package/lib/pages/cms/products/inventory/InventoryPage.es.js +12 -32
- package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
- package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +145 -365
- package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/new/NewProductPage.es.js +30 -42
- package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
- package/lib/pages/cms/shipping/ShippingPage.es.js +155 -507
- package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
- package/lib/pages/cms/shipping/components/RateForm.es.js +334 -717
- package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/ZoneForm.es.js +158 -392
- package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
- package/lib/pages/cms/taxes/TaxesPage.es.js +119 -447
- package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
- package/lib/pages/cms/taxes/components/TaxRateForm.es.js +52 -156
- package/lib/product-actions.d.ts +31 -31
- package/lib/product-context.cjs.js +1 -1
- package/lib/product-context.es.js +10 -14
- package/lib/shared-inventory.d.ts +1 -1
- package/lib/states.cjs.js +1 -1
- package/lib/states.d.ts +2 -0
- package/lib/states.es.js +63 -29
- package/lib/trials.cjs.js +1 -1
- package/lib/trials.d.ts +10 -3
- package/lib/trials.es.js +28 -21
- package/lib/types.d.ts +2 -0
- package/lib/use-price-formatter.cjs.js +1 -0
- package/lib/use-price-formatter.d.ts +11 -0
- package/lib/use-price-formatter.es.js +13 -0
- package/lib/variation-utils.cjs.js +1 -1
- package/lib/variation-utils.d.ts +10 -0
- package/lib/variation-utils.es.js +139 -123
- package/package.json +4 -4
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ProductForm as
|
|
3
|
-
import { getGlobalProductAttributes as
|
|
4
|
-
import { mapRawVariantRelations as
|
|
5
|
-
import { createProductAction as
|
|
1
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { ProductForm as x } from "../components/ProductForm.es.js";
|
|
3
|
+
import { getGlobalProductAttributes as R } from "../actions.es.js";
|
|
4
|
+
import { mapRawVariantRelations as y } from "../../../../variation-utils.es.js";
|
|
5
|
+
import { createProductAction as S } from "../server-actions.es.js";
|
|
6
6
|
import { getEnabledPaymentProviders as j, getStoreConfigStatus as v } from "../../payments/queries.es.js";
|
|
7
|
-
import { getServiceRoleSupabaseClient as
|
|
7
|
+
import { getServiceRoleSupabaseClient as w } from "@nextblock-cms/db/server";
|
|
8
8
|
import { minorUnitAmountToMajor as m } from "@nextblock-cms/utils";
|
|
9
|
-
import { normalizeCurrencyRecord as
|
|
10
|
-
async function
|
|
9
|
+
import { normalizeCurrencyRecord as z } from "../../../../currency.es.js";
|
|
10
|
+
async function U({
|
|
11
11
|
mediaPickerNode: d,
|
|
12
|
-
availableLanguagesProp:
|
|
12
|
+
availableLanguagesProp: i,
|
|
13
13
|
translationGroupId: a,
|
|
14
|
-
targetLanguageId:
|
|
14
|
+
targetLanguageId: s,
|
|
15
15
|
initialData: t
|
|
16
16
|
}) {
|
|
17
|
-
const [u, l, p
|
|
17
|
+
const [u, _, l, p] = await Promise.all([
|
|
18
18
|
j(),
|
|
19
19
|
v(),
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
R(),
|
|
21
|
+
w().from("currencies").select(
|
|
22
22
|
"code, symbol, exchange_rate, is_default, is_active, auto_sync_product_prices, auto_update_exchange_rate, exchange_rate_source, exchange_rate_updated_at, rounding_mode, rounding_increment, rounding_charm_amount"
|
|
23
23
|
).eq("is_active", !0).order("code", { ascending: !0 }).then((e) => e.data || [])
|
|
24
|
-
]), f = (
|
|
25
|
-
(e) =>
|
|
26
|
-
), b = (
|
|
24
|
+
]), f = (p || []).map(
|
|
25
|
+
(e) => z(e)
|
|
26
|
+
), b = (l || []).map((e) => ({
|
|
27
27
|
id: e.id,
|
|
28
28
|
name: e.name,
|
|
29
29
|
name_translations: e.name_translations || {},
|
|
@@ -32,12 +32,12 @@ async function q({
|
|
|
32
32
|
...r,
|
|
33
33
|
value_translations: r.value_translations || {}
|
|
34
34
|
}))
|
|
35
|
-
})), g =
|
|
35
|
+
})), g = i.find((e) => e.id === t?.language_id)?.code || i.find((e) => e.id === (s ? parseInt(s, 10) : void 0))?.code || i.find((e) => e.is_default)?.code, { attributes: A, variants: P } = y(
|
|
36
36
|
t?.product_variants || [],
|
|
37
37
|
g
|
|
38
|
-
),
|
|
38
|
+
), h = t && {
|
|
39
39
|
...t,
|
|
40
|
-
variation_attributes: t.variation_attributes ||
|
|
40
|
+
variation_attributes: t.variation_attributes || A.map((e) => ({
|
|
41
41
|
attribute_id: e.id,
|
|
42
42
|
term_ids: e.terms.map((r) => r.id)
|
|
43
43
|
})),
|
|
@@ -46,43 +46,31 @@ async function q({
|
|
|
46
46
|
upc: e.upc ?? null,
|
|
47
47
|
price: e.price / 100,
|
|
48
48
|
prices: Object.entries(e.prices || {}).reduce(
|
|
49
|
-
(r, [
|
|
49
|
+
(r, [o, n]) => (r[o] = m(n, o), r),
|
|
50
50
|
{}
|
|
51
51
|
),
|
|
52
52
|
sale_price: typeof e.sale_price == "number" ? e.sale_price / 100 : null,
|
|
53
|
-
sale_prices: Object.entries(e.sale_prices || {}).reduce((r, [
|
|
53
|
+
sale_prices: Object.entries(e.sale_prices || {}).reduce((r, [o, n]) => (r[o] = typeof n == "number" ? m(n, o) : null, r), {}),
|
|
54
54
|
main_media_id: e.main_media_id ?? null,
|
|
55
55
|
main_image_url: e.image_url ?? null
|
|
56
56
|
}))
|
|
57
57
|
};
|
|
58
58
|
return /* @__PURE__ */ c("div", { className: "p-8", children: /* @__PURE__ */ c(
|
|
59
|
-
|
|
59
|
+
x,
|
|
60
60
|
{
|
|
61
61
|
mediaPickerNode: d,
|
|
62
|
-
availableLanguagesProp:
|
|
62
|
+
availableLanguagesProp: i,
|
|
63
63
|
globalAttributesProp: b,
|
|
64
64
|
currenciesProp: f,
|
|
65
65
|
translationGroupId: a,
|
|
66
|
-
targetLanguageId:
|
|
67
|
-
initialData:
|
|
66
|
+
targetLanguageId: s,
|
|
67
|
+
initialData: h,
|
|
68
68
|
enabledProviders: u,
|
|
69
|
-
configStatus:
|
|
70
|
-
createAction:
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
!1,
|
|
74
|
-
{
|
|
75
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/new/NewProductPage.tsx",
|
|
76
|
-
lineNumber: 104,
|
|
77
|
-
columnNumber: 7
|
|
78
|
-
},
|
|
79
|
-
this
|
|
80
|
-
) }, void 0, !1, {
|
|
81
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/new/NewProductPage.tsx",
|
|
82
|
-
lineNumber: 103,
|
|
83
|
-
columnNumber: 5
|
|
84
|
-
}, this);
|
|
69
|
+
configStatus: _,
|
|
70
|
+
createAction: S
|
|
71
|
+
}
|
|
72
|
+
) });
|
|
85
73
|
}
|
|
86
74
|
export {
|
|
87
|
-
|
|
75
|
+
U as NewProductPage
|
|
88
76
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("@nextblock-cms/db/server"),a=require("@nextblock-cms/ui"),r=require("lucide-react"),h=require("./components/ZoneForm.cjs.js"),u=require("./components/RateForm.cjs.js"),l=require("./server-actions.cjs.js"),f=require("../../../currency.cjs.js"),v=require("../../../inventory-settings.cjs.js"),b=require("../../../states.cjs.js"),o=require("@nextblock-cms/utils");async function N({searchParams:m}){const n=j.getServiceRoleSupabaseClient(),[{data:c},g,{data:x},{data:d}]=await Promise.all([n.from("shipping_zones").select(`
|
|
2
2
|
*,
|
|
3
3
|
shipping_zone_locations (*),
|
|
4
4
|
shipping_zone_methods (*)
|
|
5
|
-
`).order("priority_order",{ascending:!0}),k.getEcommerceInventorySettings(n),n.from("languages").select("code, name, is_default").eq("is_active",!0).order("name",{ascending:!0}),n.from("currencies").select("code, symbol, exchange_rate, is_default, is_active, auto_sync_product_prices, auto_update_exchange_rate, exchange_rate_source, exchange_rate_updated_at, rounding_mode, rounding_increment, rounding_charm_amount").eq("is_active",!0).order("is_default",{ascending:!1}).order("code",{ascending:!0})]),a=c?.find(r=>r.is_default)?.code||c?.[0]?.code||"USD",N=(c||[]).map(r=>x.normalizeCurrencyRecord(r));return e.jsxDEV(i.TooltipProvider,{children:e.jsxDEV("div",{className:"space-y-6",children:[p?.success?e.jsxDEV("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-3 text-sm text-emerald-700",children:p.success},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:58,columnNumber:21},this):null,e.jsxDEV(i.Card,{className:"overflow-hidden border-slate-200 dark:border-slate-800 shadow-sm",children:e.jsxDEV(i.CardContent,{className:"p-4 sm:p-5",children:e.jsxDEV("form",{action:m.updateInventoryTrackingAction,className:"space-y-3",children:[e.jsxDEV("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[e.jsxDEV("div",{className:"flex items-start gap-3 min-w-0",children:[e.jsxDEV("div",{className:"p-2 bg-primary/10 rounded-lg text-primary shadow-inner shrink-0",children:e.jsxDEV(l.Boxes,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:69,columnNumber:41},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:68,columnNumber:37},this),e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV(i.CardTitle,{className:"text-base font-semibold leading-none",children:"Inventory Tracking"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:72,columnNumber:41},this),e.jsxDEV(i.CardDescription,{className:"mt-1 text-sm",children:"Control whether checkout enforces stock counts and paid orders deduct inventory."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:75,columnNumber:41},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:71,columnNumber:37},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:67,columnNumber:33},this),e.jsxDEV("div",{className:"flex justify-end lg:justify-start shrink-0",children:e.jsxDEV(i.Button,{type:"submit",size:"sm",className:"w-full sm:w-auto",children:"Save Inventory Settings"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:81,columnNumber:37},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:80,columnNumber:33},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:66,columnNumber:29},this),e.jsxDEV("div",{className:"rounded-lg border bg-muted/20 px-4 py-3",children:[e.jsxDEV("input",{type:"hidden",name:"trackQuantities",value:"false"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:88,columnNumber:33},this),e.jsxDEV("label",{htmlFor:"track-quantities",className:"flex cursor-pointer items-start gap-3",children:[e.jsxDEV("input",{id:"track-quantities",name:"trackQuantities",type:"checkbox",value:"true",defaultChecked:b.trackQuantities,className:"mt-0.5 h-4 w-4 rounded border-slate-300 text-primary focus:ring-primary"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:90,columnNumber:37},this),e.jsxDEV("span",{className:"space-y-0.5",children:[e.jsxDEV("span",{className:"block text-sm font-medium text-slate-900 dark:text-slate-100",children:"Track product quantities"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:99,columnNumber:41},this),e.jsxDEV("span",{className:"block text-sm text-muted-foreground",children:"Prevent overselling by checking stock during checkout and decrementing quantities after payment is confirmed."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:102,columnNumber:41},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:98,columnNumber:37},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:89,columnNumber:33},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:87,columnNumber:29},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:65,columnNumber:25},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:64,columnNumber:21},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:63,columnNumber:17},this),e.jsxDEV("div",{className:"flex justify-between items-center",children:[e.jsxDEV("div",{children:[e.jsxDEV("h2",{className:"text-2xl font-bold tracking-tight text-slate-900 dark:text-slate-100",children:"Shipping Zones"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:114,columnNumber:25},this),e.jsxDEV("p",{className:"text-slate-500 dark:text-slate-400 text-sm",children:"Manage geographical delivery areas and their associated shipping rates."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:115,columnNumber:25},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:113,columnNumber:21},this),e.jsxDEV(g.ZoneForm,{},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:117,columnNumber:21},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:112,columnNumber:17},this),e.jsxDEV("div",{className:"grid gap-6",children:!t||t.length===0?e.jsxDEV(i.Card,{className:"bg-slate-50/50 dark:bg-slate-900/10 border-dashed",children:e.jsxDEV(i.CardContent,{className:"flex flex-col items-center justify-center py-12",children:[e.jsxDEV(l.Truck,{className:"h-12 w-12 text-slate-300 dark:text-slate-700 mb-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:124,columnNumber:33},this),e.jsxDEV("p",{className:"text-slate-600 dark:text-slate-400 font-medium",children:"No shipping zones defined yet."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:125,columnNumber:33},this),e.jsxDEV("p",{className:"text-xs text-slate-500 mb-6 text-center max-w-xs",children:"Create a zone to start defining shipping rates for specific regions (e.g., North America, Europe)."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:126,columnNumber:33},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:123,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:122,columnNumber:25},this):t.map(r=>e.jsxDEV(i.Card,{className:"overflow-hidden border-slate-200 dark:border-slate-800 shadow-sm hover:shadow-md transition-shadow",children:[e.jsxDEV(i.CardHeader,{className:"bg-slate-50/50 dark:bg-slate-900/50 border-b dark:border-slate-800 py-4",children:e.jsxDEV("div",{className:"flex justify-between items-start md:items-center",children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("div",{className:"p-2 bg-primary/10 rounded-lg text-primary shadow-inner",children:e.jsxDEV(l.Globe,{className:"h-5 w-5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:136,columnNumber:49},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:135,columnNumber:45},this),e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(i.CardTitle,{className:"text-lg font-bold",children:r.name},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:140,columnNumber:53},this),e.jsxDEV(i.Badge,{variant:"outline",className:"text-[10px] uppercase font-bold py-0 h-4 border-slate-200 bg-white/50 dark:bg-black/20",children:["Prio: ",r.priority_order]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:141,columnNumber:53},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:139,columnNumber:49},this),e.jsxDEV(i.CardDescription,{className:"text-xs",children:[r.shipping_zone_locations?.length||0," regions covered"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:145,columnNumber:49},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:138,columnNumber:45},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:134,columnNumber:41},this),e.jsxDEV("div",{className:"flex gap-1",children:[e.jsxDEV(g.ZoneForm,{mode:"edit",initialData:{id:r.id,name:r.name,priority_order:r.priority_order,locations:r.shipping_zone_locations?.map(s=>({country_code:s.country_code,state_code:s.state_code}))||[]}},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:151,columnNumber:45},this),e.jsxDEV("form",{action:async()=>{"use server";await m.deleteShippingZone(r.id)},children:e.jsxDEV(i.Button,{type:"submit",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:e.jsxDEV(l.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:169,columnNumber:53},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:168,columnNumber:49},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:164,columnNumber:45},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:150,columnNumber:41},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:133,columnNumber:37},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:132,columnNumber:33},this),e.jsxDEV(i.CardContent,{className:"p-0",children:e.jsxDEV("div",{className:"grid md:grid-cols-2 divide-y md:divide-y-0 md:divide-x divide-slate-100 dark:divide-slate-800",children:[e.jsxDEV("div",{className:"p-6",children:[e.jsxDEV("h4",{className:"text-[10px] font-bold uppercase tracking-widest text-slate-500 mb-4 flex items-center gap-1.5",children:[e.jsxDEV(l.Globe,{className:"h-3 w-3"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:180,columnNumber:49},this)," Target Regions"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:179,columnNumber:45},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5",children:r.shipping_zone_locations?.length>0?r.shipping_zone_locations.map(s=>e.jsxDEV(i.Badge,{variant:"secondary",className:"bg-slate-100 dark:bg-slate-800/80 text-slate-700 dark:text-slate-300 hover:bg-slate-200 border-none px-2 py-0.5 text-[11px] font-medium",children:[s.country_code,s.state_code?e.jsxDEV("span",{className:"text-slate-400 ml-1",children:["(",f.resolveSubdivisionName(s.country_code,s.state_code),")"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:188,columnNumber:63},this):""]},s.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:185,columnNumber:57},this)):e.jsxDEV("p",{className:"text-sm text-slate-400 italic",children:"No specific locations assigned."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:195,columnNumber:53},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:182,columnNumber:45},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:178,columnNumber:41},this),e.jsxDEV("div",{className:"p-6",children:[e.jsxDEV("div",{className:"flex justify-between items-center mb-4",children:[e.jsxDEV("h4",{className:"text-[10px] font-bold uppercase tracking-widest text-slate-500 flex items-center gap-1.5",children:[e.jsxDEV(l.Truck,{className:"h-3 w-3"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:204,columnNumber:53},this)," Shipping Methods"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:203,columnNumber:49},this),e.jsxDEV(u.RateForm,{zoneId:r.id,zoneName:r.name,languages:d||[],currencies:N,defaultCurrencyCode:a},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:206,columnNumber:49},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:202,columnNumber:45},this),e.jsxDEV("div",{className:"space-y-2",children:r.shipping_zone_methods?.length>0?r.shipping_zone_methods.map(s=>e.jsxDEV("div",{className:"flex justify-between items-center group p-2 hover:bg-slate-50/80 dark:hover:bg-slate-800/30 rounded-lg transition-all border border-transparent hover:border-slate-100 dark:hover:border-slate-800",children:[e.jsxDEV("div",{className:"flex-1 min-w-0",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("p",{className:"text-sm font-semibold text-slate-900 dark:text-slate-100 truncate",children:s.name},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:220,columnNumber:69},this),e.jsxDEV(i.Badge,{variant:"outline",className:"h-4 px-1 text-[9px]",children:s.currency_pricing_mode==="manual"?"Manual FX":"Auto FX"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:221,columnNumber:69},this),(s.min_order_amount||0)>0&&e.jsxDEV(i.Tooltip,{children:[e.jsxDEV(i.TooltipTrigger,{asChild:!0,children:e.jsxDEV(i.Badge,{variant:"outline",className:"h-4 px-1 text-[9px] bg-emerald-50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-400 border-emerald-100 dark:border-emerald-900/50",children:[e.jsxDEV(l.Info,{className:"h-2 w-2 mr-0.5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:228,columnNumber:85},this),o.formatPrice(s.min_order_amount,s.cost_currency?.toUpperCase()||a)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:227,columnNumber:81},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:226,columnNumber:77},this),e.jsxDEV(i.TooltipContent,{children:["Available for orders over ",o.formatPrice(s.min_order_amount,s.cost_currency?.toUpperCase()||a)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:235,columnNumber:77},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:225,columnNumber:73},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:219,columnNumber:65},this),e.jsxDEV("p",{className:"text-[10px] text-slate-500 uppercase tracking-tighter mix-blend-multiply dark:mix-blend-normal",children:s.method_type.replace("_"," ")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:244,columnNumber:65},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:218,columnNumber:61},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("p",{className:"text-sm font-black text-primary px-2",children:s.method_type==="free_shipping"?"FREE":o.formatPrice(s.cost_amount,s.cost_currency?.toUpperCase()||a)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:249,columnNumber:65},this),e.jsxDEV("div",{className:"flex opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsxDEV(u.RateForm,{zoneId:r.id,zoneName:r.name,languages:d||[],currencies:N,defaultCurrencyCode:a,mode:"edit",initialData:s},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:258,columnNumber:69},this),e.jsxDEV("form",{action:async()=>{"use server";await m.deleteShippingRate(s.id)},children:e.jsxDEV(i.Button,{type:"submit",variant:"ghost",size:"icon",className:"h-7 w-7 text-slate-400 hover:text-red-500",children:e.jsxDEV(l.Trash2,{className:"h-3 w-3"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:277,columnNumber:77},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:271,columnNumber:73},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:267,columnNumber:69},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:257,columnNumber:65},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:248,columnNumber:61},this)]},s.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:217,columnNumber:57},this)):e.jsxDEV("p",{className:"text-xs text-slate-400 italic",children:"No methods defined for this zone."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:285,columnNumber:53},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:214,columnNumber:45},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:201,columnNumber:41},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:176,columnNumber:37},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:175,columnNumber:33},this)]},r.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:131,columnNumber:29},this))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:120,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:56,columnNumber:13},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/ShippingPage.tsx",lineNumber:55,columnNumber:9},this)}exports.ShippingPage=j;
|
|
5
|
+
`).order("priority_order",{ascending:!0}),v.getEcommerceInventorySettings(n),n.from("languages").select("code, name, is_default").eq("is_active",!0).order("name",{ascending:!0}),n.from("currencies").select("code, symbol, exchange_rate, is_default, is_active, auto_sync_product_prices, auto_update_exchange_rate, exchange_rate_source, exchange_rate_updated_at, rounding_mode, rounding_increment, rounding_charm_amount").eq("is_active",!0).order("is_default",{ascending:!1}).order("code",{ascending:!0})]),i=d?.find(t=>t.is_default)?.code||d?.[0]?.code||"USD",p=(d||[]).map(t=>f.normalizeCurrencyRecord(t));return e.jsx(a.TooltipProvider,{children:e.jsxs("div",{className:"space-y-6",children:[m?.success?e.jsx("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-3 text-sm text-emerald-700",children:m.success}):null,e.jsx(a.Card,{className:"overflow-hidden border-slate-200 dark:border-slate-800 shadow-sm",children:e.jsx(a.CardContent,{className:"p-4 sm:p-5",children:e.jsxs("form",{action:l.updateInventoryTrackingAction,className:"space-y-3",children:[e.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[e.jsxs("div",{className:"flex items-start gap-3 min-w-0",children:[e.jsx("div",{className:"p-2 bg-primary/10 rounded-lg text-primary shadow-inner shrink-0",children:e.jsx(r.Boxes,{className:"h-4 w-4"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx(a.CardTitle,{className:"text-base font-semibold leading-none",children:"Inventory Tracking"}),e.jsx(a.CardDescription,{className:"mt-1 text-sm",children:"Control whether checkout enforces stock counts and paid orders deduct inventory."})]})]}),e.jsx("div",{className:"flex justify-end lg:justify-start shrink-0",children:e.jsx(a.Button,{type:"submit",size:"sm",className:"w-full sm:w-auto",children:"Save Inventory Settings"})})]}),e.jsxs("div",{className:"rounded-lg border bg-muted/20 px-4 py-3",children:[e.jsx("input",{type:"hidden",name:"trackQuantities",value:"false"}),e.jsxs("label",{htmlFor:"track-quantities",className:"flex cursor-pointer items-start gap-3",children:[e.jsx("input",{id:"track-quantities",name:"trackQuantities",type:"checkbox",value:"true",defaultChecked:g.trackQuantities,className:"mt-0.5 h-4 w-4 rounded border-slate-300 text-primary focus:ring-primary"}),e.jsxs("span",{className:"space-y-0.5",children:[e.jsx("span",{className:"block text-sm font-medium text-slate-900 dark:text-slate-100",children:"Track product quantities"}),e.jsx("span",{className:"block text-sm text-muted-foreground",children:"Prevent overselling by checking stock during checkout and decrementing quantities after payment is confirmed."})]})]})]})]})})}),e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight text-slate-900 dark:text-slate-100",children:"Shipping Zones"}),e.jsx("p",{className:"text-slate-500 dark:text-slate-400 text-sm",children:"Manage geographical delivery areas and their associated shipping rates."})]}),e.jsx(h.ZoneForm,{})]}),e.jsx("div",{className:"grid gap-6",children:!c||c.length===0?e.jsx(a.Card,{className:"bg-slate-50/50 dark:bg-slate-900/10 border-dashed",children:e.jsxs(a.CardContent,{className:"flex flex-col items-center justify-center py-12",children:[e.jsx(r.Truck,{className:"h-12 w-12 text-slate-300 dark:text-slate-700 mb-4"}),e.jsx("p",{className:"text-slate-600 dark:text-slate-400 font-medium",children:"No shipping zones defined yet."}),e.jsx("p",{className:"text-xs text-slate-500 mb-6 text-center max-w-xs",children:"Create a zone to start defining shipping rates for specific regions (e.g., North America, Europe)."})]})}):c.map(t=>e.jsxs(a.Card,{className:"overflow-hidden border-slate-200 dark:border-slate-800 shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(a.CardHeader,{className:"bg-slate-50/50 dark:bg-slate-900/50 border-b dark:border-slate-800 py-4",children:e.jsxs("div",{className:"flex justify-between items-start md:items-center",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-primary/10 rounded-lg text-primary shadow-inner",children:e.jsx(r.Globe,{className:"h-5 w-5"})}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(a.CardTitle,{className:"text-lg font-bold",children:t.name}),e.jsxs(a.Badge,{variant:"outline",className:"text-[10px] uppercase font-bold py-0 h-4 border-slate-200 bg-white/50 dark:bg-black/20",children:["Prio: ",t.priority_order]})]}),e.jsxs(a.CardDescription,{className:"text-xs",children:[t.shipping_zone_locations?.length||0," regions covered"]})]})]}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(h.ZoneForm,{mode:"edit",initialData:{id:t.id,name:t.name,priority_order:t.priority_order,locations:t.shipping_zone_locations?.map(s=>({country_code:s.country_code,state_code:s.state_code}))||[]}}),e.jsx("form",{action:async()=>{"use server";await l.deleteShippingZone(t.id)},children:e.jsx(a.Button,{type:"submit",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:e.jsx(r.Trash2,{className:"h-4 w-4"})})})]})]})}),e.jsx(a.CardContent,{className:"p-0",children:e.jsxs("div",{className:"grid md:grid-cols-2 divide-y md:divide-y-0 md:divide-x divide-slate-100 dark:divide-slate-800",children:[e.jsxs("div",{className:"p-6",children:[e.jsxs("h4",{className:"text-[10px] font-bold uppercase tracking-widest text-slate-500 mb-4 flex items-center gap-1.5",children:[e.jsx(r.Globe,{className:"h-3 w-3"})," Target Regions"]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.shipping_zone_locations?.length>0?t.shipping_zone_locations.map(s=>e.jsxs(a.Badge,{variant:"secondary",className:"bg-slate-100 dark:bg-slate-800/80 text-slate-700 dark:text-slate-300 hover:bg-slate-200 border-none px-2 py-0.5 text-[11px] font-medium",children:[s.country_code,s.state_code?e.jsxs("span",{className:"text-slate-400 ml-1",children:["(",b.resolveSubdivisionName(s.country_code,s.state_code),")"]}):""]},s.id)):e.jsx("p",{className:"text-sm text-slate-400 italic",children:"No specific locations assigned."})})]}),e.jsxs("div",{className:"p-6",children:[e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsxs("h4",{className:"text-[10px] font-bold uppercase tracking-widest text-slate-500 flex items-center gap-1.5",children:[e.jsx(r.Truck,{className:"h-3 w-3"})," Shipping Methods"]}),e.jsx(u.RateForm,{zoneId:t.id,zoneName:t.name,languages:x||[],currencies:p,defaultCurrencyCode:i})]}),e.jsx("div",{className:"space-y-2",children:t.shipping_zone_methods?.length>0?t.shipping_zone_methods.map(s=>e.jsxs("div",{className:"flex justify-between items-center group p-2 hover:bg-slate-50/80 dark:hover:bg-slate-800/30 rounded-lg transition-all border border-transparent hover:border-slate-100 dark:hover:border-slate-800",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-slate-100 truncate",children:s.name}),e.jsx(a.Badge,{variant:"outline",className:"h-4 px-1 text-[9px]",children:s.currency_pricing_mode==="manual"?"Manual FX":"Auto FX"}),(s.min_order_amount||0)>0&&e.jsxs(a.Tooltip,{children:[e.jsx(a.TooltipTrigger,{asChild:!0,children:e.jsxs(a.Badge,{variant:"outline",className:"h-4 px-1 text-[9px] bg-emerald-50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-400 border-emerald-100 dark:border-emerald-900/50",children:[e.jsx(r.Info,{className:"h-2 w-2 mr-0.5"}),o.formatPrice(s.min_order_amount,s.cost_currency?.toUpperCase()||i)]})}),e.jsxs(a.TooltipContent,{children:["Available for orders over ",o.formatPrice(s.min_order_amount,s.cost_currency?.toUpperCase()||i)]})]})]}),e.jsx("p",{className:"text-[10px] text-slate-500 uppercase tracking-tighter mix-blend-multiply dark:mix-blend-normal",children:s.method_type.replace("_"," ")})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("p",{className:"text-sm font-black text-primary px-2",children:s.method_type==="free_shipping"?"FREE":o.formatPrice(s.cost_amount,s.cost_currency?.toUpperCase()||i)}),e.jsxs("div",{className:"flex opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx(u.RateForm,{zoneId:t.id,zoneName:t.name,languages:x||[],currencies:p,defaultCurrencyCode:i,mode:"edit",initialData:s}),e.jsx("form",{action:async()=>{"use server";await l.deleteShippingRate(s.id)},children:e.jsx(a.Button,{type:"submit",variant:"ghost",size:"icon",className:"h-7 w-7 text-slate-400 hover:text-red-500",children:e.jsx(r.Trash2,{className:"h-3 w-3"})})})]})]})]},s.id)):e.jsx("p",{className:"text-xs text-slate-400 italic",children:"No methods defined for this zone."})})]})]})})]},t.id))})]})})}exports.ShippingPage=N;
|