@nextblock-cms/ecom 0.18.8 → 0.19.2
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.es.js +154 -381
- 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.es.js +814 -1614
- 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.es.js +264 -672
- package/lib/components/FeaturedProduct.cjs.js +1 -1
- package/lib/components/FeaturedProduct.es.js +46 -125
- 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 +311 -652
- 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 +118 -231
- 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/freemius-trial-provision.cjs.js +1 -0
- package/lib/freemius-trial-provision.d.ts +85 -0
- package/lib/freemius-trial-provision.es.js +136 -0
- package/lib/invoice.cjs.js +1 -1
- package/lib/invoice.d.ts +1 -1
- package/lib/invoice.es.js +6 -5
- 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/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.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.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-context.cjs.js +1 -1
- package/lib/product-context.es.js +10 -14
- 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
- package/server.cjs.js +1 -1
- package/server.d.ts +1 -0
- package/server.es.js +180 -172
|
@@ -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"),m=require("next/link"),r=require("@nextblock-cms/ui"),p=require("@nextblock-cms/db/server"),u=require("lucide-react"),h=require("@nextblock-cms/utils"),d=require("./actions.cjs.js"),f=require("./CreateCouponDialog.cjs.js"),j=require("./product-options.cjs.js");function y(t,n){return t.discount_type==="percent"?`${t.discount_amount}%`:h.formatPrice(t.discount_amount,n)}function g(t,n){return n?t==="synced"||t==="not_required"?"default":"secondary":"outline"}function v(t,n){const i=new Set;for(const c of t||[]){const a=c.product_id;a&&i.add(n.get(a)||a)}return i.size}function _(t,n){const i=v(t,n);return i===0?"All eligible products":`${i} scoped SKU${i===1?"":"s"}`}async function N({searchParams:t}){const n=p.getServiceRoleSupabaseClient();let i=n.from("coupons").select(`
|
|
2
2
|
*,
|
|
3
3
|
coupon_products(product_id),
|
|
4
4
|
coupon_freemius_mappings(sync_status, sync_error)
|
|
5
|
-
`).order("created_at",{ascending:!1});o?.q&&(i=i.or(`code.ilike.%${o.q}%,name.ilike.%${o.q}%`)),o?.status==="active"?i=i.eq("is_active",!0):o?.status==="inactive"&&(i=i.eq("is_active",!1));const[{data:n},{data:l},{data:m}]=await Promise.all([i,r.from("products").select("id, title, sku, payment_provider, freemius_product_id, language:languages(code, name), product_media(sort_order, media(file_path, object_key))").order("title",{ascending:!0}),r.from("currencies").select("code, is_default").eq("is_active",!0)]),a=m?.find(s=>s.is_default)?.code||m?.[0]?.code||"USD",d=new Map((l||[]).map(s=>[s.id,s.sku?.trim().toUpperCase()||s.id]));return e.jsxDEV("div",{className:"mx-auto w-full max-w-7xl space-y-6 px-6 py-8",children:[e.jsxDEV("div",{className:"flex flex-col gap-4 md:flex-row md:items-end md:justify-between",children:[e.jsxDEV("div",{children:[e.jsxDEV("h1",{className:"text-3xl font-bold tracking-tight",children:"Coupons"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:133,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Create provider-aware discounts for Stripe checkout and Freemius licenses."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:134,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:132,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[e.jsxDEV("form",{className:"flex gap-2",action:"/cms/coupons",children:[e.jsxDEV("input",{name:"q",placeholder:"Search coupons",defaultValue:o?.q||"",className:"h-10 rounded-md border border-input bg-background px-3 py-2 text-sm"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:140,columnNumber:13},this),e.jsxDEV("select",{name:"status",defaultValue:o?.status||"all",className:"h-10 rounded-md border border-input bg-background px-3 py-2 text-sm",children:[e.jsxDEV("option",{value:"all",children:"All"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:151,columnNumber:15},this),e.jsxDEV("option",{value:"active",children:"Active"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:152,columnNumber:15},this),e.jsxDEV("option",{value:"inactive",children:"Inactive"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:153,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:146,columnNumber:13},this),e.jsxDEV(c.Button,{type:"submit",variant:"outline",children:"Filter"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:155,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:139,columnNumber:11},this),e.jsxDEV(x.CreateCouponDialog,{action:t.createCouponAction,products:f.normalizeCouponProductOptions(l),currencyCode:a},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:157,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:138,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:131,columnNumber:7},this),e.jsxDEV(c.Card,{children:[e.jsxDEV(c.CardHeader,{children:[e.jsxDEV(c.CardTitle,{children:"All Coupons"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:167,columnNumber:11},this),e.jsxDEV(c.CardDescription,{children:"Freemius sync runs when a coupon is created, updated, toggled, or manually resynced."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:168,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:166,columnNumber:9},this),e.jsxDEV(c.CardContent,{children:e.jsxDEV("div",{className:"overflow-hidden rounded-lg border",children:e.jsxDEV("table",{className:"w-full text-left text-sm",children:[e.jsxDEV("thead",{className:"border-b bg-muted/40 text-xs uppercase text-muted-foreground",children:e.jsxDEV("tr",{children:[e.jsxDEV("th",{className:"px-4 py-3",children:"Code"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:177,columnNumber:19},this),e.jsxDEV("th",{className:"px-4 py-3",children:"Scope"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:178,columnNumber:19},this),e.jsxDEV("th",{className:"px-4 py-3",children:"Discount"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:179,columnNumber:19},this),e.jsxDEV("th",{className:"px-4 py-3",children:"Usage"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:180,columnNumber:19},this),e.jsxDEV("th",{className:"px-4 py-3",children:"Sync"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:181,columnNumber:19},this),e.jsxDEV("th",{className:"px-4 py-3 text-right",children:"Actions"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:182,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:176,columnNumber:17},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:175,columnNumber:15},this),e.jsxDEV("tbody",{className:"divide-y",children:n?.length?n.map(s=>e.jsxDEV("tr",{className:"align-top",children:[e.jsxDEV("td",{className:"px-4 py-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"font-mono font-semibold",children:s.code},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:197,columnNumber:27},this),e.jsxDEV(c.Badge,{variant:s.is_active?"default":"outline",children:s.is_active?"Active":"Inactive"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:198,columnNumber:27},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:196,columnNumber:25},this),e.jsxDEV("p",{className:"mt-1 text-xs text-muted-foreground",children:s.name},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:202,columnNumber:25},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:195,columnNumber:23},this),e.jsxDEV("td",{className:"px-4 py-3",children:[e.jsxDEV("span",{className:"capitalize",children:s.provider_scope},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:205,columnNumber:25},this),e.jsxDEV("p",{className:"mt-1 text-xs text-muted-foreground",children:k(s.coupon_products,d)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:206,columnNumber:25},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:204,columnNumber:23},this),e.jsxDEV("td",{className:"px-4 py-3 font-medium",children:g(s,a)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:210,columnNumber:23},this),e.jsxDEV("td",{className:"px-4 py-3",children:[s.redemptions_count||0,s.redemption_limit?` / ${s.redemption_limit}`:""]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:213,columnNumber:23},this),e.jsxDEV("td",{className:"px-4 py-3",children:[e.jsxDEV(c.Badge,{variant:C(s.freemius_sync_status,s.is_active),children:s.freemius_sync_status},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:218,columnNumber:25},this),s.freemius_sync_error?e.jsxDEV("p",{className:"mt-1 max-w-[220px] text-xs text-destructive",children:s.freemius_sync_error},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:222,columnNumber:27},this):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:217,columnNumber:23},this),e.jsxDEV("td",{className:"px-4 py-3",children:e.jsxDEV("div",{className:"flex justify-end gap-1",children:[e.jsxDEV(c.Button,{asChild:!0,variant:"outline",size:"sm",children:e.jsxDEV(p,{href:`/cms/coupons/${s.id}/edit`,children:"Edit"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:230,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:229,columnNumber:27},this),e.jsxDEV("form",{action:async()=>{"use server";await t.toggleCouponActiveAction(s.id,!s.is_active)},children:e.jsxDEV(c.Button,{type:"submit",variant:"outline",size:"sm",children:s.is_active?"Disable":"Enable"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:236,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:232,columnNumber:27},this),e.jsxDEV("form",{action:async()=>{"use server";await t.syncCouponAction(s.id)},children:e.jsxDEV(c.Button,{type:"submit",variant:"ghost",size:"icon",title:"Resync Freemius","aria-label":`Resync Freemius coupon ${s.code}`,children:e.jsxDEV(u.RefreshCw,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:251,columnNumber:31},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:244,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:240,columnNumber:27},this),e.jsxDEV("form",{action:async()=>{"use server";await t.deleteCouponAction(s.id)},children:e.jsxDEV(c.Button,{type:"submit",variant:"ghost",size:"icon",className:"text-destructive","aria-label":`Delete coupon ${s.code}`,children:e.jsxDEV(u.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:265,columnNumber:31},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:258,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:254,columnNumber:27},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:228,columnNumber:25},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:227,columnNumber:23},this)]},s.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:194,columnNumber:21},this)):e.jsxDEV("tr",{children:e.jsxDEV("td",{colSpan:6,className:"px-4 py-10 text-center text-muted-foreground",children:"No coupons yet."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:188,columnNumber:21},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:187,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:185,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:174,columnNumber:13},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:173,columnNumber:11},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:165,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:130,columnNumber:5},this)}exports.CouponsPage=D;
|
|
5
|
+
`).order("created_at",{ascending:!1});t?.q&&(i=i.or(`code.ilike.%${t.q}%,name.ilike.%${t.q}%`)),t?.status==="active"?i=i.eq("is_active",!0):t?.status==="inactive"&&(i=i.eq("is_active",!1));const[{data:c},{data:a},{data:l}]=await Promise.all([i,n.from("products").select("id, title, sku, payment_provider, freemius_product_id, language:languages(code, name), product_media(sort_order, media(file_path, object_key))").order("title",{ascending:!0}),n.from("currencies").select("code, is_default").eq("is_active",!0)]),o=l?.find(s=>s.is_default)?.code||l?.[0]?.code||"USD",x=new Map((a||[]).map(s=>[s.id,s.sku?.trim().toUpperCase()||s.id]));return e.jsxs("div",{className:"mx-auto w-full max-w-7xl space-y-6 px-6 py-8",children:[e.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-end md:justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"Coupons"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create provider-aware discounts for Stripe checkout and Freemius licenses."})]}),e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[e.jsxs("form",{className:"flex gap-2",action:"/cms/coupons",children:[e.jsx("input",{name:"q",placeholder:"Search coupons",defaultValue:t?.q||"",className:"h-10 rounded-md border border-input bg-background px-3 py-2 text-sm"}),e.jsxs("select",{name:"status",defaultValue:t?.status||"all",className:"h-10 rounded-md border border-input bg-background px-3 py-2 text-sm",children:[e.jsx("option",{value:"all",children:"All"}),e.jsx("option",{value:"active",children:"Active"}),e.jsx("option",{value:"inactive",children:"Inactive"})]}),e.jsx(r.Button,{type:"submit",variant:"outline",children:"Filter"})]}),e.jsx(f.CreateCouponDialog,{action:d.createCouponAction,products:j.normalizeCouponProductOptions(a),currencyCode:o})]})]}),e.jsxs(r.Card,{children:[e.jsxs(r.CardHeader,{children:[e.jsx(r.CardTitle,{children:"All Coupons"}),e.jsx(r.CardDescription,{children:"Freemius sync runs when a coupon is created, updated, toggled, or manually resynced."})]}),e.jsx(r.CardContent,{children:e.jsx("div",{className:"overflow-hidden rounded-lg border",children:e.jsxs("table",{className:"w-full text-left text-sm",children:[e.jsx("thead",{className:"border-b bg-muted/40 text-xs uppercase text-muted-foreground",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-4 py-3",children:"Code"}),e.jsx("th",{className:"px-4 py-3",children:"Scope"}),e.jsx("th",{className:"px-4 py-3",children:"Discount"}),e.jsx("th",{className:"px-4 py-3",children:"Usage"}),e.jsx("th",{className:"px-4 py-3",children:"Sync"}),e.jsx("th",{className:"px-4 py-3 text-right",children:"Actions"})]})}),e.jsx("tbody",{className:"divide-y",children:c?.length?c.map(s=>e.jsxs("tr",{className:"align-top",children:[e.jsxs("td",{className:"px-4 py-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-mono font-semibold",children:s.code}),e.jsx(r.Badge,{variant:s.is_active?"default":"outline",children:s.is_active?"Active":"Inactive"})]}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:s.name})]}),e.jsxs("td",{className:"px-4 py-3",children:[e.jsx("span",{className:"capitalize",children:s.provider_scope}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:_(s.coupon_products,x)})]}),e.jsx("td",{className:"px-4 py-3 font-medium",children:y(s,o)}),e.jsxs("td",{className:"px-4 py-3",children:[s.redemptions_count||0,s.redemption_limit?` / ${s.redemption_limit}`:""]}),e.jsxs("td",{className:"px-4 py-3",children:[e.jsx(r.Badge,{variant:g(s.freemius_sync_status,s.is_active),children:s.freemius_sync_status}),s.freemius_sync_error?e.jsx("p",{className:"mt-1 max-w-[220px] text-xs text-destructive",children:s.freemius_sync_error}):null]}),e.jsx("td",{className:"px-4 py-3",children:e.jsxs("div",{className:"flex justify-end gap-1",children:[e.jsx(r.Button,{asChild:!0,variant:"outline",size:"sm",children:e.jsx(m,{href:`/cms/coupons/${s.id}/edit`,children:"Edit"})}),e.jsx("form",{action:async()=>{"use server";await d.toggleCouponActiveAction(s.id,!s.is_active)},children:e.jsx(r.Button,{type:"submit",variant:"outline",size:"sm",children:s.is_active?"Disable":"Enable"})}),e.jsx("form",{action:async()=>{"use server";await d.syncCouponAction(s.id)},children:e.jsx(r.Button,{type:"submit",variant:"ghost",size:"icon",title:"Resync Freemius","aria-label":`Resync Freemius coupon ${s.code}`,children:e.jsx(u.RefreshCw,{className:"h-4 w-4"})})}),e.jsx("form",{action:async()=>{"use server";await d.deleteCouponAction(s.id)},children:e.jsx(r.Button,{type:"submit",variant:"ghost",size:"icon",className:"text-destructive","aria-label":`Delete coupon ${s.code}`,children:e.jsx(u.Trash2,{className:"h-4 w-4"})})})]})})]},s.id)):e.jsx("tr",{children:e.jsx("td",{colSpan:6,className:"px-4 py-10 text-center text-muted-foreground",children:"No coupons yet."})})})]})})})]})]})}exports.CouponsPage=N;
|
|
@@ -1,423 +1,171 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { Button as
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import p from "next/link";
|
|
3
|
+
import { Button as n, Card as f, CardHeader as h, CardTitle as x, CardDescription as y, CardContent as v, Badge as m } from "@nextblock-cms/ui";
|
|
4
4
|
import { getServiceRoleSupabaseClient as g } from "@nextblock-cms/db/server";
|
|
5
|
-
import { RefreshCw as
|
|
6
|
-
import { formatPrice as
|
|
7
|
-
import { createCouponAction as
|
|
8
|
-
import { CreateCouponDialog as
|
|
9
|
-
import { normalizeCouponProductOptions as
|
|
10
|
-
function
|
|
11
|
-
return
|
|
5
|
+
import { RefreshCw as _, Trash2 as N } from "lucide-react";
|
|
6
|
+
import { formatPrice as b } from "@nextblock-cms/utils";
|
|
7
|
+
import { createCouponAction as C, toggleCouponActiveAction as w, syncCouponAction as S, deleteCouponAction as k } from "./actions.es.js";
|
|
8
|
+
import { CreateCouponDialog as A } from "./CreateCouponDialog.es.js";
|
|
9
|
+
import { normalizeCouponProductOptions as q } from "./product-options.es.js";
|
|
10
|
+
function $(i, a) {
|
|
11
|
+
return i.discount_type === "percent" ? `${i.discount_amount}%` : b(i.discount_amount, a);
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
return
|
|
13
|
+
function z(i, a) {
|
|
14
|
+
return a ? i === "synced" || i === "not_required" ? "default" : "secondary" : "outline";
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
const
|
|
18
|
-
for (const
|
|
19
|
-
const
|
|
20
|
-
|
|
16
|
+
function D(i, a) {
|
|
17
|
+
const s = /* @__PURE__ */ new Set();
|
|
18
|
+
for (const d of i || []) {
|
|
19
|
+
const c = d.product_id;
|
|
20
|
+
c && s.add(a.get(c) || c);
|
|
21
21
|
}
|
|
22
|
-
return
|
|
22
|
+
return s.size;
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
const
|
|
26
|
-
return
|
|
24
|
+
function j(i, a) {
|
|
25
|
+
const s = D(i, a);
|
|
26
|
+
return s === 0 ? "All eligible products" : `${s} scoped SKU${s === 1 ? "" : "s"}`;
|
|
27
27
|
}
|
|
28
|
-
async function
|
|
29
|
-
searchParams:
|
|
28
|
+
async function H({
|
|
29
|
+
searchParams: i
|
|
30
30
|
}) {
|
|
31
|
-
const
|
|
32
|
-
let
|
|
31
|
+
const a = g();
|
|
32
|
+
let s = a.from("coupons").select(
|
|
33
33
|
`
|
|
34
34
|
*,
|
|
35
35
|
coupon_products(product_id),
|
|
36
36
|
coupon_freemius_mappings(sync_status, sync_error)
|
|
37
37
|
`
|
|
38
38
|
).order("created_at", { ascending: !1 });
|
|
39
|
-
|
|
40
|
-
const [{ data:
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
i?.q && (s = s.or(`code.ilike.%${i.q}%,name.ilike.%${i.q}%`)), i?.status === "active" ? s = s.eq("is_active", !0) : i?.status === "inactive" && (s = s.eq("is_active", !1));
|
|
40
|
+
const [{ data: d }, { data: c }, { data: l }] = await Promise.all([
|
|
41
|
+
s,
|
|
42
|
+
a.from("products").select(
|
|
43
43
|
"id, title, sku, payment_provider, freemius_product_id, language:languages(code, name), product_media(sort_order, media(file_path, object_key))"
|
|
44
44
|
).order("title", { ascending: !0 }),
|
|
45
|
-
|
|
46
|
-
]),
|
|
47
|
-
(
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
a.from("currencies").select("code, is_default").eq("is_active", !0)
|
|
46
|
+
]), o = l?.find((t) => t.is_default)?.code || l?.[0]?.code || "USD", u = new Map(
|
|
47
|
+
(c || []).map((t) => [
|
|
48
|
+
t.id,
|
|
49
|
+
t.sku?.trim().toUpperCase() || t.id
|
|
50
50
|
])
|
|
51
51
|
);
|
|
52
|
-
return /* @__PURE__ */
|
|
53
|
-
/* @__PURE__ */
|
|
54
|
-
/* @__PURE__ */
|
|
55
|
-
/* @__PURE__ */ e("h1", { className: "text-3xl font-bold tracking-tight", children: "Coupons" },
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
/* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: "Create provider-aware discounts for Stripe checkout and Freemius licenses." }, void 0, !1, {
|
|
61
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
62
|
-
lineNumber: 134,
|
|
63
|
-
columnNumber: 11
|
|
64
|
-
}, this)
|
|
65
|
-
] }, void 0, !0, {
|
|
66
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
67
|
-
lineNumber: 132,
|
|
68
|
-
columnNumber: 9
|
|
69
|
-
}, this),
|
|
70
|
-
/* @__PURE__ */ e("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center", children: [
|
|
71
|
-
/* @__PURE__ */ e("form", { className: "flex gap-2", action: "/cms/coupons", children: [
|
|
52
|
+
return /* @__PURE__ */ r("div", { className: "mx-auto w-full max-w-7xl space-y-6 px-6 py-8", children: [
|
|
53
|
+
/* @__PURE__ */ r("div", { className: "flex flex-col gap-4 md:flex-row md:items-end md:justify-between", children: [
|
|
54
|
+
/* @__PURE__ */ r("div", { children: [
|
|
55
|
+
/* @__PURE__ */ e("h1", { className: "text-3xl font-bold tracking-tight", children: "Coupons" }),
|
|
56
|
+
/* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: "Create provider-aware discounts for Stripe checkout and Freemius licenses." })
|
|
57
|
+
] }),
|
|
58
|
+
/* @__PURE__ */ r("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center", children: [
|
|
59
|
+
/* @__PURE__ */ r("form", { className: "flex gap-2", action: "/cms/coupons", children: [
|
|
72
60
|
/* @__PURE__ */ e(
|
|
73
61
|
"input",
|
|
74
62
|
{
|
|
75
63
|
name: "q",
|
|
76
64
|
placeholder: "Search coupons",
|
|
77
|
-
defaultValue:
|
|
65
|
+
defaultValue: i?.q || "",
|
|
78
66
|
className: "h-10 rounded-md border border-input bg-background px-3 py-2 text-sm"
|
|
79
|
-
}
|
|
80
|
-
void 0,
|
|
81
|
-
!1,
|
|
82
|
-
{
|
|
83
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
84
|
-
lineNumber: 140,
|
|
85
|
-
columnNumber: 13
|
|
86
|
-
},
|
|
87
|
-
this
|
|
67
|
+
}
|
|
88
68
|
),
|
|
89
|
-
/* @__PURE__ */
|
|
69
|
+
/* @__PURE__ */ r(
|
|
90
70
|
"select",
|
|
91
71
|
{
|
|
92
72
|
name: "status",
|
|
93
|
-
defaultValue:
|
|
73
|
+
defaultValue: i?.status || "all",
|
|
94
74
|
className: "h-10 rounded-md border border-input bg-background px-3 py-2 text-sm",
|
|
95
75
|
children: [
|
|
96
|
-
/* @__PURE__ */ e("option", { value: "all", children: "All" },
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
columnNumber: 15
|
|
100
|
-
}, this),
|
|
101
|
-
/* @__PURE__ */ e("option", { value: "active", children: "Active" }, void 0, !1, {
|
|
102
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
103
|
-
lineNumber: 152,
|
|
104
|
-
columnNumber: 15
|
|
105
|
-
}, this),
|
|
106
|
-
/* @__PURE__ */ e("option", { value: "inactive", children: "Inactive" }, void 0, !1, {
|
|
107
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
108
|
-
lineNumber: 153,
|
|
109
|
-
columnNumber: 15
|
|
110
|
-
}, this)
|
|
76
|
+
/* @__PURE__ */ e("option", { value: "all", children: "All" }),
|
|
77
|
+
/* @__PURE__ */ e("option", { value: "active", children: "Active" }),
|
|
78
|
+
/* @__PURE__ */ e("option", { value: "inactive", children: "Inactive" })
|
|
111
79
|
]
|
|
112
|
-
}
|
|
113
|
-
void 0,
|
|
114
|
-
!0,
|
|
115
|
-
{
|
|
116
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
117
|
-
lineNumber: 146,
|
|
118
|
-
columnNumber: 13
|
|
119
|
-
},
|
|
120
|
-
this
|
|
80
|
+
}
|
|
121
81
|
),
|
|
122
|
-
/* @__PURE__ */ e(
|
|
123
|
-
|
|
124
|
-
lineNumber: 155,
|
|
125
|
-
columnNumber: 13
|
|
126
|
-
}, this)
|
|
127
|
-
] }, void 0, !0, {
|
|
128
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
129
|
-
lineNumber: 139,
|
|
130
|
-
columnNumber: 11
|
|
131
|
-
}, this),
|
|
82
|
+
/* @__PURE__ */ e(n, { type: "submit", variant: "outline", children: "Filter" })
|
|
83
|
+
] }),
|
|
132
84
|
/* @__PURE__ */ e(
|
|
133
|
-
|
|
85
|
+
A,
|
|
134
86
|
{
|
|
135
|
-
action:
|
|
136
|
-
products:
|
|
137
|
-
currencyCode:
|
|
138
|
-
}
|
|
139
|
-
void 0,
|
|
140
|
-
!1,
|
|
141
|
-
{
|
|
142
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
143
|
-
lineNumber: 157,
|
|
144
|
-
columnNumber: 11
|
|
145
|
-
},
|
|
146
|
-
this
|
|
87
|
+
action: C,
|
|
88
|
+
products: q(c),
|
|
89
|
+
currencyCode: o
|
|
90
|
+
}
|
|
147
91
|
)
|
|
148
|
-
] }
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
/* @__PURE__ */
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Discount" }, void 0, !1, {
|
|
188
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
189
|
-
lineNumber: 179,
|
|
190
|
-
columnNumber: 19
|
|
191
|
-
}, this),
|
|
192
|
-
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Usage" }, void 0, !1, {
|
|
193
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
194
|
-
lineNumber: 180,
|
|
195
|
-
columnNumber: 19
|
|
196
|
-
}, this),
|
|
197
|
-
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Sync" }, void 0, !1, {
|
|
198
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
199
|
-
lineNumber: 181,
|
|
200
|
-
columnNumber: 19
|
|
201
|
-
}, this),
|
|
202
|
-
/* @__PURE__ */ e("th", { className: "px-4 py-3 text-right", children: "Actions" }, void 0, !1, {
|
|
203
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
204
|
-
lineNumber: 182,
|
|
205
|
-
columnNumber: 19
|
|
206
|
-
}, this)
|
|
207
|
-
] }, void 0, !0, {
|
|
208
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
209
|
-
lineNumber: 176,
|
|
210
|
-
columnNumber: 17
|
|
211
|
-
}, this) }, void 0, !1, {
|
|
212
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
213
|
-
lineNumber: 175,
|
|
214
|
-
columnNumber: 15
|
|
215
|
-
}, this),
|
|
216
|
-
/* @__PURE__ */ e("tbody", { className: "divide-y", children: n?.length ? n.map((s) => /* @__PURE__ */ e("tr", { className: "align-top", children: [
|
|
217
|
-
/* @__PURE__ */ e("td", { className: "px-4 py-3", children: [
|
|
218
|
-
/* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: [
|
|
219
|
-
/* @__PURE__ */ e("span", { className: "font-mono font-semibold", children: s.code }, void 0, !1, {
|
|
220
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
221
|
-
lineNumber: 197,
|
|
222
|
-
columnNumber: 27
|
|
223
|
-
}, this),
|
|
224
|
-
/* @__PURE__ */ e(a, { variant: s.is_active ? "default" : "outline", children: s.is_active ? "Active" : "Inactive" }, void 0, !1, {
|
|
225
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
226
|
-
lineNumber: 198,
|
|
227
|
-
columnNumber: 27
|
|
228
|
-
}, this)
|
|
229
|
-
] }, void 0, !0, {
|
|
230
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
231
|
-
lineNumber: 196,
|
|
232
|
-
columnNumber: 25
|
|
233
|
-
}, this),
|
|
234
|
-
/* @__PURE__ */ e("p", { className: "mt-1 text-xs text-muted-foreground", children: s.name }, void 0, !1, {
|
|
235
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
236
|
-
lineNumber: 202,
|
|
237
|
-
columnNumber: 25
|
|
238
|
-
}, this)
|
|
239
|
-
] }, void 0, !0, {
|
|
240
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
241
|
-
lineNumber: 195,
|
|
242
|
-
columnNumber: 23
|
|
243
|
-
}, this),
|
|
244
|
-
/* @__PURE__ */ e("td", { className: "px-4 py-3", children: [
|
|
245
|
-
/* @__PURE__ */ e("span", { className: "capitalize", children: s.provider_scope }, void 0, !1, {
|
|
246
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
247
|
-
lineNumber: 205,
|
|
248
|
-
columnNumber: 25
|
|
249
|
-
}, this),
|
|
250
|
-
/* @__PURE__ */ e("p", { className: "mt-1 text-xs text-muted-foreground", children: _(s.coupon_products, u) }, void 0, !1, {
|
|
251
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
252
|
-
lineNumber: 206,
|
|
253
|
-
columnNumber: 25
|
|
254
|
-
}, this)
|
|
255
|
-
] }, void 0, !0, {
|
|
256
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
257
|
-
lineNumber: 204,
|
|
258
|
-
columnNumber: 23
|
|
259
|
-
}, this),
|
|
260
|
-
/* @__PURE__ */ e("td", { className: "px-4 py-3 font-medium", children: H(s, m) }, void 0, !1, {
|
|
261
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
262
|
-
lineNumber: 210,
|
|
263
|
-
columnNumber: 23
|
|
264
|
-
}, this),
|
|
265
|
-
/* @__PURE__ */ e("td", { className: "px-4 py-3", children: [
|
|
266
|
-
s.redemptions_count || 0,
|
|
267
|
-
s.redemption_limit ? ` / ${s.redemption_limit}` : ""
|
|
268
|
-
] }, void 0, !0, {
|
|
269
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
270
|
-
lineNumber: 213,
|
|
271
|
-
columnNumber: 23
|
|
272
|
-
}, this),
|
|
273
|
-
/* @__PURE__ */ e("td", { className: "px-4 py-3", children: [
|
|
274
|
-
/* @__PURE__ */ e(a, { variant: P(s.freemius_sync_status, s.is_active), children: s.freemius_sync_status }, void 0, !1, {
|
|
275
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
276
|
-
lineNumber: 218,
|
|
277
|
-
columnNumber: 25
|
|
278
|
-
}, this),
|
|
279
|
-
s.freemius_sync_error ? /* @__PURE__ */ e("p", { className: "mt-1 max-w-[220px] text-xs text-destructive", children: s.freemius_sync_error }, void 0, !1, {
|
|
280
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
281
|
-
lineNumber: 222,
|
|
282
|
-
columnNumber: 27
|
|
283
|
-
}, this) : null
|
|
284
|
-
] }, void 0, !0, {
|
|
285
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
286
|
-
lineNumber: 217,
|
|
287
|
-
columnNumber: 23
|
|
288
|
-
}, this),
|
|
289
|
-
/* @__PURE__ */ e("td", { className: "px-4 py-3", children: /* @__PURE__ */ e("div", { className: "flex justify-end gap-1", children: [
|
|
290
|
-
/* @__PURE__ */ e(l, { asChild: !0, variant: "outline", size: "sm", children: /* @__PURE__ */ e(d, { href: `/cms/coupons/${s.id}/edit`, children: "Edit" }, void 0, !1, {
|
|
291
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
292
|
-
lineNumber: 230,
|
|
293
|
-
columnNumber: 29
|
|
294
|
-
}, this) }, void 0, !1, {
|
|
295
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
296
|
-
lineNumber: 229,
|
|
297
|
-
columnNumber: 27
|
|
298
|
-
}, this),
|
|
92
|
+
] })
|
|
93
|
+
] }),
|
|
94
|
+
/* @__PURE__ */ r(f, { children: [
|
|
95
|
+
/* @__PURE__ */ r(h, { children: [
|
|
96
|
+
/* @__PURE__ */ e(x, { children: "All Coupons" }),
|
|
97
|
+
/* @__PURE__ */ e(y, { children: "Freemius sync runs when a coupon is created, updated, toggled, or manually resynced." })
|
|
98
|
+
] }),
|
|
99
|
+
/* @__PURE__ */ e(v, { children: /* @__PURE__ */ e("div", { className: "overflow-hidden rounded-lg border", children: /* @__PURE__ */ r("table", { className: "w-full text-left text-sm", children: [
|
|
100
|
+
/* @__PURE__ */ e("thead", { className: "border-b bg-muted/40 text-xs uppercase text-muted-foreground", children: /* @__PURE__ */ r("tr", { children: [
|
|
101
|
+
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Code" }),
|
|
102
|
+
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Scope" }),
|
|
103
|
+
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Discount" }),
|
|
104
|
+
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Usage" }),
|
|
105
|
+
/* @__PURE__ */ e("th", { className: "px-4 py-3", children: "Sync" }),
|
|
106
|
+
/* @__PURE__ */ e("th", { className: "px-4 py-3 text-right", children: "Actions" })
|
|
107
|
+
] }) }),
|
|
108
|
+
/* @__PURE__ */ e("tbody", { className: "divide-y", children: d?.length ? d.map((t) => /* @__PURE__ */ r("tr", { className: "align-top", children: [
|
|
109
|
+
/* @__PURE__ */ r("td", { className: "px-4 py-3", children: [
|
|
110
|
+
/* @__PURE__ */ r("div", { className: "flex items-center gap-2", children: [
|
|
111
|
+
/* @__PURE__ */ e("span", { className: "font-mono font-semibold", children: t.code }),
|
|
112
|
+
/* @__PURE__ */ e(m, { variant: t.is_active ? "default" : "outline", children: t.is_active ? "Active" : "Inactive" })
|
|
113
|
+
] }),
|
|
114
|
+
/* @__PURE__ */ e("p", { className: "mt-1 text-xs text-muted-foreground", children: t.name })
|
|
115
|
+
] }),
|
|
116
|
+
/* @__PURE__ */ r("td", { className: "px-4 py-3", children: [
|
|
117
|
+
/* @__PURE__ */ e("span", { className: "capitalize", children: t.provider_scope }),
|
|
118
|
+
/* @__PURE__ */ e("p", { className: "mt-1 text-xs text-muted-foreground", children: j(t.coupon_products, u) })
|
|
119
|
+
] }),
|
|
120
|
+
/* @__PURE__ */ e("td", { className: "px-4 py-3 font-medium", children: $(t, o) }),
|
|
121
|
+
/* @__PURE__ */ r("td", { className: "px-4 py-3", children: [
|
|
122
|
+
t.redemptions_count || 0,
|
|
123
|
+
t.redemption_limit ? ` / ${t.redemption_limit}` : ""
|
|
124
|
+
] }),
|
|
125
|
+
/* @__PURE__ */ r("td", { className: "px-4 py-3", children: [
|
|
126
|
+
/* @__PURE__ */ e(m, { variant: z(t.freemius_sync_status, t.is_active), children: t.freemius_sync_status }),
|
|
127
|
+
t.freemius_sync_error ? /* @__PURE__ */ e("p", { className: "mt-1 max-w-[220px] text-xs text-destructive", children: t.freemius_sync_error }) : null
|
|
128
|
+
] }),
|
|
129
|
+
/* @__PURE__ */ e("td", { className: "px-4 py-3", children: /* @__PURE__ */ r("div", { className: "flex justify-end gap-1", children: [
|
|
130
|
+
/* @__PURE__ */ e(n, { asChild: !0, variant: "outline", size: "sm", children: /* @__PURE__ */ e(p, { href: `/cms/coupons/${t.id}/edit`, children: "Edit" }) }),
|
|
299
131
|
/* @__PURE__ */ e("form", { action: async () => {
|
|
300
132
|
"use server";
|
|
301
|
-
await
|
|
302
|
-
}, children: /* @__PURE__ */ e(
|
|
303
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
304
|
-
lineNumber: 236,
|
|
305
|
-
columnNumber: 29
|
|
306
|
-
}, this) }, void 0, !1, {
|
|
307
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
308
|
-
lineNumber: 232,
|
|
309
|
-
columnNumber: 27
|
|
310
|
-
}, this),
|
|
133
|
+
await w(t.id, !t.is_active);
|
|
134
|
+
}, children: /* @__PURE__ */ e(n, { type: "submit", variant: "outline", size: "sm", children: t.is_active ? "Disable" : "Enable" }) }),
|
|
311
135
|
/* @__PURE__ */ e("form", { action: async () => {
|
|
312
136
|
"use server";
|
|
313
|
-
await
|
|
137
|
+
await S(t.id);
|
|
314
138
|
}, children: /* @__PURE__ */ e(
|
|
315
|
-
|
|
139
|
+
n,
|
|
316
140
|
{
|
|
317
141
|
type: "submit",
|
|
318
142
|
variant: "ghost",
|
|
319
143
|
size: "icon",
|
|
320
144
|
title: "Resync Freemius",
|
|
321
|
-
"aria-label": `Resync Freemius coupon ${
|
|
322
|
-
children: /* @__PURE__ */ e(
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
columnNumber: 31
|
|
326
|
-
}, this)
|
|
327
|
-
},
|
|
328
|
-
void 0,
|
|
329
|
-
!1,
|
|
330
|
-
{
|
|
331
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
332
|
-
lineNumber: 244,
|
|
333
|
-
columnNumber: 29
|
|
334
|
-
},
|
|
335
|
-
this
|
|
336
|
-
) }, void 0, !1, {
|
|
337
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
338
|
-
lineNumber: 240,
|
|
339
|
-
columnNumber: 27
|
|
340
|
-
}, this),
|
|
145
|
+
"aria-label": `Resync Freemius coupon ${t.code}`,
|
|
146
|
+
children: /* @__PURE__ */ e(_, { className: "h-4 w-4" })
|
|
147
|
+
}
|
|
148
|
+
) }),
|
|
341
149
|
/* @__PURE__ */ e("form", { action: async () => {
|
|
342
150
|
"use server";
|
|
343
|
-
await
|
|
151
|
+
await k(t.id);
|
|
344
152
|
}, children: /* @__PURE__ */ e(
|
|
345
|
-
|
|
153
|
+
n,
|
|
346
154
|
{
|
|
347
155
|
type: "submit",
|
|
348
156
|
variant: "ghost",
|
|
349
157
|
size: "icon",
|
|
350
158
|
className: "text-destructive",
|
|
351
|
-
"aria-label": `Delete coupon ${
|
|
352
|
-
children: /* @__PURE__ */ e(
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
{
|
|
361
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
362
|
-
lineNumber: 258,
|
|
363
|
-
columnNumber: 29
|
|
364
|
-
},
|
|
365
|
-
this
|
|
366
|
-
) }, void 0, !1, {
|
|
367
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
368
|
-
lineNumber: 254,
|
|
369
|
-
columnNumber: 27
|
|
370
|
-
}, this)
|
|
371
|
-
] }, void 0, !0, {
|
|
372
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
373
|
-
lineNumber: 228,
|
|
374
|
-
columnNumber: 25
|
|
375
|
-
}, this) }, void 0, !1, {
|
|
376
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
377
|
-
lineNumber: 227,
|
|
378
|
-
columnNumber: 23
|
|
379
|
-
}, this)
|
|
380
|
-
] }, s.id, !0, {
|
|
381
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
382
|
-
lineNumber: 194,
|
|
383
|
-
columnNumber: 21
|
|
384
|
-
}, this)) : /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: 6, className: "px-4 py-10 text-center text-muted-foreground", children: "No coupons yet." }, void 0, !1, {
|
|
385
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
386
|
-
lineNumber: 188,
|
|
387
|
-
columnNumber: 21
|
|
388
|
-
}, this) }, void 0, !1, {
|
|
389
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
390
|
-
lineNumber: 187,
|
|
391
|
-
columnNumber: 19
|
|
392
|
-
}, this) }, void 0, !1, {
|
|
393
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
394
|
-
lineNumber: 185,
|
|
395
|
-
columnNumber: 15
|
|
396
|
-
}, this)
|
|
397
|
-
] }, void 0, !0, {
|
|
398
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
399
|
-
lineNumber: 174,
|
|
400
|
-
columnNumber: 13
|
|
401
|
-
}, this) }, void 0, !1, {
|
|
402
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
403
|
-
lineNumber: 173,
|
|
404
|
-
columnNumber: 11
|
|
405
|
-
}, this) }, void 0, !1, {
|
|
406
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
407
|
-
lineNumber: 172,
|
|
408
|
-
columnNumber: 9
|
|
409
|
-
}, this)
|
|
410
|
-
] }, void 0, !0, {
|
|
411
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
412
|
-
lineNumber: 165,
|
|
413
|
-
columnNumber: 7
|
|
414
|
-
}, this)
|
|
415
|
-
] }, void 0, !0, {
|
|
416
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",
|
|
417
|
-
lineNumber: 130,
|
|
418
|
-
columnNumber: 5
|
|
419
|
-
}, this);
|
|
159
|
+
"aria-label": `Delete coupon ${t.code}`,
|
|
160
|
+
children: /* @__PURE__ */ e(N, { className: "h-4 w-4" })
|
|
161
|
+
}
|
|
162
|
+
) })
|
|
163
|
+
] }) })
|
|
164
|
+
] }, t.id)) : /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: 6, className: "px-4 py-10 text-center text-muted-foreground", children: "No coupons yet." }) }) })
|
|
165
|
+
] }) }) })
|
|
166
|
+
] })
|
|
167
|
+
] });
|
|
420
168
|
}
|
|
421
169
|
export {
|
|
422
|
-
|
|
170
|
+
H as CouponsPage
|
|
423
171
|
};
|