hey-pharmacist-ecommerce 1.1.42 → 1.1.44

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 (105) hide show
  1. package/README.md +70 -8
  2. package/dist/index.d.mts +2550 -3081
  3. package/dist/index.d.ts +2550 -3081
  4. package/dist/index.js +506 -399
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +506 -397
  7. package/dist/index.mjs.map +1 -1
  8. package/package.json +2 -2
  9. package/src/components/AccountOverviewTab.tsx +5 -5
  10. package/src/components/AccountReviewsTab.tsx +4 -4
  11. package/src/components/CartItem.tsx +15 -15
  12. package/src/components/Header.tsx +1 -1
  13. package/src/components/Notification.tsx +3 -3
  14. package/src/components/OrderCard.tsx +1 -1
  15. package/src/components/ProductCard.tsx +11 -11
  16. package/src/components/QuickViewModal.tsx +16 -16
  17. package/src/components/RatingDistribution.tsx +2 -2
  18. package/src/components/ReviewCard.tsx +2 -2
  19. package/src/components/ReviewForm.tsx +3 -3
  20. package/src/components/ReviewPromptBanner.tsx +4 -4
  21. package/src/components/ReviewsList.tsx +9 -11
  22. package/src/components/StarRating.tsx +3 -3
  23. package/src/hooks/useProducts.ts +0 -1
  24. package/src/hooks/useSmartSearch.ts +68 -0
  25. package/src/lib/Apis/api.ts +1 -1
  26. package/src/lib/Apis/apis/analytics-api.ts +809 -0
  27. package/src/lib/Apis/apis/notifications-api.ts +8 -6
  28. package/src/lib/Apis/apis/products-api.ts +390 -15
  29. package/src/lib/Apis/apis/stores-api.ts +26 -149
  30. package/src/lib/Apis/apis/web-hooks-api.ts +8 -17
  31. package/src/lib/Apis/models/analytics-period-dto.ts +45 -0
  32. package/src/lib/Apis/models/appointment-overview-dto.ts +71 -0
  33. package/src/lib/Apis/models/category-sales-dto.ts +51 -0
  34. package/src/lib/Apis/models/create-store-dto.ts +12 -0
  35. package/src/lib/Apis/models/customer-overview-dto.ts +96 -0
  36. package/src/lib/Apis/models/{country-stats-response-dto.ts → customer-segment-dto.ts} +12 -13
  37. package/src/lib/Apis/models/dashboard-overview-dto.ts +70 -0
  38. package/src/lib/Apis/models/discount-overview-dto.ts +71 -0
  39. package/src/lib/Apis/models/group-with-no-users-dto.ts +0 -6
  40. package/src/lib/Apis/models/group-with-users-dto.ts +0 -6
  41. package/src/lib/Apis/models/index.ts +29 -38
  42. package/src/lib/Apis/models/{single-recipient-dto.ts → inline-response200.ts} +11 -10
  43. package/src/lib/Apis/models/{create-contact-dto.ts → inline-response2001.ts} +11 -11
  44. package/src/lib/Apis/models/inventory-alert-dto.ts +67 -0
  45. package/src/lib/Apis/models/notification-dto.ts +107 -0
  46. package/src/lib/Apis/models/notifications-paginated-response-dto.ts +58 -0
  47. package/src/lib/Apis/models/order-overview-dto.ts +89 -0
  48. package/src/lib/Apis/models/{single-link-stats-dto.ts → order-status-count-dto.ts} +10 -10
  49. package/src/lib/Apis/models/order.ts +0 -6
  50. package/src/lib/Apis/models/payout-history-item-dto.ts +45 -0
  51. package/src/lib/Apis/models/{single-country-stats-dto.ts → popular-time-slot-dto.ts} +10 -10
  52. package/src/lib/Apis/models/populated-order.ts +0 -6
  53. package/src/lib/Apis/models/preference-update-item.ts +1 -0
  54. package/src/lib/Apis/models/product-overview-dto.ts +90 -0
  55. package/src/lib/Apis/models/product.ts +6 -0
  56. package/src/lib/Apis/models/{create-contact-list-dto.ts → products-aidraft-body.ts} +4 -4
  57. package/src/lib/Apis/models/{schedule-campaign-draft-dto.ts → products-processimage-body.ts} +5 -5
  58. package/src/lib/Apis/models/{contact-full-response-dto.ts → rating-distribution-dto.ts} +9 -10
  59. package/src/lib/Apis/models/recent-review-dto.ts +63 -0
  60. package/src/lib/Apis/models/review-overview-dto.ts +65 -0
  61. package/src/lib/Apis/models/store-balance-dto.ts +39 -0
  62. package/src/lib/Apis/models/store-entity.ts +12 -0
  63. package/src/lib/Apis/models/{link-stats-response-dto.ts → store-finance-overview-dto.ts} +10 -15
  64. package/src/lib/Apis/models/store.ts +12 -0
  65. package/src/lib/Apis/models/{add-contact-to-list-dto.ts → time-series-point-dto.ts} +9 -9
  66. package/src/lib/Apis/models/{create-email-template-dto.ts → top-customer-dto.ts} +20 -14
  67. package/src/lib/Apis/models/{marketing-list-contact-dto.ts → top-discount-dto.ts} +12 -12
  68. package/src/lib/Apis/models/{single-browser-stats-dto.ts → top-product-dto.ts} +18 -12
  69. package/src/lib/Apis/models/{marketing-campaign-content-dto.ts → unread-count-dto.ts} +6 -6
  70. package/src/lib/Apis/models/update-store-dto.ts +12 -0
  71. package/src/lib/Apis/models/update-user-dto.ts +0 -6
  72. package/src/lib/Apis/models/user-group.ts +0 -6
  73. package/src/lib/Apis/models/user-with-no-id.ts +0 -6
  74. package/src/lib/Apis/sharedConfig.ts +1 -1
  75. package/src/screens/CartScreen.tsx +10 -10
  76. package/src/screens/CheckoutScreen.tsx +12 -12
  77. package/src/screens/OrderReviewsScreen.tsx +6 -6
  78. package/src/screens/ProductDetailScreen.tsx +40 -40
  79. package/src/screens/SearchResultsScreen.tsx +17 -21
  80. package/src/screens/ShopScreen.tsx +20 -82
  81. package/src/lib/Apis/apis/marketing-api.ts +0 -3099
  82. package/src/lib/Apis/models/api-key-info-dto.ts +0 -49
  83. package/src/lib/Apis/models/browser-stats-response-dto.ts +0 -40
  84. package/src/lib/Apis/models/campaign-content-response-dto.ts +0 -40
  85. package/src/lib/Apis/models/campaign-draft-dto.ts +0 -175
  86. package/src/lib/Apis/models/campaign-draft-response-dto.ts +0 -40
  87. package/src/lib/Apis/models/campaign-draft-schedule-dto.ts +0 -49
  88. package/src/lib/Apis/models/campaign-draft-schedule-response-dto.ts +0 -40
  89. package/src/lib/Apis/models/campaign-draft-sending-dto.ts +0 -43
  90. package/src/lib/Apis/models/campaign-draft-sending-response-dto.ts +0 -40
  91. package/src/lib/Apis/models/contact-aggregated-stats-response-dto.ts +0 -40
  92. package/src/lib/Apis/models/contact-full-dto.ts +0 -93
  93. package/src/lib/Apis/models/contact-list-stats-response-dto.ts +0 -40
  94. package/src/lib/Apis/models/contact-lists-response-dto.ts +0 -40
  95. package/src/lib/Apis/models/create-marketing-campaign-dto.ts +0 -81
  96. package/src/lib/Apis/models/email-template-response-dto.ts +0 -117
  97. package/src/lib/Apis/models/general-stats-response-dto.ts +0 -40
  98. package/src/lib/Apis/models/send-test-email-dto.ts +0 -28
  99. package/src/lib/Apis/models/single-contact-aggregated-stats-dto.ts +0 -129
  100. package/src/lib/Apis/models/single-contact-list-stats-dto.ts +0 -117
  101. package/src/lib/Apis/models/single-general-stats.ts +0 -153
  102. package/src/lib/Apis/models/store-api-keys-response-dto.ts +0 -34
  103. package/src/lib/Apis/models/update-api-keys-dto.ts +0 -39
  104. package/src/lib/Apis/models/update-campaign-draft-content-dto.ts +0 -27
  105. package/src/lib/Apis/models/update-marketing-camp-draft-dto.ts +0 -81
package/dist/index.js CHANGED
@@ -71,7 +71,7 @@ var init_sharedConfig = __esm({
71
71
  basePath: "https://api.heypharmacist.com",
72
72
  // Default fallback
73
73
  baseOptions: {
74
- timeout: 2e4
74
+ timeout: 6e4
75
75
  }
76
76
  });
77
77
  }
@@ -6351,6 +6351,52 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6351
6351
  options: localVarRequestOptions
6352
6352
  };
6353
6353
  },
6354
+ /**
6355
+ *
6356
+ * @summary Generate a product draft using AI
6357
+ * @param {ProductsAidraftBody} body
6358
+ * @param {*} [options] Override http request option.
6359
+ * @throws {RequiredError}
6360
+ */
6361
+ generateAiDraft: async (body, options = {}) => {
6362
+ if (body === null || body === void 0) {
6363
+ throw new RequiredError("body", "Required parameter body was null or undefined when calling generateAiDraft.");
6364
+ }
6365
+ const localVarPath = `/products/ai-draft`;
6366
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
6367
+ let baseOptions;
6368
+ if (configuration) {
6369
+ baseOptions = configuration.baseOptions;
6370
+ }
6371
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
6372
+ const localVarHeaderParameter = {};
6373
+ const localVarQueryParameter = {};
6374
+ if (configuration && configuration.accessToken) {
6375
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
6376
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
6377
+ }
6378
+ if (configuration && configuration.apiKey) {
6379
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
6380
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
6381
+ }
6382
+ localVarHeaderParameter["Content-Type"] = "application/json";
6383
+ const query = new URLSearchParams(localVarUrlObj.search);
6384
+ for (const key in localVarQueryParameter) {
6385
+ query.set(key, localVarQueryParameter[key]);
6386
+ }
6387
+ for (const key in options.params) {
6388
+ query.set(key, options.params[key]);
6389
+ }
6390
+ localVarUrlObj.search = new URLSearchParams(query).toString();
6391
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
6392
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
6393
+ const needsSerialization = typeof body !== "string" || (localVarRequestOptions.headers || (localVarRequestOptions.headers = {}))["Content-Type"] === "application/json";
6394
+ localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== void 0 ? body : {}) : body || "";
6395
+ return {
6396
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
6397
+ options: localVarRequestOptions
6398
+ };
6399
+ },
6354
6400
  /**
6355
6401
  *
6356
6402
  * @summary [DEPRECATED] Use GET /products/all?categoryId=:id instead
@@ -6436,7 +6482,6 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6436
6482
  /**
6437
6483
  *
6438
6484
  * @summary Get all products with filtering and pagination
6439
- * @param {string} [searchTerm]
6440
6485
  * @param {number} [maxPrice]
6441
6486
  * @param {number} [minPrice]
6442
6487
  * @param {string} [brandFilter] Comma-separated brand names
@@ -6450,7 +6495,7 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6450
6495
  * @param {*} [options] Override http request option.
6451
6496
  * @throws {RequiredError}
6452
6497
  */
6453
- getAllProducts: async (searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options = {}) => {
6498
+ getAllProducts: async (maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options = {}) => {
6454
6499
  const localVarPath = `/products/all`;
6455
6500
  const localVarUrlObj = new URL(localVarPath, "https://example.com");
6456
6501
  let baseOptions;
@@ -6468,9 +6513,6 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6468
6513
  const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
6469
6514
  localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
6470
6515
  }
6471
- if (searchTerm !== void 0) {
6472
- localVarQueryParameter["searchTerm"] = searchTerm;
6473
- }
6474
6516
  if (maxPrice !== void 0) {
6475
6517
  localVarQueryParameter["maxPrice"] = maxPrice;
6476
6518
  }
@@ -6899,6 +6941,94 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6899
6941
  options: localVarRequestOptions
6900
6942
  };
6901
6943
  },
