@instockng/storefront-ui 1.0.32 → 1.0.33

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 (264) 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 +9 -15
  29. package/dist/index121.mjs +31 -26
  30. package/dist/index122.mjs +13 -16
  31. package/dist/index123.mjs +26 -11
  32. package/dist/index124.mjs +17 -11
  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 +14 -34
  63. package/dist/index152.mjs +25 -11
  64. package/dist/index153.mjs +34 -14
  65. package/dist/index154.mjs +18 -2
  66. package/dist/index155.mjs +10 -12
  67. package/dist/index156.mjs +2 -46
  68. package/dist/index157.mjs +20 -2
  69. package/dist/index158.mjs +41 -25
  70. package/dist/index159.mjs +2 -18
  71. package/dist/index16.mjs +22 -113
  72. package/dist/index160.mjs +30 -2
  73. package/dist/index161.mjs +18 -2
  74. package/dist/index162.mjs +2 -2
  75. package/dist/index163.mjs +2 -2
  76. package/dist/index164.mjs +2 -72
  77. package/dist/index165.mjs +2 -2
  78. package/dist/index166.mjs +59 -40
  79. package/dist/index168.mjs +48 -31
  80. package/dist/index169.mjs +2 -152
  81. package/dist/index17.mjs +111 -38
  82. package/dist/index170.mjs +36 -2
  83. package/dist/index171.mjs +152 -2
  84. package/dist/index172.mjs +2 -19
  85. package/dist/index173.mjs +2 -2
  86. package/dist/index174.mjs +19 -2
  87. package/dist/index175.mjs +2 -26
  88. package/dist/index176.mjs +2 -2
  89. package/dist/index177.mjs +26 -2
  90. package/dist/index178.mjs +2 -24
  91. package/dist/index179.mjs +2 -23
  92. package/dist/index18.mjs +37 -37
  93. package/dist/index180.mjs +24 -2
  94. package/dist/index181.mjs +23 -2
  95. package/dist/index182.mjs +2 -2
  96. package/dist/index183.mjs +2 -23
  97. package/dist/index185.mjs +16 -16
  98. package/dist/index186.mjs +2 -2
  99. package/dist/index187.mjs +23 -2
  100. package/dist/index188.mjs +2 -2
  101. package/dist/index189.mjs +2 -23
  102. package/dist/index19.mjs +42 -55
  103. package/dist/index190.mjs +2 -2
  104. package/dist/index191.mjs +15 -15
  105. package/dist/index193.mjs +23 -2
  106. package/dist/index194.mjs +2 -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/index2.mjs +14 -13
  111. package/dist/index20.mjs +53 -30
  112. package/dist/index200.mjs +2 -127
  113. package/dist/index201.mjs +2 -2
  114. package/dist/index202.mjs +123 -70
  115. package/dist/index203.mjs +2 -74
  116. package/dist/index204.mjs +74 -2
  117. package/dist/index205.mjs +73 -30
  118. package/dist/index206.mjs +2 -11
  119. package/dist/index207.mjs +30 -3
  120. package/dist/index208.mjs +10 -3
  121. package/dist/index209.mjs +4 -13
  122. package/dist/index21.mjs +29 -6
  123. package/dist/index210.mjs +4 -7
  124. package/dist/index211.mjs +13 -12
  125. package/dist/index212.mjs +7 -5
  126. package/dist/index213.mjs +12 -33
  127. package/dist/index214.mjs +5 -31
  128. package/dist/index215.mjs +32 -27
  129. package/dist/index216.mjs +28 -58
  130. package/dist/index217.mjs +28 -2
  131. package/dist/index218.mjs +55 -102
  132. package/dist/index219.mjs +2 -2
  133. package/dist/index22.mjs +8 -21
  134. package/dist/index220.mjs +2 -2
  135. package/dist/index222.mjs +2 -2
  136. package/dist/index223.mjs +2 -2
  137. package/dist/index226.mjs +2 -2
  138. package/dist/index227.mjs +37 -2
  139. package/dist/index228.mjs +2 -37
  140. package/dist/index229.mjs +2 -2
  141. package/dist/index23.mjs +19 -30
  142. package/dist/index230.mjs +244 -2
  143. package/dist/index231.mjs +2 -2
  144. package/dist/index232.mjs +32 -243
  145. package/dist/index233.mjs +65 -2
  146. package/dist/index234.mjs +16 -24
  147. package/dist/index235.mjs +2 -65
  148. package/dist/index236.mjs +103 -20
  149. package/dist/index237.mjs +2 -2
  150. package/dist/index238.mjs +2 -2
  151. package/dist/index24.mjs +31 -18
  152. package/dist/index244.mjs +2 -2
  153. package/dist/index245.mjs +2 -4
  154. package/dist/index246.mjs +2 -2
  155. package/dist/index247.mjs +4 -2
  156. package/dist/index248.mjs +2 -2
  157. package/dist/index249.mjs +2 -2
  158. package/dist/index25.mjs +12 -85
  159. package/dist/index250.mjs +3 -18
  160. package/dist/index251.mjs +2 -47
  161. package/dist/index252.mjs +2 -2
  162. package/dist/index253.mjs +17 -2
  163. package/dist/index254.mjs +13 -2
  164. package/dist/index255.mjs +6 -2
  165. package/dist/index256.mjs +30 -91
  166. package/dist/index257.mjs +2 -3
  167. package/dist/index258.mjs +18 -2
  168. package/dist/index259.mjs +47 -2
  169. package/dist/index26.mjs +85 -12
  170. package/dist/index260.mjs +2 -17
  171. package/dist/index261.mjs +2 -13
  172. package/dist/index262.mjs +2 -6
  173. package/dist/index263.mjs +2 -30
  174. package/dist/index264.mjs +91 -2
  175. package/dist/index266.mjs +2 -2
  176. package/dist/index267.mjs +2 -2
  177. package/dist/index268.mjs +5 -0
  178. package/dist/index269.mjs +5 -0
  179. package/dist/index27.mjs +18 -9
  180. package/dist/index28.mjs +9 -9
  181. package/dist/index29.mjs +11 -101
  182. package/dist/index3.mjs +104 -103
  183. package/dist/index30.mjs +101 -20
  184. package/dist/index31.mjs +20 -65
  185. package/dist/index32.mjs +66 -96
  186. package/dist/index33.mjs +93 -16
  187. package/dist/index34.mjs +12 -12
  188. package/dist/index35.mjs +17 -9
  189. package/dist/index36.mjs +9 -9
  190. package/dist/index37.mjs +10 -122
  191. package/dist/index38.mjs +116 -18
  192. package/dist/index39.mjs +342 -1386
  193. package/dist/index4.mjs +1 -1
  194. package/dist/index40.mjs +25 -2
  195. package/dist/index41.mjs +1425 -52
  196. package/dist/index42.mjs +2 -51
  197. package/dist/index43.mjs +60 -33
  198. package/dist/index44.mjs +49 -13
  199. package/dist/index45.mjs +32 -2262
  200. package/dist/index46.mjs +15 -36
  201. package/dist/index47.mjs +2261 -42
  202. package/dist/index48.mjs +36 -99
  203. package/dist/index49.mjs +43 -96
  204. package/dist/index5.mjs +110 -15
  205. package/dist/index50.mjs +99 -81
  206. package/dist/index51.mjs +93 -57
  207. package/dist/index52.mjs +54 -68
  208. package/dist/index53.mjs +58 -62
  209. package/dist/index54.mjs +74 -58
  210. package/dist/index55.mjs +77 -15
  211. package/dist/index56.mjs +75 -14
  212. package/dist/index57.mjs +15 -59
  213. package/dist/index58.mjs +11 -118
  214. package/dist/index59.mjs +46 -112
  215. package/dist/index6.mjs +15 -195
  216. package/dist/index60.mjs +124 -23
  217. package/dist/index61.mjs +128 -152
  218. package/dist/index64.mjs +24 -2
  219. package/dist/index65.mjs +149 -71
  220. package/dist/index66.mjs +2 -15
  221. package/dist/index67.mjs +68 -56
  222. package/dist/index68.mjs +15 -2
  223. package/dist/index69.mjs +62 -5
  224. package/dist/index7.mjs +188 -101
  225. package/dist/index70.mjs +230 -1129
  226. package/dist/index71.mjs +5 -19
  227. package/dist/index72.mjs +127 -48
  228. package/dist/index73.mjs +67 -32
  229. package/dist/index74.mjs +87 -2
  230. package/dist/index75.mjs +23 -229
  231. package/dist/index76.mjs +8 -5
  232. package/dist/index77.mjs +66 -125
  233. package/dist/index78.mjs +3 -67
  234. package/dist/index79.mjs +2 -87
  235. package/dist/index8.mjs +103 -73
  236. package/dist/index80.mjs +78 -24
  237. package/dist/index81.mjs +52 -7
  238. package/dist/index82.mjs +5 -74
  239. package/dist/index83.mjs +4 -3
  240. package/dist/index84.mjs +179 -2
  241. package/dist/index85.mjs +49 -79
  242. package/dist/index86.mjs +68 -53
  243. package/dist/index87.mjs +2 -6
  244. package/dist/index88.mjs +5 -4
  245. package/dist/index89.mjs +1123 -168
  246. package/dist/index9.mjs +72 -90
  247. package/dist/index90.mjs +20 -53
  248. package/dist/index91.mjs +55 -69
  249. package/dist/index92.mjs +33 -34
  250. package/dist/index93.mjs +2 -43
  251. package/dist/index94.mjs +34 -2
  252. package/dist/index95.mjs +43 -2
  253. package/dist/index96.mjs +2 -28
  254. package/dist/index97.mjs +2 -18
  255. package/dist/index98.mjs +26 -213
  256. package/dist/index99.mjs +13 -175
  257. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  258. package/dist/providers/TikTokPixelProvider.d.ts +22 -0
  259. package/dist/providers/TikTokPixelProvider.d.ts.map +1 -0
  260. package/package.json +3 -2
  261. package/src/contexts/CartContext.tsx +17 -6
  262. package/src/index.ts +5 -0
  263. package/src/providers/StorefrontProvider.tsx +11 -8
  264. package/src/providers/TikTokPixelProvider.tsx +226 -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
  };