@instockng/storefront-ui 1.0.83 → 1.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index102.mjs +2 -34
- package/dist/index103.mjs +31 -40
- package/dist/index104.mjs +43 -2
- package/dist/index14.mjs +54 -54
- package/dist/index144.mjs +1 -1
- package/dist/index146.mjs +1 -1
- package/dist/index147.mjs +2 -2
- package/dist/index151.mjs +2 -2
- package/dist/index154.mjs +4 -4
- package/dist/index155.mjs +5 -5
- package/dist/index16.mjs +131 -131
- package/dist/index160.mjs +1 -1
- package/dist/index161.mjs +1 -1
- package/dist/index162.mjs +1 -1
- package/dist/index163.mjs +1 -1
- package/dist/index164.mjs +1 -1
- package/dist/index166.mjs +1 -1
- package/dist/index167.mjs +1 -1
- package/dist/index169.mjs +2 -2
- package/dist/index170.mjs +1 -1
- package/dist/index175.mjs +2 -2
- package/dist/index177.mjs +1 -1
- package/dist/index179.mjs +2 -2
- package/dist/index180.mjs +5 -5
- package/dist/index183.mjs +1 -1
- package/dist/index186.mjs +1 -1
- package/dist/index189.mjs +1 -1
- package/dist/index190.mjs +1 -1
- package/dist/index194.mjs +1 -1
- package/dist/index196.mjs +1 -1
- package/dist/index200.mjs +1 -1
- package/dist/index202.mjs +1 -1
- package/dist/index211.mjs +2 -2
- package/dist/index215.mjs +2 -31
- package/dist/index216.mjs +2 -11
- package/dist/index217.mjs +2 -4
- package/dist/index218.mjs +2 -4
- package/dist/index219.mjs +2 -13
- package/dist/index220.mjs +2 -7
- package/dist/index221.mjs +107 -11
- package/dist/index222.mjs +2 -5
- package/dist/index223.mjs +2 -33
- package/dist/index224.mjs +2 -31
- package/dist/index225.mjs +2 -28
- package/dist/index226.mjs +241 -58
- package/dist/index227.mjs +2 -2
- package/dist/index228.mjs +33 -2
- package/dist/index229.mjs +65 -2
- package/dist/index230.mjs +25 -2
- package/dist/index231.mjs +2 -2
- package/dist/index233.mjs +37 -2
- package/dist/index234.mjs +2 -2
- package/dist/index235.mjs +2 -108
- package/dist/index236.mjs +2 -2
- package/dist/index238.mjs +2 -244
- package/dist/index239.mjs +2 -2
- package/dist/index240.mjs +2 -33
- package/dist/index241.mjs +2 -65
- package/dist/index242.mjs +13 -25
- package/dist/index243.mjs +7 -2
- package/dist/index244.mjs +31 -2
- package/dist/index245.mjs +10 -36
- package/dist/index246.mjs +4 -2
- package/dist/index247.mjs +4 -2
- package/dist/index248.mjs +2 -2
- package/dist/index249.mjs +4 -2
- package/dist/index250.mjs +12 -2
- package/dist/index251.mjs +5 -2
- package/dist/index252.mjs +33 -2
- package/dist/index253.mjs +31 -2
- package/dist/index254.mjs +28 -2
- package/dist/index255.mjs +61 -4
- package/dist/index258.mjs +2 -3
- package/dist/index259.mjs +2 -2
- package/dist/index260.mjs +18 -2
- package/dist/index261.mjs +46 -16
- package/dist/index262.mjs +2 -13
- package/dist/index263.mjs +2 -6
- package/dist/index264.mjs +2 -30
- package/dist/index266.mjs +91 -2
- package/dist/index267.mjs +2 -2
- package/dist/index268.mjs +3 -2
- package/dist/index269.mjs +2 -2
- package/dist/index270.mjs +2 -91
- package/dist/index271.mjs +17 -2
- package/dist/index272.mjs +12 -17
- package/dist/index273.mjs +6 -47
- package/dist/index274.mjs +30 -2
- package/dist/index275.mjs +2 -2
- package/dist/index277.mjs +2 -2
- package/dist/index36.mjs +1 -1
- package/dist/index37.mjs +1 -1
- package/dist/index38.mjs +1 -1
- package/dist/index39.mjs +1 -1
- package/dist/index40.mjs +1 -1
- package/dist/index41.mjs +2 -2
- package/dist/index43.mjs +2 -2
- package/dist/index46.mjs +3 -3
- package/dist/index56.mjs +2 -2
- package/dist/index57.mjs +1 -1
- package/dist/index58.mjs +1 -1
- package/dist/index59.mjs +1 -1
- package/dist/index60.mjs +1 -1
- package/dist/index61.mjs +1 -1
- package/dist/index62.mjs +1 -1
- package/dist/index63.mjs +1 -1
- package/dist/index64.mjs +1 -1
- package/dist/index65.mjs +1 -1
- package/dist/index66.mjs +1 -1
- package/dist/index67.mjs +1 -1
- package/dist/index68.mjs +1 -1
- package/dist/index69.mjs +1 -1
- package/dist/index70.mjs +23 -4
- package/dist/index71.mjs +150 -21
- package/dist/index72.mjs +2 -153
- package/dist/index74.mjs +75 -2
- package/dist/index75.mjs +14 -74
- package/dist/index76.mjs +62 -14
- package/dist/index77.mjs +4 -62
- package/dist/index83.mjs +1 -1
- package/package.json +2 -2
- package/src/components/Checkout.stories.tsx +6 -5
- package/src/components/Checkout.tsx +1 -1
- package/src/components/ShoppingCart.tsx +2 -2
- package/src/test-utils/MockCartProvider.tsx +0 -1
package/dist/index75.mjs
CHANGED
|
@@ -1,78 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
const c = /[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g, x = (u) => u.match(c) || [], d = (u) => u[0].toUpperCase() + u.slice(1), a = (u, f) => x(u).join(f).toLowerCase(), b = (u) => x(u).reduce(
|
|
3
|
+
(f, e) => `${f}${f ? e[0].toUpperCase() + e.slice(1).toLowerCase() : e.toLowerCase()}`,
|
|
4
|
+
""
|
|
5
|
+
), s = (u) => d(b(u)), t = (u) => a(u, "_"), o = (u) => a(u, "-"), n = (u) => d(a(u, " ")), r = (u) => x(u).map(d).join(" ");
|
|
6
|
+
var C = {
|
|
7
|
+
words: x,
|
|
8
|
+
upperFirst: d,
|
|
9
|
+
camelCase: b,
|
|
10
|
+
pascalCase: s,
|
|
11
|
+
snakeCase: t,
|
|
12
|
+
kebabCase: o,
|
|
13
|
+
sentenceCase: n,
|
|
14
|
+
titleCase: r
|
|
7
15
|
};
|
|
8
|
-
c.prototype.get = function(e) {
|
|
9
|
-
return this._values[e];
|
|
10
|
-
};
|
|
11
|
-
c.prototype.set = function(e, t) {
|
|
12
|
-
return this._size >= this._maxSize && this.clear(), e in this._values || this._size++, this._values[e] = t;
|
|
13
|
-
};
|
|
14
|
-
var d = /[^.^\]^[]+|(?=\[\]|\.\.)/g, C = /^\d+$/, m = /^\d/, A = /[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g, x = /^\s*(['"]?)(.*?)(\1)\s*$/, h = 512, E = new c(h), v = new c(h), g = new c(h), I = {
|
|
15
|
-
Cache: c,
|
|
16
|
-
split: l,
|
|
17
|
-
normalizePath: f,
|
|
18
|
-
setter: function(e) {
|
|
19
|
-
var t = f(e);
|
|
20
|
-
return v.get(e) || v.set(e, function(s, n) {
|
|
21
|
-
for (var r = 0, o = t.length, u = s; r < o - 1; ) {
|
|
22
|
-
var a = t[r];
|
|
23
|
-
if (a === "__proto__" || a === "constructor" || a === "prototype")
|
|
24
|
-
return s;
|
|
25
|
-
u = u[t[r++]];
|
|
26
|
-
}
|
|
27
|
-
u[t[r]] = n;
|
|
28
|
-
});
|
|
29
|
-
},
|
|
30
|
-
getter: function(e, t) {
|
|
31
|
-
var i = f(e);
|
|
32
|
-
return g.get(e) || g.set(e, function(n) {
|
|
33
|
-
for (var r = 0, o = i.length; r < o; )
|
|
34
|
-
if (n != null || !t) n = n[i[r++]];
|
|
35
|
-
else return;
|
|
36
|
-
return n;
|
|
37
|
-
});
|
|
38
|
-
},
|
|
39
|
-
join: function(e) {
|
|
40
|
-
return e.reduce(function(t, i) {
|
|
41
|
-
return t + (_(i) || C.test(i) ? "[" + i + "]" : (t ? "." : "") + i);
|
|
42
|
-
}, "");
|
|
43
|
-
},
|
|
44
|
-
forEach: function(e, t, i) {
|
|
45
|
-
y(Array.isArray(e) ? e : l(e), t, i);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
function f(e) {
|
|
49
|
-
return E.get(e) || E.set(
|
|
50
|
-
e,
|
|
51
|
-
l(e).map(function(t) {
|
|
52
|
-
return t.replace(x, "$2");
|
|
53
|
-
})
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
function l(e) {
|
|
57
|
-
return e.match(d) || [""];
|
|
58
|
-
}
|
|
59
|
-
function y(e, t, i) {
|
|
60
|
-
var s = e.length, n, r, o, u;
|
|
61
|
-
for (r = 0; r < s; r++)
|
|
62
|
-
n = e[r], n && (S(n) && (n = '"' + n + '"'), u = _(n), o = !u && /^\d+$/.test(n), t.call(i, n, u, o, r, e));
|
|
63
|
-
}
|
|
64
|
-
function _(e) {
|
|
65
|
-
return typeof e == "string" && e && ["'", '"'].indexOf(e.charAt(0)) !== -1;
|
|
66
|
-
}
|
|
67
|
-
function z(e) {
|
|
68
|
-
return e.match(m) && !e.match(C);
|
|
69
|
-
}
|
|
70
|
-
function G(e) {
|
|
71
|
-
return A.test(e);
|
|
72
|
-
}
|
|
73
|
-
function S(e) {
|
|
74
|
-
return !_(e) && (z(e) || G(e));
|
|
75
|
-
}
|
|
76
16
|
export {
|
|
77
|
-
|
|
17
|
+
C as t
|
|
78
18
|
};
|
package/dist/index76.mjs
CHANGED
|
@@ -1,18 +1,66 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var C = {
|
|
7
|
-
words: x,
|
|
8
|
-
upperFirst: d,
|
|
9
|
-
camelCase: b,
|
|
10
|
-
pascalCase: s,
|
|
11
|
-
snakeCase: t,
|
|
12
|
-
kebabCase: o,
|
|
13
|
-
sentenceCase: n,
|
|
14
|
-
titleCase: r
|
|
2
|
+
import { getDefaultExportFromCjs as d } from "./index70.mjs";
|
|
3
|
+
import { __module as v } from "./index102.mjs";
|
|
4
|
+
v.exports = function(n) {
|
|
5
|
+
return g(m(n), n);
|
|
15
6
|
};
|
|
7
|
+
v.exports.array = g;
|
|
8
|
+
function g(n, r) {
|
|
9
|
+
var t = n.length, e = new Array(t), o = {}, u = t, c = y(r), f = E(n);
|
|
10
|
+
for (r.forEach(function(a) {
|
|
11
|
+
if (!f.has(a[0]) || !f.has(a[1]))
|
|
12
|
+
throw new Error("Unknown node. There is an unknown node in the supplied edges.");
|
|
13
|
+
}); u--; )
|
|
14
|
+
o[u] || l(n[u], u, /* @__PURE__ */ new Set());
|
|
15
|
+
return e;
|
|
16
|
+
function l(a, s, i) {
|
|
17
|
+
if (i.has(a)) {
|
|
18
|
+
var w;
|
|
19
|
+
try {
|
|
20
|
+
w = ", node was:" + JSON.stringify(a);
|
|
21
|
+
} catch {
|
|
22
|
+
w = "";
|
|
23
|
+
}
|
|
24
|
+
throw new Error("Cyclic dependency" + w);
|
|
25
|
+
}
|
|
26
|
+
if (!f.has(a))
|
|
27
|
+
throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: " + JSON.stringify(a));
|
|
28
|
+
if (!o[s]) {
|
|
29
|
+
o[s] = !0;
|
|
30
|
+
var h = c.get(a) || /* @__PURE__ */ new Set();
|
|
31
|
+
if (h = Array.from(h), s = h.length) {
|
|
32
|
+
i.add(a);
|
|
33
|
+
do {
|
|
34
|
+
var p = h[--s];
|
|
35
|
+
l(p, f.get(p), i);
|
|
36
|
+
} while (s);
|
|
37
|
+
i.delete(a);
|
|
38
|
+
}
|
|
39
|
+
e[--t] = a;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function m(n) {
|
|
44
|
+
for (var r = /* @__PURE__ */ new Set(), t = 0, e = n.length; t < e; t++) {
|
|
45
|
+
var o = n[t];
|
|
46
|
+
r.add(o[0]), r.add(o[1]);
|
|
47
|
+
}
|
|
48
|
+
return Array.from(r);
|
|
49
|
+
}
|
|
50
|
+
function y(n) {
|
|
51
|
+
for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++) {
|
|
52
|
+
var o = n[t];
|
|
53
|
+
r.has(o[0]) || r.set(o[0], /* @__PURE__ */ new Set()), r.has(o[1]) || r.set(o[1], /* @__PURE__ */ new Set()), r.get(o[0]).add(o[1]);
|
|
54
|
+
}
|
|
55
|
+
return r;
|
|
56
|
+
}
|
|
57
|
+
function E(n) {
|
|
58
|
+
for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++)
|
|
59
|
+
r.set(n[t], t);
|
|
60
|
+
return r;
|
|
61
|
+
}
|
|
62
|
+
var k = v.exports;
|
|
63
|
+
const A = /* @__PURE__ */ d(k);
|
|
16
64
|
export {
|
|
17
|
-
|
|
65
|
+
A as default
|
|
18
66
|
};
|
package/dist/index77.mjs
CHANGED
|
@@ -1,66 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return g(m(n), n);
|
|
6
|
-
};
|
|
7
|
-
v.exports.array = g;
|
|
8
|
-
function g(n, r) {
|
|
9
|
-
var t = n.length, e = new Array(t), o = {}, u = t, c = y(r), f = E(n);
|
|
10
|
-
for (r.forEach(function(a) {
|
|
11
|
-
if (!f.has(a[0]) || !f.has(a[1]))
|
|
12
|
-
throw new Error("Unknown node. There is an unknown node in the supplied edges.");
|
|
13
|
-
}); u--; )
|
|
14
|
-
o[u] || l(n[u], u, /* @__PURE__ */ new Set());
|
|
15
|
-
return e;
|
|
16
|
-
function l(a, s, i) {
|
|
17
|
-
if (i.has(a)) {
|
|
18
|
-
var w;
|
|
19
|
-
try {
|
|
20
|
-
w = ", node was:" + JSON.stringify(a);
|
|
21
|
-
} catch {
|
|
22
|
-
w = "";
|
|
23
|
-
}
|
|
24
|
-
throw new Error("Cyclic dependency" + w);
|
|
25
|
-
}
|
|
26
|
-
if (!f.has(a))
|
|
27
|
-
throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: " + JSON.stringify(a));
|
|
28
|
-
if (!o[s]) {
|
|
29
|
-
o[s] = !0;
|
|
30
|
-
var h = c.get(a) || /* @__PURE__ */ new Set();
|
|
31
|
-
if (h = Array.from(h), s = h.length) {
|
|
32
|
-
i.add(a);
|
|
33
|
-
do {
|
|
34
|
-
var p = h[--s];
|
|
35
|
-
l(p, f.get(p), i);
|
|
36
|
-
} while (s);
|
|
37
|
-
i.delete(a);
|
|
38
|
-
}
|
|
39
|
-
e[--t] = a;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function m(n) {
|
|
44
|
-
for (var r = /* @__PURE__ */ new Set(), t = 0, e = n.length; t < e; t++) {
|
|
45
|
-
var o = n[t];
|
|
46
|
-
r.add(o[0]), r.add(o[1]);
|
|
47
|
-
}
|
|
48
|
-
return Array.from(r);
|
|
49
|
-
}
|
|
50
|
-
function y(n) {
|
|
51
|
-
for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++) {
|
|
52
|
-
var o = n[t];
|
|
53
|
-
r.has(o[0]) || r.set(o[0], /* @__PURE__ */ new Set()), r.has(o[1]) || r.set(o[1], /* @__PURE__ */ new Set()), r.get(o[0]).add(o[1]);
|
|
54
|
-
}
|
|
55
|
-
return r;
|
|
56
|
-
}
|
|
57
|
-
function E(n) {
|
|
58
|
-
for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++)
|
|
59
|
-
r.set(n[t], t);
|
|
60
|
-
return r;
|
|
2
|
+
import { useQuery as e } from "@tanstack/react-query";
|
|
3
|
+
function n(r) {
|
|
4
|
+
return e(r);
|
|
61
5
|
}
|
|
62
|
-
var k = v.exports;
|
|
63
|
-
const A = /* @__PURE__ */ d(k);
|
|
64
6
|
export {
|
|
65
|
-
|
|
7
|
+
n as useQueryUnwrapped
|
|
66
8
|
};
|
package/dist/index83.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { __module as u } from "./index143.mjs";
|
|
3
3
|
import d from "react/jsx-runtime";
|
|
4
4
|
import "react";
|
|
5
|
-
import { __require as c } from "./
|
|
5
|
+
import { __require as c } from "./index71.mjs";
|
|
6
6
|
var n;
|
|
7
7
|
function y() {
|
|
8
8
|
return n ? u.exports : (n = 1, function(a, e) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instockng/storefront-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.85",
|
|
4
4
|
"description": "Pre-built UI components for OMS e-commerce sites",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"author": "Ola Wale",
|
|
46
46
|
"license": "MIT",
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@instockng/api-client": "^1.0.
|
|
48
|
+
"@instockng/api-client": "^1.0.36",
|
|
49
49
|
"class-variance-authority": "^0.7.1",
|
|
50
50
|
"clsx": "^2.1.0",
|
|
51
51
|
"react-facebook-pixel": "^1.0.4",
|
|
@@ -24,7 +24,7 @@ const mockDeliveryZones = [
|
|
|
24
24
|
id: 'zone-1',
|
|
25
25
|
name: 'Ikeja',
|
|
26
26
|
deliveryCost: 1500,
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
allowCOD: false,
|
|
29
29
|
allowOnline: true,
|
|
30
30
|
waybillOnly: true,
|
|
@@ -34,7 +34,7 @@ const mockDeliveryZones = [
|
|
|
34
34
|
id: 'zone-2',
|
|
35
35
|
name: 'Victoria Island',
|
|
36
36
|
deliveryCost: 2000,
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
allowCOD: true,
|
|
39
39
|
allowOnline: true,
|
|
40
40
|
waybillOnly: false,
|
|
@@ -44,7 +44,7 @@ const mockDeliveryZones = [
|
|
|
44
44
|
id: 'zone-3',
|
|
45
45
|
name: 'Lekki',
|
|
46
46
|
deliveryCost: 2500,
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
allowCOD: true,
|
|
49
49
|
allowOnline: true,
|
|
50
50
|
waybillOnly: false,
|
|
@@ -60,7 +60,7 @@ const mockDeliveryZones = [
|
|
|
60
60
|
id: 'zone-4',
|
|
61
61
|
name: 'Wuse',
|
|
62
62
|
deliveryCost: 3000,
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
allowCOD: true,
|
|
65
65
|
allowOnline: true,
|
|
66
66
|
waybillOnly: false,
|
|
@@ -70,7 +70,7 @@ const mockDeliveryZones = [
|
|
|
70
70
|
id: 'zone-5',
|
|
71
71
|
name: 'Garki',
|
|
72
72
|
deliveryCost: 3000,
|
|
73
|
-
|
|
73
|
+
|
|
74
74
|
allowCOD: true,
|
|
75
75
|
allowOnline: true,
|
|
76
76
|
waybillOnly: false,
|
|
@@ -111,6 +111,7 @@ const mockCart: Cart = {
|
|
|
111
111
|
tiktokPixelId: null as any,
|
|
112
112
|
paystackPublicKey: null as any,
|
|
113
113
|
paystackSecretKey: null as any,
|
|
114
|
+
freeShippingThreshold: 10000,
|
|
114
115
|
createdAt: new Date().toISOString(),
|
|
115
116
|
updatedAt: new Date().toISOString(),
|
|
116
117
|
deletedAt: null as any,
|
|
@@ -912,7 +912,7 @@ export function Checkout({
|
|
|
912
912
|
<option disabled value="">{selectedState ? 'Select Delivery Zone' : 'Select State First'}</option>
|
|
913
913
|
{selectedState?.zones.map((zone) => {
|
|
914
914
|
const cartSubtotal = cart?.pricing?.subtotal ?? 0;
|
|
915
|
-
const hasFreeShipping =
|
|
915
|
+
const hasFreeShipping = cart?.brand?.freeShippingThreshold && cartSubtotal >= cart.brand.freeShippingThreshold;
|
|
916
916
|
return (
|
|
917
917
|
<option key={zone.id} value={zone.id}>
|
|
918
918
|
{zone.name}{hasFreeShipping ? '' : ` (₦${zone.deliveryCost})`}
|
|
@@ -142,10 +142,10 @@ export function ShoppingCart({
|
|
|
142
142
|
</div>
|
|
143
143
|
|
|
144
144
|
{/* Free Shipping Progress */}
|
|
145
|
-
{!isLoading && !error && cart && cart.items && cart.items.length > 0 && (
|
|
145
|
+
{!isLoading && !error && cart && cart.items && cart.items.length > 0 && cart.brand?.freeShippingThreshold && (
|
|
146
146
|
<div className="bg-gray-50 px-4 py-3 border-b border-gray-200">
|
|
147
147
|
{(() => {
|
|
148
|
-
const threshold =
|
|
148
|
+
const threshold = cart.brand.freeShippingThreshold;
|
|
149
149
|
const current = cart.pricing?.subtotal || 0;
|
|
150
150
|
const remaining = Math.max(0, threshold - current);
|
|
151
151
|
const progress = Math.min(100, (current / threshold) * 100);
|
|
@@ -248,7 +248,6 @@ export function MockCartProvider({
|
|
|
248
248
|
name: cart.deliveryZone?.name || 'Mock Zone',
|
|
249
249
|
brandId: cart.brand.id,
|
|
250
250
|
deliveryCost: 1500,
|
|
251
|
-
freeShippingThreshold: null as any,
|
|
252
251
|
noteTitle: null as any,
|
|
253
252
|
noteContent: null as any,
|
|
254
253
|
allowCOD: true,
|