6944
+ /**
6945
+ *
6946
+ * @summary Process image using PhotoRoom (remove background)
6947
+ * @param {Blob} image
6948
+ * @param {*} [options] Override http request option.
6949
+ * @throws {RequiredError}
6950
+ */
6951
+ processImageForm: async (image, options = {}) => {
6952
+ if (image === null || image === void 0) {
6953
+ throw new RequiredError("image", "Required parameter image was null or undefined when calling processImageForm.");
6954
+ }
6955
+ const localVarPath = `/products/process-image`;
6956
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
6957
+ let baseOptions;
6958
+ if (configuration) {
6959
+ baseOptions = configuration.baseOptions;
6960
+ }
6961
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
6962
+ const localVarHeaderParameter = {};
6963
+ const localVarQueryParameter = {};
6964
+ const localVarFormParams = new FormData();
6965
+ if (configuration && configuration.accessToken) {
6966
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
6967
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
6968
+ }
6969
+ if (configuration && configuration.apiKey) {
6970
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
6971
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
6972
+ }
6973
+ if (image !== void 0) {
6974
+ localVarFormParams.append("image", image);
6975
+ }
6976
+ localVarHeaderParameter["Content-Type"] = "multipart/form-data";
6977
+ const query = new URLSearchParams(localVarUrlObj.search);
6978
+ for (const key in localVarQueryParameter) {
6979
+ query.set(key, localVarQueryParameter[key]);
6980
+ }
6981
+ for (const key in options.params) {
6982
+ query.set(key, options.params[key]);
6983
+ }
6984
+ localVarUrlObj.search = new URLSearchParams(query).toString();
6985
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
6986
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
6987
+ localVarRequestOptions.data = localVarFormParams;
6988
+ return {
6989
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
6990
+ options: localVarRequestOptions
6991
+ };
6992
+ },
6993
+ /**
6994
+ * Generates AI embeddings for all products. Run this once after enabling smart search, or to refresh all embeddings.
6995
+ * @summary Reindex all product embeddings for smart search
6996
+ * @param {*} [options] Override http request option.
6997
+ * @throws {RequiredError}
6998
+ */
6999
+ reindexEmbeddings: async (options = {}) => {
7000
+ const localVarPath = `/products/reindex-embeddings`;
7001
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
7002
+ let baseOptions;
7003
+ if (configuration) {
7004
+ baseOptions = configuration.baseOptions;
7005
+ }
7006
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
7007
+ const localVarHeaderParameter = {};
7008
+ const localVarQueryParameter = {};
7009
+ if (configuration && configuration.accessToken) {
7010
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
7011
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
7012
+ }
7013
+ if (configuration && configuration.apiKey) {
7014
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
7015
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
7016
+ }
7017
+ const query = new URLSearchParams(localVarUrlObj.search);
7018
+ for (const key in localVarQueryParameter) {
7019
+ query.set(key, localVarQueryParameter[key]);
7020
+ }
7021
+ for (const key in options.params) {
7022
+ query.set(key, options.params[key]);
7023
+ }
7024
+ localVarUrlObj.search = new URLSearchParams(query).toString();
7025
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
7026
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
7027
+ return {
7028
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
7029
+ options: localVarRequestOptions
7030
+ };
7031
+ },
6902
7032
  /**
6903
7033
  *
6904
7034
  * @summary Reorder products within a category or subcategory
@@ -6945,6 +7075,56 @@ var ProductsApiAxiosParamCreator = function(configuration) {
6945
7075
  options: localVarRequestOptions
6946
7076
  };
6947
7077
  },
7078
+ /**
7079
+ * Search products using natural language. Handles typos, synonyms, and returns related products ranked by relevance.
7080
+ * @summary Smart search using AI-powered semantic similarity
7081
+ * @param {string} searchTerm Search query (e.g., \"headache medicine\", \"iphn 12\")
7082
+ * @param {number} [limit] Maximum results (default: 20)
7083
+ * @param {*} [options] Override http request option.
7084
+ * @throws {RequiredError}
7085
+ */
7086
+ smartSearch: async (searchTerm, limit, options = {}) => {
7087
+ if (searchTerm === null || searchTerm === void 0) {
7088
+ throw new RequiredError("searchTerm", "Required parameter searchTerm was null or undefined when calling smartSearch.");
7089
+ }
7090
+ const localVarPath = `/products/search`;
7091
+ const localVarUrlObj = new URL(localVarPath, "https://example.com");
7092
+ let baseOptions;
7093
+ if (configuration) {
7094
+ baseOptions = configuration.baseOptions;
7095
+ }
7096
+ const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
7097
+ const localVarHeaderParameter = {};
7098
+ const localVarQueryParameter = {};
7099
+ if (configuration && configuration.accessToken) {
7100
+ const accessToken = typeof configuration.accessToken === "function" ? await configuration.accessToken() : await configuration.accessToken;
7101
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
7102
+ }
7103
+ if (configuration && configuration.apiKey) {
7104
+ const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
7105
+ localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
7106
+ }
7107
+ if (searchTerm !== void 0) {
7108
+ localVarQueryParameter["searchTerm"] = searchTerm;
7109
+ }
7110
+ if (limit !== void 0) {
7111
+ localVarQueryParameter["limit"] = limit;
7112
+ }
7113
+ const query = new URLSearchParams(localVarUrlObj.search);
7114
+ for (const key in localVarQueryParameter) {
7115
+ query.set(key, localVarQueryParameter[key]);
7116
+ }
7117
+ for (const key in options.params) {
7118
+ query.set(key, options.params[key]);
7119
+ }
7120
+ localVarUrlObj.search = new URLSearchParams(query).toString();
7121
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
7122
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
7123
+ return {
7124
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
7125
+ options: localVarRequestOptions
7126
+ };
7127
+ },
6948
7128
  /**
6949
7129
  *
6950
7130
  * @summary Update variant inventory (add or subtract)
@@ -7179,6 +7359,20 @@ var ProductsApiFp = function(configuration) {
7179
7359
  return axios.request(axiosRequestArgs);
7180
7360
  };
7181
7361
  },
7362
+ /**
7363
+ *
7364
+ * @summary Generate a product draft using AI
7365
+ * @param {ProductsAidraftBody} body
7366
+ * @param {*} [options] Override http request option.
7367
+ * @throws {RequiredError}
7368
+ */
7369
+ async generateAiDraft(body, options) {
7370
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).generateAiDraft(body, options);
7371
+ return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
7372
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7373
+ return axios.request(axiosRequestArgs);
7374
+ };
7375
+ },
7182
7376
  /**
7183
7377
  *
7184
7378
  * @summary [DEPRECATED] Use GET /products/all?categoryId=:id instead
@@ -7209,7 +7403,6 @@ var ProductsApiFp = function(configuration) {
7209
7403
  /**
7210
7404
  *
7211
7405
  * @summary Get all products with filtering and pagination
7212
- * @param {string} [searchTerm]
7213
7406
  * @param {number} [maxPrice]
7214
7407
  * @param {number} [minPrice]
7215
7408
  * @param {string} [brandFilter] Comma-separated brand names
@@ -7223,8 +7416,8 @@ var ProductsApiFp = function(configuration) {
7223
7416
  * @param {*} [options] Override http request option.
7224
7417
  * @throws {RequiredError}
7225
7418
  */
7226
- async getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7227
- const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options);
7419
+ async getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7420
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options);
7228
7421
  return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
7229
7422
  const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7230
7423
  return axios.request(axiosRequestArgs);
@@ -7355,6 +7548,33 @@ var ProductsApiFp = function(configuration) {
7355
7548
  return axios.request(axiosRequestArgs);
7356
7549
  };
7357
7550
  },
7551
+ /**
7552
+ *
7553
+ * @summary Process image using PhotoRoom (remove background)
7554
+ * @param {Blob} image
7555
+ * @param {*} [options] Override http request option.
7556
+ * @throws {RequiredError}
7557
+ */
7558
+ async processImageForm(image, options) {
7559
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).processImageForm(image, options);
7560
+ return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
7561
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7562
+ return axios.request(axiosRequestArgs);
7563
+ };
7564
+ },
7565
+ /**
7566
+ * Generates AI embeddings for all products. Run this once after enabling smart search, or to refresh all embeddings.
7567
+ * @summary Reindex all product embeddings for smart search
7568
+ * @param {*} [options] Override http request option.
7569
+ * @throws {RequiredError}
7570
+ */
7571
+ async reindexEmbeddings(options) {
7572
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).reindexEmbeddings(options);
7573
+ return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
7574
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7575
+ return axios.request(axiosRequestArgs);
7576
+ };
7577
+ },
7358
7578
  /**
7359
7579
  *
7360
7580
  * @summary Reorder products within a category or subcategory
@@ -7369,6 +7589,21 @@ var ProductsApiFp = function(configuration) {
7369
7589
  return axios.request(axiosRequestArgs);
7370
7590
  };
7371
7591
  },
7592
+ /**
7593
+ * Search products using natural language. Handles typos, synonyms, and returns related products ranked by relevance.
7594
+ * @summary Smart search using AI-powered semantic similarity
7595
+ * @param {string} searchTerm Search query (e.g., \"headache medicine\", \"iphn 12\")
7596
+ * @param {number} [limit] Maximum results (default: 20)
7597
+ * @param {*} [options] Override http request option.
7598
+ * @throws {RequiredError}
7599
+ */
7600
+ async smartSearch(searchTerm, limit, options) {
7601
+ const localVarAxiosArgs = await ProductsApiAxiosParamCreator(configuration).smartSearch(searchTerm, limit, options);
7602
+ return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
7603
+ const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
7604
+ return axios.request(axiosRequestArgs);
7605
+ };
7606
+ },
7372
7607
  /**
7373
7608
  *
7374
7609
  * @summary Update variant inventory (add or subtract)
@@ -7476,6 +7711,17 @@ var ProductsApi = class extends BaseAPI {
7476
7711
  async deleteVariant(productId, variantId, options) {
7477
7712
  return ProductsApiFp(this.configuration).deleteVariant(productId, variantId, options).then((request) => request(this.axios, this.basePath));
7478
7713
  }
7714
+ /**
7715
+ *
7716
+ * @summary Generate a product draft using AI
7717
+ * @param {ProductsAidraftBody} body
7718
+ * @param {*} [options] Override http request option.
7719
+ * @throws {RequiredError}
7720
+ * @memberof ProductsApi
7721
+ */
7722
+ async generateAiDraft(body, options) {
7723
+ return ProductsApiFp(this.configuration).generateAiDraft(body, options).then((request) => request(this.axios, this.basePath));
7724
+ }
7479
7725
  /**
7480
7726
  *
7481
7727
  * @summary [DEPRECATED] Use GET /products/all?categoryId=:id instead
@@ -7500,7 +7746,6 @@ var ProductsApi = class extends BaseAPI {
7500
7746
  /**
7501
7747
  *
7502
7748
  * @summary Get all products with filtering and pagination
7503
- * @param {string} [searchTerm]
7504
7749
  * @param {number} [maxPrice]
7505
7750
  * @param {number} [minPrice]
7506
7751
  * @param {string} [brandFilter] Comma-separated brand names
@@ -7515,8 +7760,8 @@ var ProductsApi = class extends BaseAPI {
7515
7760
  * @throws {RequiredError}
7516
7761
  * @memberof ProductsApi
7517
7762
  */
7518
- async getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7519
- return ProductsApiFp(this.configuration).getAllProducts(searchTerm, maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options).then((request) => request(this.axios, this.basePath));
7763
+ async getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options) {
7764
+ return ProductsApiFp(this.configuration).getAllProducts(maxPrice, minPrice, brandFilter, availability, sort, subCategoryId, categoryId, isActive, limit, page, options).then((request) => request(this.axios, this.basePath));
7520
7765
  }
7521
7766
  /**
7522
7767
  *
@@ -7616,6 +7861,27 @@ var ProductsApi = class extends BaseAPI {
7616
7861
  async getTopSellingProducts(limit, page, options) {
7617
7862
  return ProductsApiFp(this.configuration).getTopSellingProducts(limit, page, options).then((request) => request(this.axios, this.basePath));
7618
7863
  }
7864
+ /**
7865
+ *
7866
+ * @summary Process image using PhotoRoom (remove background)
7867
+ * @param {Blob} image
7868
+ * @param {*} [options] Override http request option.
7869
+ * @throws {RequiredError}
7870
+ * @memberof ProductsApi
7871
+ */
7872
+ async processImageForm(image, options) {
7873
+ return ProductsApiFp(this.configuration).processImageForm(image, options).then((request) => request(this.axios, this.basePath));
7874
+ }
7875
+ /**
7876
+ * Generates AI embeddings for all products. Run this once after enabling smart search, or to refresh all embeddings.
7877
+ * @summary Reindex all product embeddings for smart search
7878
+ * @param {*} [options] Override http request option.
7879
+ * @throws {RequiredError}
7880
+ * @memberof ProductsApi
7881
+ */
7882
+ async reindexEmbeddings(options) {
7883
+ return ProductsApiFp(this.configuration).reindexEmbeddings(options).then((request) => request(this.axios, this.basePath));
7884
+ }
7619
7885
  /**
7620
7886
  *
7621
7887
  * @summary Reorder products within a category or subcategory
@@ -7627,6 +7893,18 @@ var ProductsApi = class extends BaseAPI {
7627
7893
  async reorderProducts(body, options) {
7628
7894
  return ProductsApiFp(this.configuration).reorderProducts(body, options).then((request) => request(this.axios, this.basePath));
7629
7895
  }
7896
+ /**
7897
+ * Search products using natural language. Handles typos, synonyms, and returns related products ranked by relevance.
7898
+ * @summary Smart search using AI-powered semantic similarity
7899
+ * @param {string} searchTerm Search query (e.g., \"headache medicine\", \"iphn 12\")
7900
+ * @param {number} [limit] Maximum results (default: 20)
7901
+ * @param {*} [options] Override http request option.
7902
+ * @throws {RequiredError}
7903
+ * @memberof ProductsApi
7904
+ */
7905
+ async smartSearch(searchTerm, limit, options) {
7906
+ return ProductsApiFp(this.configuration).smartSearch(searchTerm, limit, options).then((request) => request(this.axios, this.basePath));
7907
+ }
7630
7908
  /**
7631
7909
  *
7632
7910
  * @summary Update variant inventory (add or subtract)
@@ -9524,16 +9802,12 @@ var StoresApiAxiosParamCreator = function(configuration) {
9524
9802
  },
9525
9803
  /**
9526
9804
  *
9527
- * @summary Get store API keys with masked values
9528
- * @param {string} storeId
9805
+ * @summary Get store finance overview
9529
9806
  * @param {*} [options] Override http request option.
9530
9807
  * @throws {RequiredError}
9531
9808
  */
