@instockng/storefront-ui 1.0.10 → 1.0.11

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 (97) hide show
  1. package/README.md +26 -0
  2. package/dist/components/Checkout.d.ts.map +1 -1
  3. package/dist/contexts/CartContext.d.ts.map +1 -1
  4. package/dist/index10.mjs +144 -141
  5. package/dist/index101.mjs +1 -1
  6. package/dist/index102.mjs +3 -3
  7. package/dist/index103.mjs +3 -3
  8. package/dist/index111.mjs +1 -1
  9. package/dist/index20.mjs +2 -2
  10. package/dist/index21.mjs +1 -1
  11. package/dist/index28.mjs +11 -11
  12. package/dist/index29.mjs +1 -1
  13. package/dist/index3.mjs +83 -73
  14. package/dist/index30.mjs +1 -1
  15. package/dist/index31.mjs +1 -1
  16. package/dist/index32.mjs +1 -1
  17. package/dist/index37.mjs +1 -1
  18. package/dist/index41.mjs +36 -23
  19. package/dist/index42.mjs +44 -36
  20. package/dist/index43.mjs +99 -44
  21. package/dist/index44.mjs +112 -99
  22. package/dist/index45.mjs +44 -80
  23. package/dist/index46.mjs +64 -53
  24. package/dist/index47.mjs +66 -49
  25. package/dist/index48.mjs +54 -73
  26. package/dist/index49.mjs +52 -63
  27. package/dist/index50.mjs +14 -70
  28. package/dist/index51.mjs +13 -14
  29. package/dist/index52.mjs +58 -13
  30. package/dist/index53.mjs +101 -34
  31. package/dist/index54.mjs +99 -95
  32. package/dist/index55.mjs +22 -132
  33. package/dist/index58.mjs +2 -2
  34. package/dist/index59.mjs +4 -3
  35. package/dist/index60.mjs +4 -2
  36. package/dist/index61.mjs +2 -5
  37. package/dist/index62.mjs +30 -231
  38. package/dist/index63.mjs +42 -5
  39. package/dist/index64.mjs +228 -127
  40. package/dist/index65.mjs +4 -66
  41. package/dist/index66.mjs +124 -77
  42. package/dist/index67.mjs +65 -26
  43. package/dist/index68.mjs +84 -6
  44. package/dist/index69.mjs +26 -72
  45. package/dist/index70.mjs +8 -3
  46. package/dist/index71.mjs +75 -2
  47. package/dist/index72.mjs +3 -82
  48. package/dist/index73.mjs +2 -54
  49. package/dist/index74.mjs +82 -5
  50. package/dist/index75.mjs +53 -4
  51. package/dist/index76.mjs +5 -178
  52. package/dist/index77.mjs +5 -53
  53. package/dist/index78.mjs +178 -68
  54. package/dist/index79.mjs +50 -31
  55. package/dist/index80.mjs +69 -43
  56. package/dist/index81.mjs +1 -1
  57. package/dist/index82.mjs +1 -1
  58. package/dist/index83.mjs +5 -5
  59. package/dist/index85.mjs +2 -2
  60. package/dist/index87.mjs +2 -2
  61. package/dist/index89.mjs +1 -1
  62. package/dist/index91.mjs +4 -4
  63. package/dist/index92.mjs +3 -3
  64. package/dist/index93.mjs +1 -1
  65. package/dist/index94.mjs +3 -3
  66. package/dist/index99.mjs +1 -1
  67. package/dist/styles.css +1 -0
  68. package/package.json +14 -13
  69. package/src/components/CartItem.stories.tsx +94 -0
  70. package/src/components/CartItem.tsx +141 -0
  71. package/src/components/Checkout.stories.tsx +380 -0
  72. package/src/components/Checkout.tsx +954 -0
  73. package/src/components/DiscountCodeInput.stories.tsx +76 -0
  74. package/src/components/DiscountCodeInput.tsx +162 -0
  75. package/src/components/OrderConfirmation.stories.tsx +142 -0
  76. package/src/components/OrderConfirmation.tsx +301 -0
  77. package/src/components/ProductCard.stories.tsx +112 -0
  78. package/src/components/ProductCard.tsx +195 -0
  79. package/src/components/ProductGrid.stories.tsx +137 -0
  80. package/src/components/ProductGrid.tsx +141 -0
  81. package/src/components/ShoppingCart.stories.tsx +459 -0
  82. package/src/components/ShoppingCart.tsx +262 -0
  83. package/src/components/ui/badge.tsx +37 -0
  84. package/src/components/ui/button.tsx +71 -0
  85. package/src/components/ui/card.tsx +79 -0
  86. package/src/components/ui/form-input.tsx +78 -0
  87. package/src/components/ui/form-select.tsx +73 -0
  88. package/src/components/ui/modal.tsx +181 -0
  89. package/src/contexts/CartContext.tsx +305 -0
  90. package/src/hooks/usePaystackPayment.ts +137 -0
  91. package/src/index.ts +51 -0
  92. package/src/lib/utils.ts +45 -0
  93. package/src/paystack.svg +67 -0
  94. package/src/providers/StorefrontProvider.tsx +70 -0
  95. package/src/styles.css +1 -0
  96. package/src/test-utils/MockCartProvider.tsx +424 -0
  97. package/src/vite-env.d.ts +12 -0
