@instockng/storefront-ui 1.0.32 → 1.0.34

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 (270) hide show
  1. package/dist/contexts/CartContext.d.ts.map +1 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.mjs +99 -96
  5. package/dist/index10.mjs +85 -162
  6. package/dist/index100.mjs +210 -17
  7. package/dist/index101.mjs +174 -17
  8. package/dist/index102.mjs +14 -25
  9. package/dist/index103.mjs +17 -150
  10. package/dist/index104.mjs +26 -13
  11. package/dist/index105.mjs +149 -24
  12. package/dist/index106.mjs +13 -77
  13. package/dist/index107.mjs +20 -27
  14. package/dist/index108.mjs +76 -137
  15. package/dist/index109.mjs +33 -50
  16. package/dist/index11.mjs +171 -94
  17. package/dist/index110.mjs +141 -19
  18. package/dist/index111.mjs +50 -22
  19. package/dist/index112.mjs +14 -14
  20. package/dist/index113.mjs +20 -18
  21. package/dist/index114.mjs +16 -14
  22. package/dist/index115.mjs +17 -14
  23. package/dist/index116.mjs +12 -12
  24. package/dist/index117.mjs +15 -58
  25. package/dist/index118.mjs +14 -11
  26. package/dist/index119.mjs +56 -30
  27. package/dist/index12.mjs +82 -659
  28. package/dist/index120.mjs +8 -14
  29. package/dist/index121.mjs +31 -26
  30. package/dist/index122.mjs +12 -15
  31. package/dist/index123.mjs +26 -11
  32. package/dist/index124.mjs +18 -12
  33. package/dist/index125.mjs +12 -40
  34. package/dist/index126.mjs +14 -16
  35. package/dist/index127.mjs +42 -263
  36. package/dist/index128.mjs +15 -62
  37. package/dist/index129.mjs +267 -7
  38. package/dist/index13.mjs +668 -53
  39. package/dist/index130.mjs +70 -2
  40. package/dist/index131.mjs +8 -2
  41. package/dist/index132.mjs +2 -33
  42. package/dist/index133.mjs +2 -2
  43. package/dist/index134.mjs +32 -20
  44. package/dist/index135.mjs +2 -56
  45. package/dist/index136.mjs +18 -26
  46. package/dist/index137.mjs +55 -6
  47. package/dist/index138.mjs +28 -51
  48. package/dist/index139.mjs +7 -6
  49. package/dist/index14.mjs +58 -60
  50. package/dist/index140.mjs +51 -11
  51. package/dist/index141.mjs +5 -6
  52. package/dist/index142.mjs +12 -28
  53. package/dist/index143.mjs +7 -2
  54. package/dist/index144.mjs +27 -69
  55. package/dist/index145.mjs +2 -167
  56. package/dist/index146.mjs +70 -2
  57. package/dist/index147.mjs +167 -2
  58. package/dist/index148.mjs +2 -2
  59. package/dist/index149.mjs +2 -18
  60. package/dist/index15.mjs +60 -22
  61. package/dist/index150.mjs +2 -32
  62. package/dist/index151.mjs +2 -38
  63. package/dist/index152.mjs +11 -11
  64. package/dist/index153.mjs +25 -11
  65. package/dist/index154.mjs +38 -2
  66. package/dist/index155.mjs +11 -13
  67. package/dist/index156.mjs +11 -39
  68. package/dist/index157.mjs +2 -2
  69. package/dist/index158.mjs +15 -25
  70. package/dist/index159.mjs +39 -11
  71. package/dist/index16.mjs +22 -113
  72. package/dist/index161.mjs +30 -2
  73. package/dist/index162.mjs +18 -2
  74. package/dist/index164.mjs +2 -72
  75. package/dist/index165.mjs +2 -2
  76. package/dist/index166.mjs +2 -53
  77. package/dist/index167.mjs +72 -2
  78. package/dist/index168.mjs +2 -36
  79. package/dist/index169.mjs +38 -137
  80. package/dist/index17.mjs +111 -38
  81. package/dist/index170.mjs +2 -2
  82. package/dist/index171.mjs +36 -2
  83. package/dist/index172.mjs +147 -14
  84. package/dist/index174.mjs +2 -2
  85. package/dist/index175.mjs +10 -17
  86. package/dist/index176.mjs +2 -2
  87. package/dist/index177.mjs +2 -2
  88. package/dist/index178.mjs +18 -16
  89. package/dist/index179.mjs +2 -23
  90. package/dist/index18.mjs +37 -37
  91. package/dist/index180.mjs +2 -2
  92. package/dist/index181.mjs +24 -2
  93. package/dist/index182.mjs +23 -2
  94. package/dist/index183.mjs +2 -23
  95. package/dist/index184.mjs +2 -2
  96. package/dist/index185.mjs +2 -23
  97. package/dist/index186.mjs +23 -2
  98. package/dist/index187.mjs +2 -2
  99. package/dist/index188.mjs +23 -2
  100. package/dist/index189.mjs +2 -23
  101. package/dist/index19.mjs +42 -55
  102. package/dist/index190.mjs +2 -2
  103. package/dist/index191.mjs +2 -23
  104. package/dist/index192.mjs +23 -2
  105. package/dist/index193.mjs +2 -2
  106. package/dist/index194.mjs +23 -2
  107. package/dist/index195.mjs +2 -2
  108. package/dist/index196.mjs +2 -2
  109. package/dist/index198.mjs +2 -2
  110. package/dist/index199.mjs +2 -2
  111. package/dist/index2.mjs +14 -13
  112. package/dist/index20.mjs +53 -30
  113. package/dist/index200.mjs +2 -127
  114. package/dist/index201.mjs +2 -2
  115. package/dist/index202.mjs +2 -74
  116. package/dist/index203.mjs +123 -70
  117. package/dist/index204.mjs +2 -2
  118. package/dist/index205.mjs +73 -30
  119. package/dist/index206.mjs +73 -10
  120. package/dist/index207.mjs +30 -3
  121. package/dist/index208.mjs +10 -3
  122. package/dist/index209.mjs +4 -13
  123. package/dist/index21.mjs +29 -6
  124. package/dist/index210.mjs +4 -7
  125. package/dist/index211.mjs +13 -12
  126. package/dist/index212.mjs +7 -5
  127. package/dist/index213.mjs +12 -33
  128. package/dist/index214.mjs +5 -31
  129. package/dist/index215.mjs +32 -27
  130. package/dist/index216.mjs +28 -58
  131. package/dist/index217.mjs +28 -2
  132. package/dist/index218.mjs +55 -102
  133. package/dist/index219.mjs +2 -2
  134. package/dist/index22.mjs +8 -21
  135. package/dist/index220.mjs +2 -2
  136. package/dist/index222.mjs +2 -2
  137. package/dist/index223.mjs +108 -2
  138. package/dist/index224.mjs +2 -2
  139. package/dist/index225.mjs +2 -2
  140. package/dist/index226.mjs +2 -2
  141. package/dist/index228.mjs +2 -37
  142. package/dist/index229.mjs +2 -2
  143. package/dist/index23.mjs +19 -30
  144. package/dist/index230.mjs +37 -2
  145. package/dist/index231.mjs +2 -2
  146. package/dist/index232.mjs +2 -244
  147. package/dist/index233.mjs +244 -2
  148. package/dist/index234.mjs +2 -33
  149. package/dist/index235.mjs +28 -60
  150. package/dist/index236.mjs +60 -20
  151. package/dist/index237.mjs +25 -2
  152. package/dist/index238.mjs +2 -2
  153. package/dist/index239.mjs +2 -2
  154. package/dist/index24.mjs +31 -18
  155. package/dist/index240.mjs +2 -2
  156. package/dist/index241.mjs +2 -2
  157. package/dist/index244.mjs +2 -2
  158. package/dist/index245.mjs +2 -4
  159. package/dist/index246.mjs +2 -2
  160. package/dist/index247.mjs +4 -2
  161. package/dist/index248.mjs +2 -2
  162. package/dist/index249.mjs +2 -2
  163. package/dist/index25.mjs +12 -85
  164. package/dist/index250.mjs +3 -18
  165. package/dist/index251.mjs +2 -47
  166. package/dist/index252.mjs +2 -2
  167. package/dist/index253.mjs +17 -2
  168. package/dist/index254.mjs +13 -2
  169. package/dist/index255.mjs +6 -2
  170. package/dist/index256.mjs +30 -91
  171. package/dist/index257.mjs +2 -3
  172. package/dist/index258.mjs +2 -2
  173. package/dist/index259.mjs +18 -2
  174. package/dist/index26.mjs +85 -12
  175. package/dist/index260.mjs +46 -16
  176. package/dist/index261.mjs +2 -13
  177. package/dist/index262.mjs +2 -6
  178. package/dist/index263.mjs +2 -30
  179. package/dist/index264.mjs +2 -2
  180. package/dist/index265.mjs +91 -2
  181. package/dist/index266.mjs +2 -2
  182. package/dist/index267.mjs +2 -2
  183. package/dist/index268.mjs +5 -0
  184. package/dist/index269.mjs +5 -0
  185. package/dist/index27.mjs +18 -9
  186. package/dist/index28.mjs +9 -9
  187. package/dist/index29.mjs +11 -101
  188. package/dist/index3.mjs +108 -103
  189. package/dist/index30.mjs +101 -20
  190. package/dist/index31.mjs +20 -65
  191. package/dist/index32.mjs +66 -96
  192. package/dist/index33.mjs +93 -16
  193. package/dist/index34.mjs +12 -12
  194. package/dist/index35.mjs +17 -9
  195. package/dist/index36.mjs +9 -9
  196. package/dist/index37.mjs +10 -122
  197. package/dist/index38.mjs +116 -18
  198. package/dist/index39.mjs +342 -1386
  199. package/dist/index4.mjs +1 -1
  200. package/dist/index40.mjs +25 -2
  201. package/dist/index41.mjs +1425 -52
  202. package/dist/index42.mjs +2 -51
  203. package/dist/index43.mjs +60 -33
  204. package/dist/index44.mjs +49 -13
  205. package/dist/index45.mjs +32 -2262
  206. package/dist/index46.mjs +15 -36
  207. package/dist/index47.mjs +2261 -42
  208. package/dist/index48.mjs +36 -99
  209. package/dist/index49.mjs +43 -96
  210. package/dist/index5.mjs +111 -15
  211. package/dist/index50.mjs +99 -81
  212. package/dist/index51.mjs +93 -57
  213. package/dist/index52.mjs +54 -68
  214. package/dist/index53.mjs +58 -62
  215. package/dist/index54.mjs +74 -58
  216. package/dist/index55.mjs +77 -15
  217. package/dist/index56.mjs +75 -14
  218. package/dist/index57.mjs +15 -59
  219. package/dist/index58.mjs +11 -118
  220. package/dist/index59.mjs +46 -112
  221. package/dist/index6.mjs +15 -195
  222. package/dist/index60.mjs +124 -23
  223. package/dist/index61.mjs +128 -152
  224. package/dist/index63.mjs +21 -20
  225. package/dist/index65.mjs +21 -73
  226. package/dist/index66.mjs +153 -15
  227. package/dist/index67.mjs +68 -56
  228. package/dist/index68.mjs +15 -2
  229. package/dist/index69.mjs +62 -5
  230. package/dist/index7.mjs +188 -101
  231. package/dist/index70.mjs +230 -1129
  232. package/dist/index71.mjs +5 -19
  233. package/dist/index72.mjs +127 -48
  234. package/dist/index73.mjs +67 -32
  235. package/dist/index74.mjs +87 -2
  236. package/dist/index75.mjs +23 -229
  237. package/dist/index76.mjs +8 -5
  238. package/dist/index77.mjs +66 -125
  239. package/dist/index78.mjs +3 -67
  240. package/dist/index79.mjs +2 -87
  241. package/dist/index8.mjs +103 -73
  242. package/dist/index80.mjs +78 -24
  243. package/dist/index81.mjs +52 -7
  244. package/dist/index82.mjs +5 -74
  245. package/dist/index83.mjs +4 -3
  246. package/dist/index84.mjs +179 -2
  247. package/dist/index85.mjs +49 -79
  248. package/dist/index86.mjs +68 -53
  249. package/dist/index87.mjs +34 -6
  250. package/dist/index88.mjs +42 -4
  251. package/dist/index89.mjs +2 -179
  252. package/dist/index9.mjs +72 -90
  253. package/dist/index90.mjs +6 -53
  254. package/dist/index91.mjs +1134 -69
  255. package/dist/index92.mjs +20 -34
  256. package/dist/index93.mjs +54 -42
  257. package/dist/index94.mjs +33 -2
  258. package/dist/index95.mjs +2 -2
  259. package/dist/index96.mjs +2 -28
  260. package/dist/index97.mjs +2 -18
  261. package/dist/index98.mjs +26 -213
  262. package/dist/index99.mjs +13 -175
  263. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  264. package/dist/providers/TikTokPixelProvider.d.ts +26 -0
  265. package/dist/providers/TikTokPixelProvider.d.ts.map +1 -0
  266. package/package.json +3 -2
  267. package/src/contexts/CartContext.tsx +24 -6
  268. package/src/index.ts +5 -0
  269. package/src/providers/StorefrontProvider.tsx +11 -8
  270. package/src/providers/TikTokPixelProvider.tsx +233 -0