9532
- getApiKeys: async (storeId, options = {}) => {
9533
- if (storeId === null || storeId === void 0) {
9534
- throw new RequiredError("storeId", "Required parameter storeId was null or undefined when calling getApiKeys.");
9535
- }
9536
- const localVarPath = `/stores/{storeId}/api-keys`.replace(`{${"storeId"}}`, encodeURIComponent(String(storeId)));
9809
+ getFinanceOverview: async (options = {}) => {
9810
+ const localVarPath = `/stores/finance/overview`;
9537
9811
  const localVarUrlObj = new URL(localVarPath, "https://example.com");
9538
9812
  let baseOptions;
9539
9813
  if (configuration) {
@@ -9756,49 +10030,6 @@ var StoresApiAxiosParamCreator = function(configuration) {
9756
10030
  options: localVarRequestOptions
9757
10031
  };
9758
10032
  },
9759
- /**
9760
- *
9761
- * @summary Revoke/delete a specific API key
9762
- * @param {string} storeId
9763
- * @param {string} keyType Type of key to revoke
9764
- * @param {*} [options] Override http request option.
9765
- * @throws {RequiredError}
9766
- */
9767
- revokeApiKey: async (storeId, keyType, options = {}) => {
9768
- if (storeId === null || storeId === void 0) {
9769
- throw new RequiredError("storeId", "Required parameter storeId was null or undefined when calling revokeApiKey.");
9770
- }
9771
- if (keyType === null || keyType === void 0) {
9772
- throw new RequiredError("keyType", "Required parameter keyType was null or undefined when calling revokeApiKey.");
9773
- }
9774
- const localVarPath = `/stores/{storeId}/api-keys/{keyType}`.replace(`{${"storeId"}}`, encodeURIComponent(String(storeId))).replace(`{${"keyType"}}`, encodeURIComponent(String(keyType)));
9775
- const localVarUrlObj = new URL(localVarPath, "https://example.com");
9776
- let baseOptions;
9777
- if (configuration) {
9778
- baseOptions = configuration.baseOptions;
9779
- }
9780
- const localVarRequestOptions = { method: "DELETE", ...baseOptions, ...options };
9781
- const localVarHeaderParameter = {};
9782
- const localVarQueryParameter = {};
9783
- if (configuration && configuration.apiKey) {
9784
- const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
9785
- localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
9786
- }
9787
- const query = new URLSearchParams(localVarUrlObj.search);
9788
- for (const key in localVarQueryParameter) {
9789
- query.set(key, localVarQueryParameter[key]);
9790
- }
9791
- for (const key in options.params) {
9792
- query.set(key, options.params[key]);
9793
- }
9794
- localVarUrlObj.search = new URLSearchParams(query).toString();
9795
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
9796
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
9797
- return {
9798
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
9799
- options: localVarRequestOptions
9800
- };
9801
- },
9802
10033
  /**
9803
10034
  *
9804
10035
  * @param {*} [options] Override http request option.
@@ -10205,33 +10436,24 @@ var StoresApiAxiosParamCreator = function(configuration) {
10205
10436
  },
10206
10437
  /**
10207
10438
  *
10208
- * @summary Update store API keys (Stripe/Shippo)
10209
- * @param {UpdateApiKeysDto} body
10210
- * @param {string} storeId
10439
+ * @summary Generate Stripe Onboarding Link
10211
10440
  * @param {*} [options] Override http request option.
10212
10441
  * @throws {RequiredError}
10213
10442
  */
10214
- updateApiKeys: async (body, storeId, options = {}) => {
10215
- if (body === null || body === void 0) {
10216
- throw new RequiredError("body", "Required parameter body was null or undefined when calling updateApiKeys.");
10217
- }
10218
- if (storeId === null || storeId === void 0) {
10219
- throw new RequiredError("storeId", "Required parameter storeId was null or undefined when calling updateApiKeys.");
10220
- }
10221
- const localVarPath = `/stores/{storeId}/api-keys`.replace(`{${"storeId"}}`, encodeURIComponent(String(storeId)));
10443
+ startOnboarding: async (options = {}) => {
10444
+ const localVarPath = `/stores/onboarding`;
10222
10445
  const localVarUrlObj = new URL(localVarPath, "https://example.com");
10223
10446
  let baseOptions;
10224
10447
  if (configuration) {
10225
10448
  baseOptions = configuration.baseOptions;
10226
10449
  }
10227
- const localVarRequestOptions = { method: "PATCH", ...baseOptions, ...options };
10450
+ const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
10228
10451
  const localVarHeaderParameter = {};
10229
10452
  const localVarQueryParameter = {};
10230
10453
  if (configuration && configuration.apiKey) {
10231
10454
  const localVarApiKeyValue = typeof configuration.apiKey === "function" ? await configuration.apiKey("x-store-key") : await configuration.apiKey;
10232
10455
  localVarHeaderParameter["x-store-key"] = localVarApiKeyValue;
10233
10456
  }
10234
- localVarHeaderParameter["Content-Type"] = "application/json";
10235
10457
  const query = new URLSearchParams(localVarUrlObj.search);
10236
10458
  for (const key in localVarQueryParameter) {
10237
10459
  query.set(key, localVarQueryParameter[key]);
@@ -10242,8 +10464,6 @@ var StoresApiAxiosParamCreator = function(configuration) {
10242
10464
  localVarUrlObj.search = new URLSearchParams(query).toString();
10243
10465
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
10244
10466
  localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
10245
- const needsSerialization = typeof body !== "string" || (localVarRequestOptions.headers || (localVarRequestOptions.headers = {}))["Content-Type"] === "application/json";
10246
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== void 0 ? body : {}) : body || "";
10247
10467
  return {
10248
10468
  url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
10249
10469
  options: localVarRequestOptions
@@ -10477,13 +10697,12 @@ var StoresApiFp = function(configuration) {
10477
10697
  },
10478
10698
  /**
10479
10699
  *
10480
- * @summary Get store API keys with masked values
10481
- * @param {string} storeId
10700
+ * @summary Get store finance overview
10482
10701
  * @param {*} [options] Override http request option.
10483
10702
  * @throws {RequiredError}
10484
10703
  */
10485
- async getApiKeys(storeId, options) {
10486
- const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).getApiKeys(storeId, options);
10704
+ async getFinanceOverview(options) {
10705
+ const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).getFinanceOverview(options);
10487
10706
  return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
10488
10707
  const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
10489
10708
  return axios.request(axiosRequestArgs);
@@ -10559,21 +10778,6 @@ var StoresApiFp = function(configuration) {
10559
10778
  return axios.request(axiosRequestArgs);
10560
10779
  };
10561
10780
  },
10562
- /**
10563
- *
10564
- * @summary Revoke/delete a specific API key
10565
- * @param {string} storeId
10566
- * @param {string} keyType Type of key to revoke
10567
- * @param {*} [options] Override http request option.
10568
- * @throws {RequiredError}
10569
- */
10570
- async revokeApiKey(storeId, keyType, options) {
10571
- const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).revokeApiKey(storeId, keyType, options);
10572
- return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
10573
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
10574
- return axios.request(axiosRequestArgs);
10575
- };
10576
- },
10577
10781
  /**
10578
10782
  *
10579
10783
  * @param {*} [options] Override http request option.
@@ -10714,14 +10918,12 @@ var StoresApiFp = function(configuration) {
10714
10918
  },
10715
10919
  /**
10716
10920
  *
10717
- * @summary Update store API keys (Stripe/Shippo)
10718
- * @param {UpdateApiKeysDto} body
10719
- * @param {string} storeId
10921
+ * @summary Generate Stripe Onboarding Link
10720
10922
  * @param {*} [options] Override http request option.
10721
10923
  * @throws {RequiredError}
10722
10924
  */
10723
- async updateApiKeys(body, storeId, options) {
10724
- const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).updateApiKeys(body, storeId, options);
10925
+ async startOnboarding(options) {
10926
+ const localVarAxiosArgs = await StoresApiAxiosParamCreator(configuration).startOnboarding(options);
10725
10927
  return (axios = globalAxios21__default.default, basePath = BASE_PATH) => {
10726
10928
  const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
10727
10929
  return axios.request(axiosRequestArgs);
@@ -10843,14 +11045,13 @@ var StoresApi = class extends BaseAPI {
10843
11045
  }
10844
11046
  /**
10845
11047
  *
10846
- * @summary Get store API keys with masked values
10847
- * @param {string} storeId
11048
+ * @summary Get store finance overview
10848
11049
  * @param {*} [options] Override http request option.
10849
11050
  * @throws {RequiredError}
10850
11051
  * @memberof StoresApi
10851
11052
  */
10852
- async getApiKeys(storeId, options) {
10853
- return StoresApiFp(this.configuration).getApiKeys(storeId, options).then((request) => request(this.axios, this.basePath));
11053
+ async getFinanceOverview(options) {
11054
+ return StoresApiFp(this.configuration).getFinanceOverview(options).then((request) => request(this.axios, this.basePath));
10854
11055
  }
10855
11056
  /**
10856
11057
  *
@@ -10907,18 +11108,6 @@ var StoresApi = class extends BaseAPI {
10907
11108
  async getTransferePatientsRequests(storeId, options) {
10908
11109
  return StoresApiFp(this.configuration).getTransferePatientsRequests(storeId, options).then((request) => request(this.axios, this.basePath));
10909
11110
  }
10910
- /**
10911
- *
10912
- * @summary Revoke/delete a specific API key
10913
- * @param {string} storeId
10914
- * @param {string} keyType Type of key to revoke
10915
- * @param {*} [options] Override http request option.
10916
- * @throws {RequiredError}
10917
- * @memberof StoresApi
10918
- */
10919
- async revokeApiKey(storeId, keyType, options) {
10920
- return StoresApiFp(this.configuration).revokeApiKey(storeId, keyType, options).then((request) => request(this.axios, this.basePath));
10921
- }
10922
11111
  /**
10923
11112
  *
10924
11113
  * @param {*} [options] Override http request option.
@@ -11026,15 +11215,13 @@ var StoresApi = class extends BaseAPI {
11026
11215
  }
11027
11216
  /**
11028
11217
  *
11029
- * @summary Update store API keys (Stripe/Shippo)
11030
- * @param {UpdateApiKeysDto} body
11031
- * @param {string} storeId
11218
+ * @summary Generate Stripe Onboarding Link
11032
11219
  * @param {*} [options] Override http request option.
11033
11220
  * @throws {RequiredError}
11034
11221
  * @memberof StoresApi
11035
11222
  */
11036
- async updateApiKeys(body, storeId, options) {
11037
- return StoresApiFp(this.configuration).updateApiKeys(body, storeId, options).then((request) => request(this.axios, this.basePath));
11223
+ async startOnboarding(options) {
11224
+ return StoresApiFp(this.configuration).startOnboarding(options).then((request) => request(this.axios, this.basePath));
11038
11225
  }
11039
11226
  /**
11040
11227
  *
@@ -11405,13 +11592,6 @@ var AddressCreatedRequestAddressTypeEnum = /* @__PURE__ */ ((AddressCreatedReque
11405
11592
  return AddressCreatedRequestAddressTypeEnum2;
11406
11593
  })(AddressCreatedRequestAddressTypeEnum || {});
11407
11594
 
11408
- // src/lib/Apis/models/api-key-info-dto.ts
11409
- var ApiKeyInfoDtoKeyTypeEnum = /* @__PURE__ */ ((ApiKeyInfoDtoKeyTypeEnum2) => {
11410
- ApiKeyInfoDtoKeyTypeEnum2["Stripe"] = "stripe";
11411
- ApiKeyInfoDtoKeyTypeEnum2["Shippo"] = "shippo";
11412
- return ApiKeyInfoDtoKeyTypeEnum2;
11413
- })(ApiKeyInfoDtoKeyTypeEnum || {});
11414
-
11415
11595
  // src/lib/Apis/models/bulk-channel-toggle-dto.ts
11416
11596
  var BulkChannelToggleDtoCategoryEnum = /* @__PURE__ */ ((BulkChannelToggleDtoCategoryEnum2) => {
11417
11597
  BulkChannelToggleDtoCategoryEnum2["Transactional"] = "transactional";
@@ -11422,45 +11602,6 @@ var BulkChannelToggleDtoCategoryEnum = /* @__PURE__ */ ((BulkChannelToggleDtoCat
11422
11602
  return BulkChannelToggleDtoCategoryEnum2;
11423
11603
  })(BulkChannelToggleDtoCategoryEnum || {});
11424
11604
 
11425
- // src/lib/Apis/models/campaign-draft-dto.ts
11426
- var CampaignDraftDtoStatusEnum = /* @__PURE__ */ ((CampaignDraftDtoStatusEnum2) => {
11427
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_MINUS_3"] = -3] = "NUMBER_MINUS_3";
11428
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_MINUS_2"] = -2] = "NUMBER_MINUS_2";
11429
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_MINUS_1"] = -1] = "NUMBER_MINUS_1";
11430
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_0"] = 0] = "NUMBER_0";
11431
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_1"] = 1] = "NUMBER_1";
11432
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_2"] = 2] = "NUMBER_2";
11433
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_3"] = 3] = "NUMBER_3";
11434
- CampaignDraftDtoStatusEnum2[CampaignDraftDtoStatusEnum2["NUMBER_4"] = 4] = "NUMBER_4";
11435
- return CampaignDraftDtoStatusEnum2;
11436
- })(CampaignDraftDtoStatusEnum || {});
11437
-
11438
- // src/lib/Apis/models/campaign-draft-schedule-dto.ts
11439
- var CampaignDraftScheduleDtoStatusEnum = /* @__PURE__ */ ((CampaignDraftScheduleDtoStatusEnum2) => {
11440
- CampaignDraftScheduleDtoStatusEnum2["AXCancelled"] = "AXCancelled";
11441
- CampaignDraftScheduleDtoStatusEnum2["Deleted"] = "Deleted";
11442
- CampaignDraftScheduleDtoStatusEnum2["Archived"] = "Archived";
11443
- CampaignDraftScheduleDtoStatusEnum2["Draft"] = "Draft";
11444
- CampaignDraftScheduleDtoStatusEnum2["Programmed"] = "Programmed";
11445
- CampaignDraftScheduleDtoStatusEnum2["Sent"] = "Sent";
11446
- CampaignDraftScheduleDtoStatusEnum2["AXTested"] = "AXTested";
11447
- CampaignDraftScheduleDtoStatusEnum2["AXSelected"] = "AXSelected";
11448
- return CampaignDraftScheduleDtoStatusEnum2;
11449
- })(CampaignDraftScheduleDtoStatusEnum || {});
11450
-
11451
- // src/lib/Apis/models/campaign-draft-sending-dto.ts
11452
- var CampaignDraftSendingDtoStatusEnum = /* @__PURE__ */ ((CampaignDraftSendingDtoStatusEnum2) => {
11453
- CampaignDraftSendingDtoStatusEnum2["AXCancelled"] = "AXCancelled";
11454
- CampaignDraftSendingDtoStatusEnum2["Deleted"] = "Deleted";
11455
- CampaignDraftSendingDtoStatusEnum2["Archived"] = "Archived";
11456
- CampaignDraftSendingDtoStatusEnum2["Draft"] = "Draft";
11457
- CampaignDraftSendingDtoStatusEnum2["Programmed"] = "Programmed";
11458
- CampaignDraftSendingDtoStatusEnum2["Sent"] = "Sent";
11459
- CampaignDraftSendingDtoStatusEnum2["AXTested"] = "AXTested";
11460
- CampaignDraftSendingDtoStatusEnum2["AXSelected"] = "AXSelected";
11461
- return CampaignDraftSendingDtoStatusEnum2;
11462
- })(CampaignDraftSendingDtoStatusEnum || {});
11463
-
11464
11605
  // src/lib/Apis/models/create-address-dto.ts
11465
11606
  var CreateAddressDtoAddressTypeEnum = /* @__PURE__ */ ((CreateAddressDtoAddressTypeEnum2) => {
11466
11607
  CreateAddressDtoAddressTypeEnum2["Billing"] = "Billing";
@@ -11528,6 +11669,13 @@ var DiscountStateEnum = /* @__PURE__ */ ((DiscountStateEnum2) => {
11528
11669
  return DiscountStateEnum2;
11529
11670
  })(DiscountStateEnum || {});
11530
11671
 
11672
+ // src/lib/Apis/models/inventory-alert-dto.ts
11673
+ var InventoryAlertDtoAlertTypeEnum = /* @__PURE__ */ ((InventoryAlertDtoAlertTypeEnum2) => {
11674
+ InventoryAlertDtoAlertTypeEnum2["LOWSTOCK"] = "LOW_STOCK";
11675
+ InventoryAlertDtoAlertTypeEnum2["OUTOFSTOCK"] = "OUT_OF_STOCK";
11676
+ return InventoryAlertDtoAlertTypeEnum2;
11677
+ })(InventoryAlertDtoAlertTypeEnum || {});
11678
+
11531
11679
  // src/lib/Apis/models/manual-discount-dto.ts
11532
11680
  var ManualDiscountDtoValueTypeEnum = /* @__PURE__ */ ((ManualDiscountDtoValueTypeEnum2) => {
11533
11681
  ManualDiscountDtoValueTypeEnum2["PERCENTAGE"] = "PERCENTAGE";
@@ -11562,6 +11710,29 @@ var ManualOrderDTOPaymentStatusEnum = /* @__PURE__ */ ((ManualOrderDTOPaymentSta
11562
11710
  return ManualOrderDTOPaymentStatusEnum2;
11563
11711
  })(ManualOrderDTOPaymentStatusEnum || {});
11564
11712
 
11713
+ // src/lib/Apis/models/notification-dto.ts
11714
+ var NotificationDtoTypeEnum = /* @__PURE__ */ ((NotificationDtoTypeEnum2) => {
11715
+ NotificationDtoTypeEnum2["ORDERCONFIRMATION"] = "ORDER_CONFIRMATION";
11716
+ NotificationDtoTypeEnum2["PAYMENTFAILED"] = "PAYMENT_FAILED";
11717
+ NotificationDtoTypeEnum2["ORDERSHIPPED"] = "ORDER_SHIPPED";
11718
+ NotificationDtoTypeEnum2["ORDERDELIVERED"] = "ORDER_DELIVERED";
11719
+ NotificationDtoTypeEnum2["REFUNDPROCESSED"] = "REFUND_PROCESSED";
11720
+ NotificationDtoTypeEnum2["REVIEWREPLY"] = "REVIEW_REPLY";
11721
+ NotificationDtoTypeEnum2["ABANDONEDCARTREMINDER"] = "ABANDONED_CART_REMINDER";
11722
+ NotificationDtoTypeEnum2["PRICEDROPALERT"] = "PRICE_DROP_ALERT";
11723
+ NotificationDtoTypeEnum2["BACKINSTOCK"] = "BACK_IN_STOCK";
11724
+ NotificationDtoTypeEnum2["PASSWORDRESET"] = "PASSWORD_RESET";
11725
+ NotificationDtoTypeEnum2["NEWDEVICELOGIN"] = "NEW_DEVICE_LOGIN";
11726
+ NotificationDtoTypeEnum2["TWOFACODE"] = "TWO_FA_CODE";
11727
+ NotificationDtoTypeEnum2["NEWORDER"] = "NEW_ORDER";
11728
+ NotificationDtoTypeEnum2["LOWSTOCKWARNING"] = "LOW_STOCK_WARNING";
11729
+ NotificationDtoTypeEnum2["NEWRETURNREQUEST"] = "NEW_RETURN_REQUEST";
11730
+ NotificationDtoTypeEnum2["NEWUSERREGISTERED"] = "NEW_USER_REGISTERED";
11731
+ NotificationDtoTypeEnum2["HIGHVALUEORDERALERT"] = "HIGH_VALUE_ORDER_ALERT";
11732
+ NotificationDtoTypeEnum2["PAYOUTFAILED"] = "PAYOUT_FAILED";
11733
+ return NotificationDtoTypeEnum2;
11734
+ })(NotificationDtoTypeEnum || {});
11735
+
11565
11736
  // src/lib/Apis/models/order.ts
11566
11737
  var OrderOrderTypeEnum = /* @__PURE__ */ ((OrderOrderTypeEnum2) => {
11567
11738
  OrderOrderTypeEnum2["Pickup"] = "Pickup";
@@ -11665,6 +11836,7 @@ var PreferenceUpdateItemTypeEnum = /* @__PURE__ */ ((PreferenceUpdateItemTypeEnu
11665
11836
  PreferenceUpdateItemTypeEnum2["ORDERSHIPPED"] = "ORDER_SHIPPED";
11666
11837
  PreferenceUpdateItemTypeEnum2["ORDERDELIVERED"] = "ORDER_DELIVERED";
11667
11838
  PreferenceUpdateItemTypeEnum2["REFUNDPROCESSED"] = "REFUND_PROCESSED";
11839
+ PreferenceUpdateItemTypeEnum2["REVIEWREPLY"] = "REVIEW_REPLY";
11668
11840
  PreferenceUpdateItemTypeEnum2["ABANDONEDCARTREMINDER"] = "ABANDONED_CART_REMINDER";
11669
11841
  PreferenceUpdateItemTypeEnum2["PRICEDROPALERT"] = "PRICE_DROP_ALERT";
11670
11842
  PreferenceUpdateItemTypeEnum2["BACKINSTOCK"] = "BACK_IN_STOCK";
@@ -11855,7 +12027,7 @@ function Notification2({ notification, onDismiss }) {
11855
12027
  animate: { opacity: 1, y: 0, scale: 1 },
11856
12028
  exit: { opacity: 0, x: 100, scale: 0.95 },
11857
12029
  transition: { type: "spring", stiffness: 500, damping: 30 },
11858
- className: `relative bg-white rounded-2xl border-2 ${config.borderColor} shadow-xl overflow-hidden min-w-[320px] max-w-[420px]`,
12030
+ className: `relative bg-hprimary-50 rounded-2xl border-2 ${config.borderColor} shadow-xl overflow-hidden min-w-[320px] max-w-[420px]`,
11859
12031
  children: [
11860
12032
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-1 bg-linear-to-r ${config.gradient}` }),
11861
12033
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 flex items-start gap-3", children: [
@@ -11870,8 +12042,8 @@ function Notification2({ notification, onDismiss }) {
11870
12042
  }
11871
12043
  ),
11872
12044
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
11873
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-[#2B4B7C] mb-1", children: notification.message }),
11874
- notification.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[12px] text-[#676c80] leading-relaxed", children: notification.description })
12045
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-[14px] text-[#2B4B7C] mb-1", children: notification.message }),
12046
+ notification.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[12px] text-[#676c80] leading-relaxed", children: notification.description })
11875
12047
  ] }),
11876
12048
  /* @__PURE__ */ jsxRuntime.jsx(
11877
12049
  "button",
@@ -12780,8 +12952,8 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12780
12952
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-8", children: [
12781
12953
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between mb-6", children: [
12782
12954
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
12783
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hprimary uppercase tracking-wide font-medium mb-2", children: product.brand }),
12784
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary tracking-[-1px]", children: displayName }),
12955
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-hprimary uppercase tracking-wide font-medium mb-2", children: product.brand }),
12956
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-hsecondary tracking-[-1px]", children: displayName }),
12785
12957
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mt-2", children: [
12786
12958
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-0.5", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
12787
12959
  lucideReact.Star,
@@ -12790,7 +12962,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12790
12962
  },
12791
12963
  i
12792
12964
  )) }),
12793
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[13px] text-hmuted", children: [
12965
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[13px] text-hmuted", children: [
12794
12966
  product.summary?.averageRating || 0,
12795
12967
  " (",
12796
12968
  product.summary?.reviewCount || 0,
@@ -12818,7 +12990,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12818
12990
  className: "w-full h-full object-contain"
12819
12991
  }
12820
12992
  ),
12821
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 left-4 flex flex-col gap-2", children: isDiscounted && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-haccent 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: [
12993
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 left-4 flex flex-col gap-2", children: isDiscounted && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-haccent text-white rounded-full px-3 py-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold text-[11px] uppercase", children: [
12822
12994
  "-",
12823
12995
  discountAmount,
12824
12996
  "%"
@@ -12843,33 +13015,33 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12843
13015
  ] }),
12844
13016
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
12845
13017
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
12846
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[32px] text-haccent", children: [
13018
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold text-[32px] text-haccent", children: [
12847
13019
  "$",
12848
13020
  displayPrice.toFixed(2)
12849
13021
  ] }),
12850
- isDiscounted && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[20px] text-hmuted line-through", children: [
13022
+ isDiscounted && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[20px] text-hmuted line-through", children: [
12851
13023
  "$",
12852
13024
  displayOriginalPrice.toFixed(2)
12853
13025
  ] })
12854
13026
  ] }),
12855
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6", children: selectedVariant.inventoryCount === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] text-[12px] text-red-500 font-medium", children: "Out of Stock" }) : selectedVariant.inventoryCount <= 10 ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[12px] text-hprimary font-medium flex items-center gap-1", children: [
13027
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6", children: selectedVariant.inventoryCount === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[12px] text-red-500 font-medium", children: "Out of Stock" }) : selectedVariant.inventoryCount <= 10 ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[12px] text-hprimary font-medium flex items-center gap-1", children: [
12856
13028
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Package, { className: "size-3" }),
12857
13029
  "Only ",
12858
13030
  selectedVariant.inventoryCount,
12859
13031
  " left in stock"
12860
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[12px] text-green-600 font-medium flex items-center gap-1", children: [
13032
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[12px] text-green-600 font-medium flex items-center gap-1", children: [
12861
13033
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Package, { className: "size-3" }),
12862
13034
  "In Stock"
12863
13035
  ] }) }),
12864
13036
  /* @__PURE__ */ jsxRuntime.jsx(
12865
13037
  "div",
12866
13038
  {
12867
- className: "font-['Poppins',sans-serif] text-[14px] text-hmuted leading-[1.7] mb-6 max-w-full overflow-hidden break-words",
13039
+ className: "text-[14px] text-hmuted leading-[1.7] mb-6 max-w-full overflow-hidden break-words",
12868
13040
  dangerouslySetInnerHTML: { __html: product.description }
12869
13041
  }
12870
13042
  ),
12871
13043
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
12872
- /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: [
13044
+ /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: [
12873
13045
  "Selected Variant: ",
12874
13046
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-normal text-hmuted", children: product.variants[selectedVariantIndex].name })
12875
13047
  ] }),
@@ -12900,10 +13072,10 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12900
13072
  ] }),
12901
13073
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 p-4 bg-gray-50 rounded-xl", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2", children: product.tags.slice(0, 3).map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2", children: [
12902
13074
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-4 text-hprimary shrink-0 mt-0.5" }),
12903
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted", children: feature })
13075
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[12px] text-hmuted", children: feature })
12904
13076
  ] }, index)) }) }),
12905
13077
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
12906
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: "Quantity" }),
13078
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: "Quantity" }),
12907
13079
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
12908
13080
  /* @__PURE__ */ jsxRuntime.jsx(
12909
13081
  "button",
@@ -12932,7 +13104,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12932
13104
  {
12933
13105
  onClick: handleAddToCart,
12934
13106
  disabled: addedToCart || selectedVariant.inventoryCount === 0,
12935
- className: `w-full font-['Poppins',sans-serif] font-medium text-[14px] px-6 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 ${addedToCart ? "bg-green-500 text-white" : "bg-haccent text-white hover:bg-[#d66f45] hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed"}`,
13107
+ className: `w-full font-medium text-[14px] px-6 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 ${addedToCart ? "bg-green-500 text-white" : "bg-haccent text-white hover:bg-[#d66f45] hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed"}`,
12936
13108
  children: isAddingToCart ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
12937
13109
  /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "animate-spin h-5 w-5", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
12938
13110
  /* @__PURE__ */ jsxRuntime.jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
@@ -12951,7 +13123,7 @@ function QuickViewModal({ product, onClose, onNavigateToProduct }) {
12951
13123
  onClick: () => {
12952
13124
  onClose();
12953
13125
  },
12954
- className: "w-full font-['Poppins',sans-serif] font-medium text-[13px] px-6 py-3 rounded-full bg-white text-hsecondary border-2 border-hprimary hover:bg-gray-50 transition-all flex items-center justify-center gap-2",
13126
+ className: "w-full font-medium text-[13px] px-6 py-3 rounded-full bg-white text-hsecondary border-2 border-hprimary hover:bg-gray-50 transition-all flex items-center justify-center gap-2",
12955
13127
  children: [
12956
13128
  "View Full Details",
12957
13129
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLink, { className: "size-4" })
@@ -13103,42 +13275,42 @@ function ProductCard({
13103
13275
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className: "size-4 text-[#2B4B7C]" })
13104
13276
  }
13105
13277
  ),
13106
- displayInventoryCount === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-black/50 backdrop-blur-xs flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] font-bold text-[11px] text-[#2B4B7C] uppercase", children: "Out of Stock" }) }) })
13278
+ displayInventoryCount === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-black/50 backdrop-blur-xs flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-[11px] text-[#2B4B7C] uppercase", children: "Out of Stock" }) }) })
13107
13279
  ]
13108
13280
  }
13109
13281
  ),
13110
13282
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 flex-1 flex flex-col", children: [
13111
13283
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-0 flex-1 flex flex-col", children: [
13112
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1 mb-2 flex-wrap", children: displayIsDiscounted && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-[#E67E50] text-white rounded-full px-2 py-0.5 flex items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[8px] uppercase", children: [
13284
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1 mb-2 flex-wrap", children: displayIsDiscounted && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-haccent-500 text-white rounded-full px-2 py-0.5 flex items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold text-[8px] uppercase", children: [
13113
13285
  "-",
13114
13286
  displayDiscountAmount,
13115
13287
  "%"
13116
13288
  ] }) }) }),
13117
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-xs text-hsecondary uppercase tracking-wide font-medium", children: product.brand }) }),
13289
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-hsecondary uppercase tracking-wide font-medium", children: product.brand }) }),
13118
13290
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-[40px] mb-3", children: [
13119
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] line-clamp-2", children: product.name }),
13120
- selectedVariant && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-['Poppins',sans-serif] text-[#676c80]", children: selectedVariant.name })
13291
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-[#2B4B7C] line-clamp-2", children: product.name }),
13292
+ selectedVariant && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-[#676c80]", children: selectedVariant.name })
13121
13293
  ] }),
13122
13294
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 my-2", children: [
13123
13295
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-0.5", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
13124
13296
  lucideReact.Star,
13125
13297
  {
13126
- className: `size-4 ${i < Math.floor(product.summary?.averageRating || 0) ? "text-[#E67E50] fill-[#E67E50]" : "text-gray-300"}`
13298
+ className: `size-4 ${i < Math.floor(product.summary?.averageRating || 0) ? "text-hsecondary fill-hsecondary-500" : "text-gray-300"}`
13127
13299
  },
13128
13300
  i
13129
13301
  )) }),
13130
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[10px] text-[#676c80] ", children: [
13302
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-[#676c80] ", children: [
13131
13303
  "(",
13132
13304
  product.summary?.reviewCount || 0,
13133
13305
  ")"
13134
13306
  ] })
13135
13307
  ] }),
13136
13308
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 mb-3", children: [
13137
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-md text-hprimary-600", children: [
13309
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold text-md text-hprimary-600", children: [
13138
13310
  "$",
13139
13311
  displayFinalPrice.toFixed(2)
13140
13312
  ] }),
13141
- displayIsDiscounted && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-sm text-[#676c80] line-through", children: [
13313
+ displayIsDiscounted && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-[#676c80] line-through", children: [
13142
13314
  "$",
13143
13315
  displayPriceBeforeDiscount.toFixed(2)
13144
13316
  ] })
@@ -13213,7 +13385,7 @@ function ProductCard({
13213
13385
  }
13214
13386
  },
13215
13387
  disabled: isAddingToCart || variantImages.length > 0 && !selectedVariantId || displayInventoryCount === 0,
13216
- className: "w-full font-['Poppins',sans-serif] font-medium text-[11px] px-3 py-2 rounded-full bg-hsecondary text-white hover:bg-hsecondary/80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",
13388
+ className: "w-full font-medium text-[11px] px-3 py-2 rounded-full bg-hsecondary text-white hover:bg-hsecondary/80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",
13217
13389
  children: [
13218
13390
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShoppingCart, { className: "h-4 w-4" }),
13219
13391
  displayInventoryCount === 0 ? "Out of Stock" : "Add to Cart"
@@ -13363,8 +13535,6 @@ function useProducts(filters, page = 1, limit = 20) {
13363
13535
  ],
13364
13536
  queryFn: async () => {
13365
13537
  const response = await new ProductsApi(AXIOS_CONFIG).getAllProducts(
13366
- filters?.search ?? "",
13367
- // searchTerm
13368
13538
  filters?.maxPrice,
13369
13539
  // maxPrice
13370
13540
  filters?.minPrice,
@@ -13570,52 +13740,6 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
13570
13740
  () => [...categories].sort((a, b) => (b.productCount ?? 0) - (a.productCount ?? 0)).slice(0, 6),
13571
13741
  [categories]
13572
13742
  );
13573
- const productInsights = React10.useMemo(() => {
13574
- if (!products.length) {
13575
- return { newArrivals: 0, inStockCount: 0 };
13576
- }
13577
- const monthAgo = Date.now() - 30 * 24 * 60 * 60 * 1e3;
13578
- let newArrivals2 = 0;
13579
- let inStockCount = 0;
13580
- products.forEach((product) => {
13581
- if (product.summary?.totalInventory > 0) inStockCount += 1;
13582
- if (new Date(product.createdAt).getTime() >= monthAgo) newArrivals2 += 1;
13583
- });
13584
- return { newArrivals: newArrivals2, inStockCount };
13585
- }, [products]);
13586
- React10.useMemo(
13587
- () => [
13588
- {
13589
- id: "new",
13590
- label: "New arrivals",
13591
- value: productInsights.newArrivals ? productInsights.newArrivals.toLocaleString() : isLoading ? "..." : "0",
13592
- helper: filters.newArrivals ? "Filter active: showing last 30 days" : "Click to show last 30 days",
13593
- icon: lucideReact.Sparkles
13594
- },
13595
- {
13596
- id: "stock",
13597
- label: "Available now",
13598
- value: productInsights.inStockCount ? productInsights.inStockCount.toLocaleString() : isLoading ? "..." : "0",
13599
- helper: "Ready to ship today",
13600
- icon: lucideReact.ShieldCheck
13601
- },
13602
- {
13603
- id: "catalogue",
13604
- label: "Total products",
13605
- value: pagination.total || products.length ? (pagination.total || products.length).toLocaleString() : isLoading ? "..." : "0",
13606
- helper: "Across all categories",
13607
- icon: lucideReact.TrendingUp
13608
- }
13609
- ],
13610
- [
13611
- isLoading,
13612
- pagination.total,
13613
- productInsights.inStockCount,
13614
- productInsights.newArrivals,
13615
- products.length,
13616
- filters.newArrivals
13617
- ]
13618
- );
13619
13743
  const filteredProducts = React10.useMemo(() => {
13620
13744
  if (isLoading) return products;
13621
13745
  let items = [...products];
@@ -14001,9 +14125,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14001
14125
  return lucideReact.Package;
14002
14126
  };
14003
14127
  const renderFiltersPanel = () => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `lg:w-72 ${showFilters ? "block rounded-full" : "hidden lg:block"}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white rounded-[24px] p-6 border-2 border-gray-100 sticky top-24", children: [
14004
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary", children: "Filters" }),
14128
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-hsecondary", children: "Filters" }),
14005
14129
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
14006
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted mb-2 block font-medium", children: "Search Products" }),
14130
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-[12px] text-hmuted mb-2 block font-medium", children: "Search Products" }),
14007
14131
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
14008
14132
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 size-4 text-hmuted" }),
14009
14133
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -14013,7 +14137,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14013
14137
  placeholder: "Search...",
14014
14138
  value: searchQuery,
14015
14139
  onChange: handleInputChange,
14016
- className: "w-full pl-10 pr-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden font-['Poppins',sans-serif] text-[13px] text-hsecondary"
14140
+ className: "w-full pl-10 pr-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden text-[13px] text-hsecondary"
14017
14141
  }
14018
14142
  )
14019
14143
  ] })
@@ -14025,7 +14149,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14025
14149
  onClick: () => toggleFilterSection("category"),
14026
14150
  className: "w-full flex items-center justify-between mb-3",
14027
14151
  children: [
14028
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Category" }),
14152
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Category" }),
14029
14153
  expandedFilterSections.category ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.category ? "rotate-180" : ""}` }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.category ? "rotate-180" : ""}` })
14030
14154
  ]
14031
14155
  }
@@ -14042,7 +14166,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14042
14166
  if (!isExpanded) toggleCategoryExpand(categoryId);
14043
14167
  handleCategoryChange(categoryId);
14044
14168
  },
14045
- className: `w-full text-left px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all flex items-center gap-3 ${isCategoryActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14169
+ className: `w-full text-left px-4 py-3 rounded-xl text-[13px] transition-all flex items-center gap-3 ${isCategoryActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14046
14170
  children: [
14047
14171
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "size-4" }),
14048
14172
  category.name
@@ -14059,7 +14183,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14059
14183
  onClick: () => toggleFilterSection("brand"),
14060
14184
  className: "w-full flex items-center justify-between mb-3",
14061
14185
  children: [
14062
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Brand" }),
14186
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Brand" }),
14063
14187
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.brand ? "rotate-180" : ""}` })
14064
14188
  ]
14065
14189
  }
@@ -14070,7 +14194,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14070
14194
  "button",
14071
14195
  {
14072
14196
  onClick: () => handleBrandChange(brand),
14073
- className: `w-full text-left px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all ${isSelected ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14197
+ className: `w-full text-left px-4 py-3 rounded-xl text-[13px] transition-all ${isSelected ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14074
14198
  children: brand
14075
14199
  },
14076
14200
  brand
@@ -14084,7 +14208,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14084
14208
  onClick: () => toggleFilterSection("availability"),
14085
14209
  className: "w-full flex items-center justify-between mb-3",
14086
14210
  children: [
14087
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Availability" }),
14211
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Availability" }),
14088
14212
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.availability ? "rotate-180" : ""}` })
14089
14213
  ]
14090
14214
  }
@@ -14093,7 +14217,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14093
14217
  "button",
14094
14218
  {
14095
14219
  onClick: handleToggleStock,
14096
- className: `w-full flex items-center justify-between px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all border-2 ${inStockOnly ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14220
+ className: `w-full flex items-center justify-between px-4 py-3 rounded-xl text-[13px] transition-all border-2 ${inStockOnly ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14097
14221
  children: "In Stock Only"
14098
14222
  }
14099
14223
  ) })
@@ -14105,7 +14229,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14105
14229
  onClick: () => toggleFilterSection("price"),
14106
14230
  className: "w-full flex items-center justify-between mb-3",
14107
14231
  children: [
14108
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted font-medium cursor-pointer", children: "Price Range" }),
14232
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-[12px] text-hmuted font-medium cursor-pointer", children: "Price Range" }),
14109
14233
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: `size-4 text-hmuted transition-transform ${expandedFilterSections.price ? "rotate-180" : ""}` })
14110
14234
  ]
14111
14235
  }
@@ -14118,7 +14242,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14118
14242
  {
14119
14243
  type: "button",
14120
14244
  onClick: () => handlePriceRangeSelect(range.value),
14121
- className: `w-full flex items-center justify-between px-4 py-3 rounded-xl font-['Poppins',sans-serif] text-[13px] transition-all border-2 ${isActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14245
+ className: `w-full flex items-center justify-between px-4 py-3 rounded-xl text-[13px] transition-all border-2 ${isActive ? "bg-hprimary text-white shadow-lg" : "text-hsecondary hover:bg-gray-50 border-2 border-gray-100"}`,
14122
14246
  children: range.label
14123
14247
  },
14124
14248
  range.value
@@ -14133,7 +14257,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14133
14257
  placeholder: "Min",
14134
14258
  value: customPrice.min,
14135
14259
  onChange: (event) => setCustomPrice((current) => ({ ...current, min: event.target.value })),
14136
- className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden font-['Poppins',sans-serif] text-[13px] text-hsecondary"
14260
+ className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden text-[13px] text-hsecondary"
14137
14261
  }
14138
14262
  ),
14139
14263
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -14144,7 +14268,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14144
14268
  placeholder: "Max",
14145
14269
  value: customPrice.max,
14146
14270
  onChange: (event) => setCustomPrice((current) => ({ ...current, max: event.target.value })),
14147
- className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden font-['Poppins',sans-serif] text-[13px] text-hsecondary"
14271
+ className: "w-1/2 px-4 py-2.5 rounded-xl border-2 border-gray-200 focus:border-hprimary focus:outline-hidden text-[13px] text-hsecondary"
14148
14272
  }
14149
14273
  )
14150
14274
  ] }),
@@ -14211,8 +14335,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14211
14335
  ]
14212
14336
  }
14213
14337
  ) }) }),
14214
- /* @__PURE__ */ jsxRuntime.jsx("section", { className: "py-8 bg-white", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container mx-auto px-4", children: [
14215
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl md:text-3xl font-['Poppins',sans-serif] font-semibold text-hsecondary mb-6", children: "Shop by Category" }),
14338
+ /* @__PURE__ */ jsxRuntime.jsx("section", { className: "py-8 bg-white/50", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container mx-auto px-4", children: [
14339
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl md:text-3xl font-semibold text-hsecondary mb-6", children: "Shop by Category" }),
14216
14340
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-4", children: [
14217
14341
  /* @__PURE__ */ jsxRuntime.jsx(
14218
14342
  framerMotion.motion.button,
@@ -14223,8 +14347,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14223
14347
  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-hprimary to-hsecondary 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-hprimary"}`,
14224
14348
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
14225
14349
  /* @__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-hprimary-10 to-hsecondary-10 group-hover:scale-110"}`, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Package, { className: `size-6 ${!categoryFilter ? "text-white" : "text-hprimary"}` }) }),
14226
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: `font-['Poppins',sans-serif] font-semibold text-[14px] mb-1.5 ${!categoryFilter ? "text-white" : "text-hsecondary"}`, children: "All Products" }),
14227
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `font-['Poppins',sans-serif] text-[11px] ${!categoryFilter ? "text-white/80" : "text-hmuted"}`, children: "Browse Everything" })
14350
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: `font-semibold text-[14px] mb-1.5 ${!categoryFilter ? "text-white" : "text-hsecondary"}`, children: "All Products" }),
14351
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-[11px] ${!categoryFilter ? "text-white/80" : "text-hmuted"}`, children: "Browse Everything" })
14228
14352
  ] })
14229
14353
  }
14230
14354
  ),
@@ -14242,8 +14366,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14242
14366
  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-hprimary to-hsecondary 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-hprimary"}`,
14243
14367
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
14244
14368
  /* @__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-hprimary-10 to-hsecondary-10 group-hover:scale-110"}`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: `size-6 ${isSelected ? "text-white" : "text-hprimary"}` }) }),
14245
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: `font-['Poppins',sans-serif] font-semibold text-[14px] mb-1.5 ${isSelected ? "text-white" : "text-hsecondary"}`, children: category.name }),
14246
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `font-['Poppins',sans-serif] text-[11px] ${isSelected ? "text-white/80" : "text-hmuted"}`, children: category.description })
14369
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: `font-semibold text-[14px] mb-1.5 ${isSelected ? "text-white" : "text-hsecondary"}`, children: category.name }),
14370
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-[11px] ${isSelected ? "text-white/80" : "text-hmuted"}`, children: category.description })
14247
14371
  ] })
14248
14372
  },
14249
14373
  categoryId
@@ -14392,7 +14516,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
14392
14516
  event.stopPropagation();
14393
14517
  router.push(buildPath(`/products/${product._id}`));
14394
14518
  },
14395
- className: "w-full font-['Poppins',sans-serif] font-medium text-sm px-3 py-2 rounded-xl bg-hsecondary text-white hover:opacity-80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed",
14519
+ className: "w-full font-medium text-sm px-3 py-2 rounded-xl bg-hsecondary text-white hover:opacity-80 hover:shadow-lg transition-all duration-300 flex items-center justify-center gap-1.5 disabled:opacity-50 disabled:cursor-not-allowed",
14396
14520
  children: "View product"
14397
14521
  }
14398
14522
  )
@@ -14681,14 +14805,14 @@ function StarRating({
14681
14805
  className: `transition-all ${interactive && "cursor-pointer hover:scale-110"} ${!interactive && "cursor-default"}`,
14682
14806
  children: isHalfFilled ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
14683
14807
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: `${sizeClasses[size]} text-gray-300` }),
14684
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 overflow-hidden", style: { width: "50%" }, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: `${sizeClasses[size]} fill-[#E67E50] text-[#E67E50]` }) })
14808
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 overflow-hidden", style: { width: "50%" }, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: `${sizeClasses[size]} fill-haccent-500 text-haccent-500` }) })
14685
14809
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(
14686
14810
  lucideReact.Star,
14687
14811
  {
14688
14812
  className: `
14689
14813
  ${sizeClasses[size]}
14690
- ${isFilled ? "fill-[#E67E50] text-[#E67E50]" : "text-gray-300"}
14691
- ${interactive && hoverRating > 0 && index < hoverRating ? "fill-[#E67E50] text-[#E67E50]" : ""}
14814
+ ${isFilled ? "fill-haccent-500 text-haccent-500" : "text-gray-300"}
14815
+ ${interactive && hoverRating > 0 && index < hoverRating ? "fill-haccent-500 text-haccent-500" : ""}
14692
14816
  `
14693
14817
  }
14694
14818
  )
@@ -14732,12 +14856,12 @@ function RatingDistribution({ reviews, averageRating }) {
14732
14856
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
14733
14857
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 w-16", children: [
14734
14858
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700", children: rating }),
14735
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-3 fill-[#E67E50] text-[#E67E50]" })
14859
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-3 fill-haccent-500 text-haccent-500" })
14736
14860
  ] }),
14737
14861
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 h-2 bg-gray-200 rounded-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
14738
14862
  "div",
14739
14863
  {
14740
- className: "h-full bg-[#E67E50] transition-all duration-300",
14864
+ className: "h-full bg-haccent-500 transition-all duration-300",
14741
14865
  style: { width: `${percentage}%` }
14742
14866
  }
14743
14867
  ) }),
@@ -14755,7 +14879,7 @@ function RatingDistribution({ reviews, averageRating }) {
14755
14879
  function ReviewCard({ review, showProductInfo = false }) {
14756
14880
  const reviewDate = new Date(review.createdAt);
14757
14881
  const replyDate = review.replyDate ? new Date(review.replyDate) : null;
14758
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border border-gray-200 rounded-lg p-4 bg-white", children: [
14882
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border border-gray-200 rounded-lg p-4 bg-hprimary-50", children: [
14759
14883
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between mb-3", children: [
14760
14884
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
14761
14885
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-10 h-10 bg-hsecondary/10 rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "size-5 text-hsecondary" }) }),
@@ -14766,7 +14890,7 @@ function ReviewCard({ review, showProductInfo = false }) {
14766
14890
  ] }),
14767
14891
  /* @__PURE__ */ jsxRuntime.jsx(StarRating, { rating: review.rating, size: "sm" })
14768
14892
  ] }),