package/dist/index44.mjs CHANGED
@@ -1,102 +1,115 @@
1
1
  'use client';
2
- var p = Object.defineProperty;
3
- var k = (r, e, i) => e in r ? p(r, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : r[e] = i;
4
- var h = (r, e, i) => k(r, typeof e != "symbol" ? e + "" : e, i);
5
- import { serialize as j } from "./index79.mjs";
6
- import { mergePath as U, replaceUrlParam as P, buildSearchParams as S, removeIndexString as w, replaceUrlProtocol as x, deepMerge as C } from "./index80.mjs";
7
- var v = (r, e) => new Proxy(() => {
8
- }, {
9
- get(t, s) {
10
- if (!(typeof s != "string" || s === "then"))
11
- return v(r, [...e, s]);
12
- },
13
- apply(t, s, a) {
14
- return r({
15
- path: e,
16
- args: a
17
- });
18
- }
19
- }), T = class {
20
- constructor(r, e) {
21
- h(this, "url");
22
- h(this, "method");
23
- h(this, "queryParams");
24
- h(this, "pathParams", {});
25
- h(this, "rBody");
26
- h(this, "cType");
27
- h(this, "fetch", async (r, e) => {
28
- if (r) {
29
- if (r.query && (this.queryParams = S(r.query)), r.form) {
30
- const o = new FormData();
31
- for (const [c, f] of Object.entries(r.form))
32
- if (Array.isArray(f))
33
- for (const l of f)
34
- o.append(c, l);
35
- else
36
- o.append(c, f);
37
- this.rBody = o;
38
- }
39
- r.json && (this.rBody = JSON.stringify(r.json), this.cType = "application/json"), r.param && (this.pathParams = r.param);
40
- }
41
- let i = this.method.toUpperCase();
42
- const t = {
43
- ...r == null ? void 0 : r.header,
44
- ...typeof (e == null ? void 0 : e.headers) == "function" ? await e.headers() : e == null ? void 0 : e.headers
45
- };
46
- if (r != null && r.cookie) {
47
- const o = [];
48
- for (const [c, f] of Object.entries(r.cookie))
49
- o.push(j(c, f, { path: "/" }));
50
- t.Cookie = o.join(",");
51
- }
52
- this.cType && (t["Content-Type"] = this.cType);
53
- const s = new Headers(t ?? void 0);
54
- let a = this.url;
55
- a = w(a), a = P(a, this.pathParams), this.queryParams && (a = a + "?" + this.queryParams.toString()), i = this.method.toUpperCase();
56
- const u = !(i === "GET" || i === "HEAD");
57
- return ((e == null ? void 0 : e.fetch) || fetch)(a, {
58
- body: u ? this.rBody : void 0,
59
- method: i,
60
- headers: s,
61
- ...e == null ? void 0 : e.init
62
- });
63
- });
64
- this.url = r, this.method = e;
65
- }
66
- }, E = (r, e) => v(function i(t) {
67
- var l;
68
- const s = [...t.path], a = s.slice(-3).reverse();
69
- if (a[0] === "toString")
70
- return a[1] === "name" ? a[2] || "" : i.toString();
71
- if (a[0] === "valueOf")
72
- return a[1] === "name" ? a[2] || "" : i;
73
- let u = "";
74
- if (/^\$/.test(a[0])) {
75
- const n = s.pop();
76
- n && (u = n.replace(/^\$/, ""));
77
- }
78
- const o = s.join("/"), c = U(r, o);
79
- if (u === "url") {
80
- let n = c;
81
- return t.args[0] && (t.args[0].param && (n = P(c, t.args[0].param)), t.args[0].query && (n = n + "?" + S(t.args[0].query).toString())), n = w(n), new URL(n);
82
- }
83
- if (u === "ws") {
84
- const n = x(
85
- t.args[0] && t.args[0].param ? P(c, t.args[0].param) : c,
86
- "ws"
87
- ), y = new URL(n), b = (l = t.args[0]) == null ? void 0 : l.query;
88
- return b && Object.entries(b).forEach(([m, d]) => {
89
- Array.isArray(d) ? d.forEach((q) => y.searchParams.append(m, q)) : y.searchParams.set(m, d);
90
- }), ((...m) => (e == null ? void 0 : e.webSocket) !== void 0 && typeof e.webSocket == "function" ? e.webSocket(...m) : new WebSocket(...m))(y.toString());
91
- }
92
- const f = new T(c, u);
93
- if (u) {
94
- e ?? (e = {});
95
- const n = C(e, { ...t.args[1] });
96
- return f.fetch(t.args[0], n);
97
- }
98
- return f;
99
- }, []);
2
+ import { useQueryClient as y, useMutation as m } from "@tanstack/react-query";
3
+ import { useQueryUnwrapped as p } from "./index59.mjs";
4
+ import { createAdminRpcClients as d, authHeaders as c } from "./index21.mjs";
5
+ import { queryKeys as i } from "./index26.mjs";
6
+ import { useApiConfig as l } from "./index19.mjs";
7
+ function F(e) {
8
+ const { baseURL: r, authToken: n } = l();
9
+ return p({
10
+ queryKey: i.admin.orders.list(),
11
+ queryFn: async () => {
12
+ const t = await d(r).orders.index.$get({}, c(n));
13
+ if (!t.ok)
14
+ throw new Error(`Failed to fetch orders: ${t.statusText}`);
15
+ return t.json();
16
+ },
17
+ ...e
18
+ });
19
+ }
20
+ function T(e, r) {
21
+ const { baseURL: n, authToken: s } = l();
22
+ return p({
23
+ queryKey: i.admin.orders.detail(e),
24
+ queryFn: async () => {
25
+ const o = await d(n).orders[":id"].$get(
26
+ { param: { id: e } },
27
+ c(s)
28
+ );
29
+ if (!o.ok)
30
+ throw new Error(`Failed to fetch order: ${o.statusText}`);
31
+ return o.json();
32
+ },
33
+ ...r
34
+ });
35
+ }
36
+ function $(e) {
37
+ const { baseURL: r, authToken: n } = l(), s = y();
38
+ return m({
39
+ mutationFn: async (t) => {
40
+ const a = await d(r).orders.index.$post(
41
+ { json: t },
42
+ c(n)
43
+ );
44
+ if (!a.ok)
45
+ throw new Error(`Failed to create order: ${a.statusText}`);
46
+ return a.json();
47
+ },
48
+ onSuccess: () => {
49
+ s.invalidateQueries({ queryKey: i.admin.orders.all });
50
+ },
51
+ ...e
52
+ });
53
+ }
54
+ function j(e, r) {
55
+ const { baseURL: n, authToken: s } = l(), t = y();
56
+ return m({
57
+ mutationFn: async (o) => {
58
+ const u = await d(n).orders[":id"].$patch(
59
+ { param: { id: e }, json: o },
60
+ c(s)
61
+ );
62
+ if (!u.ok)
63
+ throw new Error(`Failed to update order: ${u.statusText}`);
64
+ return u.json();
65
+ },
66
+ onSuccess: () => {
67
+ t.invalidateQueries({ queryKey: i.admin.orders.detail(e) }), t.invalidateQueries({ queryKey: i.admin.orders.all });
68
+ },
69
+ ...r
70
+ });
71
+ }
72
+ function x(e, r) {
73
+ const { baseURL: n, authToken: s } = l(), t = y();
74
+ return m({
75
+ mutationFn: async (o) => {
76
+ const u = await d(n).orders[":id"].status.$patch(
77
+ { param: { id: e }, json: o },
78
+ c(s)
79
+ );
80
+ if (!u.ok)
81
+ throw new Error(`Failed to update order status: ${u.statusText}`);
82
+ return u.json();
83
+ },
84
+ onSuccess: () => {
85
+ t.invalidateQueries({ queryKey: i.admin.orders.detail(e) }), t.invalidateQueries({ queryKey: i.admin.orders.all });
86
+ },
87
+ ...r
88
+ });
89
+ }
90
+ function K(e, r) {
91
+ const { baseURL: n, authToken: s } = l(), t = y();
92
+ return m({
93
+ mutationFn: async () => {
94
+ const a = await d(n).orders[":id"].$delete(
95
+ { param: { id: e } },
96
+ c(s)
97
+ );
98
+ if (!a.ok)
99
+ throw new Error(`Failed to delete order: ${a.statusText}`);
100
+ return a.json();
101
+ },
102
+ onSuccess: () => {
103
+ t.invalidateQueries({ queryKey: i.admin.orders.all });
104
+ },
105
+ ...r
106
+ });
107
+ }
100
108
  export {
101
- E as hc
109
+ $ as useCreateOrder,
110
+ K as useDeleteOrder,
111
+ T as useGetOrder,
112
+ F as useListOrders,
113
+ j as useUpdateOrder,
114
+ x as useUpdateOrderStatus
102
115
  };
package/dist/index45.mjs CHANGED
@@ -1,115 +1,79 @@
1
1
  'use client';
2
2
  import { useQueryClient as y, useMutation as m } from "@tanstack/react-query";
3
- import { useQueryUnwrapped as p } from "./index61.mjs";
4
- import { createAdminRpcClients as d, authHeaders as c } from "./index21.mjs";
5
- import { queryKeys as i } from "./index26.mjs";
6
- import { useApiConfig as l } from "./index19.mjs";
7
- function F(e) {
8
- const { baseURL: r, authToken: n } = l();
9
- return p({
10
- queryKey: i.admin.orders.list(),
3
+ import { useQueryUnwrapped as b } from "./index59.mjs";
4
+ import { createAdminRpcClients as u, authHeaders as c } from "./index21.mjs";
5
+ import { queryKeys as o } from "./index26.mjs";
6
+ import { useApiConfig as d } from "./index19.mjs";
7
+ function k(e) {
8
+ const { baseURL: t, authToken: r } = d();
9
+ return b({
10
+ queryKey: o.admin.brands.list(),
11
11
  queryFn: async () => {
12
- const t = await d(r).orders.index.$get({}, c(n));
13
- if (!t.ok)
14
- throw new Error(`Failed to fetch orders: ${t.statusText}`);
15
- return t.json();
12
+ const n = await u(t).brands.index.$get({}, c(r));
13
+ if (!n.ok) throw new Error(`Failed to fetch brands: ${n.statusText}`);
14
+ return n.json();
16
15
  },
17
16
  ...e
18
17
  });
19
18
  }
20
- function T(e, r) {
21
- const { baseURL: n, authToken: s } = l();
22
- return p({
23
- queryKey: i.admin.orders.detail(e),
19
+ function F(e, t) {
20
+ const { baseURL: r, authToken: s } = d();
21
+ return b({
22
+ queryKey: o.admin.brands.detail(e),
24
23
  queryFn: async () => {
25
- const o = await d(n).orders[":id"].$get(
26
- { param: { id: e } },
27
- c(s)
28
- );
29
- if (!o.ok)
30
- throw new Error(`Failed to fetch order: ${o.statusText}`);
31
- return o.json();
24
+ const i = await u(r).brands[":id"].$get({ param: { id: e } }, c(s));
25
+ if (!i.ok) throw new Error(`Failed to fetch brand: ${i.statusText}`);
26
+ return i.json();
32
27
  },
33
- ...r
28
+ ...t
34
29
  });
35
30
  }
36
- function $(e) {
37
- const { baseURL: r, authToken: n } = l(), s = y();
31
+ function T(e) {
32
+ const { baseURL: t, authToken: r } = d(), s = y();
38
33
  return m({
39
- mutationFn: async (t) => {
40
- const a = await d(r).orders.index.$post(
41
- { json: t },
42
- c(n)
43
- );
44
- if (!a.ok)
45
- throw new Error(`Failed to create order: ${a.statusText}`);
34
+ mutationFn: async (n) => {
35
+ const a = await u(t).brands.index.$post({ json: n }, c(r));
36
+ if (!a.ok) throw new Error(`Failed to create brand: ${a.statusText}`);
46
37
  return a.json();
47
38
  },
48
39
  onSuccess: () => {
49
- s.invalidateQueries({ queryKey: i.admin.orders.all });
40
+ s.invalidateQueries({ queryKey: o.admin.brands.all });
50
41
  },
51
42
  ...e
52
43
  });
53
44
  }
54
- function j(e, r) {
55
- const { baseURL: n, authToken: s } = l(), t = y();
45
+ function $(e, t) {
46
+ const { baseURL: r, authToken: s } = d(), n = y();
56
47
  return m({
57
- mutationFn: async (o) => {
58
- const u = await d(n).orders[":id"].$patch(
59
- { param: { id: e }, json: o },
60
- c(s)
61
- );
62
- if (!u.ok)
63
- throw new Error(`Failed to update order: ${u.statusText}`);
64
- return u.json();
48
+ mutationFn: async (i) => {
49
+ const l = await u(r).brands[":id"].$patch({ json: i, param: { id: e } }, c(s));
50
+ if (!l.ok) throw new Error(`Failed to update brand: ${l.statusText}`);
51
+ return l.json();
65
52
  },
66
53
  onSuccess: () => {
67
- t.invalidateQueries({ queryKey: i.admin.orders.detail(e) }), t.invalidateQueries({ queryKey: i.admin.orders.all });
54
+ n.invalidateQueries({ queryKey: o.admin.brands.detail(e) }), n.invalidateQueries({ queryKey: o.admin.brands.all });
68
55
  },
69
- ...r
56
+ ...t
70
57
  });
71
58
  }
72
- function x(e, r) {
73
- const { baseURL: n, authToken: s } = l(), t = y();
74
- return m({
75
- mutationFn: async (o) => {
76
- const u = await d(n).orders[":id"].status.$patch(
77
- { param: { id: e }, json: o },
78
- c(s)
79
- );
80
- if (!u.ok)
81
- throw new Error(`Failed to update order status: ${u.statusText}`);
82
- return u.json();
83
- },
84
- onSuccess: () => {
85
- t.invalidateQueries({ queryKey: i.admin.orders.detail(e) }), t.invalidateQueries({ queryKey: i.admin.orders.all });
86
- },
87
- ...r
88
- });
89
- }
90
- function K(e, r) {
91
- const { baseURL: n, authToken: s } = l(), t = y();
59
+ function x(e, t) {
60
+ const { baseURL: r, authToken: s } = d(), n = y();
92
61
  return m({
93
62
  mutationFn: async () => {
94
- const a = await d(n).orders[":id"].$delete(
95
- { param: { id: e } },
96
- c(s)
97
- );
98
- if (!a.ok)
99
- throw new Error(`Failed to delete order: ${a.statusText}`);
63
+ const a = await u(r).brands[":id"].$delete({ param: { id: e } }, c(s));
64
+ if (!a.ok) throw new Error(`Failed to delete brand: ${a.statusText}`);
100
65
  return a.json();
101
66
  },
102
67
  onSuccess: () => {
103
- t.invalidateQueries({ queryKey: i.admin.orders.all });
68
+ n.invalidateQueries({ queryKey: o.admin.brands.all });
104
69
  },
105
- ...r
70
+ ...t
106
71
  });
107
72
  }
108
73
  export {
109
- $ as useCreateOrder,
110
- K as useDeleteOrder,
111
- T as useGetOrder,
112
- F as useListOrders,
113
- j as useUpdateOrder,
114
- x as useUpdateOrderStatus
74
+ T as useCreateBrand,
75
+ x as useDeleteBrand,
76
+ F as useGetBrand,
77
+ k as useListBrands,
78
+ $ as useUpdateBrand
115
79
  };
package/dist/index46.mjs CHANGED
@@ -1,79 +1,90 @@
1
1
  'use client';
2
- import { useQueryClient as y, useMutation as m } from "@tanstack/react-query";
3
- import { useQueryUnwrapped as b } from "./index61.mjs";
4
- import { createAdminRpcClients as u, authHeaders as c } from "./index21.mjs";
5
- import { queryKeys as o } from "./index26.mjs";
2
+ import { useQueryClient as p, useMutation as y } from "@tanstack/react-query";
3
+ import { useQueryUnwrapped as m } from "./index59.mjs";
4
+ import { createAdminRpcClients as a, authHeaders as c } from "./index21.mjs";
5
+ import { queryKeys as i } from "./index26.mjs";
6
6
  import { useApiConfig as d } from "./index19.mjs";
7
- function k(e) {
8
- const { baseURL: t, authToken: r } = d();
9
- return b({
10
- queryKey: o.admin.brands.list(),
7
+ function F(t, n) {
8
+ const { baseURL: r, authToken: s } = d();
9
+ return m({
10
+ queryKey: i.admin.products.list(t),
11
11
  queryFn: async () => {
12
- const n = await u(t).brands.index.$get({}, c(r));
13
- if (!n.ok) throw new Error(`Failed to fetch brands: ${n.statusText}`);
14
- return n.json();
12
+ const e = await a(r).products.index.$get(
13
+ t ? { query: { brandId: t } } : {},
14
+ c(s)
15
+ );
16
+ if (!e.ok) throw new Error(`Failed to fetch products: ${e.statusText}`);
17
+ return e.json();
15
18
  },
16
- ...e
19
+ ...n
17
20
  });
18
21
  }
19
- function F(e, t) {
22
+ function T(t, n) {
20
23
  const { baseURL: r, authToken: s } = d();
21
- return b({
22
- queryKey: o.admin.brands.detail(e),
24
+ return m({
25
+ queryKey: i.admin.products.detail(t),
23
26
  queryFn: async () => {
24
- const i = await u(r).brands[":id"].$get({ param: { id: e } }, c(s));
25
- if (!i.ok) throw new Error(`Failed to fetch brand: ${i.statusText}`);
26
- return i.json();
27
+ const e = await a(r).products[":id"].$get(
28
+ { param: { id: t } },
29
+ c(s)
30
+ );
31
+ if (!e.ok) throw new Error(`Failed to fetch product: ${e.statusText}`);
32
+ return e.json();
27
33
  },
28
- ...t
34
+ ...n
29
35
  });
30
36
  }
31
- function T(e) {
32
- const { baseURL: t, authToken: r } = d(), s = y();
33
- return m({
34
- mutationFn: async (n) => {
35
- const a = await u(t).brands.index.$post({ json: n }, c(r));
36
- if (!a.ok) throw new Error(`Failed to create brand: ${a.statusText}`);
37
- return a.json();
38
- },
39
- onSuccess: () => {
40
- s.invalidateQueries({ queryKey: o.admin.brands.all });
37
+ function $(t) {
38
+ const { baseURL: n, authToken: r } = d(), s = p();
39
+ return y({
40
+ mutationFn: async (o) => {
41
+ const u = await a(n).products.index.$post(
42
+ { json: o },
43
+ c(r)
44
+ );
45
+ if (!u.ok) throw new Error(`Failed to create product: ${u.statusText}`);
46
+ return u.json();
41
47
  },
42
- ...e
48
+ onSuccess: () => s.invalidateQueries({ queryKey: i.admin.products.all }),
49
+ ...t
43
50
  });
44
51
  }
45
- function $(e, t) {
46
- const { baseURL: r, authToken: s } = d(), n = y();
47
- return m({
48
- mutationFn: async (i) => {
49
- const l = await u(r).brands[":id"].$patch({ json: i, param: { id: e } }, c(s));
50
- if (!l.ok) throw new Error(`Failed to update brand: ${l.statusText}`);
52
+ function x(t, n) {
53
+ const { baseURL: r, authToken: s } = d(), o = p();
54
+ return y({
55
+ mutationFn: async (e) => {
56
+ const l = await a(r).products[":id"].$patch(
57
+ { param: { id: t }, json: e },
58
+ c(s)
59
+ );
60
+ if (!l.ok) throw new Error(`Failed to update product: ${l.statusText}`);
51
61
  return l.json();
52
62
  },
53
63
  onSuccess: () => {
54
- n.invalidateQueries({ queryKey: o.admin.brands.detail(e) }), n.invalidateQueries({ queryKey: o.admin.brands.all });
64
+ o.invalidateQueries({ queryKey: i.admin.products.detail(t) }), o.invalidateQueries({ queryKey: i.admin.products.all });
55
65
  },
56
- ...t
66
+ ...n
57
67
  });
58
68
  }
59
- function x(e, t) {
60
- const { baseURL: r, authToken: s } = d(), n = y();
61
- return m({
69
+ function j(t, n) {
70
+ const { baseURL: r, authToken: s } = d(), o = p();
71
+ return y({
62
72
  mutationFn: async () => {
63
- const a = await u(r).brands[":id"].$delete({ param: { id: e } }, c(s));
64
- if (!a.ok) throw new Error(`Failed to delete brand: ${a.statusText}`);
65
- return a.json();
73
+ const u = await a(r).products[":id"].$delete(
74
+ { param: { id: t } },
75
+ c(s)
76
+ );
77
+ if (!u.ok) throw new Error(`Failed to delete product: ${u.statusText}`);
78
+ return u.json();
66
79
  },
67
- onSuccess: () => {
68
- n.invalidateQueries({ queryKey: o.admin.brands.all });
69
- },
70
- ...t
80
+ onSuccess: () => o.invalidateQueries({ queryKey: i.admin.products.all }),
81
+ ...n
71
82
  });
72
83
  }
73
84
  export {
74
- T as useCreateBrand,
75
- x as useDeleteBrand,
76
- F as useGetBrand,
77
- k as useListBrands,
78
- $ as useUpdateBrand
85
+ $ as useCreateProduct,
86
+ j as useDeleteProduct,
87
+ T as useGetProduct,
88
+ F as useListProducts,
89
+ x as useUpdateProduct
79
90
  };