@nextblock-cms/ecom 0.13.10 → 0.13.12

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.
Files changed (124) hide show
  1. package/index.cjs.js +1 -1
  2. package/index.es.js +98 -97
  3. package/lib/CurrencyProvider.cjs.js +1 -1
  4. package/lib/CurrencyProvider.es.js +23 -23
  5. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  6. package/lib/components/AccountNavigationMenu.es.js +25 -25
  7. package/lib/components/AddToCartButton.cjs.js +1 -1
  8. package/lib/components/AddToCartButton.es.js +40 -40
  9. package/lib/components/Cart.cjs.js +1 -1
  10. package/lib/components/Cart.es.js +133 -133
  11. package/lib/components/CartDrawer.cjs.js +1 -1
  12. package/lib/components/CartDrawer.es.js +83 -83
  13. package/lib/components/CartIcon.cjs.js +1 -1
  14. package/lib/components/CartIcon.es.js +17 -17
  15. package/lib/components/Checkout.cjs.js +1 -1
  16. package/lib/components/Checkout.es.js +547 -547
  17. package/lib/components/CouponForm.cjs.js +1 -1
  18. package/lib/components/CouponForm.es.js +75 -75
  19. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  20. package/lib/components/CurrencySwitcher.es.js +16 -16
  21. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  22. package/lib/components/CustomerProfileForm.es.js +238 -238
  23. package/lib/components/FeaturedProduct.cjs.js +1 -1
  24. package/lib/components/FeaturedProduct.es.js +34 -34
  25. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  26. package/lib/components/FreemiusLicensePanel.es.js +44 -44
  27. package/lib/components/InvoiceDocument.cjs.js +1 -1
  28. package/lib/components/InvoiceDocument.es.js +141 -141
  29. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  30. package/lib/components/InvoiceViewerShell.es.js +49 -49
  31. package/lib/components/ProductCard.cjs.js +1 -1
  32. package/lib/components/ProductCard.es.js +76 -76
  33. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  34. package/lib/components/ProductDetailsLayout.es.js +308 -308
  35. package/lib/components/ProductGallery.cjs.js +1 -1
  36. package/lib/components/ProductGallery.es.js +22 -22
  37. package/lib/components/ProductGrid.cjs.js +1 -1
  38. package/lib/components/ProductGrid.es.js +9 -9
  39. package/lib/components/ShippingEstimator.cjs.js +1 -1
  40. package/lib/components/ShippingEstimator.es.js +76 -76
  41. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  42. package/lib/components/SimpleTiptapRenderer.d.ts +9 -0
  43. package/lib/components/SimpleTiptapRenderer.es.js +161 -146
  44. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  45. package/lib/components/SubscriptionSelector.es.js +77 -77
  46. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  47. package/lib/pages/cms/coupons/CouponEditorForm.es.js +108 -108
  48. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  49. package/lib/pages/cms/coupons/CouponsPage.es.js +102 -102
  50. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  51. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +21 -21
  52. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  53. package/lib/pages/cms/coupons/EditCouponPage.es.js +21 -21
  54. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  55. package/lib/pages/cms/coupons/ProductScopePicker.es.js +56 -56
  56. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  57. package/lib/pages/cms/orders/ExportReportsDialog.es.js +67 -67
  58. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  59. package/lib/pages/cms/orders/OrderDetailPage.es.js +55 -55
  60. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  61. package/lib/pages/cms/orders/OrderPrintButton.es.js +4 -4
  62. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  63. package/lib/pages/cms/orders/OrderStatusForm.es.js +28 -28
  64. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  65. package/lib/pages/cms/orders/OrdersPage.es.js +52 -52
  66. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  67. package/lib/pages/cms/payments/PaymentsClient.es.js +164 -164
  68. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  69. package/lib/pages/cms/payments/PaymentsPage.es.js +9 -9
  70. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  71. package/lib/pages/cms/products/ProductsPage.es.js +25 -25
  72. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  73. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +48 -48
  74. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  75. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +24 -24
  76. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  77. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +118 -118
  78. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  79. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +18 -18
  80. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  81. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +136 -136
  82. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  83. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +77 -77
  84. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  85. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +77 -77
  86. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  87. package/lib/pages/cms/products/components/DeleteProductButton.es.js +10 -10
  88. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  89. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +60 -60
  90. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  91. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +80 -80
  92. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  93. package/lib/pages/cms/products/components/ProductForm.es.js +493 -493
  94. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  95. package/lib/pages/cms/products/components/ProductMediaManager.es.js +50 -50
  96. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  97. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +145 -145
  98. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  99. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +60 -60
  100. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  101. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +8 -8
  102. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  103. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +8 -8
  104. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  105. package/lib/pages/cms/products/components/VariationsEditor.es.js +228 -228
  106. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  107. package/lib/pages/cms/products/inventory/InventoryPage.es.js +9 -9
  108. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  109. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +135 -135
  110. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  111. package/lib/pages/cms/products/new/NewProductPage.es.js +24 -24
  112. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  113. package/lib/pages/cms/shipping/ShippingPage.es.js +162 -162
  114. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  115. package/lib/pages/cms/shipping/components/RateForm.es.js +296 -296
  116. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  117. package/lib/pages/cms/shipping/components/ZoneForm.es.js +130 -130
  118. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  119. package/lib/pages/cms/taxes/TaxesPage.es.js +126 -126
  120. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  121. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +54 -54
  122. package/lib/product-context.cjs.js +1 -1
  123. package/lib/product-context.es.js +8 -8
  124. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),p=require("next/link"),n=require("@nextblock-cms/ui"),b=require("@nextblock-cms/db/server"),u=require("lucide-react"),x=require("@nextblock-cms/utils"),t=require("./actions.cjs.js"),N=require("./CreateCouponDialog.cjs.js"),f=require("./product-options.cjs.js");function g(o,c){return o.discount_type==="percent"?`${o.discount_amount}%`:x.formatPrice(o.discount_amount,c)}function C(o,c){return c?o==="synced"||o==="not_required"?"default":"secondary":"outline"}function h(o,c){const i=new Set;for(const l of o||[]){const r=l.product_id;r&&i.add(c.get(r)||r)}return i.size}function k(o,c){const i=h(o,c);return i===0?"All eligible products":`${i} scoped SKU${i===1?"":"s"}`}async function D({searchParams:o}){const c=b.getServiceRoleSupabaseClient();let i=c.from("coupons").select(`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),d=require("next/link"),c=require("@nextblock-cms/ui"),x=require("@nextblock-cms/db/server"),u=require("lucide-react"),p=require("@nextblock-cms/utils"),m=require("./actions.cjs.js"),N=require("./CreateCouponDialog.cjs.js"),f=require("./product-options.cjs.js");function g(o,l){return o.discount_type==="percent"?`${o.discount_amount}%`:p.formatPrice(o.discount_amount,l)}function h(o,l){return l?o==="synced"||o==="not_required"?"default":"secondary":"outline"}function D(o,l){const i=new Set;for(const t of o||[]){const n=t.product_id;n&&i.add(l.get(n)||n)}return i.size}function v(o,l){const i=D(o,l);return i===0?"All eligible products":`${i} scoped SKU${i===1?"":"s"}`}async function C({searchParams:o}){const l=x.getServiceRoleSupabaseClient();let i=l.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:l},{data:r},{data:m}]=await Promise.all([i,c.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}),c.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((r||[]).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/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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:134,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/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/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/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/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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:153,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:146,columnNumber:13},this),e.jsxDEV(n.Button,{type:"submit",variant:"outline",children:"Filter"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:155,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:139,columnNumber:11},this),e.jsxDEV(N.CreateCouponDialog,{action:t.createCouponAction,products:f.normalizeCouponProductOptions(r),currencyCode:a},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:157,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:138,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:131,columnNumber:7},this),e.jsxDEV(n.Card,{children:[e.jsxDEV(n.CardHeader,{children:[e.jsxDEV(n.CardTitle,{children:"All Coupons"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:167,columnNumber:11},this),e.jsxDEV(n.CardDescription,{children:"Freemius sync runs when a coupon is created, updated, toggled, or manually resynced."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:168,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:166,columnNumber:9},this),e.jsxDEV(n.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/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/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/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/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/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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:182,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:176,columnNumber:17},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:175,columnNumber:15},this),e.jsxDEV("tbody",{className:"divide-y",children:l?.length?l.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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:197,columnNumber:27},this),e.jsxDEV(n.Badge,{variant:s.is_active?"default":"outline",children:s.is_active?"Active":"Inactive"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:198,columnNumber:27},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:202,columnNumber:25},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/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/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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:206,columnNumber:25},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/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/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/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(n.Badge,{variant:C(s.freemius_sync_status,s.is_active),children:s.freemius_sync_status},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:222,columnNumber:27},this):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/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(n.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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:230,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/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(n.Button,{type:"submit",variant:"outline",size:"sm",children:s.is_active?"Disable":"Enable"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:236,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/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(n.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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:251,columnNumber:31},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:244,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/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(n.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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:265,columnNumber:31},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:258,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:254,columnNumber:27},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:228,columnNumber:25},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:227,columnNumber:23},this)]},s.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/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/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:188,columnNumber:21},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:187,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:185,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:174,columnNumber:13},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:173,columnNumber:11},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:165,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:130,columnNumber:5},this)}exports.CouponsPage=D;
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:t},{data:n},{data:a}]=await Promise.all([i,l.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}),l.from("currencies").select("code, is_default").eq("is_active",!0)]),r=a?.find(s=>s.is_default)?.code||a?.[0]?.code||"USD",b=new Map((n||[]).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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:134,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:153,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:155,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:139,columnNumber:11},this),e.jsxDEV(N.CreateCouponDialog,{action:m.createCouponAction,products:f.normalizeCouponProductOptions(n),currencyCode:r},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:157,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:138,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:168,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:182,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:176,columnNumber:17},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:175,columnNumber:15},this),e.jsxDEV("tbody",{className:"divide-y",children:t?.length?t.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:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:198,columnNumber:27},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:202,columnNumber:25},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:v(s.coupon_products,b)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:206,columnNumber:25},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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,r)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/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:h(s.freemius_sync_status,s.is_active),children:s.freemius_sync_status},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:222,columnNumber:27},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/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(d,{href:`/cms/coupons/${s.id}/edit`,children:"Edit"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:230,columnNumber:29},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:229,columnNumber:27},this),e.jsxDEV("form",{action:async()=>{"use server";await m.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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:236,columnNumber:29},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:232,columnNumber:27},this),e.jsxDEV("form",{action:async()=>{"use server";await m.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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:251,columnNumber:31},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:244,columnNumber:29},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:240,columnNumber:27},this),e.jsxDEV("form",{action:async()=>{"use server";await m.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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:265,columnNumber:31},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:258,columnNumber:29},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:254,columnNumber:27},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:228,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:227,columnNumber:23},this)]},s.id,!0,{fileName:"D:/Websites/nextblock-sandbox/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:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:188,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:187,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:185,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:174,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:173,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:165,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/coupons/CouponsPage.tsx",lineNumber:130,columnNumber:5},this)}exports.CouponsPage=C;