14769
- review.reviewType && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block px-2 py-1 text-xs bg-gray-100 text-gray-600 rounded mb-2", children: review.reviewType }),
14893
+ review.reviewType && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block px-2 py-1 text-xs bg-hprimary-100 text-gray-600 rounded mb-2", children: review.reviewType }),
14770
14894
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-gray-700 text-sm leading-relaxed mb-3", children: review.review }),
14771
14895
  review.reply && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 pl-4 border-l-2 border-hsecondary bg-gray-50 p-3 rounded", children: [
14772
14896
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mb-2", children: [
@@ -14837,7 +14961,7 @@ function ReviewsList({ reviews, isLoading }) {
14837
14961
  "button",
14838
14962
  {
14839
14963
  onClick: () => setFilterRating("all"),
14840
- className: `px-3 py-1 text-sm rounded-full transition-colors ${filterRating === "all" ? "bg-[#E67E50] text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14964
+ className: `px-3 py-1 text-sm rounded-full transition-colors ${filterRating === "all" ? "bg-haccent-500 text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14841
14965
  children: "All"
14842
14966
  }
14843
14967
  ),
@@ -14845,7 +14969,7 @@ function ReviewsList({ reviews, isLoading }) {
14845
14969
  "button",
14846
14970
  {
14847
14971
  onClick: () => setFilterRating(rating),
14848
- className: `flex items-center gap-1 px-3 py-1 text-sm rounded-full transition-colors ${filterRating === rating ? "bg-[#E67E50] text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14972
+ className: `flex items-center gap-1 px-3 py-1 text-sm rounded-full transition-colors ${filterRating === rating ? "bg-haccent-500 text-white" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
14849
14973
  children: [
14850
14974
  rating,
14851
14975
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-3 fill-current" })
@@ -14862,7 +14986,7 @@ function ReviewsList({ reviews, isLoading }) {
14862
14986
  {
14863
14987
  value: sortBy,
14864
14988
  onChange: (e) => setSortBy(e.target.value),
14865
- className: "px-3 py-1 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#E67E50] focus:border-transparent",
14989
+ className: "px-3 py-1 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-haccent-500 focus:border-transparent",
14866
14990
  children: [
14867
14991
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "recent", children: "Most Recent" }),
14868
14992
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "oldest", children: "Oldest First" }),
@@ -15131,7 +15255,7 @@ function ProductDetailScreen({ productId }) {
15131
15255
  "button",
15132
15256
  {
15133
15257
  onClick: () => router.push(buildPath("/shop")),
15134
- className: "flex items-center gap-2 font-['Poppins',sans-serif] text-[13px] text-hmuted hover:text-hprimary transition-colors",
15258
+ className: "flex items-center gap-2 text-[13px] text-hmuted hover:text-hprimary transition-colors",
15135
15259
  children: [
15136
15260
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "size-4" }),
15137
15261
  "Back to Shop"
@@ -15170,7 +15294,7 @@ function ProductDetailScreen({ productId }) {
15170
15294
  className: "object-contain"
15171
15295
  }
15172
15296
  ) : null,
15173
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-6 left-6 flex flex-col gap-3", children: discount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-[#E67E50] text-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[12px] uppercase tracking-wide", children: [
15297
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-6 left-6 flex flex-col gap-3", children: discount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-hsecondary text-white rounded-full px-4 py-2", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold text-[12px] uppercase tracking-wide", children: [
15174
15298
  "Save ",
15175
15299
  discount,
15176
15300
  "%"
@@ -15202,21 +15326,21 @@ function ProductDetailScreen({ productId }) {
15202
15326
  ] }) }) }),