package/dist/index7.mjs CHANGED
@@ -1,113 +1,200 @@
1
1
  'use client';
2
- import { jsxs as s, jsx as t, Fragment as u } from "react/jsx-runtime";
3
- import { useState as f } from "react";
4
- import { Card as P, CardContent as S, CardFooter as j } from "./index14.mjs";
5
- import { Button as I } from "./index13.mjs";
6
- import { Badge as p } from "./index15.mjs";
7
- import { Package as O, ShoppingCart as q } from "lucide-react";
8
- import { cn as g, formatCurrency as h } from "./index19.mjs";
9
- function D({
10
- product: r,
11
- onAddToCart: o,
12
- showStock: b = !0,
13
- className: x,
14
- imageClassName: N,
15
- disableAddToCart: v = !1,
16
- isAddingToCart: n = !1,
17
- onClick: i
2
+ import { jsx as e, jsxs as r, Fragment as T } from "react/jsx-runtime";
3
+ import { useState as E } from "react";
4
+ import "./index21.mjs";
5
+ import "@tanstack/react-query";
6
+ import { useGetOrder as U, useConfirmOrder as M } from "./index34.mjs";
7
+ import { Card as s, CardHeader as m, CardTitle as o, CardContent as i } from "./index15.mjs";
8
+ import { Button as S } from "./index14.mjs";
9
+ import { Badge as y } from "./index16.mjs";
10
+ import { Loader2 as v, XCircle as _, Package as H, CheckCircle as L } from "lucide-react";
11
+ import { cn as l, formatDateTime as k, formatCurrency as c } from "./index20.mjs";
12
+ const b = "2348125648668", x = "0" + b.slice(3), W = `${x.slice(0, 4)} ${x.slice(4, 7)} ${x.slice(7)}`, $ = `https://wa.me/${b}`;
13
+ function X({
14
+ orderId: N,
15
+ token: f,
16
+ className: h,
17
+ headerClassName: w,
18
+ buttonClassName: P,
19
+ cardClassName: n,
20
+ whatsappHelpLink: A = $,
21
+ whatsappHelpNumber: C = W
18
22
  }) {
19
- var d;
20
- const [c, y] = f(
21
- ((d = r.variants[0]) == null ? void 0 : d.id) || ""
22
- ), [m, k] = f(1), a = r.variants.find((e) => e.id === c), C = r.variants.length > 1, l = a ? a.stock === void 0 || a.stock > 0 : !1, w = (e) => {
23
- e.stopPropagation(), a && o && o(a.id, m);
24
- };
25
- return /* @__PURE__ */ s(
26
- P,
27
- {
28
- className: g(
29
- "group overflow-hidden transition-all hover:shadow-lg",
30
- i && "cursor-pointer",
31
- x
23
+ var g;
24
+ const [p, j] = E(!1), { data: u, isLoading: D, error: O } = U(N, f, {
25
+ retry: !1
26
+ }), d = M({
27
+ onSuccess: (t) => {
28
+ j(!0);
29
+ },
30
+ onError: (t) => {
31
+ }
32
+ });
33
+ if (D)
34
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 flex items-center justify-center", h), children: /* @__PURE__ */ r("div", { className: "text-center", children: [
35
+ /* @__PURE__ */ e(v, { className: "h-12 w-12 animate-spin text-blue-500 mx-auto mb-4" }),
36
+ /* @__PURE__ */ e("p", { className: "text-gray-600", children: "Loading order details..." })
37
+ ] }) });
38
+ if (O || !u || "error" in u)
39
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 flex items-center justify-center p-4", h), children: /* @__PURE__ */ r(s, { className: l("max-w-md w-full", n), children: [
40
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ r("div", { className: "flex items-center space-x-2", children: [
41
+ /* @__PURE__ */ e(_, { className: "h-6 w-6 text-red-500" }),
42
+ /* @__PURE__ */ e(o, { children: "Order Not Found" })
43
+ ] }) }),
44
+ /* @__PURE__ */ e(i, { children: /* @__PURE__ */ e("p", { className: "text-gray-600", children: "We couldn't find this order. The link may be invalid or expired. Please contact support if you need assistance." }) })
45
+ ] }) });
46
+ const a = u;
47
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 py-8 px-4", h), children: /* @__PURE__ */ r("div", { className: "max-w-3xl mx-auto space-y-6", children: [
48
+ /* @__PURE__ */ r("div", { className: l("text-center", w), children: [
49
+ a.brand.logoUrl ? /* @__PURE__ */ e("div", { className: "inline-flex items-center justify-center w-24 h-16 mb-4", children: /* @__PURE__ */ e(
50
+ "img",
51
+ {
52
+ src: a.brand.logoUrl,
53
+ alt: `${a.brand.name} logo`,
54
+ className: "max-w-full max-h-full object-contain"
55
+ }
56
+ ) }) : /* @__PURE__ */ e("div", { className: "inline-flex items-center justify-center w-16 h-16 bg-blue-100 rounded-full mb-4", children: /* @__PURE__ */ e(H, { className: "h-8 w-8 text-blue-600" }) }),
57
+ /* @__PURE__ */ r("h1", { className: "text-3xl font-bold text-gray-900", children: [
58
+ "Order #",
59
+ a.orderNumber
60
+ ] }),
61
+ /* @__PURE__ */ e("p", { className: "text-gray-600 mt-2", children: a.brand.name })
62
+ ] }),
63
+ p && /* @__PURE__ */ e(s, { className: l("border-green-200 bg-green-50", n), children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ r("div", { className: "flex items-start space-x-3", children: [
64
+ /* @__PURE__ */ e(L, { className: "h-6 w-6 text-green-600 mt-0.5" }),
65
+ /* @__PURE__ */ r("div", { children: [
66
+ /* @__PURE__ */ e("h3", { className: "font-semibold text-green-900", children: "Order Confirmed!" }),
67
+ /* @__PURE__ */ e("p", { className: "text-green-700 mt-1", children: "Thank you for confirming your order. We will contact you soon to arrange delivery." })
68
+ ] })
69
+ ] }) }) }),
70
+ !p && a.confirmationMessage && /* @__PURE__ */ e(s, { className: l(a.canConfirm ? "border-orange-200 bg-orange-50" : "", n), children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ e("p", { className: a.canConfirm ? "text-orange-900" : "text-gray-700", children: a.confirmationMessage }) }) }),
71
+ a.canConfirm && !p && /* @__PURE__ */ e(s, { className: n, children: /* @__PURE__ */ r(i, { className: "pt-6", children: [
72
+ /* @__PURE__ */ e(
73
+ S,
74
+ {
75
+ onClick: () => d.mutate({ orderId: N, token: f }),
76
+ disabled: d.isPending,
77
+ className: l("w-full", P),
78
+ size: "lg",
79
+ children: d.isPending ? /* @__PURE__ */ r(T, { children: [
80
+ /* @__PURE__ */ e(v, { className: "mr-2 h-5 w-5 animate-spin" }),
81
+ "Confirming..."
82
+ ] }) : "Confirm Order"
83
+ }
32
84
  ),
33
- onClick: i,
34
- children: [
35
- /* @__PURE__ */ s("div", { className: "relative aspect-square overflow-hidden bg-gray-100", children: [
36
- r.imageUrl ? /* @__PURE__ */ t(
37
- "img",
38
- {
39
- src: r.imageUrl,
40
- alt: r.name,
41
- className: g(
42
- "h-full w-full object-cover transition-transform group-hover:scale-105",
43
- N
44
- )
45
- }
46
- ) : /* @__PURE__ */ t("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ t(O, { className: "h-16 w-16 text-gray-400" }) }),
47
- !l && /* @__PURE__ */ t(p, { className: "absolute right-2 top-2 bg-red-600", children: "Out of Stock" }),
48
- b && l && (a == null ? void 0 : a.stock) !== void 0 && a.stock < 10 && /* @__PURE__ */ s(p, { className: "absolute right-2 top-2 bg-orange-600", children: [
49
- "Only ",
50
- a.stock,
51
- " left"
52
- ] })
85
+ d.isError && /* @__PURE__ */ e("p", { className: "text-red-600 text-sm mt-2 text-center", children: "Failed to confirm order. Please try again or contact support." })
86
+ ] }) }),
87
+ /* @__PURE__ */ r(s, { className: n, children: [
88
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Order Details" }) }),
89
+ /* @__PURE__ */ e(i, { className: "space-y-4", children: /* @__PURE__ */ r("div", { className: "grid grid-cols-2 gap-4", children: [
90
+ /* @__PURE__ */ r("div", { children: [
91
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Status" }),
92
+ /* @__PURE__ */ e(y, { className: "mt-1", children: a.status })
53
93
  ] }),
54
- /* @__PURE__ */ s(S, { className: "p-4", children: [
55
- /* @__PURE__ */ t("h3", { className: "mb-1 font-semibold line-clamp-2", children: r.name }),
56
- r.description && /* @__PURE__ */ t("p", { className: "mb-2 text-sm text-gray-600 line-clamp-2", children: r.description }),
57
- C && /* @__PURE__ */ s("div", { className: "mb-3", children: [
58
- /* @__PURE__ */ t("label", { className: "mb-1 block text-xs font-medium text-gray-700", children: "Select Option" }),
59
- /* @__PURE__ */ t(
60
- "select",
61
- {
62
- value: c,
63
- onChange: (e) => {
64
- e.stopPropagation(), y(e.target.value);
65
- },
66
- className: "w-full rounded-md border border-gray-300 px-2 py-1 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500",
67
- onClick: (e) => e.stopPropagation(),
68
- children: r.variants.map((e) => /* @__PURE__ */ s("option", { value: e.id, children: [
69
- e.name,
70
- " - ",
71
- h(e.price)
72
- ] }, e.id))
73
- }
74
- )
94
+ /* @__PURE__ */ r("div", { children: [
95
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Order Date" }),
96
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.createdAt ? k(a.createdAt) : "N/A" })
97
+ ] }),
98
+ /* @__PURE__ */ r("div", { children: [
99
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Payment Method" }),
100
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.paymentMethod === "cod" ? "Cash on Delivery" : "Online Payment" })
101
+ ] }),
102
+ /* @__PURE__ */ r("div", { children: [
103
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Estimated Delivery" }),
104
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.estimatedDays ? `${a.estimatedDays} days` : "TBD" })
105
+ ] })
106
+ ] }) })
107
+ ] }),
108
+ /* @__PURE__ */ r(s, { className: n, children: [
109
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Delivery Information" }) }),
110
+ /* @__PURE__ */ r(i, { className: "space-y-3", children: [
111
+ /* @__PURE__ */ r("div", { children: [
112
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Customer" }),
113
+ /* @__PURE__ */ r("p", { className: "font-medium", children: [
114
+ a.firstName,
115
+ " ",
116
+ a.lastName
117
+ ] }),
118
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: a.phone })
119
+ ] }),
120
+ /* @__PURE__ */ r("div", { children: [
121
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Address" }),
122
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.address }),
123
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
124
+ a.city,
125
+ ", ",
126
+ a.deliveryZone.state.name
75
127
  ] }),
76
- /* @__PURE__ */ t("div", { className: "mb-3 text-2xl font-bold text-blue-600", children: a && h(a.price) }),
77
- /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
78
- /* @__PURE__ */ t("label", { className: "text-xs font-medium text-gray-700", children: "Qty:" }),
79
- /* @__PURE__ */ t(
80
- "input",
128
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: a.deliveryZone.name })
129
+ ] })
130
+ ] })
131
+ ] }),
132
+ /* @__PURE__ */ r(s, { className: n, children: [
133
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Items" }) }),
134
+ /* @__PURE__ */ r(i, { children: [
135
+ /* @__PURE__ */ e("div", { className: "space-y-4", children: (g = a.items) == null ? void 0 : g.map((t) => /* @__PURE__ */ r("div", { className: "flex items-start justify-between border-b pb-4 last:border-0", children: [
136
+ /* @__PURE__ */ r("div", { className: "flex items-start space-x-4 flex-1", children: [
137
+ (t.variant.thumbnailUrl || t.variant.product.thumbnailUrl) && /* @__PURE__ */ e(
138
+ "img",
81
139
  {
82
- type: "number",
83
- min: "1",
84
- max: (a == null ? void 0 : a.stock) || 999,
85
- value: m,
86
- onChange: (e) => {
87
- e.stopPropagation(), k(Math.max(1, parseInt(e.target.value) || 1));
88
- },
89
- onClick: (e) => e.stopPropagation(),
90
- className: "w-20 rounded-md border border-gray-300 px-2 py-1 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500"
140
+ src: t.variant.thumbnailUrl || t.variant.product.thumbnailUrl || void 0,
141
+ alt: t.variant.product.name,
142
+ className: "w-16 h-16 object-cover rounded"
91
143
  }
92
- )
144
+ ),
145
+ /* @__PURE__ */ r("div", { className: "flex-1", children: [
146
+ /* @__PURE__ */ e("p", { className: "font-medium", children: t.variant.product.name }),
147
+ t.variant.name && /* @__PURE__ */ e(y, { variant: "outline", className: "mt-1", children: t.variant.name }),
148
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600 mt-1", children: [
149
+ "Quantity: ",
150
+ t.quantity
151
+ ] }),
152
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
153
+ "SKU: ",
154
+ t.variant.sku
155
+ ] })
156
+ ] })
157
+ ] }),
158
+ /* @__PURE__ */ r("div", { className: "text-right", children: [
159
+ /* @__PURE__ */ e("p", { className: "font-medium", children: c(t.priceAtPurchase * t.quantity) }),
160
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
161
+ c(t.priceAtPurchase),
162
+ " each"
163
+ ] })
93
164
  ] })
94
- ] }),
95
- /* @__PURE__ */ t(j, { className: "p-4 pt-0", children: /* @__PURE__ */ t(
96
- I,
97
- {
98
- onClick: w,
99
- disabled: v || !l || n,
100
- className: "w-full",
101
- children: n ? /* @__PURE__ */ t(u, { children: "Adding..." }) : /* @__PURE__ */ s(u, { children: [
102
- /* @__PURE__ */ t(q, { className: "mr-2 h-4 w-4" }),
103
- "Add to Cart"
165
+ ] }, t.id)) }),
166
+ /* @__PURE__ */ r("div", { className: "mt-6 border-t pt-4 space-y-2", children: [
167
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-sm", children: [
168
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Subtotal" }),
169
+ /* @__PURE__ */ e("span", { className: "font-medium", children: c(a.subtotal) })
170
+ ] }),
171
+ a.discountAmount && a.discountAmount > 0 && /* @__PURE__ */ r("div", { className: "flex justify-between text-sm text-green-600", children: [
172
+ /* @__PURE__ */ e("span", { children: "Discount" }),
173
+ /* @__PURE__ */ r("span", { children: [
174
+ "-",
175
+ c(a.discountAmount)
104
176
  ] })
105
- }
106
- ) })
107
- ]
108
- }
109
- );
177
+ ] }),
178
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-sm", children: [
179
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Delivery Charge" }),
180
+ /* @__PURE__ */ e("span", { className: "font-medium", children: c(a.deliveryCharge) })
181
+ ] }),
182
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-lg font-bold border-t pt-2", children: [
183
+ /* @__PURE__ */ e("span", { children: "Total" }),
184
+ /* @__PURE__ */ e("span", { children: c(a.totalPrice) })
185
+ ] })
186
+ ] })
187
+ ] })
188
+ ] }),
189
+ /* @__PURE__ */ e(s, { className: n, children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ r("p", { className: "text-sm text-gray-600 text-center", children: [
190
+ "Need help with your order? Call us on ",
191
+ C,
192
+ " or contact us on",
193
+ " ",
194
+ /* @__PURE__ */ e("a", { href: A, target: "_blank", rel: "noopener noreferrer", className: "text-blue-600 hover:underline", children: "WhatsApp" })
195
+ ] }) }) })
196
+ ] }) });
110
197
  }
111
198
  export {
112
- D as ProductCard
199
+ X as OrderConfirmation
113
200
  };