hey-pharmacist-ecommerce 1.1.22 → 1.1.24
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/index.js +80 -154
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +80 -154
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/AccountSavedItemsTab.tsx +0 -1
- package/src/components/ProductCard.tsx +5 -3
- package/src/components/QuickViewModal.tsx +66 -67
- package/src/hooks/useOrders.ts +0 -1
- package/src/hooks/useProducts.ts +3 -3
- package/src/lib/Apis/apis/products-api.ts +0 -104
- package/src/providers/CartProvider.tsx +0 -6
- package/src/providers/EcommerceProvider.tsx +16 -16
- package/src/screens/NewAddressScreen.tsx +9 -10
- package/src/screens/ProductDetailScreen.tsx +9 -11
- package/src/screens/SearchResultsScreen.tsx +2 -3
- package/src/screens/ShopScreen.tsx +57 -62
package/dist/index.js
CHANGED
|
@@ -9,8 +9,8 @@ var lucideReact = require('lucide-react');
|
|
|
9
9
|
var reactQuery = require('@tanstack/react-query');
|
|
10
10
|
var navigation = require('next/navigation');
|
|
11
11
|
var Image4 = require('next/image');
|
|
12
|
+
var Link7 = require('next/link');
|
|
12
13
|
var dynamic = require('next/dynamic');
|
|
13
|
-
var Link6 = require('next/link');
|
|
14
14
|
var reactHookForm = require('react-hook-form');
|
|
15
15
|
var zod$1 = require('@hookform/resolvers/zod');
|
|
16
16
|
var zod = require('zod');
|
|
@@ -20,8 +20,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
20
20
|
var React8__default = /*#__PURE__*/_interopDefault(React8);
|
|
21
21
|
var globalAxios4__default = /*#__PURE__*/_interopDefault(globalAxios4);
|
|
22
22
|
var Image4__default = /*#__PURE__*/_interopDefault(Image4);
|
|
23
|
+
var Link7__default = /*#__PURE__*/_interopDefault(Link7);
|
|
23
24
|
var dynamic__default = /*#__PURE__*/_interopDefault(dynamic);
|
|
24
|
-
var Link6__default = /*#__PURE__*/_interopDefault(Link6);
|
|
25
25
|
|
|
26
26
|
var __defProp = Object.defineProperty;
|
|
27
27
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -5547,56 +5547,6 @@ var ProductsApiAxiosParamCreator = function(configuration) {
|
|
|
5547
5547
|
options: localVarRequestOptions
|
|
5548
5548
|
};
|
|
5549
5549
|
},
|
|
5550
|
-
/**
|
|
5551
|
-
*
|
|
5552
|
-
* @summary Set or unset a product as featured for home screen
|
|
5553
|
-
* @param {string} id Product ID
|
|
5554
|
-
* @param {boolean} featured Whether to set the product as featured
|
|
5555
|
-
* @param {*} [options] Override http request option.
|
|
5556
|
-
* @throws {RequiredError}
|
|
5557
|
-
*/
|
|
5558
|
-
setFeaturedProduct: async (id, featured, options = {}) => {
|
|
5559
|
-
if (id === null || id === void 0) {
|
|
5560
|
-
throw new RequiredError("id", "Required parameter id was null or undefined when calling setFeaturedProduct.");
|
|
5561
|
-
}
|
|
5562
|
-
if (featured === null || featured === void 0) {
|
|
5563
|
-
throw new RequiredError("featured", "Required parameter featured was null or undefined when calling setFeaturedProduct.");
|
|
5564
|
-
}
|
|
5565
|
-
const localVarPath = `/products/{id}/featured`.replace(`{${"id"}}`, encodeURIComponent(String(id)));
|
|
5566
|
-
const localVarUrlObj = new URL(localVarPath, "https://example.com");
|
|
5567
|
-
let baseOptions;
|
|
5568
|
-
if (configuration) {
|
|
5569
|
-
baseOptions = configuration.baseOptions;
|
|
5570
|
-
}
|
|
5571
|
-
const localVarRequestOptions = { method: "PATCH", ...baseOptions, ...options };
|
|
5572
|
-
const localVarHeaderParameter = {};
|
|
5573
|
-
const localVarQueryParameter = {};
|
|
5574
|
-
if (configuration && configuration.accessToken) {
|
|
5575
|
-
const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
|
|
5576
|
-
localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
|
|
5577
|
-
}
|
|
5578
|
-
if (configuration && configuration.apiKey) {
|
|
5579
|
-
const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
|
|
5580
|
-
localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
|
|
5581
|
-
}
|
|
5582
|
-
if (featured !== void 0) {
|
|
5583
|
-
localVarQueryParameter["featured"] = featured;
|
|
5584
|
-
}
|
|
5585
|
-
const query = new URLSearchParams(localVarUrlObj.search);
|
|
5586
|
-
for (const key in localVarQueryParameter) {
|
|
5587
|
-
query.set(key, localVarQueryParameter[key]);
|
|
5588
|
-
}
|
|
5589
|
-
for (const key in options.params) {
|
|
5590
|
-
query.set(key, options.params[key]);
|
|
5591
|
-
}
|
|
5592
|
-
localVarUrlObj.search = new URLSearchParams(query).toString();
|
|
5593
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
5594
|
-
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
5595
|
-
return {
|
|
5596
|
-
url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
|
|
5597
|
-
options: localVarRequestOptions
|
|
5598
|
-
};
|
|
5599
|
-
},
|
|
5600
5550
|
/**
|
|
5601
5551
|
*
|
|
5602
5552
|
* @summary Update a product
|
|
@@ -5851,21 +5801,6 @@ var ProductsApiFp = function(configuration) {
|
|
|
5851
5801
|
return axios.request(axiosRequestArgs);
|
|
5852
5802
|
};
|
|
5853
5803
|
},
|
|
5854
|
-
/**
|
|
5855
|
-
*
|
|
5856
|
-
* @summary Set or unset a product as featured for home screen
|
|
5857
|
-
* @param {string} id Product ID
|
|
5858
|
-
* @param {boolean} featured Whether to set the product as featured
|
|
5859
|
-
* @param {*} [options] Override http request option.
|
|
5860
|
-
* @throws {RequiredError}
|
|
5861
|
-
*/
|
|
5862
|
-
async setFeaturedProduct(id, featured, options) {
|
|
5863
|
-
const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).setFeaturedProduct(id, featured, options);
|
|
5864
|
-
return (axios = globalAxios4__default.default, basePath = BASE_PATH) => {
|
|
5865
|
-
const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
|
|
5866
|
-
return axios.request(axiosRequestArgs);
|
|
5867
|
-
};
|
|
5868
|
-
},
|
|
5869
5804
|
/**
|
|
5870
5805
|
*
|
|
5871
5806
|
* @summary Update a product
|
|
@@ -6048,18 +5983,6 @@ var ProductsApi = class extends BaseAPI {
|
|
|
6048
5983
|
async getTopSellingProducts(limit, page, isActive, includeNoVariantProducts, options) {
|
|
6049
5984
|
return ProductsApiFp(this.configuration).getTopSellingProducts(limit, page, isActive, includeNoVariantProducts, options).then((request) => request(this.axios, this.basePath));
|
|
6050
5985
|
}
|
|
6051
|
-
/**
|
|
6052
|
-
*
|
|
6053
|
-
* @summary Set or unset a product as featured for home screen
|
|
6054
|
-
* @param {string} id Product ID
|
|
6055
|
-
* @param {boolean} featured Whether to set the product as featured
|
|
6056
|
-
* @param {*} [options] Override http request option.
|
|
6057
|
-
* @throws {RequiredError}
|
|
6058
|
-
* @memberof ProductsApi
|
|
6059
|
-
*/
|
|
6060
|
-
async setFeaturedProduct(id, featured, options) {
|
|
6061
|
-
return ProductsApiFp(this.configuration).setFeaturedProduct(id, featured, options).then((request) => request(this.axios, this.basePath));
|
|
6062
|
-
}
|
|
6063
5986
|
/**
|
|
6064
5987
|
*
|
|
6065
5988
|
* @summary Update a product
|
|
@@ -7172,7 +7095,6 @@ function CartProvider({ children }) {
|
|
|
7172
7095
|
_id: oldCart.cartBody._id,
|
|
7173
7096
|
items: simplifiedItems
|
|
7174
7097
|
};
|
|
7175
|
-
console.log("payload", payload);
|
|
7176
7098
|
const response = await new CartApi(getApiConfiguration()).handleUserCart(payload);
|
|
7177
7099
|
if (response.data) {
|
|
7178
7100
|
setCart(response.data);
|
|
@@ -7204,16 +7126,13 @@ function CartProvider({ children }) {
|
|
|
7204
7126
|
};
|
|
7205
7127
|
});
|
|
7206
7128
|
try {
|
|
7207
|
-
console.log("Removing item with productVariantId:", productId);
|
|
7208
7129
|
const itemsToKeep = currentCart.cartBody.items.filter((item) => String(item.productVariantId) !== String(productId));
|
|
7209
|
-
console.log("Items to keep count:", itemsToKeep.length);
|
|
7210
7130
|
const simplifiedItems = itemsToKeep.map((item) => ({
|
|
7211
7131
|
_id: item._id,
|
|
7212
7132
|
productVariantId: item.productVariantId,
|
|
7213
7133
|
quantity: item.quantity
|
|
7214
7134
|
}));
|
|
7215
7135
|
if (simplifiedItems.length === 0) {
|
|
7216
|
-
console.log("Cart will be empty, calling clearCart");
|
|
7217
7136
|
await new CartApi(getApiConfiguration()).clearCart();
|
|
7218
7137
|
setCart(null);
|
|
7219
7138
|
} else {
|
|
@@ -7221,9 +7140,7 @@ function CartProvider({ children }) {
|
|
|
7221
7140
|
_id: currentCart.cartBody._id,
|
|
7222
7141
|
items: simplifiedItems
|
|
7223
7142
|
};
|
|
7224
|
-
console.log("Remove from cart payload:", JSON.stringify(payload, null, 2));
|
|
7225
7143
|
const response = await new CartApi(getApiConfiguration()).handleUserCart(payload);
|
|
7226
|
-
console.log("Remove from cart response:", response.status, response.data);
|
|
7227
7144
|
if (response.data) {
|
|
7228
7145
|
setCart(response.data);
|
|
7229
7146
|
}
|
|
@@ -7463,7 +7380,7 @@ function useBasePath() {
|
|
|
7463
7380
|
return ctx;
|
|
7464
7381
|
}
|
|
7465
7382
|
function EcommerceProvider({ config, children, withToaster = true, basePath = "" }) {
|
|
7466
|
-
|
|
7383
|
+
React8__default.default.useMemo(() => {
|
|
7467
7384
|
initializeApiAdapter(config);
|
|
7468
7385
|
}, [config]);
|
|
7469
7386
|
const [client] = React8__default.default.useState(
|
|
@@ -7528,7 +7445,6 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
|
|
|
7528
7445
|
if (!product || !selectedVariant) return;
|
|
7529
7446
|
setIsAddingToCart(true);
|
|
7530
7447
|
try {
|
|
7531
|
-
console.log(selectedVariant);
|
|
7532
7448
|
await addToCart(
|
|
7533
7449
|
product.id,
|
|
7534
7450
|
quantity,
|
|
@@ -7564,7 +7480,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
|
|
|
7564
7480
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[11px] text-primary uppercase tracking-wide font-medium mb-2", children: [
|
|
7565
7481
|
product.brand,
|
|
7566
7482
|
" \u2022 ",
|
|
7567
|
-
product.parentCategories[0]
|
|
7483
|
+
product.parentCategories?.[0]?.name || "Uncategorized"
|
|
7568
7484
|
] }),
|
|
7569
7485
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-secondary tracking-[-1px]", children: displayName }),
|
|
7570
7486
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mt-2", children: [
|
|
@@ -7600,7 +7516,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
|
|
|
7600
7516
|
{
|
|
7601
7517
|
src: selectedVariant.productMedia[selectedImageIndex]?.file || selectedVariant.productMedia[0]?.file,
|
|
7602
7518
|
alt: product.name,
|
|
7603
|
-
className: "w-full h-full object-
|
|
7519
|
+
className: "w-full h-full object-contain"
|
|
7604
7520
|
}
|
|
7605
7521
|
),
|
|
7606
7522
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 left-4 flex flex-col gap-2", children: isDiscounted && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-accent text-white rounded-full px-3 py-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[11px] uppercase", children: [
|
|
@@ -7619,7 +7535,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
|
|
|
7619
7535
|
{
|
|
7620
7536
|
src: image.file,
|
|
7621
7537
|
alt: `${product.name} ${index + 1}`,
|
|
7622
|
-
className: "w-full h-full object-
|
|
7538
|
+
className: "w-full h-full object-contain"
|
|
7623
7539
|
}
|
|
7624
7540
|
)
|
|
7625
7541
|
},
|
|
@@ -7646,7 +7562,13 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
|
|
|
7646
7562
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Package, { className: "size-3" }),
|
|
7647
7563
|
"In Stock"
|
|
7648
7564
|
] }) }),
|
|
7649
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7565
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7566
|
+
"div",
|
|
7567
|
+
{
|
|
7568
|
+
className: "font-['Poppins',sans-serif] text-[14px] text-muted leading-[1.7] mb-6 max-w-full overflow-hidden break-words",
|
|
7569
|
+
dangerouslySetInnerHTML: { __html: product.description }
|
|
7570
|
+
}
|
|
7571
|
+
),
|
|
7650
7572
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
|
|
7651
7573
|
/* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-secondary mb-3", children: [
|
|
7652
7574
|
"Selected Variant: ",
|
|
@@ -7724,12 +7646,11 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
|
|
|
7724
7646
|
] })
|
|
7725
7647
|
}
|
|
7726
7648
|
),
|
|
7727
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7649
|
+
/* @__PURE__ */ jsxRuntime.jsx(Link7__default.default, { href: `/products/${product._id}`, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7728
7650
|
"button",
|
|
7729
7651
|
{
|
|
7730
7652
|
onClick: () => {
|
|
7731
7653
|
onClose();
|
|
7732
|
-
onNavigateToProduct?.(product.id);
|
|
7733
7654
|
},
|
|
7734
7655
|
className: "w-full font-['Poppins',sans-serif] font-medium text-[13px] px-6 py-3 rounded-full bg-white text-secondary border-2 border-primary hover:bg-gray-50 transition-all flex items-center justify-center gap-2",
|
|
7735
7656
|
children: [
|
|
@@ -7737,7 +7658,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
|
|
|
7737
7658
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLink, { className: "size-4" })
|
|
7738
7659
|
]
|
|
7739
7660
|
}
|
|
7740
|
-
)
|
|
7661
|
+
) })
|
|
7741
7662
|
] })
|
|
7742
7663
|
] })
|
|
7743
7664
|
] })
|
|
@@ -7898,7 +7819,7 @@ function ProductCard({
|
|
|
7898
7819
|
"%"
|
|
7899
7820
|
] }) }) }),
|
|
7900
7821
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-xs text-[#5B9BD5] uppercase tracking-wide font-medium", children: product.brand }) }),
|
|
7901
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-['Poppins',sans-serif] font-semibold text-[#2B4B7C]
|
|
7822
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[40px] mb-3", children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] line-clamp-2", children: displayName }) }),
|
|
7902
7823
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 mb-2", children: [
|
|
7903
7824
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-0.5", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7904
7825
|
lucideReact.Star,
|
|
@@ -8167,12 +8088,13 @@ function useProducts(filters, page = 1, limit = 20) {
|
|
|
8167
8088
|
page
|
|
8168
8089
|
);
|
|
8169
8090
|
}
|
|
8170
|
-
setProducts(response.data.data
|
|
8091
|
+
setProducts(response.data.data);
|
|
8171
8092
|
setPagination({
|
|
8172
8093
|
page: response.data.currentPage || page,
|
|
8173
8094
|
limit: response.data.limit || limit,
|
|
8174
|
-
total:
|
|
8175
|
-
|
|
8095
|
+
total: products.length,
|
|
8096
|
+
// Use filtered count
|
|
8097
|
+
totalPages: Math.ceil(products.length / limit)
|
|
8176
8098
|
});
|
|
8177
8099
|
} catch (err) {
|
|
8178
8100
|
setError(err);
|
|
@@ -8945,33 +8867,32 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
|
|
|
8945
8867
|
) }) }),
|
|
8946
8868
|
/* @__PURE__ */ jsxRuntime.jsx("section", { className: "py-8 bg-white", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container mx-auto px-4", children: [
|
|
8947
8869
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl md:text-3xl font-['Poppins',sans-serif] font-semibold text-secondary mb-6", children: "Shop by Category" }),
|
|
8948
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8949
|
-
|
|
8950
|
-
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
{
|
|
8955
|
-
|
|
8956
|
-
|
|
8957
|
-
|
|
8958
|
-
|
|
8959
|
-
className: `
|
|
8960
|
-
|
|
8961
|
-
|
|
8962
|
-
|
|
8963
|
-
|
|
8964
|
-
|
|
8965
|
-
|
|
8966
|
-
|
|
8967
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8870
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-4", children: [
|
|
8871
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8872
|
+
framerMotion.motion.button,
|
|
8873
|
+
{
|
|
8874
|
+
onClick: handleClearCategory,
|
|
8875
|
+
initial: { opacity: 0, y: 20 },
|
|
8876
|
+
animate: { opacity: 1, y: 0 },
|
|
8877
|
+
className: `group relative overflow-hidden rounded-[24px] p-6 min-h-[180px] min-w-[170px] transition-all duration-300 ${!categoryFilter ? "bg-linear-to-br from-primary to-secondary text-white shadow-xl scale-105" : "bg-linear-to-br from-gray-50 to-white hover:shadow-lg border-2 border-gray-100 hover:border-primary"}`,
|
|
8878
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
8879
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `size-12 rounded-full mb-3 mx-auto flex items-center justify-center transition-all ${!categoryFilter ? "bg-white/20" : "bg-linear-to-br from-primary/10 to-secondary/10 group-hover:scale-110"}`, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Package, { className: `size-6 ${!categoryFilter ? "text-white" : "text-primary"}` }) }),
|
|
8880
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: `font-['Poppins',sans-serif] font-semibold text-[14px] mb-1.5 ${!categoryFilter ? "text-white" : "text-secondary"}`, children: "All Products" }),
|
|
8881
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `font-['Poppins',sans-serif] text-[11px] ${!categoryFilter ? "text-white/80" : "text-muted"}`, children: "Browse Everything" })
|
|
8882
|
+
] })
|
|
8883
|
+
}
|
|
8884
|
+
),
|
|
8885
|
+
displayCategories.map((category, index) => {
|
|
8886
|
+
const Icon = getCategoryIcon(category.name ?? "");
|
|
8887
|
+
const isSelected = categoryFilter === category.id;
|
|
8888
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8968
8889
|
framerMotion.motion.button,
|
|
8969
8890
|
{
|
|
8970
8891
|
initial: { opacity: 0, y: 20 },
|
|
8971
8892
|
animate: { opacity: 1, y: 0 },
|
|
8972
8893
|
transition: { delay: index * 0.1 },
|
|
8973
8894
|
onClick: () => handleCategoryChange(category.id ?? ""),
|
|
8974
|
-
className: `group relative overflow-hidden rounded-[24px] p-6 transition-all duration-300 ${isSelected ? "bg-linear-to-br from-primary to-secondary text-white shadow-xl scale-105" : "bg-linear-to-br from-gray-50 to-white hover:shadow-lg border-2 border-gray-100 hover:border-primary"}`,
|
|
8895
|
+
className: `group relative overflow-hidden rounded-[24px] p-6 min-h-[180px] min-w-[170px] transition-all duration-300 ${isSelected ? "bg-linear-to-br from-primary to-secondary text-white shadow-xl scale-105" : "bg-linear-to-br from-gray-50 to-white hover:shadow-lg border-2 border-gray-100 hover:border-primary"}`,
|
|
8975
8896
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
8976
8897
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `size-12 rounded-full mb-3 mx-auto flex items-center justify-center transition-all ${isSelected ? "bg-white/20" : "bg-linear-to-br from-primary/10 to-secondary/10 group-hover:scale-110"}`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: `size-6 ${isSelected ? "text-white" : "text-primary"}` }) }),
|
|
8977
8898
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: `font-['Poppins',sans-serif] font-semibold text-[14px] mb-1.5 ${isSelected ? "text-white" : "text-secondary"}`, children: category.name }),
|
|
@@ -8979,9 +8900,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
|
|
|
8979
8900
|
] })
|
|
8980
8901
|
},
|
|
8981
8902
|
category.id
|
|
8982
|
-
)
|
|
8983
|
-
|
|
8984
|
-
|
|
8903
|
+
);
|
|
8904
|
+
})
|
|
8905
|
+
] })
|
|
8985
8906
|
] }) }),
|
|
8986
8907
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative pb-16 mt-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-8 lg:flex-row", children: [
|
|
8987
8908
|
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: "hidden w-72 shrink-0 lg:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-24 rounded-lg bg-white", children: renderFiltersPanel() }) }),
|
|
@@ -9068,7 +8989,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
|
|
|
9068
8989
|
router.push(buildPath(`/products/${item._id}`));
|
|
9069
8990
|
}
|
|
9070
8991
|
}
|
|
9071
|
-
) }, product.
|
|
8992
|
+
) }, product._id)) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: displayedProducts.map((product) => {
|
|
9072
8993
|
product.priceBeforeDiscount && product.priceBeforeDiscount > product.finalPrice ? Math.round(
|
|
9073
8994
|
(product.priceBeforeDiscount - product.finalPrice) / product.priceBeforeDiscount * 100
|
|
9074
8995
|
) : 0;
|
|
@@ -9100,7 +9021,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
|
|
|
9100
9021
|
tag
|
|
9101
9022
|
))
|
|
9102
9023
|
] }),
|
|
9103
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-semibold text-gray-900", children: product.name }),
|
|
9024
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-semibold text-gray-900 line-clamp-2", children: product.name }),
|
|
9104
9025
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-4 text-sm text-gray-500", children: [
|
|
9105
9026
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-2 font-medium text-primary-600", children: [
|
|
9106
9027
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShieldCheck, { className: "h-4 w-4" }),
|
|
@@ -9132,7 +9053,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
|
|
|
9132
9053
|
] })
|
|
9133
9054
|
]
|
|
9134
9055
|
},
|
|
9135
|
-
product.
|
|
9056
|
+
product._id
|
|
9136
9057
|
);
|
|
9137
9058
|
}) }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
9138
9059
|
EmptyState,
|
|
@@ -9204,9 +9125,6 @@ function ProductDetailScreen({ productId }) {
|
|
|
9204
9125
|
setActiveImageIndex(0);
|
|
9205
9126
|
}, [selectedVariant]);
|
|
9206
9127
|
const product = React8.useMemo(() => {
|
|
9207
|
-
console.log("productData", productData);
|
|
9208
|
-
console.log("selectedVariant", selectedVariant);
|
|
9209
|
-
console.log("initialProductData", initialProductData);
|
|
9210
9128
|
if (initialProductData && !productData) {
|
|
9211
9129
|
return initialProductData;
|
|
9212
9130
|
}
|
|
@@ -9390,7 +9308,7 @@ function ProductDetailScreen({ productId }) {
|
|
|
9390
9308
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "mx-auto h-10 w-10 text-primary-500" }),
|
|
9391
9309
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mt-6 text-2xl font-semibold text-gray-900", children: "Product not found" }),
|
|
9392
9310
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-gray-600", children: "It may have been removed or is temporarily unavailable. Discover other pharmacy essentials in our catalogue." }),
|
|
9393
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9311
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-6", children: /* @__PURE__ */ jsxRuntime.jsx(Link7__default.default, { href: "/shop", className: "inline-block", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { children: "Browse products" }) }) })
|
|
9394
9312
|
] }) }) });
|
|
9395
9313
|
}
|
|
9396
9314
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-screen bg-white", children: [
|
|
@@ -9472,7 +9390,7 @@ function ProductDetailScreen({ productId }) {
|
|
|
9472
9390
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[12px] text-primary uppercase tracking-wide font-medium mb-2", children: [
|
|
9473
9391
|
product.brand,
|
|
9474
9392
|
" \u2022 ",
|
|
9475
|
-
product.parentCategories?.[0]
|
|
9393
|
+
product.parentCategories?.[0]?.name || "Uncategorized"
|
|
9476
9394
|
] }),
|
|
9477
9395
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-3xl font-['Poppins',sans-serif] font-semibold text-secondary tracking-[-1.5px] mb-3", children: selectedVariant?.name || product.name }),
|
|
9478
9396
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
@@ -9526,7 +9444,13 @@ function ProductDetailScreen({ productId }) {
|
|
|
9526
9444
|
selectedVariant?.sku
|
|
9527
9445
|
] })
|
|
9528
9446
|
] }),
|
|
9529
|
-
product.description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9447
|
+
product.description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9448
|
+
"div",
|
|
9449
|
+
{
|
|
9450
|
+
className: "font-['Poppins',sans-serif] text-[14px] text-muted leading-[1.7] mb-8 max-w-full overflow-hidden break-words",
|
|
9451
|
+
dangerouslySetInnerHTML: { __html: product.description }
|
|
9452
|
+
}
|
|
9453
|
+
),
|
|
9530
9454
|
product?.productVariants && product.productVariants.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
|
|
9531
9455
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-secondary mb-3", children: "Select Variant" }),
|
|
9532
9456
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-3", children: product.productVariants.map((variant) => {
|
|
@@ -9668,7 +9592,13 @@ function ProductDetailScreen({ productId }) {
|
|
|
9668
9592
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white rounded-[24px] p-8 border-2 border-gray-100", children: [
|
|
9669
9593
|
activeTab === "description" && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
9670
9594
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-secondary mb-4", children: "Product Description" }),
|
|
9671
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9595
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9596
|
+
"div",
|
|
9597
|
+
{
|
|
9598
|
+
className: "font-['Poppins',sans-serif] text-[14px] text-muted leading-[1.8] mb-4 max-w-full overflow-hidden break-words",
|
|
9599
|
+
dangerouslySetInnerHTML: { __html: product.description }
|
|
9600
|
+
}
|
|
9601
|
+
),
|
|
9672
9602
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6", children: [
|
|
9673
9603
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-secondary mb-3", children: "Last updated:" }),
|
|
9674
9604
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[14px] text-muted", children: lastUpdatedLabel })
|
|
@@ -11205,7 +11135,7 @@ function LoginScreen() {
|
|
|
11205
11135
|
"Remember me"
|
|
11206
11136
|
] }),
|
|
11207
11137
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11208
|
-
|
|
11138
|
+
Link7__default.default,
|
|
11209
11139
|
{
|
|
11210
11140
|
href: buildPath("/forgot-password"),
|
|
11211
11141
|
className: "font-medium text-primary transition hover:opacity-80",
|
|
@@ -11227,7 +11157,7 @@ function LoginScreen() {
|
|
|
11227
11157
|
),
|
|
11228
11158
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted", children: [
|
|
11229
11159
|
"Don't have an account? ",
|
|
11230
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11160
|
+
/* @__PURE__ */ jsxRuntime.jsx(Link7__default.default, { href: buildPath("/register"), className: "font-medium text-primary transition hover:opacity-90", children: "Sign up" })
|
|
11231
11161
|
] }) })
|
|
11232
11162
|
] })
|
|
11233
11163
|
}
|
|
@@ -11415,12 +11345,12 @@ function RegisterScreen() {
|
|
|
11415
11345
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
11416
11346
|
"By creating an account, you agree to our",
|
|
11417
11347
|
" ",
|
|
11418
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11348
|
+
/* @__PURE__ */ jsxRuntime.jsx(Link7__default.default, { href: buildPath("/terms"), className: "font-semibold text-primary hover:opacity-70", children: "Terms of Service" }),
|
|
11419
11349
|
" ",
|
|
11420
11350
|
"and",
|
|
11421
11351
|
" ",
|
|
11422
11352
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11423
|
-
|
|
11353
|
+
Link7__default.default,
|
|
11424
11354
|
{
|
|
11425
11355
|
href: buildPath("/privacy"),
|
|
11426
11356
|
className: "font-semibold text-primary hover:opacity-70",
|
|
@@ -11444,7 +11374,7 @@ function RegisterScreen() {
|
|
|
11444
11374
|
),
|
|
11445
11375
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted", children: [
|
|
11446
11376
|
"Already have an account? ",
|
|
11447
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11377
|
+
/* @__PURE__ */ jsxRuntime.jsx(Link7__default.default, { href: buildPath("/login"), className: "font-medium text-primary transition hover:opacity-90", children: "Sign in" })
|
|
11448
11378
|
] }) })
|
|
11449
11379
|
] })
|
|
11450
11380
|
}
|
|
@@ -11500,7 +11430,6 @@ function useOrders(page = 1, limit = 10, orderStatus, paymentStatus) {
|
|
|
11500
11430
|
resolvedUserId
|
|
11501
11431
|
);
|
|
11502
11432
|
setOrders(response.data.data || []);
|
|
11503
|
-
console.log(response.data);
|
|
11504
11433
|
setPagination({
|
|
11505
11434
|
page: response.data.page || page,
|
|
11506
11435
|
limit: response.data.limit || limit,
|
|
@@ -11883,7 +11812,6 @@ function AccountSavedItemsTab() {
|
|
|
11883
11812
|
wishlistProductIds
|
|
11884
11813
|
);
|
|
11885
11814
|
const products = wishlistProducts || [];
|
|
11886
|
-
console.log(products);
|
|
11887
11815
|
if (isLoading) {
|
|
11888
11816
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3", children: Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
11889
11817
|
"div",
|
|
@@ -12660,7 +12588,7 @@ function CurrentOrdersScreen() {
|
|
|
12660
12588
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70", children: "Quick actions" }),
|
|
12661
12589
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 space-y-3 text-sm text-white/80", children: [
|
|
12662
12590
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
12663
|
-
|
|
12591
|
+
Link7__default.default,
|
|
12664
12592
|
{
|
|
12665
12593
|
href: buildPath("/orders"),
|
|
12666
12594
|
className: "flex items-center justify-between rounded-2xl bg-white/10 px-4 py-3 transition hover:bg-white/20",
|
|
@@ -13529,7 +13457,6 @@ function SearchPage() {
|
|
|
13529
13457
|
}
|
|
13530
13458
|
try {
|
|
13531
13459
|
setIsLoading(true);
|
|
13532
|
-
console.log(searchQuery);
|
|
13533
13460
|
const api = new ProductsApi(AXIOS_CONFIG);
|
|
13534
13461
|
const response = await api.getAllProductsForStore(
|
|
13535
13462
|
searchQuery,
|
|
@@ -13640,7 +13567,7 @@ function SearchPage() {
|
|
|
13640
13567
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-gray-500 mb-6", children: [
|
|
13641
13568
|
"Try different keywords or check out our",
|
|
13642
13569
|
" ",
|
|
13643
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13570
|
+
/* @__PURE__ */ jsxRuntime.jsx(Link7__default.default, { href: "/shop", className: "text-primary-600 hover:underline ml-1 font-medium", children: "featured products" })
|
|
13644
13571
|
] })
|
|
13645
13572
|
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-gray-500", children: "Enter a search term to find products" }) })
|
|
13646
13573
|
] })
|
|
@@ -13663,7 +13590,6 @@ function NewAddressPage() {
|
|
|
13663
13590
|
const onSubmit = async (data) => {
|
|
13664
13591
|
setIsSubmitting(true);
|
|
13665
13592
|
try {
|
|
13666
|
-
console.log("Submitting address data:", data);
|
|
13667
13593
|
const api = new AddressesApi(AXIOS_CONFIG);
|
|
13668
13594
|
const response = await api.createAddressForUser({
|
|
13669
13595
|
name: data.name,
|
|
@@ -13851,7 +13777,7 @@ function Header() {
|
|
|
13851
13777
|
{ href: buildPath("/shop"), label: "Shop" }
|
|
13852
13778
|
];
|
|
13853
13779
|
return /* @__PURE__ */ jsxRuntime.jsx("header", { className: "sticky top-0 z-10 bg-white/80 backdrop-blur-xl border-b border-gray-200 shadow-xs", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between h-20", children: [
|
|
13854
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13780
|
+
/* @__PURE__ */ jsxRuntime.jsx(Link7__default.default, { href: buildPath("/"), className: "flex items-center gap-3", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-12 h-12", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13855
13781
|
Image4__default.default,
|
|
13856
13782
|
{
|
|
13857
13783
|
src: config.logo,
|
|
@@ -13861,7 +13787,7 @@ function Header() {
|
|
|
13861
13787
|
}
|
|
13862
13788
|
) }) }),
|
|
13863
13789
|
/* @__PURE__ */ jsxRuntime.jsx("nav", { className: "hidden lg:flex items-center gap-8", children: navLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13864
|
-
|
|
13790
|
+
Link7__default.default,
|
|
13865
13791
|
{
|
|
13866
13792
|
href: link.href,
|
|
13867
13793
|
className: "text-gray-700 hover:text-primary-600 font-medium transition-colors relative group",
|
|
@@ -13921,11 +13847,11 @@ function Header() {
|
|
|
13921
13847
|
) })
|
|
13922
13848
|
] }),
|
|
13923
13849
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
|
|
13924
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13850
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Link7__default.default, { href: buildPath("/wishlist"), className: "relative p-2 text-gray-700 hover:text-red-500 transition-colors", children: [
|
|
13925
13851
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heart, { className: "w-6 h-6" }),
|
|
13926
13852
|
wishlistCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center", children: wishlistCount })
|
|
13927
13853
|
] }),
|
|
13928
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13854
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Link7__default.default, { href: buildPath("/cart"), className: "relative p-2 text-gray-700 hover:text-primary-600 transition-colors", children: [
|
|
13929
13855
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShoppingCart, { className: "w-6 h-6" }),
|
|
13930
13856
|
cart?.cartBody?.items?.length && cart.cartBody?.items?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center", children: cart.cartBody?.items?.length }) : null
|
|
13931
13857
|
] }),
|
|
@@ -13959,7 +13885,7 @@ function Header() {
|
|
|
13959
13885
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 truncate", children: user?.email })
|
|
13960
13886
|
] }),
|
|
13961
13887
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13962
|
-
|
|
13888
|
+
Link7__default.default,
|
|
13963
13889
|
{
|
|
13964
13890
|
href: buildPath("/account"),
|
|
13965
13891
|
onClick: () => setIsDropdownOpen(false),
|
|
@@ -13986,7 +13912,7 @@ function Header() {
|
|
|
13986
13912
|
] }) })
|
|
13987
13913
|
] })
|
|
13988
13914
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
13989
|
-
|
|
13915
|
+
Link7__default.default,
|
|
13990
13916
|
{
|
|
13991
13917
|
href: buildPath("/login"),
|
|
13992
13918
|
className: "hidden sm:block px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors font-medium",
|
|
@@ -14012,7 +13938,7 @@ function Header() {
|
|
|
14012
13938
|
className: "lg:hidden overflow-hidden border-t border-gray-200",
|
|
14013
13939
|
children: /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex flex-col gap-1 py-2", children: [
|
|
14014
13940
|
navLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
14015
|
-
|
|
13941
|
+
Link7__default.default,
|
|
14016
13942
|
{
|
|
14017
13943
|
href: link.href,
|
|
14018
13944
|
className: "px-4 py-3 text-gray-700 hover:bg-gray-50 rounded-lg font-medium",
|
|
@@ -14022,7 +13948,7 @@ function Header() {
|
|
|
14022
13948
|
link.href
|
|
14023
13949
|
)),
|
|
14024
13950
|
!isAuthenticated && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14025
|
-
|
|
13951
|
+
Link7__default.default,
|
|
14026
13952
|
{
|
|
14027
13953
|
href: buildPath("/login"),
|
|
14028
13954
|
onClick: () => setIsMobileMenuOpen(false),
|
|
@@ -14090,7 +14016,7 @@ function Footer() {
|
|
|
14090
14016
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
14091
14017
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold text-white mb-4", children: "Shop" }),
|
|
14092
14018
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2", children: footerLinks.shop.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14093
|
-
|
|
14019
|
+
Link7__default.default,
|
|
14094
14020
|
{
|
|
14095
14021
|
href: link.href,
|
|
14096
14022
|
className: "hover:text-primary-500 transition-colors",
|
|
@@ -14101,7 +14027,7 @@ function Footer() {
|
|
|
14101
14027
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
14102
14028
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold text-white mb-4", children: "Account" }),
|
|
14103
14029
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2", children: footerLinks.account.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14104
|
-
|
|
14030
|
+
Link7__default.default,
|
|
14105
14031
|
{
|
|
14106
14032
|
href: link.href,
|
|
14107
14033
|
className: "hover:text-primary-500 transition-colors",
|
|
@@ -14112,7 +14038,7 @@ function Footer() {
|
|
|
14112
14038
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
14113
14039
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold text-white mb-4", children: "Support" }),
|
|
14114
14040
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2", children: footerLinks.support.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14115
|
-
|
|
14041
|
+
Link7__default.default,
|
|
14116
14042
|
{
|
|
14117
14043
|
href: link.href,
|
|
14118
14044
|
className: "hover:text-primary-500 transition-colors",
|