15203
15327
  /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "space-y-6 lg:sticky lg:top-24", children: [
15204
15328
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
15205
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[12px] text-hprimary uppercase tracking-wide font-medium mb-2", children: [
15329
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[12px] text-hprimary uppercase tracking-wide font-medium mb-2", children: [
15206
15330
  product.brand,
15207
15331
  " \u2022 ",
15208
15332
  product.categoryIds?.[0]?.name || "Uncategorized"
15209
15333
  ] }),
15210
- /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-3xl font-['Poppins',sans-serif] font-semibold text-hsecondary tracking-[-1.5px] mb-3", children: selectedVariant?.name || product.name }),
15334
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-3xl font-semibold text-hsecondary tracking-[-1.5px] mb-3", children: selectedVariant?.name || product.name }),
15211
15335
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
15212
15336
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
15213
15337
  lucideReact.Star,
15214
15338
  {
15215
- className: `size-4 ${i < Math.floor(reviewStats.averageRating) ? "text-[#E67E50] fill-[#E67E50]" : "text-gray-300"}`
15339
+ className: `size-4 ${i < Math.floor(reviewStats.averageRating) ? "text-haccent-500 fill-haccent-500" : "text-gray-300"}`
15216
15340
  },
15217
15341
  i
15218
15342
  )) }),
15219
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: [
15343
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[14px] text-hmuted", children: [
15220
15344
  reviewStats.averageRating,
15221
15345
  " (",
15222
15346
  reviewStats.reviewCount,
@@ -15226,16 +15350,16 @@ function ProductDetailScreen({ productId }) {
15226
15350
  ] })
15227
15351
  ] }),
15228
15352
  selectedVariant && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 mb-6 pb-6 border-b-2 border-gray-100", children: [
15229
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] font-bold text-[40px] text-[#E67E50]", children: [
15353
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold text-[40px] text-hsecondary", children: [
15230
15354
  "$",
15231
15355
  variantPrice.toFixed(2)
15232
15356
  ] }),
15233
15357
  variantComparePrice && variantComparePrice > variantPrice && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15234
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[24px] text-hmuted line-through", children: [
15358
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[24px] text-hmuted line-through", children: [
15235
15359
  "$",
15236
15360
  variantComparePrice.toFixed(2)
15237
15361
  ] }),
15238
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-1 rounded-full bg-[#E67E50]/10", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-[#E67E50]", children: [
15362
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-1 rounded-full bg-hsecondary/10", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-semibold text-[13px] text-hsecondary", children: [
15239
15363
  "Save $",
15240
15364
  formatPrice(variantComparePrice - variantPrice)
15241
15365
  ] }) })
@@ -15244,19 +15368,19 @@ function ProductDetailScreen({ productId }) {
15244
15368
  selectedVariant && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
15245
15369
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 mb-2", children: selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15246
15370
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-3 rounded-full bg-red-500" }),
15247
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] text-[13px] text-red-600 font-medium", children: "Out of Stock" })
15371
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[13px] text-red-600 font-medium", children: "Out of Stock" })
15248
15372
  ] }) : selectedVariant.inventoryStatus === "LOW_STOCK" /* LOWSTOCK */ || selectedVariant.inventoryCount <= 10 ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15249
15373
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-3 rounded-full bg-hprimary animate-pulse" }),
15250
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[13px] text-hprimary font-medium", children: [
15374
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[13px] text-hprimary font-medium", children: [
15251
15375
  "Only ",
15252
15376
  selectedVariant.inventoryCount,
15253
15377
  " left in stock - Order soon!"
15254
15378
  ] })
15255
15379
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15256
15380
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-3 rounded-full bg-green-500" }),
15257
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] text-[13px] text-green-600 font-medium", children: "In Stock" })
15381
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[13px] text-green-600 font-medium", children: "In Stock" })
15258
15382
  ] }) }),
15259
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[12px] text-hmuted", children: [
15383
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[12px] text-hmuted", children: [
15260
15384
  "SKU: ",
15261
15385
  selectedVariant?.sku || product?.sku
15262
15386
  ] })
@@ -15264,12 +15388,12 @@ function ProductDetailScreen({ productId }) {
15264
15388
  product.description && /* @__PURE__ */ jsxRuntime.jsx(
15265
15389
  "div",
15266
15390
  {
15267
- className: "font-['Poppins',sans-serif] text-[14px] text-hmuted leading-[1.7] mb-8 max-w-full overflow-hidden break-words",
15391
+ className: "text-[14px] text-hmuted leading-[1.7] mb-8 max-w-full overflow-hidden break-words",
15268
15392
  dangerouslySetInnerHTML: { __html: product.description }
15269
15393
  }
15270
15394
  ),
15271
15395
  product?.variants && product.variants.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
15272
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-hsecondary mb-3", children: "Select Variant" }),
15396
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-[14px] text-hsecondary mb-3", children: "Select Variant" }),
15273
15397
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-3", children: product.variants.map((variant) => {
15274
15398
  const isSelected = selectedVariant?._id === variant._id;
15275
15399
  const variantImage = variant.media?.[0]?.file || product.media?.[0]?.file || product.images?.[0] || PLACEHOLDER_IMAGE_SRC;
@@ -15305,7 +15429,7 @@ function ProductDetailScreen({ productId }) {
15305
15429
  }) })
15306
15430
  ] }),
15307
15431
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-8", children: [
15308
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-hsecondary mb-3", children: "Quantity" }),
15432
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-[14px] text-hsecondary mb-3", children: "Quantity" }),
15309
15433
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
15310
15434
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4 bg-gray-100 rounded-full px-6 py-3", children: [
15311
15435
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -15313,18 +15437,18 @@ function ProductDetailScreen({ productId }) {
15313
15437
  {
15314
15438
  type: "button",
15315
15439
  onClick: () => setQuantity((current) => Math.max(1, current - 1)),
15316
- className: "font-['Poppins',sans-serif] font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors",
15440
+ className: "font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors",
15317
15441
  "aria-label": "Increase quantity",
15318
15442
  children: "-"
15319
15443
  }
15320
15444
  ),
15321
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[16px] text-hsecondary min-w-[30px] text-center", children: quantity }),
15445
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-[16px] text-hsecondary min-w-[30px] text-center", children: quantity }),
15322
15446
  /* @__PURE__ */ jsxRuntime.jsx(
15323
15447
  "button",
15324
15448
  {
15325
15449
  onClick: () => setQuantity(Math.min(selectedVariant?.inventoryCount || product.inventoryCount || 999, quantity + 1)),
15326
15450
  disabled: quantity >= (selectedVariant?.inventoryCount || product.inventoryCount || 0),
15327
- className: "font-['Poppins',sans-serif] font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors disabled:opacity-50",
15451
+ className: "font-bold text-[18px] text-hsecondary hover:text-hprimary transition-colors disabled:opacity-50",
15328
15452
  children: "+"
15329
15453
  }
15330
15454
  )
@@ -15339,7 +15463,7 @@ function ProductDetailScreen({ productId }) {
15339
15463
  /* @__PURE__ */ jsxRuntime.jsx(
15340
15464
  "button",
15341
15465
  {
15342
- className: "flex-1 font-['Poppins',sans-serif] font-medium text-[14px] px-8 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 bg-[#E67E50] text-white hover:bg-[#d66f45] hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed",
15466
+ className: "flex-1 font-medium text-[14px] px-8 py-4 rounded-full transition-all duration-300 flex items-center justify-center gap-3 bg-hsecondary text-white hover:bg-hsecondary/80 hover:shadow-lg disabled:opacity-50 disabled:cursor-not-allowed",
15343
15467
  onClick: handleAddToCart,
15344
15468
  disabled: !selectedVariant || selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ || isAddingToCart,
15345
15469
  children: isAddingToCart ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -15368,29 +15492,29 @@ function ProductDetailScreen({ productId }) {
15368
15492
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
15369
15493
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Truck, { className: "size-5 text-hprimary" }) }),
15370
15494
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
15371
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Free Shipping" }),
15372
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "On all orders" })
15495
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Free Shipping" }),
15496
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-hmuted", children: "On all orders" })
15373
15497
  ] })
15374
15498
  ] }),
15375
15499
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
15376
15500
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "size-5 text-hprimary" }) }),
15377
15501
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
15378
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Easy Returns" }),
15379
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "30-day return policy" })
15502
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Easy Returns" }),
15503
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-hmuted", children: "30-day return policy" })
15380
15504
  ] })
15381
15505
  ] }),
15382
15506
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
15383
15507
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Shield, { className: "size-5 text-hprimary" }) }),
15384
15508
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
15385
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Secure Checkout" }),
15386
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "Safe & protected" })
15509
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Secure Checkout" }),
15510
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-hmuted", children: "Safe & protected" })
15387
15511
  ] })
15388
15512
  ] }),
15389
15513
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
15390
15514
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-10 rounded-full bg-white flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Package, { className: "size-5 text-hprimary" }) }),
15391
15515
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
15392
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mb-1", children: "Quality Guaranteed" }),
15393
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[11px] text-hmuted", children: "Premium materials" })
15516
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-[12px] text-hsecondary mb-1", children: "Quality Guaranteed" }),
15517
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-hmuted", children: "Premium materials" })
15394
15518
  ] })
15395
15519
  ] })
15396
15520
  ] })
@@ -15401,35 +15525,35 @@ function ProductDetailScreen({ productId }) {
15401
15525
  "button",
15402
15526
  {
15403
15527
  onClick: () => setActiveTab(tab),
15404
- className: `font-['Poppins',sans-serif] font-medium text-[14px] px-6 py-4 transition-all ${activeTab === tab ? "text-hprimary border-b-2 border-hprimary -mb-0.5" : "text-hmuted hover:text-hprimary"}`,
15528
+ className: `font-medium text-[14px] px-6 py-4 transition-all ${activeTab === tab ? "text-hprimary border-b-2 border-hprimary -mb-0.5" : "text-hmuted hover:text-hprimary"}`,
15405
15529
  children: tab.charAt(0).toUpperCase() + tab.slice(1)
15406
15530
  },
15407
15531
  tab
15408
15532
  )) }),
15409
15533
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white rounded-[24px] p-8 border-2 border-gray-100", children: [
15410
15534
  activeTab === "description" && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
15411
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-4", children: "Product Description" }),
15535
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-hsecondary mb-4", children: "Product Description" }),
15412
15536
  /* @__PURE__ */ jsxRuntime.jsx(
15413
15537
  "div",
15414
15538
  {
15415
- className: "font-['Poppins',sans-serif] text-[14px] text-hmuted leading-[1.8] mb-4 max-w-full overflow-hidden break-words",
15539
+ className: "text-[14px] text-hmuted leading-[1.8] mb-4 max-w-full overflow-hidden break-words",
15416
15540
  dangerouslySetInnerHTML: { __html: product.description }
15417
15541
  }
15418
15542
  ),
15419
15543
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6", children: [
15420
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: "Last updated:" }),
15421
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: lastUpdatedLabel })
15544
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: "Last updated:" }),
15545
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[14px] text-hmuted", children: lastUpdatedLabel })
15422
15546
  ] }),
15423
15547
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6", children: [
15424
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-['Poppins',sans-serif] font-semibold text-[13px] text-hsecondary mb-3", children: "Shipped from:" }),
15425
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: "Local pharmacy distribution center" })
15548
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-[13px] text-hsecondary mb-3", children: "Shipped from:" }),
15549
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[14px] text-hmuted", children: "Local pharmacy distribution center" })
15426
15550
  ] })
15427
15551
  ] }),
15428
15552
  activeTab === "reviews" && /* @__PURE__ */ jsxRuntime.jsx(ProductReviewsSection, { productId })
15429
15553
  ] })
15430
15554
  ] }),
15431
15555
  relatedProducts.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
15432
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-8 text-2xl", children: "You May Also Like" }),
15556
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-hsecondary mb-8 text-2xl", children: "You May Also Like" }),
15433
15557
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6", children: relatedProducts.map((relatedProduct) => /* @__PURE__ */ jsxRuntime.jsx(
15434
15558
  ProductCard,
15435
15559
  {
@@ -15474,9 +15598,9 @@ function CartItem({ item }) {
15474
15598
  initial: { opacity: 0, y: 20 },
15475
15599
  animate: { opacity: 1, y: 0 },
15476
15600
  exit: { opacity: 0, x: -100 },
15477
- className: "bg-white border-2 border-gray-100 rounded-[24px] p-6 hover:border-hsecondary/30 transition-all duration-300",
15478
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4 pr-8", children: [
15479
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-28 h-28 rounded-[16px] overflow-hidden bg-gray-50 shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
15601
+ className: "bg-white border-2 border-gray-100 rounded-[24px] p-4 md:p-6 hover:border-hsecondary/30 transition-all duration-300",
15602
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 md:gap-4", children: [
15603
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-20 h-20 md:w-28 md:h-28 rounded-[16px] overflow-hidden bg-gray-50 shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
15480
15604
  Image4__default.default,
15481
15605
  {
15482
15606
  src: item.productVariantData.media[0]?.file || PLACEHOLDER_IMAGE_SRC,
@@ -15489,8 +15613,8 @@ function CartItem({ item }) {
15489
15613
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
15490
15614
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4 mb-3", children: [
15491
15615
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
15492
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] mb-2", children: item.productVariantData.name }),
15493
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-3", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[12px] text-[#676c80]", children: [
15616
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-[#2B4B7C] mb-2", children: item.productVariantData.name }),
15617
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-3", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[12px] text-[#676c80]", children: [
15494
15618
  "Variant: ",
15495
15619
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-[#2B4B7C]", children: item.productVariantData.name })
15496
15620
  ] }) })
@@ -15506,31 +15630,33 @@ function CartItem({ item }) {
15506
15630
  }
15507
15631
  )
15508
15632
  ] }),
15509
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
15510
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 bg-gray-50 rounded-full px-4 py-2", children: [
15633
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between gap-4 mt-auto", children: [
15634
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 bg-gray-50 rounded-full px-3 py-1.5 md:px-4 md:py-2 w-fit", children: [
15511
15635
  /* @__PURE__ */ jsxRuntime.jsx(
15512
15636
  "button",
15513
15637
  {
15514
15638
  onClick: () => handleUpdateQuantity(item.quantity - 1),
15515
15639
  disabled: isUpdating || item.quantity <= 1,
15516
15640
  className: "p-1 hover:bg-white rounded-full transition-colors",
15517
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "size-4 text-[#2B4B7C]" })
15641
+ "aria-label": "Decrease quantity",
15642
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "size-3 md:size-4 text-[#2B4B7C]" })
15518
15643
  }
15519
15644
  ),
15520
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-[#2B4B7C] min-w-[20px] text-center", children: item.quantity }),
15645
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-[13px] md:text-[14px] text-[#2B4B7C] min-w-[20px] text-center", children: item.quantity }),
15521
15646
  /* @__PURE__ */ jsxRuntime.jsx(
15522
15647
  "button",
15523
15648
  {
15524
15649
  onClick: () => handleUpdateQuantity(item.quantity + 1),
15525
15650
  disabled: isUpdating || item.quantity >= (item.productVariantData.inventoryCount || 999),
15526
15651
  className: "p-1 hover:bg-white rounded-full transition-colors",
15527
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-4 text-[#2B4B7C]" })
15652
+ "aria-label": "Increase quantity",
15653
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "size-3 md:size-4 text-[#2B4B7C]" })
15528
15654
  }
15529
15655
  )
15530
15656
  ] }),
15531
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-right", children: [
15532
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-bold text-[18px] text-hsecondary", children: formatPrice(itemTotal) }),
15533
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[11px] text-[#676c80]", children: [
15657
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-left sm:text-right", children: [
15658
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-bold text-[16px] md:text-[18px] text-hsecondary", children: formatPrice(itemTotal) }),
15659
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[10px] md:text-[11px] text-[#676c80]", children: [
15534
15660
  formatPrice(unitPrice),
15535
15661
  " each"
15536
15662
  ] })
@@ -15606,10 +15732,10 @@ function CartScreen() {
15606
15732
  }
15607
15733
  router.push(buildPath("/checkout"));
15608
15734
  };
15609
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-screen bg-white", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-[1400px] mx-auto px-8 md:px-12", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container mx-auto px-4 py-8", children: [
15610
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12", children: [
15611
- /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary tracking-[-2px] mb-2 text-4xl", children: "Shopping Cart" }),
15612
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[16px] text-hmuted", children: [
15735
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-screen bg-white", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-[1400px] mx-auto px-4 md:px-12", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-8", children: [
15736
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-8 md:mb-12", children: [
15737
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "font-semibold text-hsecondary tracking-[-1px] md:tracking-[-2px] mb-2 text-3xl md:text-4xl", children: "Shopping Cart" }),
15738
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[14px] md:text-[16px] text-hmuted", children: [
15613
15739
  itemCount,
15614
15740
  " ",
15615
15741
  itemCount === 1 ? "item" : "items",
@@ -15638,19 +15764,19 @@ function CartScreen() {
15638
15764
  initial: { opacity: 0, y: 24 },
15639
15765
  animate: { opacity: 1, y: 0 },
15640
15766
  transition: { delay: 0.1 },
15641
- className: "space-y-6 lg:sticky lg:top-24 h-fit lg:col-span-1",
15642
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-linear-to-br from-hsecondary/10 to-hsecondary/10 rounded-[24px] p-8 border-2 border-hsecondary/20 sticky top-24", children: [
15643
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-6", children: "Order Summary" }),
15767
+ className: "lg:sticky lg:top-24 h-fit lg:col-span-1",
15768
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-hsecondary/[0.03] md:bg-linear-to-br md:from-hsecondary/10 md:to-hsecondary/10 rounded-[24px] p-6 md:p-8 border-2 border-hsecondary/10 md:border-hsecondary/20 lg:sticky lg:top-24", children: [
15769
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-hsecondary mb-6", children: "Order Summary" }),
15644
15770
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 mb-6", children: [
15645
15771
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
15646
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-['Poppins',sans-serif] text-[14px] text-hmuted", children: [
15772
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[14px] text-hmuted", children: [
15647
15773
  "Subtotal (",
15648
15774
  itemCount,
15649
15775
  " ",
15650
15776
  itemCount === 1 ? "item" : "items",
15651
15777
  ")"
15652
15778
  ] }),
15653
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[14px] text-hsecondary", children: formatPrice(subtotal) })
15779
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-[14px] text-hsecondary", children: formatPrice(subtotal) })
15654
15780
  ] }),
15655
15781
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-sm", children: [
15656
15782
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600", children: "Shipping" }),
@@ -16640,8 +16766,8 @@ function CheckoutScreen() {
16640
16766
  className: "space-y-8",
16641
16767
  children: [
16642
16768
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12", children: [
16643
- /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] mb-2 text-3xl", children: "Checkout" }),
16644
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] text-[14px] text-[#676c80] text-md leading-relaxed", children: "Complete your order information below" })
16769
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "font-semibold text-[#2B4B7C] mb-2 text-3xl", children: "Checkout" }),
16770
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[14px] text-[#676c80] text-md leading-relaxed", children: "Complete your order information below" })
16645
16771
  ] }),
16646
16772
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white border-2 border-gray-100 rounded-[24px] p-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-8", children: [
16647
16773
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -16736,7 +16862,7 @@ function CheckoutScreen() {
16736
16862
  ] }) }),
16737
16863
  isDelivery !== null && /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "bg-white border-2 border-gray-100 rounded-[24px] p-8 text-[#2B4B7C]", children: [
16738
16864
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center justify-between gap-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
16739
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] mb-2 text-2xl", children: isDelivery ? "Delivery Address" : "Contact Information" }),
16865
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-[#2B4B7C] mb-2 text-2xl", children: isDelivery ? "Delivery Address" : "Contact Information" }),
16740
16866
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500", children: "We use temperature-aware packaging and real-time tracking on every shipment." })
16741
16867
  ] }) }),
16742
16868
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6 grid grid-cols-1 gap-4 md:grid-cols-2", children: [
@@ -16870,7 +16996,7 @@ function CheckoutScreen() {
16870
16996
  isDelivery === true && selectedAddressId && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white border-2 border-gray-100 rounded-[24px] p-8 text-[#2B4B7C]", children: [
16871
16997
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 text-xl font-semibold text-gray-900 pb-4 mb-8 border-b", children: [
16872
16998
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Truck, { className: "w-8 h-8 flex items-center justify-center text-[#2B4B7C]" }),
16873
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-[#2B4B7C] text-2xl", children: "Shipping Options" })
16999
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-[#2B4B7C] text-2xl", children: "Shipping Options" })
16874
17000
  ] }),
16875
17001
  shippingRatesLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center py-12", children: [
16876
17002
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-haccent" }),
@@ -16978,18 +17104,18 @@ function CheckoutScreen() {
16978
17104
  transition: { duration: 0.5, ease: "easeOut", delay: 0.1 },
16979
17105
  className: "space-y-10 lg:sticky lg:top-24 lg:col-span-1",
16980
17106
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-linear-to-br from-hsecondary/10 to-hsecondary/10 rounded-[24px] p-8 border-2 border-hsecondary/20 sticky top-24", children: [
16981
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-['Poppins',sans-serif] font-semibold text-hsecondary mb-6 text-2xl", children: "Order Summary" }),
17107
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-hsecondary mb-6 text-2xl", children: "Order Summary" }),
16982
17108
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "mt-8 pt-6 border-t border-slate-100", children: [
16983
17109
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4 mb-6", children: cart?.cartBody?.items?.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3", children: [
16984
17110
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-16 h-16 rounded-xl overflow-hidden bg-white shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(Image4__default.default, { src: item.productVariantData?.media?.[0]?.file || PLACEHOLDER_IMAGE_SRC, alt: item.productVariantData.name, className: "w-full h-full object-cover", height: 200, width: 200 }) }),
16985
17111
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
16986
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-medium text-[12px] text-[#2B4B7C] mb-1", children: item?.productVariantData?.name }),
16987
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[11px] text-[#676c80]", children: [
17112
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-[12px] text-[#2B4B7C] mb-1", children: item?.productVariantData?.name }),
17113
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[11px] text-[#676c80]", children: [
16988
17114
  item?.productVariantData?.brand,
16989
17115
  " \u2022 Qty: ",
16990
17116
  item.quantity
16991
17117
  ] }),
16992
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-['Poppins',sans-serif] font-semibold text-[12px] text-hsecondary mt-1", children: formatPrice(item.productVariantData.finalPrice * item.quantity) })
17118
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-[12px] text-hsecondary mt-1", children: formatPrice(item.productVariantData.finalPrice * item.quantity) })
16993
17119
  ] })
16994
17120
  ] }, item.productVariantId || item.id)) }),
16995
17121
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-px bg-hsecondary/20 my-4" }),
@@ -17026,11 +17152,11 @@ function CheckoutScreen() {
17026
17152
  ] }),
17027
17153
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-px bg-hsecondary/20 mt-6" }),
17028
17154
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-6", children: [
17029
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] font-semibold text-[16px] text-hsecondary", children: "Total" }),
17030
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-['Poppins',sans-serif] font-bold text-[24px] text-hsecondary", children: formatPrice(total) })
17155
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-[16px] text-hsecondary", children: "Total" }),
17156
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-[24px] text-hsecondary", children: formatPrice(total) })
17031
17157
  ] })
17032
17158
  ] }),
17033
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white/80 rounded-xl p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-['Poppins',sans-serif] text-[11px] text-[#676c80] leading-[1.6]", children: [
17159
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white/80 rounded-xl p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[11px] text-[#676c80] leading-[1.6]", children: [
17034
17160
  /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "text-hsecondary", children: "Payment:" }),
17035
17161
  " We'll contact you to arrange payment upon pickup or delivery. We accept cash, credit cards, and all major payment methods."
17036
17162
  ] }) })
@@ -17067,7 +17193,7 @@ function CheckoutScreen() {
17067
17193
  {
17068
17194
  type: "submit",
17069
17195
  disabled: isSubmitting,
17070
- className: "font-['Poppins',sans-serif] font-medium text-[14px] px-6 py-3 rounded-full text-white hover:bg-[#d66f45] hover:shadow-lg transition-all duration-300 mt-4 w-full bg-hsecondary hover:bg-[#2B4B7C] flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",
17196
+ className: "font-medium text-[14px] px-6 py-3 rounded-full text-white hover:bg-[#d66f45] hover:shadow-lg transition-all duration-300 mt-4 w-full bg-hsecondary hover:bg-[#2B4B7C] flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",
17071
17197
  children: [
17072
17198
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CreditCard, { className: "h-5 w-5" }),
17073
17199
  isSubmitting ? "Placing order..." : "Place Secure Order"
@@ -17941,7 +18067,7 @@ function AccountOverviewTab() {
17941
18067
  icon: lucideReact.Package,
17942
18068
  label: "Total Orders",
17943
18069
  value: totalOrders,
17944
- color: "bg-[#DBEAFE] text-[#5B9BD5]"
18070
+ color: "bg-hprimary-100 text-[#5B9BD5]"
17945
18071
  },
17946
18072
  {
17947
18073
  icon: lucideReact.CheckCircle,
@@ -17997,7 +18123,7 @@ function AccountOverviewTab() {
17997
18123
  ] }),
17998
18124
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
17999
18125
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
18000
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "h-5 w-5 text-hsecondary" }) }),
18126
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "h-5 w-5 text-hsecondary" }) }),
18001
18127
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
18002
18128
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-hmuted", children: "Full Name" }),
18003
18129
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-medium text-hsecondary", children: [
@@ -18008,21 +18134,21 @@ function AccountOverviewTab() {
18008
18134
  ] })
18009
18135
  ] }),
18010
18136
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
18011
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "h-5 w-5 text-hsecondary" }) }),
18137
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "h-5 w-5 text-hsecondary" }) }),
18012
18138
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
18013
18139
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-hmuted", children: "E-mail Address" }),
18014
18140
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-hsecondary", children: user.email })
18015
18141
  ] })
18016
18142
  ] }),
18017
18143
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
18018
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Phone, { className: "h-5 w-5 text-hsecondary" }) }),
18144
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Phone, { className: "h-5 w-5 text-hsecondary" }) }),
18019
18145
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
18020
18146
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-hmuted", children: "Phone Number" }),
18021
18147
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-hsecondary", children: user.phoneNumber || "Not provided" })
18022
18148
  ] })
18023
18149
  ] }),
18024
18150
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
18025
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-[#DBEAFE]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MapPin, { className: "h-5 w-5 text-hsecondary" }) }),
18151
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-hprimary-100", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MapPin, { className: "h-5 w-5 text-hsecondary" }) }),
18026
18152
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
18027
18153
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-hmuted", children: "Date of Birth" }),
18028
18154
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-hsecondary", children: "Not provided" })
@@ -18519,7 +18645,7 @@ function AccountReviewsTab() {
18519
18645
  "button",
18520
18646
  {
18521
18647
  onClick: () => window.location.reload(),
18522
- className: "text-[#E67E50] hover:underline text-sm",
18648
+ className: "text-haccent-500 hover:underline text-sm",
18523
18649
  children: "Try again"
18524
18650
  }
18525
18651
  )
@@ -18527,14 +18653,14 @@ function AccountReviewsTab() {
18527
18653
  }
18528
18654
  if (!reviews || reviews.length === 0) {
18529
18655
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center py-12", children: [
18530
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-16 rounded-full bg-[#E67E50]/10 flex items-center justify-center mx-auto mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-8 text-[#E67E50]" }) }),
18656
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-16 rounded-full bg-haccent-500/10 flex items-center justify-center mx-auto mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-8 text-haccent-500" }) }),
18531
18657
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-gray-900 mb-2", children: "No reviews yet" }),
18532
18658
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-gray-600 mb-6", children: "Share your experience with products you've purchased" }),
18533
18659
  /* @__PURE__ */ jsxRuntime.jsxs(
18534
18660
  "button",
18535
18661
  {
18536
18662
  onClick: () => router.push(buildPath("/reviews")),
18537
- className: "inline-flex items-center gap-2 px-6 py-3 bg-[#E67E50] text-white rounded-lg font-medium hover:bg-[#d66f40] transition-colors",
18663
+ className: "inline-flex items-center gap-2 px-6 py-3 bg-haccent-500 text-white rounded-lg font-medium hover:bg-[#d66f40] transition-colors",
18538
18664
  children: [
18539
18665
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-4" }),
18540
18666
  "Write Your First Review"
@@ -18769,7 +18895,7 @@ function OrderCard({ order, onDelete }) {
18769
18895
  "button",
18770
18896
  {
18771
18897
  onClick: handleReviewClick,
18772
- className: "inline-flex items-center gap-2 rounded-lg border border-[#E67E50] bg-white hover:bg-[#E67E50]/5 text-[#E67E50] px-4 py-2 text-sm transition-colors",
18898
+ className: "inline-flex items-center gap-2 rounded-lg border border-haccent-500 bg-white hover:bg-haccent-500/5 text-haccent-500 px-4 py-2 text-sm transition-colors",
18773
18899
  onPointerDown: (e) => e.stopPropagation(),
18774
18900
  children: [
18775
18901
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "w-4 h-4" }),
@@ -18937,8 +19063,8 @@ function ReviewPromptBanner({
18937
19063
  router.push(buildPath("/reviews"));
18938
19064
  };
18939
19065
  if (!isVisible) return null;
18940
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-gradient-to-r from-[#E67E50]/10 to-[#E67E50]/5 border border-[#E67E50]/20 rounded-lg p-4 mb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
18941
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-10 rounded-full bg-[#E67E50]/20 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-5 text-[#E67E50]" }) }) }),
19066
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-gradient-to-r from-haccent-500/10 to-haccent-500/5 border border-haccent-500/20 rounded-lg p-4 mb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
19067
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-10 rounded-full bg-haccent-500/20 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-5 text-haccent-500" }) }) }),
18942
19068
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
18943
19069
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4", children: [
18944
19070
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -18966,7 +19092,7 @@ function ReviewPromptBanner({
18966
19092
  "button",
18967
19093
  {
18968
19094
  onClick: handleReviewClick,
18969
- className: "mt-3 inline-flex items-center gap-2 px-4 py-2 bg-[#E67E50] text-white text-sm font-medium rounded-lg hover:bg-[#d66f40] transition-colors",
19095
+ className: "mt-3 inline-flex items-center gap-2 px-4 py-2 bg-haccent-500 text-white text-sm font-medium rounded-lg hover:bg-[#d66f40] transition-colors",
18970
19096
  children: [
18971
19097
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Star, { className: "size-4" }),
18972
19098
  "Write a Review"
@@ -20119,41 +20245,24 @@ function SearchPage() {
20119
20245
  setHasSearched(false);
20120
20246
  return;
20121
20247
  }
20248
+ if (sanitizedQuery.length < 2) {
20249
+ setProducts([]);
20250
+ setIsLoading(false);
20251
+ setHasSearched(false);
20252
+ return;
20253
+ }
20122
20254
  try {
20123
20255
  setIsLoading(true);
20124
20256
  const api = new ProductsApi(AXIOS_CONFIG);
20125
- let response = await api.getAllProducts(
20126
- sanitizedQuery,
20127
- // searchTerm
20128
- void 0,
20129
- // maxPrice
20130
- void 0,
20131
- // minPrice
20132
- void 0,
20133
- // brandFilter
20134
- void 0,
20135
- // availability
20136
- "relevance",
20137
- // sort
20138
- void 0,
20139
- // subCategoryId
20140
- void 0,
20141
- // categoryId
20142
- true,
20143
- // isActive
20144
- 20,
20145
- // limit
20146
- 1
20147
- // page
20148
- );
20149
- console.log("Search API Response:", {
20257
+ const response = await api.smartSearch(sanitizedQuery, 20);
20258
+ console.log("Smart Search API Response:", {
20150
20259
  query: sanitizedQuery,
20151
20260
  status: response.status,
20152
- dataLength: response.data?.data?.length,
20153
- totalItems: response.data?.totalItems
20261
+ productsCount: response.data?.products?.length,
20262
+ scores: response.data?.scores
20154
20263
  });
20155
- if (response.data?.data) {
20156
- const transformedProducts = response.data.data.map((item) => ({
20264
+ if (response.data?.products) {
20265
+ const transformedProducts = response.data.products.map((item) => ({
20157
20266
  ...item,
20158
20267
  id: item._id || ""
20159
20268
  }));
@@ -20166,7 +20275,7 @@ function SearchPage() {
20166
20275
  }
20167
20276
  setHasSearched(true);
20168
20277
  } catch (error) {
20169
- console.error("Error fetching search results:", error);
20278
+ console.error("Error fetching smart search results:", error);
20170
20279
  if (error instanceof Error) {
20171
20280
  console.error("Error details:", error.message);
20172
20281
  }
@@ -20807,7 +20916,7 @@ function ReviewForm({
20807
20916
  {
20808
20917
  id: "reviewType",
20809
20918
  ...register("reviewType"),
20810
- className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#E67E50] focus:border-transparent",
20919
+ className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-haccent-500 focus:border-transparent",
20811
20920
  children: [
20812
20921
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "Product Review", children: "Product Review" }),
20813
20922
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "Quality Review", children: "Quality Review" }),
@@ -20836,7 +20945,7 @@ function ReviewForm({
20836
20945
  ...register("review"),
20837
20946
  rows: 5,
20838
20947
  placeholder: "Share your experience with this product...",
20839
- className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#E67E50] focus:border-transparent resize-none"
20948
+ className: "w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-haccent-500 focus:border-transparent resize-none"
20840
20949
  }
20841
20950
  ),
20842
20951
  errors.review && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-red-500 text-xs mt-1", children: errors.review.message })
@@ -20847,7 +20956,7 @@ function ReviewForm({
20847
20956
  {
20848
20957
  type: "submit",
20849
20958
  disabled: isLoading,
20850
- className: "flex-1 bg-[#E67E50] text-white py-3 px-6 rounded-lg font-medium hover:bg-[#d66f40] transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",
20959
+ className: "flex-1 bg-haccent-500 text-white py-3 px-6 rounded-lg font-medium hover:bg-[#d66f40] transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",
20851
20960
  children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20852
20961
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
20853
20962
  "Submitting..."
@@ -20906,7 +21015,7 @@ function OrderReviewsScreen() {
20906
21015
  "button",
20907
21016
  {
20908
21017
  onClick: () => router.back(),
20909
- className: "text-[#E67E50] hover:underline",
21018
+ className: "text-haccent-500 hover:underline",
20910
21019
  children: "Go Back"
20911
21020
  }
20912
21021
  )
@@ -20991,7 +21100,7 @@ function OrderReviewsScreen() {
20991
21100
  return /* @__PURE__ */ jsxRuntime.jsx(
20992
21101
  "div",
20993
21102
  {
20994
- className: "bg-white rounded-lg border border-gray-200 p-4 cursor-pointer hover:border-[#E67E50] hover:shadow-md transition-all",
21103
+ className: "bg-white rounded-lg border border-gray-200 p-4 cursor-pointer hover:border-haccent-500 hover:shadow-md transition-all",
20995
21104
  onClick: () => {
20996
21105
  const possibleProductId = item.productId || item.product?._id || item.product?.id || variantData?.productId || variantData?.product?._id || variantData?.product?.id || variantId;
20997
21106
  const productData = {
@@ -21022,7 +21131,7 @@ function OrderReviewsScreen() {
21022
21131
  item.quantity
21023
21132
  ] })
21024
21133
  ] }),
21025
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 text-[#E67E50]", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: "Review Now" }) })
21134
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 text-haccent-500", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: "Review Now" }) })
21026
21135
  ] })
21027
21136
  },
21028
21137
  `${variantId}-${index}`
@@ -21047,14 +21156,14 @@ function OrderReviewsScreen() {
21047
21156
  "button",
21048
21157
  {
21049
21158
  onClick: () => router.push("/shop"),
21050
- className: "px-6 py-3 bg-[#E67E50] text-white rounded-lg hover:bg-[#d66f40] transition-colors",
21159
+ className: "px-6 py-3 bg-haccent-500 text-white rounded-lg hover:bg-[#d66f40] transition-colors",
21051
21160
  children: "Start Shopping"
21052
21161
  }
21053
21162
  )
21054
21163
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: completedOrders.map((order) => /* @__PURE__ */ jsxRuntime.jsx(
21055
21164
  "div",
21056
21165
  {
21057
- className: "bg-white rounded-lg border border-gray-200 p-6 cursor-pointer hover:border-[#E67E50] hover:shadow-md transition-all",
21166
+ className: "bg-white rounded-lg border border-gray-200 p-6 cursor-pointer hover:border-haccent-500 hover:shadow-md transition-all",
21058
21167
  onClick: () => handleOrderClick(order),
21059
21168
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
21060
21169
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
@@ -21072,7 +21181,7 @@ function OrderReviewsScreen() {
21072
21181
  ] }),
21073
21182
  order.createdAt && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500", children: dateFns.formatDistanceToNow(new Date(order.createdAt), { addSuffix: true }) })
21074
21183
  ] }),
21075
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 text-[#E67E50]", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: "Review Products" }) }) })
21184
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 text-haccent-500", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: "Review Products" }) }) })
21076
21185
  ] })
21077
21186
  },
21078
21187
  order.id || order._id
@@ -22185,7 +22294,7 @@ function Header() {
22185
22294
  ),
22186
22295
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-0 top-full mt-2 w-56 rounded-lg border border-slate-200 bg-white shadow-lg z-20", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2", children: [
22187
22296
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 py-2 border-b border-slate-200 mb-1", children: [
22188
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-medium text-hsecondary truncate", children: [
22297
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-medium text-hprimary-900 truncate", children: [
22189
22298
  user?.firstname,
22190
22299
  " ",
22191
22300
  user?.lastname
@@ -22532,14 +22641,10 @@ exports.AccountReviewsTab = AccountReviewsTab;
22532
22641
  exports.AddressAddressTypeEnum = AddressAddressTypeEnum;
22533
22642
  exports.AddressCreatedRequestAddressTypeEnum = AddressCreatedRequestAddressTypeEnum;
22534
22643
  exports.AddressesScreen = AddressesScreen;
22535
- exports.ApiKeyInfoDtoKeyTypeEnum = ApiKeyInfoDtoKeyTypeEnum;
22536
22644
  exports.AuthProvider = AuthProvider;
22537
22645
  exports.Badge = Badge;
22538
22646
  exports.BulkChannelToggleDtoCategoryEnum = BulkChannelToggleDtoCategoryEnum;
22539
22647
  exports.Button = Button;
22540
- exports.CampaignDraftDtoStatusEnum = CampaignDraftDtoStatusEnum;
22541
- exports.CampaignDraftScheduleDtoStatusEnum = CampaignDraftScheduleDtoStatusEnum;
22542
- exports.CampaignDraftSendingDtoStatusEnum = CampaignDraftSendingDtoStatusEnum;
22543
22648
  exports.CartItem = CartItem;
22544
22649
  exports.CartProvider = CartProvider;
22545
22650
  exports.CartScreen = CartScreen;
@@ -22563,6 +22668,7 @@ exports.Footer = Footer;
22563
22668
  exports.ForgotPasswordScreen = ForgotPasswordScreen;
22564
22669
  exports.Header = Header;
22565
22670
  exports.Input = Input;
22671
+ exports.InventoryAlertDtoAlertTypeEnum = InventoryAlertDtoAlertTypeEnum;
22566
22672
  exports.LoginScreen = LoginScreen;
22567
22673
  exports.ManualDiscountDtoValueTypeEnum = ManualDiscountDtoValueTypeEnum;
22568
22674
  exports.ManualOrderDTOOrderStatusEnum = ManualOrderDTOOrderStatusEnum;
@@ -22574,6 +22680,7 @@ exports.NotificationBell = NotificationBell;
22574
22680
  exports.NotificationCard = NotificationCard;
22575
22681
  exports.NotificationCenterProvider = NotificationCenterProvider;
22576
22682
  exports.NotificationDrawer = NotificationDrawer;
22683
+ exports.NotificationDtoTypeEnum = NotificationDtoTypeEnum;
22577
22684
  exports.NotificationSettingsScreen = NotificationSettingsScreen;
22578
22685
  exports.OrderCard = OrderCard;
22579
22686
  exports.OrderCardSkeleton = OrderCardSkeleton;