hey-pharmacist-ecommerce 1.1.7 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import React20, { createContext, forwardRef, useContext, useEffect, useState, useCallback, useMemo, useRef } from 'react';
2
+ import React21, { createContext, forwardRef, useContext, useEffect, useState, useCallback, useMemo, useRef } from 'react';
3
3
  import globalAxios4 from 'axios';
4
4
  import { Toaster, toast } from 'sonner';
5
5
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
@@ -198,7 +198,7 @@ function ThemeProvider({ config, children }) {
198
198
  root.style.setProperty(`--header-to`, secondaryShades[600]);
199
199
  }
200
200
  }, [config]);
201
- return /* @__PURE__ */ React20.createElement(ThemeContext.Provider, { value: { config } }, children);
201
+ return /* @__PURE__ */ React21.createElement(ThemeContext.Provider, { value: { config } }, children);
202
202
  }
203
203
 
204
204
  // src/providers/AuthProvider.tsx
@@ -2048,7 +2048,7 @@ function AuthProvider({ children }) {
2048
2048
  updateUser,
2049
2049
  refreshUser
2050
2050
  };
2051
- return /* @__PURE__ */ React20.createElement(AuthContext.Provider, { value }, children);
2051
+ return /* @__PURE__ */ React21.createElement(AuthContext.Provider, { value }, children);
2052
2052
  }
2053
2053
  var AddressesApiAxiosParamCreator = function(configuration) {
2054
2054
  return {
@@ -6844,7 +6844,7 @@ function CartProvider({ children }) {
6844
6844
  clearCart,
6845
6845
  refreshCart
6846
6846
  };
6847
- return /* @__PURE__ */ React20.createElement(CartContext.Provider, { value }, children);
6847
+ return /* @__PURE__ */ React21.createElement(CartContext.Provider, { value }, children);
6848
6848
  }
6849
6849
 
6850
6850
  // src/lib/Apis/wrapper.ts
@@ -6987,7 +6987,7 @@ function WishlistProvider({ children }) {
6987
6987
  const refreshWishlist = async () => {
6988
6988
  await fetchWishlist();
6989
6989
  };
6990
- return /* @__PURE__ */ React20.createElement(
6990
+ return /* @__PURE__ */ React21.createElement(
6991
6991
  WishlistContext.Provider,
6992
6992
  {
6993
6993
  value: {
@@ -7020,7 +7020,7 @@ function BasePathProvider({ basePath = "", children }) {
7020
7020
  if (path.startsWith("/")) return `${normalized}${path}`;
7021
7021
  return `${normalized}/${path}`;
7022
7022
  };
7023
- return /* @__PURE__ */ React20.createElement(BasePathContext.Provider, { value: { basePath: normalized, buildPath } }, children);
7023
+ return /* @__PURE__ */ React21.createElement(BasePathContext.Provider, { value: { basePath: normalized, buildPath } }, children);
7024
7024
  }
7025
7025
  function useBasePath() {
7026
7026
  const ctx = useContext(BasePathContext);
@@ -7031,10 +7031,10 @@ function EcommerceProvider({ config, children, withToaster = true, basePath = ""
7031
7031
  useEffect(() => {
7032
7032
  initializeApiAdapter(config);
7033
7033
  }, [config]);
7034
- const [client] = React20.useState(
7034
+ const [client] = React21.useState(
7035
7035
  new QueryClient({ defaultOptions: { queries: { staleTime: 5e3 } } })
7036
7036
  );
7037
- return /* @__PURE__ */ React20.createElement(QueryClientProvider, { client }, /* @__PURE__ */ React20.createElement(ThemeProvider, { config }, /* @__PURE__ */ React20.createElement(BasePathProvider, { basePath }, /* @__PURE__ */ React20.createElement(AuthProvider, null, /* @__PURE__ */ React20.createElement(CartProvider, null, /* @__PURE__ */ React20.createElement(WishlistProvider, null, children, withToaster && /* @__PURE__ */ React20.createElement(Toaster, { position: "top-right", richColors: true })))))));
7037
+ return /* @__PURE__ */ React21.createElement(QueryClientProvider, { client }, /* @__PURE__ */ React21.createElement(ThemeProvider, { config }, /* @__PURE__ */ React21.createElement(BasePathProvider, { basePath }, /* @__PURE__ */ React21.createElement(AuthProvider, null, /* @__PURE__ */ React21.createElement(CartProvider, null, /* @__PURE__ */ React21.createElement(WishlistProvider, null, children, withToaster && /* @__PURE__ */ React21.createElement(Toaster, { position: "top-right", richColors: true })))))));
7038
7038
  }
7039
7039
 
7040
7040
  // src/lib/utils/format.ts
@@ -7124,7 +7124,7 @@ function ProductCard({
7124
7124
  alt: product.name || "Product image"
7125
7125
  };
7126
7126
  }, [product.productMedia, product.name]);
7127
- return /* @__PURE__ */ React20.createElement(
7127
+ return /* @__PURE__ */ React21.createElement(
7128
7128
  motion.article,
7129
7129
  {
7130
7130
  className: "relative group bg-white rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all duration-300 border border-gray-100 hover:border-gray-200 flex h-[420px] flex-col",
@@ -7137,7 +7137,7 @@ function ProductCard({
7137
7137
  onClick: handleCardClick,
7138
7138
  onKeyDown: handleKeyDown
7139
7139
  },
7140
- /* @__PURE__ */ React20.createElement("div", { className: "relative h-48 w-full overflow-hidden bg-gray-50" }, /* @__PURE__ */ React20.createElement(AnimatePresence, null, !isImageLoaded && /* @__PURE__ */ React20.createElement(
7140
+ /* @__PURE__ */ React21.createElement("div", { className: "relative h-48 w-full overflow-hidden bg-gray-50" }, /* @__PURE__ */ React21.createElement(AnimatePresence, null, !isImageLoaded && /* @__PURE__ */ React21.createElement(
7141
7141
  motion.div,
7142
7142
  {
7143
7143
  className: "absolute inset-0 bg-gray-200 animate-pulse",
@@ -7145,7 +7145,7 @@ function ProductCard({
7145
7145
  exit: { opacity: 0 },
7146
7146
  transition: { duration: 0.2 }
7147
7147
  }
7148
- )), product.productMedia?.[0]?.file && /* @__PURE__ */ React20.createElement(
7148
+ )), product.productMedia?.[0]?.file && /* @__PURE__ */ React21.createElement(
7149
7149
  Image3,
7150
7150
  {
7151
7151
  src: product.productMedia?.[0]?.file || "/placeholder-product.jpg",
@@ -7156,7 +7156,7 @@ function ProductCard({
7156
7156
  priority: false,
7157
7157
  onLoad: handleImageLoad
7158
7158
  }
7159
- ), /* @__PURE__ */ React20.createElement("div", { className: "absolute top-3 left-3 flex flex-col gap-2 z-10" }, product.isDiscounted && /* @__PURE__ */ React20.createElement(
7159
+ ), /* @__PURE__ */ React21.createElement("div", { className: "absolute top-3 left-3 flex flex-col gap-2 z-10" }, product.isDiscounted && /* @__PURE__ */ React21.createElement(
7160
7160
  motion.span,
7161
7161
  {
7162
7162
  initial: { scale: 0.9, opacity: 0 },
@@ -7166,7 +7166,7 @@ function ProductCard({
7166
7166
  "-",
7167
7167
  product.discountAmount,
7168
7168
  "%"
7169
- ), product.inventoryCount === 0 && /* @__PURE__ */ React20.createElement(
7169
+ ), product.inventoryCount === 0 && /* @__PURE__ */ React21.createElement(
7170
7170
  motion.span,
7171
7171
  {
7172
7172
  initial: { scale: 0.9, opacity: 0 },
@@ -7174,7 +7174,7 @@ function ProductCard({
7174
7174
  className: "inline-flex items-center justify-center px-2.5 py-1 rounded-full text-xs font-bold text-white bg-red-600"
7175
7175
  },
7176
7176
  "Out of Stock"
7177
- )), showFavoriteButton && /* @__PURE__ */ React20.createElement(
7177
+ )), showFavoriteButton && /* @__PURE__ */ React21.createElement(
7178
7178
  motion.button,
7179
7179
  {
7180
7180
  type: "button",
@@ -7184,10 +7184,10 @@ function ProductCard({
7184
7184
  whileTap: { scale: 0.95 },
7185
7185
  "aria-label": isFavorite ? "Remove from wishlist" : "Add to wishlist"
7186
7186
  },
7187
- /* @__PURE__ */ React20.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7187
+ /* @__PURE__ */ React21.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7188
7188
  )),
7189
- /* @__PURE__ */ React20.createElement("div", { className: "absolute top-4 left-4 flex flex-col gap-2" }, product.inventoryCount === 0 && /* @__PURE__ */ React20.createElement("span", { className: "px-3 py-1 rounded-full text-sm font-bold bg-red-100 text-red-800" }, "Out of Stock")),
7190
- showFavoriteButton && /* @__PURE__ */ React20.createElement(
7189
+ /* @__PURE__ */ React21.createElement("div", { className: "absolute top-4 left-4 flex flex-col gap-2" }, product.inventoryCount === 0 && /* @__PURE__ */ React21.createElement("span", { className: "px-3 py-1 rounded-full text-sm font-bold bg-red-100 text-red-800" }, "Out of Stock")),
7190
+ showFavoriteButton && /* @__PURE__ */ React21.createElement(
7191
7191
  "button",
7192
7192
  {
7193
7193
  type: "button",
@@ -7195,10 +7195,10 @@ function ProductCard({
7195
7195
  className: `absolute top-2 right-2 p-2 rounded-full transition-colors ${isFavorite ? "text-red-500" : "text-gray-400 hover:text-red-500"}`,
7196
7196
  "aria-label": isFavorite ? "Remove from wishlist" : "Add to wishlist"
7197
7197
  },
7198
- /* @__PURE__ */ React20.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7198
+ /* @__PURE__ */ React21.createElement(Heart, { className: `w-5 h-5 ${isFavorite ? "fill-current" : ""}` })
7199
7199
  ),
7200
- /* @__PURE__ */ React20.createElement("div", { className: "p-4" }, product.parentCategories && product.parentCategories?.length > 0 && /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-gray-500 uppercase tracking-wider mb-2" }, product.parentCategories?.map((category) => category?.name).join(", ") || "No categories"), /* @__PURE__ */ React20.createElement("div", { className: "mb-2" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900 line-clamp-1 group-hover:text-primary-600 transition-colors" }, product.name), product?.sku && /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-gray-400 mt-1" }, "SKU: ", product.sku)), /* @__PURE__ */ React20.createElement("div", { className: "flex items-baseline gap-2" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React20.createElement("span", { className: "text-2xl font-bold text-gray-900" }, formatPrice(product.finalPrice)), product.inventoryCount > 0 && /* @__PURE__ */ React20.createElement("span", { className: "text-xs text-gray-500" }, product.inventoryCount > 0 ? "In Stock" : "Out of Stock")), product.priceBeforeDiscount && product.priceBeforeDiscount > product.finalPrice && /* @__PURE__ */ React20.createElement("span", { className: "text-sm text-gray-500 line-through" }, formatPrice(product.priceBeforeDiscount)))),
7201
- /* @__PURE__ */ React20.createElement("div", { className: "mt-auto p-4 pt-0" }, /* @__PURE__ */ React20.createElement(
7200
+ /* @__PURE__ */ React21.createElement("div", { className: "p-4" }, product.parentCategories && product.parentCategories?.length > 0 && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-gray-500 uppercase tracking-wider mb-2" }, product.parentCategories?.map((category) => category?.name).join(", ") || "No categories"), /* @__PURE__ */ React21.createElement("div", { className: "mb-2" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900 line-clamp-1 group-hover:text-primary-600 transition-colors" }, product.name), product?.sku && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-gray-400 mt-1" }, "SKU: ", product.sku)), /* @__PURE__ */ React21.createElement("div", { className: "flex items-baseline gap-2" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React21.createElement("span", { className: "text-2xl font-bold text-gray-900" }, formatPrice(product.finalPrice)), product.inventoryCount > 0 && /* @__PURE__ */ React21.createElement("span", { className: "text-xs text-gray-500" }, product.inventoryCount > 0 ? "In Stock" : "Out of Stock")), product.priceBeforeDiscount && product.priceBeforeDiscount > product.finalPrice && /* @__PURE__ */ React21.createElement("span", { className: "text-sm text-gray-500 line-through" }, formatPrice(product.priceBeforeDiscount)))),
7201
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-auto p-4 pt-0" }, /* @__PURE__ */ React21.createElement(
7202
7202
  "button",
7203
7203
  {
7204
7204
  type: "button",
@@ -7209,7 +7209,7 @@ function ProductCard({
7209
7209
  className: `w-full flex items-center justify-center rounded-md px-3 py-2 text-sm font-medium bg-primary-600 hover:bg-primary-700 text-white`
7210
7210
  },
7211
7211
  "View Product"
7212
- ), showFavoriteButton && /* @__PURE__ */ React20.createElement(
7212
+ ), showFavoriteButton && /* @__PURE__ */ React21.createElement(
7213
7213
  "button",
7214
7214
  {
7215
7215
  type: "button",
@@ -7217,7 +7217,7 @@ function ProductCard({
7217
7217
  className: "mt-2 w-full flex items-center justify-center rounded-md border border-gray-300 bg-white px-3 py-2 text-sm font-medium text-primary-600 hover:bg-gray-50",
7218
7218
  "aria-label": isFavorite ? "Remove from wishlist" : "Add to wishlist"
7219
7219
  },
7220
- /* @__PURE__ */ React20.createElement(
7220
+ /* @__PURE__ */ React21.createElement(
7221
7221
  Heart,
7222
7222
  {
7223
7223
  className: `mr-2 h-4 w-4 ${isFavorite ? "fill-red-500 text-red-500" : "text-primary-600"}`
@@ -7228,13 +7228,13 @@ function ProductCard({
7228
7228
  );
7229
7229
  }
7230
7230
  function Skeleton({ className = "" }) {
7231
- return /* @__PURE__ */ React20.createElement("div", { className: `animate-pulse bg-gradient-to-r from-gray-200 via-gray-300 to-gray-200 bg-[length:200%_100%] rounded ${className}` });
7231
+ return /* @__PURE__ */ React21.createElement("div", { className: `animate-pulse bg-gradient-to-r from-gray-200 via-gray-300 to-gray-200 bg-[length:200%_100%] rounded ${className}` });
7232
7232
  }
7233
7233
  function ProductCardSkeleton() {
7234
- return /* @__PURE__ */ React20.createElement("div", { className: "bg-white rounded-2xl overflow-hidden shadow-sm" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-64 w-full" }), /* @__PURE__ */ React20.createElement("div", { className: "p-4 space-y-3" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-6 w-3/4" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-1/2" }), /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-center pt-2" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-8 w-24" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-10 w-10 rounded-full" }))));
7234
+ return /* @__PURE__ */ React21.createElement("div", { className: "bg-white rounded-2xl overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-64 w-full" }), /* @__PURE__ */ React21.createElement("div", { className: "p-4 space-y-3" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-6 w-3/4" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-1/2" }), /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-center pt-2" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-8 w-24" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-10 w-10 rounded-full" }))));
7235
7235
  }
7236
7236
  function OrderCardSkeleton() {
7237
- return /* @__PURE__ */ React20.createElement("div", { className: "bg-white rounded-2xl p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-2 flex-1" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-6 w-32" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-48" })), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-6 w-20 rounded-full" })), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-full" }), /* @__PURE__ */ React20.createElement(Skeleton, { className: "h-4 w-2/3" })));
7237
+ return /* @__PURE__ */ React21.createElement("div", { className: "bg-white rounded-2xl p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-2 flex-1" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-6 w-32" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-48" })), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-6 w-20 rounded-full" })), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-full" }), /* @__PURE__ */ React21.createElement(Skeleton, { className: "h-4 w-2/3" })));
7238
7238
  }
7239
7239
  var MotionDiv = dynamic(() => import('framer-motion').then((mod) => mod.motion.div), {
7240
7240
  ssr: false
@@ -7260,14 +7260,14 @@ function Button({
7260
7260
  md: "px-6 py-3 text-base",
7261
7261
  lg: "px-8 py-4 text-lg"
7262
7262
  };
7263
- return /* @__PURE__ */ React20.createElement(
7263
+ return /* @__PURE__ */ React21.createElement(
7264
7264
  MotionDiv,
7265
7265
  {
7266
7266
  whileHover: { scale: 1.02 },
7267
7267
  whileTap: { scale: 0.98 },
7268
7268
  className: "inline-block"
7269
7269
  },
7270
- /* @__PURE__ */ React20.createElement(
7270
+ /* @__PURE__ */ React21.createElement(
7271
7271
  "button",
7272
7272
  {
7273
7273
  className: `${baseStyles} ${variants[variant]} ${sizes[size]} ${className}`,
@@ -7276,18 +7276,18 @@ function Button({
7276
7276
  "aria-busy": isLoading,
7277
7277
  ...props
7278
7278
  },
7279
- isLoading ? /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("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" }, /* @__PURE__ */ React20.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React20.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })), "Loading...") : children
7279
+ isLoading ? /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("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" }, /* @__PURE__ */ React21.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React21.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })), "Loading...") : children
7280
7280
  )
7281
7281
  );
7282
7282
  }
7283
7283
 
7284
7284
  // src/components/EmptyState.tsx
7285
7285
  function EmptyState({ icon: Icon, title, description, actionLabel, onAction }) {
7286
- return /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-center justify-center py-16 px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "w-24 h-24 bg-gray-100 rounded-full flex items-center justify-center mb-6" }, /* @__PURE__ */ React20.createElement(Icon, { className: "w-12 h-12 text-gray-400" })), /* @__PURE__ */ React20.createElement("h3", { className: "text-2xl font-bold text-gray-900 mb-2" }, title), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-600 text-center max-w-md mb-8" }, description), actionLabel && onAction && /* @__PURE__ */ React20.createElement(Button, { onClick: onAction }, actionLabel));
7286
+ return /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center justify-center py-16 px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "w-24 h-24 bg-gray-100 rounded-full flex items-center justify-center mb-6" }, /* @__PURE__ */ React21.createElement(Icon, { className: "w-12 h-12 text-gray-400" })), /* @__PURE__ */ React21.createElement("h3", { className: "text-2xl font-bold text-gray-900 mb-2" }, title), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-600 text-center max-w-md mb-8" }, description), actionLabel && onAction && /* @__PURE__ */ React21.createElement(Button, { onClick: onAction }, actionLabel));
7287
7287
  }
7288
7288
  var Input = forwardRef(
7289
7289
  ({ label, error, helperText, className = "", ...props }, ref) => {
7290
- return /* @__PURE__ */ React20.createElement("div", { className: "w-full" }, label && /* @__PURE__ */ React20.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, label), /* @__PURE__ */ React20.createElement(
7290
+ return /* @__PURE__ */ React21.createElement("div", { className: "w-full" }, label && /* @__PURE__ */ React21.createElement("label", { className: "block text-sm font-medium text-gray-700 mb-2" }, label), /* @__PURE__ */ React21.createElement(
7291
7291
  "input",
7292
7292
  {
7293
7293
  ref,
@@ -7301,7 +7301,7 @@ var Input = forwardRef(
7301
7301
  `,
7302
7302
  ...props
7303
7303
  }
7304
- ), error && /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-sm text-red-600" }, error), helperText && !error && /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-sm text-gray-500" }, helperText));
7304
+ ), error && /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-sm text-red-600" }, error), helperText && !error && /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-sm text-gray-500" }, helperText));
7305
7305
  }
7306
7306
  );
7307
7307
  Input.displayName = "Input";
@@ -7863,7 +7863,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7863
7863
  ]);
7864
7864
  const hasActiveFilters = activeFilterChips.length > 0;
7865
7865
  const isCustomPriceDirty = customPrice.min.trim() !== "" || customPrice.max.trim() !== "";
7866
- const renderFiltersPanel = () => /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start justify-between gap-3" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Refine results"), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Filter by category, price, and availability to find the perfect fit faster.")), hasActiveFilters && /* @__PURE__ */ React20.createElement(
7866
+ const renderFiltersPanel = () => /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-8" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start justify-between gap-3" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Refine results"), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Filter by category, price, and availability to find the perfect fit faster.")), hasActiveFilters && /* @__PURE__ */ React21.createElement(
7867
7867
  "button",
7868
7868
  {
7869
7869
  type: "button",
@@ -7871,10 +7871,10 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7871
7871
  className: "text-sm font-semibold text-primary-600 hover:text-primary-700"
7872
7872
  },
7873
7873
  "Clear all"
7874
- )), /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Categories"), /* @__PURE__ */ React20.createElement("div", { className: "space-y-2" }, sortedCategories.length === 0 && /* @__PURE__ */ React20.createElement("span", { className: "text-sm text-gray-500" }, "No categories available yet."), sortedCategories.map((category) => {
7874
+ )), /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Categories"), /* @__PURE__ */ React21.createElement("div", { className: "space-y-2" }, sortedCategories.length === 0 && /* @__PURE__ */ React21.createElement("span", { className: "text-sm text-gray-500" }, "No categories available yet."), sortedCategories.map((category) => {
7875
7875
  const isCategoryActive = categoryFilter === category.id;
7876
7876
  const isExpanded = !!expandedCategories[category.id];
7877
- return /* @__PURE__ */ React20.createElement("div", { key: category.id, className: "rounded-xl border-gray-100 bg-white/50" }, /* @__PURE__ */ React20.createElement(
7877
+ return /* @__PURE__ */ React21.createElement("div", { key: category.id, className: "rounded-xl border-gray-100 bg-white/50" }, /* @__PURE__ */ React21.createElement(
7878
7878
  "div",
7879
7879
  {
7880
7880
  role: "button",
@@ -7885,8 +7885,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7885
7885
  },
7886
7886
  className: `flex w-full items-center justify-between rounded-xl px-3 py-2 text-sm font-medium transition ${isCategoryActive ? "text-primary-700 bg-primary-50" : "text-gray-700 hover:text-primary-700 hover:bg-primary-50/50"}`
7887
7887
  },
7888
- /* @__PURE__ */ React20.createElement("span", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("span", { className: "font-medium" }, category.name), category.productCount > 0 && /* @__PURE__ */ React20.createElement("span", { className: `ml-1 rounded-full bg-gray-100 px-2 py-0.5 text-xs ${isCategoryActive ? "text-primary-700" : "text-gray-500"}` }, category.productCount)),
7889
- /* @__PURE__ */ React20.createElement(
7888
+ /* @__PURE__ */ React21.createElement("span", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("span", { className: "font-medium" }, category.name), category.productCount > 0 && /* @__PURE__ */ React21.createElement("span", { className: `ml-1 rounded-full bg-gray-100 px-2 py-0.5 text-xs ${isCategoryActive ? "text-primary-700" : "text-gray-500"}` }, category.productCount)),
7889
+ /* @__PURE__ */ React21.createElement(
7890
7890
  "button",
7891
7891
  {
7892
7892
  type: "button",
@@ -7898,11 +7898,11 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7898
7898
  className: "rounded-md p-1 hover:bg-gray-100",
7899
7899
  "aria-label": isExpanded ? "Collapse" : "Expand"
7900
7900
  },
7901
- /* @__PURE__ */ React20.createElement(ChevronDown, { className: `h-4 w-4 transition-transform ${isExpanded ? "rotate-180 text-primary-600" : "rotate-0 text-gray-400"}` })
7901
+ /* @__PURE__ */ React21.createElement(ChevronDown, { className: `h-4 w-4 transition-transform ${isExpanded ? "rotate-180 text-primary-600" : "rotate-0 text-gray-400"}` })
7902
7902
  )
7903
- ), isExpanded && Array.isArray(category.categorySubCategories) && category.categorySubCategories.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "mt-1 border-gray-100 px-2 pb-2 pl-4" }, /* @__PURE__ */ React20.createElement("div", { className: "divide-y divide-gray-100" }, category.categorySubCategories.map((sub) => {
7903
+ ), isExpanded && Array.isArray(category.categorySubCategories) && category.categorySubCategories.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "mt-1 border-gray-100 px-2 pb-2 pl-4" }, /* @__PURE__ */ React21.createElement("div", { className: "divide-y divide-gray-100" }, category.categorySubCategories.map((sub) => {
7904
7904
  const isSubActive = subCategoryFilter === sub.id;
7905
- return /* @__PURE__ */ React20.createElement(
7905
+ return /* @__PURE__ */ React21.createElement(
7906
7906
  "button",
7907
7907
  {
7908
7908
  key: sub.id,
@@ -7913,9 +7913,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7913
7913
  sub.name
7914
7914
  );
7915
7915
  }))));
7916
- }))))), /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Price"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, priceRanges.map((range) => {
7916
+ }))))), /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Price"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, priceRanges.map((range) => {
7917
7917
  const isActive = selectedPriceRange === range.value;
7918
- return /* @__PURE__ */ React20.createElement(
7918
+ return /* @__PURE__ */ React21.createElement(
7919
7919
  "button",
7920
7920
  {
7921
7921
  type: "button",
@@ -7925,7 +7925,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7925
7925
  },
7926
7926
  range.label
7927
7927
  );
7928
- })), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-2 gap-3" }, /* @__PURE__ */ React20.createElement(
7928
+ })), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-2 gap-3" }, /* @__PURE__ */ React21.createElement(
7929
7929
  Input,
7930
7930
  {
7931
7931
  type: "number",
@@ -7934,7 +7934,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7934
7934
  value: customPrice.min,
7935
7935
  onChange: (event) => setCustomPrice((current) => ({ ...current, min: event.target.value }))
7936
7936
  }
7937
- ), /* @__PURE__ */ React20.createElement(
7937
+ ), /* @__PURE__ */ React21.createElement(
7938
7938
  Input,
7939
7939
  {
7940
7940
  type: "number",
@@ -7943,7 +7943,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7943
7943
  value: customPrice.max,
7944
7944
  onChange: (event) => setCustomPrice((current) => ({ ...current, max: event.target.value }))
7945
7945
  }
7946
- )), /* @__PURE__ */ React20.createElement(
7946
+ )), /* @__PURE__ */ React21.createElement(
7947
7947
  "button",
7948
7948
  {
7949
7949
  type: "button",
@@ -7952,48 +7952,48 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
7952
7952
  className: "w-full rounded-xl border border-primary-500 bg-primary-500/10 px-4 py-2.5 text-sm font-semibold text-primary-700 transition hover:bg-primary-500/20 disabled:cursor-not-allowed disabled:border-gray-200 disabled:text-gray-400"
7953
7953
  },
7954
7954
  "Apply price range"
7955
- )), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Availability"), /* @__PURE__ */ React20.createElement(
7955
+ )), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h4", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-gray-500" }, "Availability"), /* @__PURE__ */ React21.createElement(
7956
7956
  "button",
7957
7957
  {
7958
7958
  type: "button",
7959
7959
  onClick: handleToggleStock,
7960
7960
  className: `flex w-full items-center justify-between rounded-xl border px-4 py-3 text-sm font-medium transition ${inStockOnly ? "border-primary-500 bg-primary-50 text-primary-700" : "border-gray-200 bg-white text-gray-600 hover:border-primary-300 hover:text-primary-600"}`
7961
7961
  },
7962
- /* @__PURE__ */ React20.createElement("span", null, "In stock only"),
7963
- /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" })
7964
- ), /* @__PURE__ */ React20.createElement(
7962
+ /* @__PURE__ */ React21.createElement("span", null, "In stock only"),
7963
+ /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" })
7964
+ ), /* @__PURE__ */ React21.createElement(
7965
7965
  "button",
7966
7966
  {
7967
7967
  type: "button",
7968
7968
  onClick: handleToggleNewArrivals,
7969
7969
  className: `mt-2 flex w-full items-center justify-between rounded-xl border px-4 py-3 text-sm font-medium transition ${newArrivals ? "border-secondary-500 bg-secondary-50 text-secondary-700" : "border-gray-200 bg-white text-gray-600 hover:border-secondary-300 hover:text-secondary-600"}`
7970
7970
  },
7971
- /* @__PURE__ */ React20.createElement("span", null, "New arrivals (last 30 days)"),
7972
- /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-secondary-500" })
7971
+ /* @__PURE__ */ React21.createElement("span", null, "New arrivals (last 30 days)"),
7972
+ /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-secondary-500" })
7973
7973
  ))));
7974
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement(
7974
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement(
7975
7975
  "div",
7976
7976
  {
7977
7977
  className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]",
7978
7978
  "aria-hidden": "true"
7979
7979
  }
7980
- ), /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(94,234,212,0.35),_transparent_55%)] opacity-60" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-24" }, /* @__PURE__ */ React20.createElement(
7980
+ ), /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(94,234,212,0.35),_transparent_55%)] opacity-60" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-24" }, /* @__PURE__ */ React21.createElement(
7981
7981
  motion.div,
7982
7982
  {
7983
7983
  initial: { opacity: 0, y: 24 },
7984
7984
  animate: { opacity: 1, y: 0 },
7985
7985
  className: "max-w-3xl space-y-8 text-center md:mx-auto md:text-left"
7986
7986
  },
7987
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4" }), "Wellness products, curated for you"),
7988
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-6xl" }, "Find pharmacy favorites crafted to keep your family thriving"),
7989
- /* @__PURE__ */ React20.createElement("p", { className: "text-lg text-white/80 md:text-xl" }, "Explore a modern storefront with real-time inventory, smart filters, and rich product details designed to make healthier choices easier."),
7990
- /* @__PURE__ */ React20.createElement(
7987
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-4 py-2 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4" }), "Wellness products, curated for you"),
7988
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-6xl" }, "Find pharmacy favorites crafted to keep your family thriving"),
7989
+ /* @__PURE__ */ React21.createElement("p", { className: "text-lg text-white/80 md:text-xl" }, "Explore a modern storefront with real-time inventory, smart filters, and rich product details designed to make healthier choices easier."),
7990
+ /* @__PURE__ */ React21.createElement(
7991
7991
  "form",
7992
7992
  {
7993
7993
  onSubmit: handleSearch,
7994
7994
  className: "mx-auto max-w-2xl md:mx-0"
7995
7995
  },
7996
- /* @__PURE__ */ React20.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React20.createElement(
7996
+ /* @__PURE__ */ React21.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React21.createElement(
7997
7997
  "input",
7998
7998
  {
7999
7999
  type: "search",
@@ -8004,17 +8004,17 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8004
8004
  className: "flex h-12 w-full rounded-xl border border-white/20 bg-white/10 px-4 py-2 pr-14 text-lg text-white placeholder-white/60 shadow-2xl shadow-primary-900/20 backdrop-blur focus:border-white/30 focus:outline-none focus:ring-2 focus:ring-white/20 disabled:opacity-50",
8005
8005
  disabled: isSearching
8006
8006
  }
8007
- ), /* @__PURE__ */ React20.createElement(
8007
+ ), /* @__PURE__ */ React21.createElement(
8008
8008
  "button",
8009
8009
  {
8010
8010
  type: "submit",
8011
8011
  className: "absolute right-2 top-1/2 -translate-y-1/2 rounded-xl bg-white/20 p-3 text-white transition hover:bg-white/30 disabled:opacity-50",
8012
8012
  disabled: !searchQuery.trim() || isSearching
8013
8013
  },
8014
- isSearching ? /* @__PURE__ */ React20.createElement("div", { className: "h-5 w-5 animate-spin rounded-full border-2 border-white border-t-transparent" }) : /* @__PURE__ */ React20.createElement(Search, { className: "h-5 w-5" })
8014
+ isSearching ? /* @__PURE__ */ React21.createElement("div", { className: "h-5 w-5 animate-spin rounded-full border-2 border-white border-t-transparent" }) : /* @__PURE__ */ React21.createElement(Search, { className: "h-5 w-5" })
8015
8015
  ))
8016
8016
  )
8017
- ), /* @__PURE__ */ React20.createElement(
8017
+ ), /* @__PURE__ */ React21.createElement(
8018
8018
  motion.div,
8019
8019
  {
8020
8020
  initial: { opacity: 0, y: 24 },
@@ -8022,7 +8022,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8022
8022
  transition: { delay: 0.15 },
8023
8023
  className: "mt-12 flex flex-col gap-6 rounded-3xl border border-white/20 bg-white/10 p-6 backdrop-blur md:flex-row md:items-center md:justify-between"
8024
8024
  },
8025
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Explore popular searches"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, quickSearches.map((term) => /* @__PURE__ */ React20.createElement(
8025
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Explore popular searches"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, quickSearches.map((term) => /* @__PURE__ */ React21.createElement(
8026
8026
  "button",
8027
8027
  {
8028
8028
  key: term,
@@ -8032,7 +8032,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8032
8032
  },
8033
8033
  term
8034
8034
  )))),
8035
- topCategories.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "space-y-3 md:text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Trending categories"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap justify-start gap-2 md:justify-end" }, topCategories.map((category) => /* @__PURE__ */ React20.createElement(
8035
+ topCategories.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "space-y-3 md:text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, "Trending categories"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap justify-start gap-2 md:justify-end" }, topCategories.map((category) => /* @__PURE__ */ React21.createElement(
8036
8036
  "button",
8037
8037
  {
8038
8038
  key: category.id,
@@ -8042,9 +8042,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8042
8042
  },
8043
8043
  category.name
8044
8044
  ))))
8045
- ), /* @__PURE__ */ React20.createElement("div", { className: "mt-10 grid gap-4 md:grid-cols-3" }, insightCards.map((card, index) => {
8045
+ ), /* @__PURE__ */ React21.createElement("div", { className: "mt-10 grid gap-4 md:grid-cols-3" }, insightCards.map((card, index) => {
8046
8046
  const Icon = card.icon;
8047
- return /* @__PURE__ */ React20.createElement(
8047
+ return /* @__PURE__ */ React21.createElement(
8048
8048
  motion.div,
8049
8049
  {
8050
8050
  key: card.id,
@@ -8057,10 +8057,10 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8057
8057
  "aria-pressed": card.id === "new" ? newArrivals ? "true" : "false" : void 0,
8058
8058
  title: card.id === "new" ? newArrivals ? "Filter active: showing products from the last 30 days" : "Click to filter products from the last 30 days" : void 0
8059
8059
  },
8060
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, card.label), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-3xl font-semibold text-white" }, card.value)), /* @__PURE__ */ React20.createElement("span", { className: "rounded-full bg-white/20 p-3 text-white" }, /* @__PURE__ */ React20.createElement(Icon, { className: "h-5 w-5" }))),
8061
- /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-white/70" }, card.helper)
8060
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-white/60" }, card.label), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-3xl font-semibold text-white" }, card.value)), /* @__PURE__ */ React21.createElement("span", { className: "rounded-full bg-white/20 p-3 text-white" }, /* @__PURE__ */ React21.createElement(Icon, { className: "h-5 w-5" }))),
8061
+ /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-white/70" }, card.helper)
8062
8062
  );
8063
- })))), /* @__PURE__ */ React20.createElement("div", { className: "relative z-10 -mt-12 pb-16" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-8 lg:flex-row" }, /* @__PURE__ */ React20.createElement("aside", { className: "hidden w-72 flex-shrink-0 lg:block" }, /* @__PURE__ */ React20.createElement("div", { className: "sticky top-24 rounded-3xl border border-gray-100 bg-white p-6 shadow-xl shadow-gray-200/40" }, renderFiltersPanel())), /* @__PURE__ */ React20.createElement("main", { className: "flex-1 space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, "All products"), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Browse a pharmacy-grade catalogue with smart merchandising and modern UI.")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center" }, /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(ArrowUpDown, { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), /* @__PURE__ */ React20.createElement(
8063
+ })))), /* @__PURE__ */ React21.createElement("div", { className: "relative z-10 -mt-12 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-8 lg:flex-row" }, /* @__PURE__ */ React21.createElement("aside", { className: "hidden w-72 flex-shrink-0 lg:block" }, /* @__PURE__ */ React21.createElement("div", { className: "sticky top-24 rounded-3xl border border-gray-100 bg-white p-6 shadow-xl shadow-gray-200/40" }, renderFiltersPanel())), /* @__PURE__ */ React21.createElement("main", { className: "flex-1 space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, "All products"), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-gray-500" }, "Browse a pharmacy-grade catalogue with smart merchandising and modern UI.")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center" }, /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(ArrowUpDown, { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), /* @__PURE__ */ React21.createElement(
8064
8064
  "select",
8065
8065
  {
8066
8066
  value: sortOption,
@@ -8069,11 +8069,11 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8069
8069
  },
8070
8070
  className: "appearance-none rounded-xl border border-gray-200 bg-white py-2.5 pl-10 pr-9 text-sm font-medium text-gray-700 shadow-sm transition focus:border-primary-500 focus:outline-none focus:ring-2 focus:ring-primary-500/30"
8071
8071
  },
8072
- /* @__PURE__ */ React20.createElement("option", { value: "featured" }, "Featured products"),
8073
- /* @__PURE__ */ React20.createElement("option", { value: "price-low-high" }, "Price: low to high"),
8074
- /* @__PURE__ */ React20.createElement("option", { value: "price-high-low" }, "Price: high to low"),
8075
- /* @__PURE__ */ React20.createElement("option", { value: "newest" }, "Newest arrivals")
8076
- ), /* @__PURE__ */ React20.createElement(ChevronDown, { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" })), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center rounded-xl border border-gray-200 bg-white shadow-sm" }, /* @__PURE__ */ React20.createElement(
8072
+ /* @__PURE__ */ React21.createElement("option", { value: "featured" }, "Featured products"),
8073
+ /* @__PURE__ */ React21.createElement("option", { value: "price-low-high" }, "Price: low to high"),
8074
+ /* @__PURE__ */ React21.createElement("option", { value: "price-high-low" }, "Price: high to low"),
8075
+ /* @__PURE__ */ React21.createElement("option", { value: "newest" }, "Newest arrivals")
8076
+ ), /* @__PURE__ */ React21.createElement(ChevronDown, { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" })), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center rounded-xl border border-gray-200 bg-white shadow-sm" }, /* @__PURE__ */ React21.createElement(
8077
8077
  "button",
8078
8078
  {
8079
8079
  type: "button",
@@ -8081,9 +8081,9 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8081
8081
  className: `flex items-center gap-2 rounded-l-xl px-4 py-2 text-sm font-medium transition ${viewMode === "grid" ? "bg-primary-50 text-primary-600" : "text-gray-500 hover:text-gray-700"}`,
8082
8082
  "aria-pressed": viewMode === "grid"
8083
8083
  },
8084
- /* @__PURE__ */ React20.createElement(LayoutGrid, { className: "h-4 w-4" }),
8084
+ /* @__PURE__ */ React21.createElement(LayoutGrid, { className: "h-4 w-4" }),
8085
8085
  "Grid"
8086
- ), /* @__PURE__ */ React20.createElement(
8086
+ ), /* @__PURE__ */ React21.createElement(
8087
8087
  "button",
8088
8088
  {
8089
8089
  type: "button",
@@ -8091,19 +8091,19 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8091
8091
  className: `flex items-center gap-2 rounded-r-xl px-4 py-2 text-sm font-medium transition ${viewMode === "list" ? "bg-primary-50 text-primary-600" : "text-gray-500 hover:text-gray-700"}`,
8092
8092
  "aria-pressed": viewMode === "list"
8093
8093
  },
8094
- /* @__PURE__ */ React20.createElement(LayoutList, { className: "h-4 w-4" }),
8094
+ /* @__PURE__ */ React21.createElement(LayoutList, { className: "h-4 w-4" }),
8095
8095
  "List"
8096
- )))), /* @__PURE__ */ React20.createElement("div", { className: "mt-4 md:hidden" }, /* @__PURE__ */ React20.createElement(
8096
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "mt-4 md:hidden" }, /* @__PURE__ */ React21.createElement(
8097
8097
  Button,
8098
8098
  {
8099
8099
  variant: "outline",
8100
8100
  className: "w-full",
8101
8101
  onClick: () => setShowFilters(true)
8102
8102
  },
8103
- /* @__PURE__ */ React20.createElement(SlidersHorizontal, { className: "h-5 w-5" }),
8103
+ /* @__PURE__ */ React21.createElement(SlidersHorizontal, { className: "h-5 w-5" }),
8104
8104
  "Filters",
8105
- hasActiveFilters && /* @__PURE__ */ React20.createElement("span", { className: "ml-2 rounded-full bg-primary-600 px-2 py-0.5 text-xs font-semibold text-white" }, activeFilterChips.length)
8106
- )), hasActiveFilters && /* @__PURE__ */ React20.createElement("div", { className: "mt-6 flex flex-wrap items-center gap-2 border-t border-gray-100 pt-4" }, activeFilterChips.map((chip) => /* @__PURE__ */ React20.createElement(
8105
+ hasActiveFilters && /* @__PURE__ */ React21.createElement("span", { className: "ml-2 rounded-full bg-primary-600 px-2 py-0.5 text-xs font-semibold text-white" }, activeFilterChips.length)
8106
+ )), hasActiveFilters && /* @__PURE__ */ React21.createElement("div", { className: "mt-6 flex flex-wrap items-center gap-2 border-t border-gray-100 pt-4" }, activeFilterChips.map((chip) => /* @__PURE__ */ React21.createElement(
8107
8107
  "button",
8108
8108
  {
8109
8109
  key: chip.key,
@@ -8112,8 +8112,8 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8112
8112
  className: "group flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1.5 text-sm font-medium text-primary-700 transition hover:bg-primary-100"
8113
8113
  },
8114
8114
  chip.label,
8115
- /* @__PURE__ */ React20.createElement(X, { className: "h-4 w-4 text-primary-500 group-hover:text-primary-700" })
8116
- )), /* @__PURE__ */ React20.createElement(
8115
+ /* @__PURE__ */ React21.createElement(X, { className: "h-4 w-4 text-primary-500 group-hover:text-primary-700" })
8116
+ )), /* @__PURE__ */ React21.createElement(
8117
8117
  "button",
8118
8118
  {
8119
8119
  type: "button",
@@ -8121,7 +8121,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8121
8121
  className: "text-sm font-semibold text-gray-500 hover:text-gray-700"
8122
8122
  },
8123
8123
  "Reset all"
8124
- ))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-3 text-sm text-gray-600 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("span", null, isLoading ? "Loading products..." : `Showing ${displayedProducts.length} of ${pagination.total || displayedProducts.length} products`), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 text-gray-400" }, /* @__PURE__ */ React20.createElement(Clock, { className: "h-4 w-4" }), "Updated a moment ago")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6" }, isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ React20.createElement(ProductCardSkeleton, { key: index }))) : displayedProducts.length > 0 ? viewMode === "grid" ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, displayedProducts.map((product) => /* @__PURE__ */ React20.createElement("div", { key: product.id, className: "h-full" }, /* @__PURE__ */ React20.createElement(
8124
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-gray-100 bg-white p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-3 text-sm text-gray-600 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("span", null, isLoading ? "Loading products..." : `Showing ${displayedProducts.length} of ${pagination.total || displayedProducts.length} products`), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 text-gray-400" }, /* @__PURE__ */ React21.createElement(Clock, { className: "h-4 w-4" }), "Updated a moment ago")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6" }, isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ React21.createElement(ProductCardSkeleton, { key: index }))) : displayedProducts.length > 0 ? viewMode === "grid" ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-6 sm:grid-cols-2 xl:grid-cols-3" }, displayedProducts.map((product) => /* @__PURE__ */ React21.createElement("div", { key: product.id, className: "h-full" }, /* @__PURE__ */ React21.createElement(
8125
8125
  ProductCard,
8126
8126
  {
8127
8127
  product,
@@ -8130,11 +8130,11 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8130
8130
  router.push(buildPath(`/products/${item.id}?product=${productData}`));
8131
8131
  }
8132
8132
  }
8133
- )))) : /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, displayedProducts.map((product) => {
8133
+ )))) : /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, displayedProducts.map((product) => {
8134
8134
  product.priceBeforeDiscount && product.priceBeforeDiscount > product.finalPrice ? Math.round(
8135
8135
  (product.priceBeforeDiscount - product.finalPrice) / product.priceBeforeDiscount * 100
8136
8136
  ) : 0;
8137
- return /* @__PURE__ */ React20.createElement(
8137
+ return /* @__PURE__ */ React21.createElement(
8138
8138
  motion.div,
8139
8139
  {
8140
8140
  key: product.id,
@@ -8142,7 +8142,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8142
8142
  className: "group flex cursor-pointer flex-col gap-6 rounded-2xl border border-gray-100 bg-white p-5 shadow-sm transition hover:shadow-xl md:flex-row md:items-start",
8143
8143
  onClick: () => router.push(buildPath(`/products/${product.id}`))
8144
8144
  },
8145
- /* @__PURE__ */ React20.createElement("div", { className: "relative h-48 w-full overflow-hidden rounded-2xl bg-gray-100 md:h-40 md:w-40" }, /* @__PURE__ */ React20.createElement(
8145
+ /* @__PURE__ */ React21.createElement("div", { className: "relative h-48 w-full overflow-hidden rounded-2xl bg-gray-100 md:h-40 md:w-40" }, /* @__PURE__ */ React21.createElement(
8146
8146
  Image3,
8147
8147
  {
8148
8148
  src: product.productMedia[0]?.file || "/placeholder-product.jpg",
@@ -8151,15 +8151,15 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8151
8151
  className: "object-cover transition duration-500 group-hover:scale-105"
8152
8152
  }
8153
8153
  )),
8154
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 space-y-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-2 text-xs font-semibold uppercase tracking-wide text-primary-600" }, product.parentCategories.length > 0 && /* @__PURE__ */ React20.createElement("span", { className: "rounded-full bg-primary-50 px-3 py-1 text-primary-700" }, product.parentCategories.map((category) => category?.name).join(", ")), product.tags?.slice(0, 3).map((tag) => /* @__PURE__ */ React20.createElement(
8154
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 space-y-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-2 text-xs font-semibold uppercase tracking-wide text-primary-600" }, product.parentCategories.length > 0 && /* @__PURE__ */ React21.createElement("span", { className: "rounded-full bg-primary-50 px-3 py-1 text-primary-700" }, product.parentCategories.map((category) => category?.name).join(", ")), product.tags?.slice(0, 3).map((tag) => /* @__PURE__ */ React21.createElement(
8155
8155
  "span",
8156
8156
  {
8157
8157
  key: tag,
8158
8158
  className: "rounded-full bg-slate-100 px-3 py-1 text-gray-600"
8159
8159
  },
8160
8160
  tag
8161
- ))), /* @__PURE__ */ React20.createElement("h3", { className: "text-xl font-semibold text-gray-900" }, product.name), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-gray-500" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 font-medium text-primary-600" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), product.inventoryCount > 0 ? "In stock & ready to ship" : "Restocking soon"), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2" }, /* @__PURE__ */ React20.createElement(Clock, { className: "h-4 w-4 text-primary-500" }), "Added ", new Date(product.createdAt).toLocaleDateString()))),
8162
- /* @__PURE__ */ React20.createElement("div", { className: "flex w-full flex-col items-end gap-3 md:w-auto" }, /* @__PURE__ */ React20.createElement("div", { className: "text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-3xl font-semibold text-gray-900" }, formatPrice(product.finalPrice)), product.priceBeforeDiscount && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-400 line-through" }, formatPrice(product.priceBeforeDiscount))), /* @__PURE__ */ React20.createElement(
8161
+ ))), /* @__PURE__ */ React21.createElement("h3", { className: "text-xl font-semibold text-gray-900" }, product.name), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-gray-500" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 font-medium text-primary-600" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), product.inventoryCount > 0 ? "In stock & ready to ship" : "Restocking soon"), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2" }, /* @__PURE__ */ React21.createElement(Clock, { className: "h-4 w-4 text-primary-500" }), "Added ", new Date(product.createdAt).toLocaleDateString()))),
8162
+ /* @__PURE__ */ React21.createElement("div", { className: "flex w-full flex-col items-end gap-3 md:w-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-3xl font-semibold text-gray-900" }, formatPrice(product.finalPrice)), product.priceBeforeDiscount && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-400 line-through" }, formatPrice(product.priceBeforeDiscount))), /* @__PURE__ */ React21.createElement(
8163
8163
  Button,
8164
8164
  {
8165
8165
  size: "sm",
@@ -8171,7 +8171,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8171
8171
  "View product"
8172
8172
  ))
8173
8173
  );
8174
- })) : /* @__PURE__ */ React20.createElement(
8174
+ })) : /* @__PURE__ */ React21.createElement(
8175
8175
  EmptyState,
8176
8176
  {
8177
8177
  icon: Package,
@@ -8180,7 +8180,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8180
8180
  actionLabel: hasActiveFilters ? "Clear filters" : void 0,
8181
8181
  onAction: hasActiveFilters ? handleClearFilters : void 0
8182
8182
  }
8183
- )), pagination.totalPages > 1 && /* @__PURE__ */ React20.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-3" }, /* @__PURE__ */ React20.createElement(
8183
+ )), pagination.totalPages > 1 && /* @__PURE__ */ React21.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-3" }, /* @__PURE__ */ React21.createElement(
8184
8184
  Button,
8185
8185
  {
8186
8186
  variant: "outline",
@@ -8188,7 +8188,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8188
8188
  disabled: page === 1
8189
8189
  },
8190
8190
  "Previous"
8191
- ), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-semibold text-gray-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React20.createElement(
8191
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-semibold text-gray-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React21.createElement(
8192
8192
  Button,
8193
8193
  {
8194
8194
  variant: "outline",
@@ -8196,7 +8196,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8196
8196
  disabled: page === pagination.totalPages
8197
8197
  },
8198
8198
  "Next"
8199
- ))))))), /* @__PURE__ */ React20.createElement(AnimatePresence, null, showFilters && /* @__PURE__ */ React20.createElement(
8199
+ ))))))), /* @__PURE__ */ React21.createElement(AnimatePresence, null, showFilters && /* @__PURE__ */ React21.createElement(
8200
8200
  motion.div,
8201
8201
  {
8202
8202
  initial: { opacity: 0 },
@@ -8204,7 +8204,7 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8204
8204
  exit: { opacity: 0 },
8205
8205
  className: "fixed inset-0 z-50 bg-black/40 backdrop-blur-sm lg:hidden"
8206
8206
  },
8207
- /* @__PURE__ */ React20.createElement(
8207
+ /* @__PURE__ */ React21.createElement(
8208
8208
  motion.div,
8209
8209
  {
8210
8210
  initial: { y: "100%" },
@@ -8213,14 +8213,14 @@ function ShopScreen({ initialFilters = {}, categoryName }) {
8213
8213
  transition: { type: "spring", stiffness: 260, damping: 26 },
8214
8214
  className: "absolute inset-x-0 bottom-0 max-h-[85vh] overflow-y-auto rounded-t-3xl bg-white p-6 shadow-2xl"
8215
8215
  },
8216
- /* @__PURE__ */ React20.createElement("div", { className: "mb-6 flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Filters"), /* @__PURE__ */ React20.createElement(
8216
+ /* @__PURE__ */ React21.createElement("div", { className: "mb-6 flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, "Filters"), /* @__PURE__ */ React21.createElement(
8217
8217
  "button",
8218
8218
  {
8219
8219
  type: "button",
8220
8220
  onClick: () => setShowFilters(false),
8221
8221
  className: "rounded-full border border-gray-200 p-2 text-gray-500 hover:text-gray-700"
8222
8222
  },
8223
- /* @__PURE__ */ React20.createElement(X, { className: "h-4 w-4" })
8223
+ /* @__PURE__ */ React21.createElement(X, { className: "h-4 w-4" })
8224
8224
  )),
8225
8225
  renderFiltersPanel()
8226
8226
  )
@@ -8239,7 +8239,7 @@ function Badge({ children, variant = "primary", size = "md", className = "" }) {
8239
8239
  sm: "px-2 py-1 text-xs",
8240
8240
  md: "px-3 py-1 text-sm"
8241
8241
  };
8242
- return /* @__PURE__ */ React20.createElement("span", { className: `inline-flex items-center font-medium rounded-full border ${variants[variant]} ${sizes[size]} ${className}` }, children);
8242
+ return /* @__PURE__ */ React21.createElement("span", { className: `inline-flex items-center font-medium rounded-full border ${variants[variant]} ${sizes[size]} ${className}` }, children);
8243
8243
  }
8244
8244
  var safeFormatDate = (date, format = "long") => {
8245
8245
  if (!date) return "N/A";
@@ -8399,10 +8399,10 @@ function ProductDetailScreen({ productId }) {
8399
8399
  }
8400
8400
  };
8401
8401
  if (isLoading) {
8402
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "h-[520px] animate-pulse rounded-3xl bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-3 gap-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement("div", { key: index, className: "h-32 animate-pulse rounded-2xl bg-slate-200" })))), /* @__PURE__ */ React20.createElement("div", { className: "space-y-4 rounded-3xl bg-white p-6 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "h-8 w-32 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-10 w-48 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-6 w-full animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" }), /* @__PURE__ */ React20.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" })))));
8402
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "h-[520px] animate-pulse rounded-3xl bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement("div", { key: index, className: "h-32 animate-pulse rounded-2xl bg-slate-200" })))), /* @__PURE__ */ React21.createElement("div", { className: "space-y-4 rounded-3xl bg-white p-6 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "h-8 w-32 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-10 w-48 animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-6 w-full animate-pulse rounded-full bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" }), /* @__PURE__ */ React21.createElement("div", { className: "h-12 w-full animate-pulse rounded-2xl bg-slate-200" })))));
8403
8403
  }
8404
8404
  if (!product) {
8405
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white p-10 text-center shadow-sm" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "mx-auto h-10 w-10 text-primary-500" }), /* @__PURE__ */ React20.createElement("h1", { className: "mt-6 text-2xl font-semibold text-gray-900" }, "Product not found"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-gray-600" }, "It may have been removed or is temporarily unavailable. Discover other pharmacy essentials in our catalogue."), /* @__PURE__ */ React20.createElement("div", { className: "mt-6" }, /* @__PURE__ */ React20.createElement(Link8, { href: "/shop", className: "inline-block" }, /* @__PURE__ */ React20.createElement(Button, null, "Browse products"))))));
8405
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white p-10 text-center shadow-sm" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "mx-auto h-10 w-10 text-primary-500" }), /* @__PURE__ */ React21.createElement("h1", { className: "mt-6 text-2xl font-semibold text-gray-900" }, "Product not found"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-gray-600" }, "It may have been removed or is temporarily unavailable. Discover other pharmacy essentials in our catalogue."), /* @__PURE__ */ React21.createElement("div", { className: "mt-6" }, /* @__PURE__ */ React21.createElement(Link8, { href: "/shop", className: "inline-block" }, /* @__PURE__ */ React21.createElement(Button, null, "Browse products"))))));
8406
8406
  }
8407
8407
  product.tags && product.tags.length > 0 ? product.tags.slice(0, 6) : ["Pharmacist approved", "Gentle on daily routines", "Backed by real customers"];
8408
8408
  const highlightCards = [
@@ -8422,29 +8422,29 @@ function ProductDetailScreen({ productId }) {
8422
8422
  description: "Average rating 4.8/5 with over 120 verified customer experiences."
8423
8423
  }
8424
8424
  ];
8425
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement(
8425
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement(
8426
8426
  "div",
8427
8427
  {
8428
8428
  className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]",
8429
8429
  "aria-hidden": "true"
8430
8430
  }
8431
- ), /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(255,255,255,0.25),_transparent_55%)] opacity-70" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement(
8431
+ ), /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,_rgba(255,255,255,0.25),_transparent_55%)] opacity-70" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement(
8432
8432
  Button,
8433
8433
  {
8434
8434
  variant: "ghost",
8435
8435
  className: "text-white hover:bg-white/10",
8436
8436
  onClick: () => router.push(buildPath("/shop"))
8437
8437
  },
8438
- /* @__PURE__ */ React20.createElement(ArrowLeft, { className: "h-5 w-5" }),
8438
+ /* @__PURE__ */ React21.createElement(ArrowLeft, { className: "h-5 w-5" }),
8439
8439
  "Continue shopping"
8440
- ), /* @__PURE__ */ React20.createElement("div", { className: "hidden items-center gap-3 text-sm text-white/80 md:flex" }, /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/"), className: "transition hover:text-white" }, "Home"), /* @__PURE__ */ React20.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/shop"), className: "transition hover:text-white" }, "Shop"), /* @__PURE__ */ React20.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React20.createElement("span", { className: "truncate font-medium text-white" }, product.name))), /* @__PURE__ */ React20.createElement(
8440
+ ), /* @__PURE__ */ React21.createElement("div", { className: "hidden items-center gap-3 text-sm text-white/80 md:flex" }, /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/"), className: "transition hover:text-white" }, "Home"), /* @__PURE__ */ React21.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/shop"), className: "transition hover:text-white" }, "Shop"), /* @__PURE__ */ React21.createElement(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ React21.createElement("span", { className: "truncate font-medium text-white" }, product.name))), /* @__PURE__ */ React21.createElement(
8441
8441
  motion.div,
8442
8442
  {
8443
8443
  initial: { opacity: 0, y: 24 },
8444
8444
  animate: { opacity: 1, y: 0 },
8445
8445
  className: "max-w-3xl space-y-4"
8446
8446
  },
8447
- product.category && /* @__PURE__ */ React20.createElement(
8447
+ product.category && /* @__PURE__ */ React21.createElement(
8448
8448
  Badge,
8449
8449
  {
8450
8450
  variant: "secondary",
@@ -8452,9 +8452,9 @@ function ProductDetailScreen({ productId }) {
8452
8452
  },
8453
8453
  product.category
8454
8454
  ),
8455
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, product.name),
8456
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4" }), "Ready to ship today"), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React20.createElement(Shield, { className: "h-4 w-4" }), "30-day happiness guarantee"))
8457
- )))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-white bg-white/70 p-6 shadow-xl shadow-primary-100/40 backdrop-blur" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-6 lg:grid-cols-[minmax(0,1fr)_220px]" }, /* @__PURE__ */ React20.createElement(
8455
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, product.name),
8456
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4" }), "Ready to ship today"), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 font-medium text-white" }, /* @__PURE__ */ React21.createElement(Shield, { className: "h-4 w-4" }), "30-day happiness guarantee"))
8457
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-white bg-white/70 p-6 shadow-xl shadow-primary-100/40 backdrop-blur" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-6 lg:grid-cols-[minmax(0,1fr)_220px]" }, /* @__PURE__ */ React21.createElement(
8458
8458
  motion.div,
8459
8459
  {
8460
8460
  key: variantImages[activeImageIndex],
@@ -8463,7 +8463,7 @@ function ProductDetailScreen({ productId }) {
8463
8463
  transition: { duration: 0.35 },
8464
8464
  className: "relative overflow-hidden rounded-3xl bg-slate-100 h-[420px] md:h-[560px]"
8465
8465
  },
8466
- /* @__PURE__ */ React20.createElement(
8466
+ /* @__PURE__ */ React21.createElement(
8467
8467
  Image3,
8468
8468
  {
8469
8469
  src: variantImages[activeImageIndex],
@@ -8474,7 +8474,7 @@ function ProductDetailScreen({ productId }) {
8474
8474
  className: "object-contain"
8475
8475
  }
8476
8476
  ),
8477
- discount > 0 && /* @__PURE__ */ React20.createElement(
8477
+ discount > 0 && /* @__PURE__ */ React21.createElement(
8478
8478
  Badge,
8479
8479
  {
8480
8480
  variant: "danger",
@@ -8484,7 +8484,7 @@ function ProductDetailScreen({ productId }) {
8484
8484
  discount,
8485
8485
  "%"
8486
8486
  ),
8487
- !variantInStock && /* @__PURE__ */ React20.createElement(
8487
+ !variantInStock && /* @__PURE__ */ React21.createElement(
8488
8488
  Badge,
8489
8489
  {
8490
8490
  variant: "secondary",
@@ -8492,7 +8492,7 @@ function ProductDetailScreen({ productId }) {
8492
8492
  },
8493
8493
  "Out of Stock"
8494
8494
  )
8495
- ), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4" }, product?.productVariants?.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "mb-2 text-sm font-semibold uppercase tracking-[0.25em] text-slate-400" }, "Variant"), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, product?.productVariants?.map((variant, index) => /* @__PURE__ */ React20.createElement(
8495
+ ), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4" }, product?.productVariants?.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "mb-2 text-sm font-semibold uppercase tracking-[0.25em] text-slate-400" }, "Variant"), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, product?.productVariants?.map((variant, index) => /* @__PURE__ */ React21.createElement(
8496
8496
  "button",
8497
8497
  {
8498
8498
  key: variant.id,
@@ -8501,7 +8501,7 @@ function ProductDetailScreen({ productId }) {
8501
8501
  className: `rounded-full px-4 py-2 text-sm font-medium transition ${selectedVariant?.id === variant.id ? "bg-primary-600 text-white" : "bg-slate-100 text-slate-700 hover:bg-slate-200"}`
8502
8502
  },
8503
8503
  variant.name
8504
- )))), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-3 gap-3" }, variantImages.map((image, index) => /* @__PURE__ */ React20.createElement(
8504
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-3" }, variantImages.map((image, index) => /* @__PURE__ */ React21.createElement(
8505
8505
  "button",
8506
8506
  {
8507
8507
  key: image.src + index,
@@ -8509,7 +8509,7 @@ function ProductDetailScreen({ productId }) {
8509
8509
  onClick: () => setActiveImageIndex(index),
8510
8510
  className: `relative aspect-square overflow-hidden rounded-2xl border transition ${activeImageIndex === index ? "border-primary-500 shadow-lg shadow-primary-200/60" : "border-transparent hover:border-primary-200"}`
8511
8511
  },
8512
- /* @__PURE__ */ React20.createElement(
8512
+ /* @__PURE__ */ React21.createElement(
8513
8513
  Image3,
8514
8514
  {
8515
8515
  src: image.src,
@@ -8520,18 +8520,18 @@ function ProductDetailScreen({ productId }) {
8520
8520
  unoptimized: true
8521
8521
  }
8522
8522
  )
8523
- )))))), /* @__PURE__ */ React20.createElement("section", { className: "grid gap-6 lg:grid-cols-3" }, highlightCards.map((card) => {
8523
+ )))))), /* @__PURE__ */ React21.createElement("section", { className: "grid gap-6 lg:grid-cols-3" }, highlightCards.map((card) => {
8524
8524
  const Icon = card.icon;
8525
- return /* @__PURE__ */ React20.createElement(
8525
+ return /* @__PURE__ */ React21.createElement(
8526
8526
  "div",
8527
8527
  {
8528
8528
  key: card.title,
8529
8529
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-sm transition hover:-translate-y-1 hover:shadow-lg"
8530
8530
  },
8531
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React20.createElement(Icon, { className: "h-5 w-5" })), /* @__PURE__ */ React20.createElement("h3", { className: "text-base font-semibold text-slate-900" }, card.title)),
8532
- /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm leading-relaxed text-slate-600" }, card.description)
8531
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React21.createElement(Icon, { className: "h-5 w-5" })), /* @__PURE__ */ React21.createElement("h3", { className: "text-base font-semibold text-slate-900" }, card.title)),
8532
+ /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm leading-relaxed text-slate-600" }, card.description)
8533
8533
  );
8534
- })), /* @__PURE__ */ React20.createElement("section", { className: "grid gap-6 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-4 pb-6" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-1 text-amber-500" }, Array.from({ length: 5 }).map((_, index) => /* @__PURE__ */ React20.createElement(Star, { key: index, className: "h-4 w-4 fill-current" }))), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-medium text-slate-500" }, "Rated 4.8 \u2022 Patients love the results")), /* @__PURE__ */ React20.createElement("div", { className: "space-y-8" }, product.description && /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Description"), /* @__PURE__ */ React20.createElement("p", { className: "text-base leading-relaxed text-slate-600", dangerouslySetInnerHTML: { __html: product.description } })))), /* @__PURE__ */ React20.createElement("div", { className: "h-full rounded-3xl border border-slate-100 bg-gradient-to-br from-primary-50 via-white to-secondary-50 p-8 shadow-sm" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-primary-500" }, "Care tips"), /* @__PURE__ */ React20.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("p", { className: "leading-relaxed" }, "Store in a cool, dry place away from direct sunlight. Check packaging for allergen statements."), /* @__PURE__ */ React20.createElement("p", { className: "leading-relaxed" }, "Consult with your local pharmacist if you are combining with other treatments or have chronic conditions."), /* @__PURE__ */ React20.createElement("p", { className: "rounded-2xl bg-white/60 p-4 leading-relaxed text-primary-700" }, "Questions? Our care team is on standby \u2014 reach us via chat for tailored support before you checkout.")))), /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Product insights"), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 grid gap-6 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React20.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Availability"), /* @__PURE__ */ React20.createElement("div", { className: "mt-3 flex items-center gap-2 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement(Check, { className: "h-4 w-4 text-primary-500" }), product.inStock ? "Available for dispatch today" : "Currently restocking"), product.stock !== void 0 && /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-xs text-slate-500" }, product.stock > 0 ? `${product.stock} units remaining in inventory` : "Join the waitlist to be notified first")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React20.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Product details"), /* @__PURE__ */ React20.createElement("div", { className: "mt-3 space-y-2 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Variant:"), " ", currentVariant.name), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "SKU:"), " ", variantSku), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Status:"), " ", /* @__PURE__ */ React20.createElement("span", { className: variantInStock ? "text-green-600" : "text-amber-600" }, variantInStock ? "In Stock" : "Out of Stock")), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Last updated:"), " ", lastUpdatedLabel), /* @__PURE__ */ React20.createElement("p", null, /* @__PURE__ */ React20.createElement("span", { className: "font-medium text-slate-700" }, "Ships from:"), " Local pharmacy distribution center")))))), /* @__PURE__ */ React20.createElement("aside", { className: "space-y-6 lg:sticky lg:top-24" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-100/40" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-baseline gap-3" }, /* @__PURE__ */ React20.createElement("p", { className: "text-3xl font-bold text-slate-900" }, selectedVariant ? formatPrice(selectedVariant.finalPrice) : formatPrice(product.price)), variantComparePrice && variantComparePrice > variantPrice && /* @__PURE__ */ React20.createElement("p", { className: "text-base text-slate-400 line-through" }, formatPrice(variantComparePrice)), discount > 0 && /* @__PURE__ */ React20.createElement(Badge, { variant: "danger", size: "sm" }, "-", discount, "%")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 rounded-2xl bg-primary-50/80 px-4 py-3 text-sm font-medium text-primary-700" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Pharmacist verified product"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between rounded-2xl border border-slate-200 px-4 py-3" }, /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-medium text-slate-600" }, "Qty"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React20.createElement(
8534
+ })), /* @__PURE__ */ React21.createElement("section", { className: "grid gap-6 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-4 pb-6" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-1 text-amber-500" }, Array.from({ length: 5 }).map((_, index) => /* @__PURE__ */ React21.createElement(Star, { key: index, className: "h-4 w-4 fill-current" }))), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-medium text-slate-500" }, "Rated 4.8 \u2022 Patients love the results")), /* @__PURE__ */ React21.createElement("div", { className: "space-y-8" }, product.description && /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Description"), /* @__PURE__ */ React21.createElement("p", { className: "text-base leading-relaxed text-slate-600", dangerouslySetInnerHTML: { __html: product.description } })))), /* @__PURE__ */ React21.createElement("div", { className: "h-full rounded-3xl border border-slate-100 bg-gradient-to-br from-primary-50 via-white to-secondary-50 p-8 shadow-sm" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm font-semibold uppercase tracking-[0.3em] text-primary-500" }, "Care tips"), /* @__PURE__ */ React21.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("p", { className: "leading-relaxed" }, "Store in a cool, dry place away from direct sunlight. Check packaging for allergen statements."), /* @__PURE__ */ React21.createElement("p", { className: "leading-relaxed" }, "Consult with your local pharmacist if you are combining with other treatments or have chronic conditions."), /* @__PURE__ */ React21.createElement("p", { className: "rounded-2xl bg-white/60 p-4 leading-relaxed text-primary-700" }, "Questions? Our care team is on standby \u2014 reach us via chat for tailored support before you checkout.")))), /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-sm" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Product insights"), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 grid gap-6 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React21.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Availability"), /* @__PURE__ */ React21.createElement("div", { className: "mt-3 flex items-center gap-2 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement(Check, { className: "h-4 w-4 text-primary-500" }), product.inStock ? "Available for dispatch today" : "Currently restocking"), product.stock !== void 0 && /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-xs text-slate-500" }, product.stock > 0 ? `${product.stock} units remaining in inventory` : "Join the waitlist to be notified first")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl border border-slate-200 bg-slate-50/60 p-5" }, /* @__PURE__ */ React21.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-slate-500" }, "Product details"), /* @__PURE__ */ React21.createElement("div", { className: "mt-3 space-y-2 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Variant:"), " ", currentVariant.name), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "SKU:"), " ", variantSku), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Status:"), " ", /* @__PURE__ */ React21.createElement("span", { className: variantInStock ? "text-green-600" : "text-amber-600" }, variantInStock ? "In Stock" : "Out of Stock")), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Last updated:"), " ", lastUpdatedLabel), /* @__PURE__ */ React21.createElement("p", null, /* @__PURE__ */ React21.createElement("span", { className: "font-medium text-slate-700" }, "Ships from:"), " Local pharmacy distribution center")))))), /* @__PURE__ */ React21.createElement("aside", { className: "space-y-6 lg:sticky lg:top-24" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-100/40" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-baseline gap-3" }, /* @__PURE__ */ React21.createElement("p", { className: "text-3xl font-bold text-slate-900" }, selectedVariant ? formatPrice(selectedVariant.finalPrice) : formatPrice(product.price)), variantComparePrice && variantComparePrice > variantPrice && /* @__PURE__ */ React21.createElement("p", { className: "text-base text-slate-400 line-through" }, formatPrice(variantComparePrice)), discount > 0 && /* @__PURE__ */ React21.createElement(Badge, { variant: "danger", size: "sm" }, "-", discount, "%")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 rounded-2xl bg-primary-50/80 px-4 py-3 text-sm font-medium text-primary-700" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Pharmacist verified product"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between rounded-2xl border border-slate-200 px-4 py-3" }, /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-medium text-slate-600" }, "Qty"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React21.createElement(
8535
8535
  "button",
8536
8536
  {
8537
8537
  type: "button",
@@ -8539,8 +8539,8 @@ function ProductDetailScreen({ productId }) {
8539
8539
  className: "rounded-l-full p-2 hover:bg-primary-100/60",
8540
8540
  "aria-label": "Decrease quantity"
8541
8541
  },
8542
- /* @__PURE__ */ React20.createElement(Minus, { className: "h-4 w-4" })
8543
- ), /* @__PURE__ */ React20.createElement("span", { className: "w-12 text-center text-sm font-semibold text-slate-700" }, quantity), /* @__PURE__ */ React20.createElement(
8542
+ /* @__PURE__ */ React21.createElement(Minus, { className: "h-4 w-4" })
8543
+ ), /* @__PURE__ */ React21.createElement("span", { className: "w-12 text-center text-sm font-semibold text-slate-700" }, quantity), /* @__PURE__ */ React21.createElement(
8544
8544
  "button",
8545
8545
  {
8546
8546
  type: "button",
@@ -8548,8 +8548,8 @@ function ProductDetailScreen({ productId }) {
8548
8548
  className: "rounded-r-full p-2 hover:bg-primary-100/60",
8549
8549
  "aria-label": "Increase quantity"
8550
8550
  },
8551
- /* @__PURE__ */ React20.createElement(Plus, { className: "h-4 w-4" })
8552
- )))), selectedVariant && /* @__PURE__ */ React20.createElement("div", { className: "mt-4 text-sm" }, selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ || selectedVariant.inventoryStatus === "LOW_STOCK" /* LOWSTOCK */ ? /* @__PURE__ */ React20.createElement("div", { className: "text-red-600 font-medium" }, "Out of Stock") : /* @__PURE__ */ React20.createElement("div", { className: "text-green-600 font-medium" }, "In Stock")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-x-3" }, /* @__PURE__ */ React20.createElement(
8551
+ /* @__PURE__ */ React21.createElement(Plus, { className: "h-4 w-4" })
8552
+ )))), selectedVariant && /* @__PURE__ */ React21.createElement("div", { className: "mt-4 text-sm" }, selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ || selectedVariant.inventoryStatus === "LOW_STOCK" /* LOWSTOCK */ ? /* @__PURE__ */ React21.createElement("div", { className: "text-red-600 font-medium" }, "Out of Stock") : /* @__PURE__ */ React21.createElement("div", { className: "text-green-600 font-medium" }, "In Stock")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-x-3" }, /* @__PURE__ */ React21.createElement(
8553
8553
  Button,
8554
8554
  {
8555
8555
  size: "lg",
@@ -8558,9 +8558,9 @@ function ProductDetailScreen({ productId }) {
8558
8558
  isLoading: isAddingToCart,
8559
8559
  disabled: !selectedVariant || selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */
8560
8560
  },
8561
- /* @__PURE__ */ React20.createElement(ShoppingCart, { className: "h-5 w-5" }),
8561
+ /* @__PURE__ */ React21.createElement(ShoppingCart, { className: "h-5 w-5" }),
8562
8562
  !selectedVariant ? "Select a variant" : selectedVariant.inventoryStatus === "OUT_OF_STOCK" /* OUTOFSTOCK */ ? "Out of Stock" : `Add to Cart`
8563
- ), /* @__PURE__ */ React20.createElement(
8563
+ ), /* @__PURE__ */ React21.createElement(
8564
8564
  Button,
8565
8565
  {
8566
8566
  size: "lg",
@@ -8568,14 +8568,14 @@ function ProductDetailScreen({ productId }) {
8568
8568
  className: "w-full",
8569
8569
  onClick: handleToggleFavorite
8570
8570
  },
8571
- /* @__PURE__ */ React20.createElement(
8571
+ /* @__PURE__ */ React21.createElement(
8572
8572
  Heart,
8573
8573
  {
8574
8574
  className: `h-5 w-5 ${isFavorited ? "fill-red-500 text-red-500" : "text-slate-500"}`
8575
8575
  }
8576
8576
  ),
8577
8577
  isFavorited ? "Saved" : "Save for later"
8578
- ))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.25em]" }, "Need advice?"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist in real time before completing your purchase. We will help you choose supporting supplements and answer dosing questions.")))), relatedProducts.length > 0 && /* @__PURE__ */ React20.createElement("section", { className: "mt-20" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "You may also like"), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-slate-500" }, "Hand-picked recommendations that pair nicely with this product.")), /* @__PURE__ */ React20.createElement(Link8, { href: "/shop", className: "hidden md:inline-flex" }, /* @__PURE__ */ React20.createElement(Button, { variant: "ghost", className: "text-primary-600" }, "View all products"))), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 grid gap-6 sm:grid-cols-2 lg:grid-cols-4" }, relatedProducts?.map((relatedProduct) => /* @__PURE__ */ React20.createElement(ProductCard, { key: relatedProduct.id, product: relatedProduct })))))));
8578
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.25em]" }, "Need advice?"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist in real time before completing your purchase. We will help you choose supporting supplements and answer dosing questions.")))), relatedProducts.length > 0 && /* @__PURE__ */ React21.createElement("section", { className: "mt-20" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "You may also like"), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-slate-500" }, "Hand-picked recommendations that pair nicely with this product.")), /* @__PURE__ */ React21.createElement(Link8, { href: "/shop", className: "hidden md:inline-flex" }, /* @__PURE__ */ React21.createElement(Button, { variant: "ghost", className: "text-primary-600" }, "View all products"))), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 grid gap-6 sm:grid-cols-2 lg:grid-cols-4" }, relatedProducts?.map((relatedProduct) => /* @__PURE__ */ React21.createElement(ProductCard, { key: relatedProduct.id, product: relatedProduct })))))));
8579
8579
  }
8580
8580
  function CartItem({ item }) {
8581
8581
  const { updateQuantity, removeFromCart } = useCart();
@@ -8593,7 +8593,7 @@ function CartItem({ item }) {
8593
8593
  await removeFromCart(item.productVariantId);
8594
8594
  };
8595
8595
  const itemTotal = item.productVariantData.finalPrice * item.quantity;
8596
- return /* @__PURE__ */ React20.createElement(
8596
+ return /* @__PURE__ */ React21.createElement(
8597
8597
  motion.div,
8598
8598
  {
8599
8599
  layout: true,
@@ -8602,7 +8602,7 @@ function CartItem({ item }) {
8602
8602
  exit: { opacity: 0, x: -100 },
8603
8603
  className: "flex gap-4 bg-white p-4 rounded-xl border border-gray-200 hover:border-primary-300 transition-colors"
8604
8604
  },
8605
- /* @__PURE__ */ React20.createElement("div", { className: "relative w-24 h-24 rounded-lg overflow-hidden flex-shrink-0 bg-gray-100" }, /* @__PURE__ */ React20.createElement(
8605
+ /* @__PURE__ */ React21.createElement("div", { className: "relative w-24 h-24 rounded-lg overflow-hidden flex-shrink-0 bg-gray-100" }, /* @__PURE__ */ React21.createElement(
8606
8606
  Image3,
8607
8607
  {
8608
8608
  src: item.productVariantData.productMedia[0]?.file || "/placeholder-product.jpg",
@@ -8611,32 +8611,32 @@ function CartItem({ item }) {
8611
8611
  className: "object-cover"
8612
8612
  }
8613
8613
  )),
8614
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500 mt-1" }, formatPrice(item.productVariantData.finalPrice), " each"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 mt-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center border-2 border-gray-200 rounded-lg" }, /* @__PURE__ */ React20.createElement(
8614
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500 mt-1" }, formatPrice(item.productVariantData.finalPrice), " each"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 mt-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center border-2 border-gray-200 rounded-lg" }, /* @__PURE__ */ React21.createElement(
8615
8615
  "button",
8616
8616
  {
8617
8617
  onClick: () => handleUpdateQuantity(item.quantity - 1),
8618
8618
  disabled: isUpdating || item.quantity <= 0,
8619
8619
  className: "p-2 hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
8620
8620
  },
8621
- /* @__PURE__ */ React20.createElement(Minus, { className: "w-4 h-4" })
8622
- ), /* @__PURE__ */ React20.createElement("span", { className: "px-4 font-medium min-w-[3rem] text-center" }, isUpdating ? /* @__PURE__ */ React20.createElement("span", { className: "inline-block h-4 w-4 align-middle animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) : item.quantity), /* @__PURE__ */ React20.createElement(
8621
+ /* @__PURE__ */ React21.createElement(Minus, { className: "w-4 h-4" })
8622
+ ), /* @__PURE__ */ React21.createElement("span", { className: "px-4 font-medium min-w-[3rem] text-center" }, isUpdating ? /* @__PURE__ */ React21.createElement("span", { className: "inline-block h-4 w-4 align-middle animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }) : item.quantity), /* @__PURE__ */ React21.createElement(
8623
8623
  "button",
8624
8624
  {
8625
8625
  onClick: () => handleUpdateQuantity(item.quantity + 1),
8626
8626
  disabled: isUpdating || item.quantity >= item.productVariantData.inventoryCount,
8627
8627
  className: "p-2 hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
8628
8628
  },
8629
- /* @__PURE__ */ React20.createElement(Plus, { className: "w-4 h-4" })
8630
- )), /* @__PURE__ */ React20.createElement(
8629
+ /* @__PURE__ */ React21.createElement(Plus, { className: "w-4 h-4" })
8630
+ )), /* @__PURE__ */ React21.createElement(
8631
8631
  "button",
8632
8632
  {
8633
8633
  onClick: handleRemove,
8634
8634
  className: "p-2 text-red-600 hover:bg-red-50 rounded-lg transition-colors",
8635
8635
  "aria-label": "Remove item"
8636
8636
  },
8637
- /* @__PURE__ */ React20.createElement(Trash2, { className: "w-5 h-5" })
8637
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "w-5 h-5" })
8638
8638
  ))),
8639
- /* @__PURE__ */ React20.createElement("div", { className: "text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-xl font-bold text-gray-900" }, formatPrice(itemTotal)))
8639
+ /* @__PURE__ */ React21.createElement("div", { className: "text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-xl font-bold text-gray-900" }, formatPrice(itemTotal)))
8640
8640
  );
8641
8641
  }
8642
8642
  function CartScreen() {
@@ -8644,7 +8644,7 @@ function CartScreen() {
8644
8644
  const { cart, isLoading } = useCart();
8645
8645
  const { buildPath } = useBasePath();
8646
8646
  if (!cart || cart.cartBody.items.length === 0) {
8647
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-gradient-to-br from-primary-700 via-primary-600 to-secondary-600 flex items-center justify-center" }, /* @__PURE__ */ React20.createElement("div", { className: "mx-auto px-20 py-5 bg-white rounded-3xl" }, /* @__PURE__ */ React20.createElement(
8647
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-gradient-to-br from-primary-700 via-primary-600 to-secondary-600 flex items-center justify-center" }, /* @__PURE__ */ React21.createElement("div", { className: "mx-auto px-20 py-5 bg-white rounded-3xl" }, /* @__PURE__ */ React21.createElement(
8648
8648
  EmptyState,
8649
8649
  {
8650
8650
  icon: ShoppingBag,
@@ -8659,16 +8659,16 @@ function CartScreen() {
8659
8659
  const shipping = 0;
8660
8660
  const tax = 0;
8661
8661
  const total = subtotal + shipping + tax;
8662
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16 mb-8" }, /* @__PURE__ */ React20.createElement(
8662
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16 mb-8" }, /* @__PURE__ */ React21.createElement(
8663
8663
  motion.div,
8664
8664
  {
8665
8665
  initial: { opacity: 0, y: 24 },
8666
8666
  animate: { opacity: 1, y: 0 },
8667
8667
  className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between"
8668
8668
  },
8669
- /* @__PURE__ */ React20.createElement("div", { className: "max-w-2xl space-y-4" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "Wellness essentials, ready when you are"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Your curated cart"), /* @__PURE__ */ React20.createElement("p", { className: "text-white/75 md:text-lg" }, "Review your selections, unlock exclusive perks, and check out with pharmacist-backed confidence.")),
8670
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur-md" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Cart summary"), /* @__PURE__ */ React20.createElement("p", { className: "mt-4 text-4xl font-semibold" }, formatPrice(total)), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/70" }, "Taxes and shipping calculated below"))
8671
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement(
8669
+ /* @__PURE__ */ React21.createElement("div", { className: "max-w-2xl space-y-4" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold tracking-wide text-white/80 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "Wellness essentials, ready when you are"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Your curated cart"), /* @__PURE__ */ React21.createElement("p", { className: "text-white/75 md:text-lg" }, "Review your selections, unlock exclusive perks, and check out with pharmacist-backed confidence.")),
8670
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur-md" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Cart summary"), /* @__PURE__ */ React21.createElement("p", { className: "mt-4 text-4xl font-semibold" }, formatPrice(total)), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/70" }, "Taxes and shipping calculated below"))
8671
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement(
8672
8672
  motion.section,
8673
8673
  {
8674
8674
  initial: { opacity: 0, y: 24 },
@@ -8676,10 +8676,10 @@ function CartScreen() {
8676
8676
  transition: { delay: 0.05 },
8677
8677
  className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
8678
8678
  },
8679
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Items (", cart.cartBody.items.length, ")"), /* @__PURE__ */ React20.createElement("div", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Guaranteed cold-chain handling")),
8680
- isLoading && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2 rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600" }), "Updating cart\u2026"),
8681
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-5" }, cart.cartBody.items.map((item) => /* @__PURE__ */ React20.createElement(CartItem, { key: item.productVariantId, item })))
8682
- ), /* @__PURE__ */ React20.createElement(
8679
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Items (", cart.cartBody.items.length, ")"), /* @__PURE__ */ React21.createElement("div", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Guaranteed cold-chain handling")),
8680
+ isLoading && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-block h-3 w-3 animate-spin rounded-full border-2 border-slate-300 border-t-slate-600" }), "Updating cart\u2026"),
8681
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-5" }, cart.cartBody.items.map((item) => /* @__PURE__ */ React21.createElement(CartItem, { key: item.productVariantId, item })))
8682
+ ), /* @__PURE__ */ React21.createElement(
8683
8683
  motion.aside,
8684
8684
  {
8685
8685
  initial: { opacity: 0, y: 24 },
@@ -8687,7 +8687,7 @@ function CartScreen() {
8687
8687
  transition: { delay: 0.1 },
8688
8688
  className: "space-y-6 lg:sticky lg:top-28"
8689
8689
  },
8690
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Checkout summary"), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold text-primary-700" }, /* @__PURE__ */ React20.createElement(BadgePercent, { className: "h-4 w-4" }), "Savings applied")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Subtotal"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Shipping"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold" }, "Will be calculated at checkout")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React20.createElement("span", null, "Order total"), /* @__PURE__ */ React20.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-xs text-slate-500" }, "Prices include pharmacy-grade quality control and packaging."))), /* @__PURE__ */ React20.createElement(
8690
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Checkout summary"), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold text-primary-700" }, /* @__PURE__ */ React21.createElement(BadgePercent, { className: "h-4 w-4" }), "Savings applied")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Subtotal"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Shipping"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold" }, "Will be calculated at checkout")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React21.createElement("span", null, "Order total"), /* @__PURE__ */ React21.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-xs text-slate-500" }, "Prices include pharmacy-grade quality control and packaging."))), /* @__PURE__ */ React21.createElement(
8691
8691
  Button,
8692
8692
  {
8693
8693
  size: "lg",
@@ -8695,8 +8695,8 @@ function CartScreen() {
8695
8695
  onClick: () => router.push(buildPath("/checkout"))
8696
8696
  },
8697
8697
  "Secure checkout",
8698
- /* @__PURE__ */ React20.createElement(ArrowRight, { className: "h-5 w-5" })
8699
- ), /* @__PURE__ */ React20.createElement(
8698
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-5 w-5" })
8699
+ ), /* @__PURE__ */ React21.createElement(
8700
8700
  "button",
8701
8701
  {
8702
8702
  type: "button",
@@ -8705,7 +8705,7 @@ function CartScreen() {
8705
8705
  },
8706
8706
  "Continue shopping"
8707
8707
  )),
8708
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need help?"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist to optimize your regimen or discuss substitutions before you check out."))
8708
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need help?"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 leading-relaxed" }, "Chat with a pharmacist to optimize your regimen or discuss substitutions before you check out."))
8709
8709
  )))));
8710
8710
  }
8711
8711
  function useAddresses() {
@@ -8767,7 +8767,7 @@ function useAddresses() {
8767
8767
  };
8768
8768
  }
8769
8769
  function Card({ className = "", ...props }) {
8770
- return /* @__PURE__ */ React20.createElement(
8770
+ return /* @__PURE__ */ React21.createElement(
8771
8771
  "div",
8772
8772
  {
8773
8773
  className: `rounded-lg border bg-white shadow-sm ${className}`,
@@ -8793,7 +8793,7 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8793
8793
  lg: "max-w-2xl",
8794
8794
  xl: "max-w-4xl"
8795
8795
  };
8796
- return /* @__PURE__ */ React20.createElement(AnimatePresence, null, isOpen && /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement(
8796
+ return /* @__PURE__ */ React21.createElement(AnimatePresence, null, isOpen && /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement(
8797
8797
  motion.div,
8798
8798
  {
8799
8799
  initial: { opacity: 0 },
@@ -8802,7 +8802,7 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8802
8802
  onClick: onClose,
8803
8803
  className: "fixed inset-0 bg-black/50 backdrop-blur-sm z-50"
8804
8804
  }
8805
- ), /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4" }, /* @__PURE__ */ React20.createElement(
8805
+ ), /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4" }, /* @__PURE__ */ React21.createElement(
8806
8806
  motion.div,
8807
8807
  {
8808
8808
  initial: { opacity: 0, scale: 0.95, y: 20 },
@@ -8810,15 +8810,15 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8810
8810
  exit: { opacity: 0, scale: 0.95, y: 20 },
8811
8811
  className: `bg-white rounded-2xl shadow-2xl w-full ${sizes[size]} max-h-[90vh] overflow-hidden flex flex-col`
8812
8812
  },
8813
- title && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between p-6 border-b border-gray-200" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, title), /* @__PURE__ */ React20.createElement(
8813
+ title && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-6 border-b border-gray-200" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-bold text-gray-900" }, title), /* @__PURE__ */ React21.createElement(
8814
8814
  "button",
8815
8815
  {
8816
8816
  onClick: onClose,
8817
8817
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors"
8818
8818
  },
8819
- /* @__PURE__ */ React20.createElement(X, { className: "w-5 h-5" })
8819
+ /* @__PURE__ */ React21.createElement(X, { className: "w-5 h-5" })
8820
8820
  )),
8821
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 overflow-y-auto p-6" }, children)
8821
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 overflow-y-auto p-6" }, children)
8822
8822
  ))));
8823
8823
  }
8824
8824
  var addressSchema = z.object({
@@ -8908,7 +8908,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8908
8908
  setIsSubmitting(false);
8909
8909
  }
8910
8910
  };
8911
- return /* @__PURE__ */ React.createElement(
8911
+ return /* @__PURE__ */ React21.createElement(
8912
8912
  Modal,
8913
8913
  {
8914
8914
  isOpen,
@@ -8916,7 +8916,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8916
8916
  title: initialAddress ? "Edit Address" : "Add New Address",
8917
8917
  size: "lg"
8918
8918
  },
8919
- /* @__PURE__ */ React.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React.createElement(
8919
+ /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React21.createElement(
8920
8920
  Input,
8921
8921
  {
8922
8922
  label: "Full name",
@@ -8924,7 +8924,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8924
8924
  ...register("name"),
8925
8925
  error: errors.name?.message
8926
8926
  }
8927
- ), /* @__PURE__ */ React.createElement(
8927
+ ), /* @__PURE__ */ React21.createElement(
8928
8928
  Input,
8929
8929
  {
8930
8930
  label: "Phone number",
@@ -8932,7 +8932,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8932
8932
  ...register("phone"),
8933
8933
  error: errors.phone?.message
8934
8934
  }
8935
- ), /* @__PURE__ */ React.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React.createElement(
8935
+ ), /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement(
8936
8936
  Input,
8937
8937
  {
8938
8938
  label: "Address line 1",
@@ -8940,14 +8940,14 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8940
8940
  ...register("street1"),
8941
8941
  error: errors.street1?.message
8942
8942
  }
8943
- )), /* @__PURE__ */ React.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React.createElement(
8943
+ )), /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement(
8944
8944
  Input,
8945
8945
  {
8946
8946
  label: "Address line 2 (optional)",
8947
8947
  placeholder: "Apt 4B",
8948
8948
  ...register("street2")
8949
8949
  }
8950
- )), /* @__PURE__ */ React.createElement(
8950
+ )), /* @__PURE__ */ React21.createElement(
8951
8951
  Input,
8952
8952
  {
8953
8953
  label: "City",
@@ -8955,7 +8955,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8955
8955
  ...register("city"),
8956
8956
  error: errors.city?.message
8957
8957
  }
8958
- ), /* @__PURE__ */ React.createElement(
8958
+ ), /* @__PURE__ */ React21.createElement(
8959
8959
  Input,
8960
8960
  {
8961
8961
  label: "State",
@@ -8963,7 +8963,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8963
8963
  ...register("state"),
8964
8964
  error: errors.state?.message
8965
8965
  }
8966
- ), /* @__PURE__ */ React.createElement(
8966
+ ), /* @__PURE__ */ React21.createElement(
8967
8967
  Input,
8968
8968
  {
8969
8969
  label: "ZIP code",
@@ -8971,7 +8971,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8971
8971
  ...register("zip"),
8972
8972
  error: errors.zip?.message
8973
8973
  }
8974
- ), /* @__PURE__ */ React.createElement(
8974
+ ), /* @__PURE__ */ React21.createElement(
8975
8975
  Input,
8976
8976
  {
8977
8977
  label: "Country",
@@ -8979,7 +8979,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8979
8979
  ...register("country"),
8980
8980
  error: errors.country?.message
8981
8981
  }
8982
- )), /* @__PURE__ */ React.createElement("div", { className: "flex justify-end gap-4" }, /* @__PURE__ */ React.createElement(
8982
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex justify-end gap-4" }, /* @__PURE__ */ React21.createElement(
8983
8983
  Button,
8984
8984
  {
8985
8985
  type: "button",
@@ -8987,7 +8987,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8987
8987
  onClick: onClose
8988
8988
  },
8989
8989
  "Cancel"
8990
- ), /* @__PURE__ */ React.createElement(Button, { type: "submit", disabled: isSubmitting }, isSubmitting ? "Adding Address..." : "Add Address")))
8990
+ ), /* @__PURE__ */ React21.createElement(Button, { type: "submit", disabled: isSubmitting }, isSubmitting ? "Adding Address..." : "Add Address")))
8991
8991
  );
8992
8992
  }
8993
8993
  var checkoutSchema = z.object({
@@ -8999,7 +8999,7 @@ var PAYMENT_METHODS = [
8999
8999
  {
9000
9000
  label: "Card",
9001
9001
  value: "Card",
9002
- icon: /* @__PURE__ */ React20.createElement(CreditCard, { className: "w-5 h-5" }),
9002
+ icon: /* @__PURE__ */ React21.createElement(CreditCard, { className: "w-5 h-5" }),
9003
9003
  description: "Pay securely with your credit or debit card",
9004
9004
  className: "border-blue-500 hover:bg-blue-50",
9005
9005
  activeClass: "bg-blue-50 border-blue-500 text-blue-700"
@@ -9007,7 +9007,7 @@ var PAYMENT_METHODS = [
9007
9007
  {
9008
9008
  label: "Cash",
9009
9009
  value: "Cash",
9010
- icon: /* @__PURE__ */ React20.createElement(PackageCheck, { className: "w-5 h-5" }),
9010
+ icon: /* @__PURE__ */ React21.createElement(PackageCheck, { className: "w-5 h-5" }),
9011
9011
  description: "Pay with cash on delivery or at pickup",
9012
9012
  className: "border-amber-500 hover:bg-amber-50",
9013
9013
  activeClass: "bg-amber-50 border-amber-500 text-amber-700"
@@ -9015,7 +9015,7 @@ var PAYMENT_METHODS = [
9015
9015
  {
9016
9016
  label: "Credit",
9017
9017
  value: "Credit",
9018
- icon: /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "w-5 h-5" }),
9018
+ icon: /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "w-5 h-5" }),
9019
9019
  description: "Use your account credit",
9020
9020
  className: "border-emerald-500 hover:bg-emerald-50",
9021
9021
  activeClass: "bg-emerald-50 border-emerald-500 text-emerald-700"
@@ -9219,7 +9219,7 @@ function CheckoutScreen() {
9219
9219
  }
9220
9220
  }
9221
9221
  setIsSubmitting(true);
9222
- toast("Submitting order...", { icon: /* @__PURE__ */ React20.createElement(CreditCard, { className: "h-4 w-4" }) });
9222
+ toast("Submitting order...", { icon: /* @__PURE__ */ React21.createElement(CreditCard, { className: "h-4 w-4" }) });
9223
9223
  try {
9224
9224
  const items = (cart?.cartBody?.items || []).map((item) => ({
9225
9225
  productVariantId: String(item.productVariantId),
@@ -9284,33 +9284,33 @@ function CheckoutScreen() {
9284
9284
  const subtotal = cart.total;
9285
9285
  const tax = 0;
9286
9286
  const total = subtotal + shippingPrice + tax;
9287
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement(
9287
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement(
9288
9288
  motion.div,
9289
9289
  {
9290
9290
  initial: { opacity: 0, y: 24 },
9291
9291
  animate: { opacity: 1, y: 0 },
9292
9292
  className: "space-y-6"
9293
9293
  },
9294
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Secure checkout"),
9295
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Provide delivery details"),
9296
- /* @__PURE__ */ React20.createElement("p", { className: "text-white/75 md:text-lg" }, "Our pharmacists handle every package with care. Share your shipping and billing information so we can dispatch your order within the next 12 hours."),
9297
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-3" }, checkoutSteps.map((step) => /* @__PURE__ */ React20.createElement(
9294
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Secure checkout"),
9295
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Provide delivery details"),
9296
+ /* @__PURE__ */ React21.createElement("p", { className: "text-white/75 md:text-lg" }, "Our pharmacists handle every package with care. Share your shipping and billing information so we can dispatch your order within the next 12 hours."),
9297
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-3" }, checkoutSteps.map((step) => /* @__PURE__ */ React21.createElement(
9298
9298
  "div",
9299
9299
  {
9300
9300
  key: step.id,
9301
9301
  className: `flex items-center gap-3 rounded-2xl px-4 py-2 text-sm font-semibold ${step.status === "complete" ? "bg-white/20 text-white" : step.status === "current" ? "bg-white text-primary-700" : "bg-white/10 text-white/60"}`
9302
9302
  },
9303
- /* @__PURE__ */ React20.createElement("span", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-white/20 text-xs font-bold" }, step.id),
9303
+ /* @__PURE__ */ React21.createElement("span", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-white/20 text-xs font-bold" }, step.id),
9304
9304
  step.label
9305
9305
  )))
9306
- )))), /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit) }, error && /* @__PURE__ */ React20.createElement("div", { className: "mb-4 text-red-600 font-semibold" }, error), /* @__PURE__ */ React20.createElement("div", { className: "pt-12 container mx-auto grid gap-10 px-4 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React20.createElement(
9306
+ )))), /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit) }, error && /* @__PURE__ */ React21.createElement("div", { className: "mb-4 text-red-600 font-semibold" }, error), /* @__PURE__ */ React21.createElement("div", { className: "pt-12 container mx-auto grid gap-10 px-4 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]" }, /* @__PURE__ */ React21.createElement(
9307
9307
  motion.div,
9308
9308
  {
9309
9309
  initial: { opacity: 0, y: 24 },
9310
9310
  animate: { opacity: 1, y: 0 },
9311
9311
  className: "space-y-8"
9312
9312
  },
9313
- /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Shipping information"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "We use temperature-aware packaging and real-time tracking on every shipment.")), /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React20.createElement(Truck, { className: "h-4 w-4" }), "Dispatch in 12h")), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 grid grid-cols-1 gap-4 md:grid-cols-2" }, isDelivery && /* @__PURE__ */ React20.createElement("div", { className: "md:col-span-2 space-y-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("label", { className: "block font-semibold" }, "Select Address"), /* @__PURE__ */ React20.createElement(
9313
+ /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center justify-between gap-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Shipping information"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "We use temperature-aware packaging and real-time tracking on every shipment.")), /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-primary-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary-700" }, /* @__PURE__ */ React21.createElement(Truck, { className: "h-4 w-4" }), "Dispatch in 12h")), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 grid grid-cols-1 gap-4 md:grid-cols-2" }, isDelivery && /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2 space-y-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("label", { className: "block font-semibold" }, "Select Address"), /* @__PURE__ */ React21.createElement(
9314
9314
  Button,
9315
9315
  {
9316
9316
  type: "button",
@@ -9321,15 +9321,15 @@ function CheckoutScreen() {
9321
9321
  setIsAddressModalOpen(true);
9322
9322
  }
9323
9323
  },
9324
- /* @__PURE__ */ React20.createElement(Plus, { className: "h-4 w-4 mr-2" }),
9324
+ /* @__PURE__ */ React21.createElement(Plus, { className: "h-4 w-4 mr-2" }),
9325
9325
  "Add New Address"
9326
- )), userAddresses.length > 0 ? /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4" }, userAddresses.map((addr) => /* @__PURE__ */ React20.createElement(
9326
+ )), userAddresses.length > 0 ? /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4" }, userAddresses.map((addr) => /* @__PURE__ */ React21.createElement(
9327
9327
  "label",
9328
9328
  {
9329
9329
  key: addr.id,
9330
9330
  className: `group relative flex items-start gap-3 p-4 rounded-2xl border ${selectedAddressId === addr.id ? "border-primary-500 bg-primary-50 shadow-sm" : "border-slate-200 bg-white"} cursor-pointer hover:border-primary-300 transition-colors`
9331
9331
  },
9332
- /* @__PURE__ */ React20.createElement(
9332
+ /* @__PURE__ */ React21.createElement(
9333
9333
  "input",
9334
9334
  {
9335
9335
  type: "radio",
@@ -9350,7 +9350,7 @@ function CheckoutScreen() {
9350
9350
  className: "mt-1"
9351
9351
  }
9352
9352
  ),
9353
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-900" }, addr.name), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.street1), addr.street2 && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.street2), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.city, ", ", addr.state, " ", addr.zip), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600" }, addr.country), addr.phone && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-600 mt-1" }, addr.phone), /* @__PURE__ */ React20.createElement("div", { className: "mt-3 flex items-center gap-2" }, addr.isDefault && /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-100 px-2.5 py-0.5 text-xs font-semibold text-primary-700" }, "Default"), /* @__PURE__ */ React20.createElement(
9353
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-900" }, addr.name), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.street1), addr.street2 && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.street2), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.city, ", ", addr.state, " ", addr.zip), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600" }, addr.country), addr.phone && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-600 mt-1" }, addr.phone), /* @__PURE__ */ React21.createElement("div", { className: "mt-3 flex items-center gap-2" }, addr.isDefault && /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-primary-100 px-2.5 py-0.5 text-xs font-semibold text-primary-700" }, "Default"), /* @__PURE__ */ React21.createElement(
9354
9354
  "button",
9355
9355
  {
9356
9356
  type: "button",
@@ -9361,9 +9361,9 @@ function CheckoutScreen() {
9361
9361
  },
9362
9362
  className: "inline-flex items-center gap-1 rounded-full border border-slate-200 px-2.5 py-0.5 text-xs font-medium text-slate-600 hover:border-primary-300 hover:text-primary-600"
9363
9363
  },
9364
- /* @__PURE__ */ React20.createElement(Edit3, { className: "h-3.5 w-3.5" }),
9364
+ /* @__PURE__ */ React21.createElement(Edit3, { className: "h-3.5 w-3.5" }),
9365
9365
  " Edit"
9366
- ), /* @__PURE__ */ React20.createElement(
9366
+ ), /* @__PURE__ */ React21.createElement(
9367
9367
  "button",
9368
9368
  {
9369
9369
  type: "button",
@@ -9381,23 +9381,23 @@ function CheckoutScreen() {
9381
9381
  },
9382
9382
  className: "inline-flex items-center gap-1 rounded-full border border-red-200 px-2.5 py-0.5 text-xs font-semibold text-red-600 hover:border-red-300 hover:text-red-700"
9383
9383
  },
9384
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-3.5 w-3.5" }),
9384
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-3.5 w-3.5" }),
9385
9385
  " Delete"
9386
9386
  )))
9387
- ))) : /* @__PURE__ */ React20.createElement("div", { className: "text-center py-8 bg-slate-50 rounded-lg" }, /* @__PURE__ */ React20.createElement(MapPin, { className: "h-12 w-12 mx-auto text-slate-400" }), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 text-slate-600" }, "No addresses found"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Add a new address to continue"))), !isDelivery && storeAddresses.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React20.createElement("label", { className: "block mb-2 font-semibold" }, "Select Pickup Location"), /* @__PURE__ */ React20.createElement(
9387
+ ))) : /* @__PURE__ */ React21.createElement("div", { className: "text-center py-8 bg-slate-50 rounded-lg" }, /* @__PURE__ */ React21.createElement(MapPin, { className: "h-12 w-12 mx-auto text-slate-400" }), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 text-slate-600" }, "No addresses found"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Add a new address to continue"))), !isDelivery && storeAddresses.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement("label", { className: "block mb-2 font-semibold" }, "Select Pickup Location"), /* @__PURE__ */ React21.createElement(
9388
9388
  "select",
9389
9389
  {
9390
9390
  className: "w-full border rounded p-2",
9391
9391
  value: selectedStoreAddressId || "",
9392
9392
  onChange: (e) => setSelectedStoreAddressId(e.target.value)
9393
9393
  },
9394
- storeAddresses.map((addr) => /* @__PURE__ */ React20.createElement("option", { key: addr.id, value: addr.id }, addr.name, " - ", addr.street1, ", ", addr.city))
9394
+ storeAddresses.map((addr) => /* @__PURE__ */ React21.createElement("option", { key: addr.id, value: addr.id }, addr.name, " - ", addr.street1, ", ", addr.city))
9395
9395
  )))),
9396
- isDelivery && selectedAddressId && /* @__PURE__ */ React20.createElement(Card, { className: "p-6 border border-gray-200 rounded-xl shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 text-xl font-semibold text-gray-900 pb-4 mb-6 border-b" }, /* @__PURE__ */ React20.createElement(Truck, { className: "text-accent w-6 h-6" }), /* @__PURE__ */ React20.createElement("span", null, "Shipping Options")), shippingRatesLoading ? /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-center py-12" }, /* @__PURE__ */ React20.createElement("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-accent" }), /* @__PURE__ */ React20.createElement("span", { className: "ml-3 text-gray-600" }, "Loading shipping options...")) : shippingRatesError ? /* @__PURE__ */ React20.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React20.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-red-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-8 h-8 text-red-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }))), /* @__PURE__ */ React20.createElement("p", { className: "text-red-500 text-lg font-medium" }, "Error loading shipping options"), /* @__PURE__ */ React20.createElement("p", { className: "text-red-400 text-sm mt-1" }, shippingRatesError)) : shippingRates && shippingRates.length > 0 ? /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, shippingRates.map((rate) => {
9396
+ isDelivery && selectedAddressId && /* @__PURE__ */ React21.createElement(Card, { className: "p-6 border border-gray-200 rounded-xl shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 text-xl font-semibold text-gray-900 pb-4 mb-6 border-b" }, /* @__PURE__ */ React21.createElement(Truck, { className: "text-accent w-6 h-6" }), /* @__PURE__ */ React21.createElement("span", null, "Shipping Options")), shippingRatesLoading ? /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-center py-12" }, /* @__PURE__ */ React21.createElement("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-accent" }), /* @__PURE__ */ React21.createElement("span", { className: "ml-3 text-gray-600" }, "Loading shipping options...")) : shippingRatesError ? /* @__PURE__ */ React21.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React21.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-red-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-8 h-8 text-red-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }))), /* @__PURE__ */ React21.createElement("p", { className: "text-red-500 text-lg font-medium" }, "Error loading shipping options"), /* @__PURE__ */ React21.createElement("p", { className: "text-red-400 text-sm mt-1" }, shippingRatesError)) : shippingRates && shippingRates.length > 0 ? /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, shippingRates.map((rate) => {
9397
9397
  const isSelected = !!selectedShippingRateId && selectedShippingRateId === rate.objectId;
9398
9398
  const isTest = rate.test;
9399
9399
  const hasAttributes = rate.attributes && rate.attributes.length > 0;
9400
- return /* @__PURE__ */ React20.createElement(
9400
+ return /* @__PURE__ */ React21.createElement(
9401
9401
  "div",
9402
9402
  {
9403
9403
  key: rate.objectId,
@@ -9406,7 +9406,7 @@ function CheckoutScreen() {
9406
9406
  onMouseLeave: () => setShippingPrice(parseFloat(rate.amountLocal)),
9407
9407
  className: `relative p-5 border-2 rounded-xl cursor-pointer transition-all duration-200 hover:shadow-md ${isSelected ? "border-primary-500 bg-primary-50 ring-2 ring-primary-200" : "border-gray-200 hover:border-gray-300"}`
9408
9408
  },
9409
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-4 flex-1" }, /* @__PURE__ */ React20.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React20.createElement(
9409
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-4 flex-1" }, /* @__PURE__ */ React21.createElement("div", { className: "flex-shrink-0" }, /* @__PURE__ */ React21.createElement(
9410
9410
  Image3,
9411
9411
  {
9412
9412
  src: rate.providerImage75 || "/placeholder-product.jpg",
@@ -9419,18 +9419,18 @@ function CheckoutScreen() {
9419
9419
  width: 48,
9420
9420
  height: 48
9421
9421
  }
9422
- )), /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2 mb-2" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, rate.provider, " ", rate.servicelevel?.name), isTest && /* @__PURE__ */ React20.createElement("span", { className: "px-2 py-1 text-xs font-medium bg-orange-100 text-orange-800 rounded-full" }, "TEST")), hasAttributes && /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2 mb-3" }, rate.attributes.map((attr) => /* @__PURE__ */ React20.createElement(
9422
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 mb-2" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900" }, rate.provider, " ", rate.servicelevel?.name), isTest && /* @__PURE__ */ React21.createElement("span", { className: "px-2 py-1 text-xs font-medium bg-orange-100 text-orange-800 rounded-full" }, "TEST")), hasAttributes && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2 mb-3" }, rate.attributes.map((attr) => /* @__PURE__ */ React21.createElement(
9423
9423
  "span",
9424
9424
  {
9425
9425
  key: attr,
9426
9426
  className: `px-2 py-1 text-xs font-medium rounded-full ${attr === "FASTEST" ? "bg-green-100 text-green-800" : attr === "BESTVALUE" ? "bg-blue-100 text-blue-800" : attr === "CHEAPEST" ? "bg-purple-100 text-purple-800" : "bg-gray-100 text-gray-800"}`
9427
9427
  },
9428
9428
  attr
9429
- ))), /* @__PURE__ */ React20.createElement("div", { className: "space-y-1 text-sm text-gray-600" }, rate.durationTerms && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React20.createElement("span", null, rate.durationTerms)), rate.estimatedDays && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React20.createElement("span", null, "Estimated ", rate.estimatedDays, " day", rate.estimatedDays !== 1 ? "s" : "")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" })), /* @__PURE__ */ React20.createElement("span", null, "Carrier: ", rate.provider)), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React20.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1" })), /* @__PURE__ */ React20.createElement("span", null, "Currency: ", rate.currency))))), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-end" }, /* @__PURE__ */ React20.createElement("div", { className: "text-2xl font-bold text-gray-900" }, formatPrice(parseFloat(rate.amount))), rate.amount !== rate.amountLocal && /* @__PURE__ */ React20.createElement("div", { className: "text-sm text-gray-500" }, rate.amountLocal, " ", rate.currencyLocal))),
9430
- isSelected && /* @__PURE__ */ React20.createElement("div", { className: "absolute top-3 right-3" }, /* @__PURE__ */ React20.createElement("div", { className: "w-6 h-6 bg-primary-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React20.createElement(Check, { className: "w-4 h-4 text-white" })))
9429
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "space-y-1 text-sm text-gray-600" }, rate.durationTerms && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React21.createElement("span", null, rate.durationTerms)), rate.estimatedDays && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" })), /* @__PURE__ */ React21.createElement("span", null, "Estimated ", rate.estimatedDays, " day", rate.estimatedDays !== 1 ? "s" : "")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" })), /* @__PURE__ */ React21.createElement("span", null, "Carrier: ", rate.provider)), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("svg", { className: "w-4 h-4 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React21.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1" })), /* @__PURE__ */ React21.createElement("span", null, "Currency: ", rate.currency))))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-end" }, /* @__PURE__ */ React21.createElement("div", { className: "text-2xl font-bold text-gray-900" }, formatPrice(parseFloat(rate.amount))), rate.amount !== rate.amountLocal && /* @__PURE__ */ React21.createElement("div", { className: "text-sm text-gray-500" }, rate.amountLocal, " ", rate.currencyLocal))),
9430
+ isSelected && /* @__PURE__ */ React21.createElement("div", { className: "absolute top-3 right-3" }, /* @__PURE__ */ React21.createElement("div", { className: "w-6 h-6 bg-primary-500 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React21.createElement(Check, { className: "w-4 h-4 text-white" })))
9431
9431
  );
9432
- })) : /* @__PURE__ */ React20.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React20.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-gray-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React20.createElement(Truck, { className: "w-8 h-8 text-gray-400" })), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-500 text-lg font-medium" }, "No shipping options available"), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-400 text-sm mt-1" }, "Please check the shipping address or try a different location.")))
9433
- ), /* @__PURE__ */ React20.createElement(
9432
+ })) : /* @__PURE__ */ React21.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React21.createElement("div", { className: "w-16 h-16 mx-auto mb-4 bg-gray-100 rounded-full flex items-center justify-center" }, /* @__PURE__ */ React21.createElement(Truck, { className: "w-8 h-8 text-gray-400" })), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-500 text-lg font-medium" }, "No shipping options available"), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-400 text-sm mt-1" }, "Please check the shipping address or try a different location.")))
9433
+ ), /* @__PURE__ */ React21.createElement(
9434
9434
  motion.aside,
9435
9435
  {
9436
9436
  initial: { opacity: 0, y: 32 },
@@ -9438,22 +9438,22 @@ function CheckoutScreen() {
9438
9438
  transition: { duration: 0.5, ease: "easeOut", delay: 0.1 },
9439
9439
  className: "space-y-10 lg:sticky lg:top-24"
9440
9440
  },
9441
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-xl shadow-primary-50/50 transition hover:shadow-primary-100/60" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Order Summary"), /* @__PURE__ */ React20.createElement("section", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Delivery Method"), /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-3" }, [
9441
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-xl shadow-primary-50/50 transition hover:shadow-primary-100/60" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Order Summary"), /* @__PURE__ */ React21.createElement("section", { className: "mt-6 space-y-4" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Delivery Method"), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-3" }, [
9442
9442
  {
9443
9443
  label: "Delivery",
9444
- icon: /* @__PURE__ */ React20.createElement(Truck, { className: "w-5 h-5" }),
9444
+ icon: /* @__PURE__ */ React21.createElement(Truck, { className: "w-5 h-5" }),
9445
9445
  value: true,
9446
9446
  desc: "Shipped to your address"
9447
9447
  },
9448
9448
  {
9449
9449
  label: "Pickup",
9450
- icon: /* @__PURE__ */ React20.createElement(MapPin, { className: "w-5 h-5" }),
9450
+ icon: /* @__PURE__ */ React21.createElement(MapPin, { className: "w-5 h-5" }),
9451
9451
  value: false,
9452
9452
  desc: "Collect from pharmacy"
9453
9453
  }
9454
9454
  ].map((option) => {
9455
9455
  const active = isDelivery === option.value;
9456
- return /* @__PURE__ */ React20.createElement(
9456
+ return /* @__PURE__ */ React21.createElement(
9457
9457
  "button",
9458
9458
  {
9459
9459
  key: option.label,
@@ -9462,18 +9462,18 @@ function CheckoutScreen() {
9462
9462
  "aria-pressed": active,
9463
9463
  className: `relative flex w-full items-center justify-between rounded-xl border-2 p-3 transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-400 focus-visible:ring-offset-2 ${active ? "border-primary-500 bg-primary-50 shadow-sm" : "border-slate-200 bg-white hover:border-primary-200 hover:bg-primary-50/40"}`
9464
9464
  },
9465
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(
9465
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(
9466
9466
  "div",
9467
9467
  {
9468
9468
  className: `p-2 rounded-lg ${active ? "bg-primary-100 text-primary-600" : "bg-slate-100 text-slate-600 group-hover:bg-slate-50"}`
9469
9469
  },
9470
9470
  option.icon
9471
- ), /* @__PURE__ */ React20.createElement("div", { className: "text-left" }, /* @__PURE__ */ React20.createElement("div", { className: "font-medium text-slate-900" }, option.label), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-slate-500" }, option.desc))),
9472
- active && /* @__PURE__ */ React20.createElement("div", { className: "w-5 h-5 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React20.createElement(Check, { className: "w-3 h-3" }))
9471
+ ), /* @__PURE__ */ React21.createElement("div", { className: "text-left" }, /* @__PURE__ */ React21.createElement("div", { className: "font-medium text-slate-900" }, option.label), /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-slate-500" }, option.desc))),
9472
+ active && /* @__PURE__ */ React21.createElement("div", { className: "w-5 h-5 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React21.createElement(Check, { className: "w-3 h-3" }))
9473
9473
  );
9474
- }))), /* @__PURE__ */ React20.createElement("section", { className: "mt-8 space-y-4" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Payment Method"), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, PAYMENT_METHODS.map((pm) => {
9474
+ }))), /* @__PURE__ */ React21.createElement("section", { className: "mt-8 space-y-4" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-xs font-semibold text-slate-700 uppercase tracking-wider" }, "Payment Method"), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, PAYMENT_METHODS.map((pm) => {
9475
9475
  const active = paymentMethod === pm.value;
9476
- return /* @__PURE__ */ React20.createElement(
9476
+ return /* @__PURE__ */ React21.createElement(
9477
9477
  "button",
9478
9478
  {
9479
9479
  key: pm.value,
@@ -9481,22 +9481,22 @@ function CheckoutScreen() {
9481
9481
  onClick: () => setPaymentMethod(pm.value),
9482
9482
  className: `w-full flex items-center justify-between rounded-xl border-2 p-3 transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 ${active ? `${pm.activeClass} border-current shadow-sm` : `${pm.className} border-slate-200 hover:border-primary-200 hover:shadow-sm`}`
9483
9483
  },
9484
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(
9484
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(
9485
9485
  "div",
9486
9486
  {
9487
9487
  className: `p-1.5 rounded-md ${pm.value === "Card" ? "bg-blue-100 text-blue-600" : pm.value === "Cash" ? "bg-amber-100 text-amber-600" : "bg-emerald-100 text-emerald-600"} ${active ? "bg-opacity-30" : "bg-opacity-100"}`
9488
9488
  },
9489
9489
  pm.icon
9490
- ), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-medium text-slate-900" }, pm.label)),
9491
- active && /* @__PURE__ */ React20.createElement("div", { className: "w-4 h-4 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React20.createElement(Check, { className: "w-2.5 h-2.5" }))
9490
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-medium text-slate-900" }, pm.label)),
9491
+ active && /* @__PURE__ */ React21.createElement("div", { className: "w-4 h-4 rounded-full bg-primary-500 flex items-center justify-center text-white shadow-sm" }, /* @__PURE__ */ React21.createElement(Check, { className: "w-2.5 h-2.5" }))
9492
9492
  );
9493
- })), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-slate-500 mt-2 pl-1 leading-relaxed" }, paymentMethod === "Card" && "You will be redirected to a secure payment page.", paymentMethod === "Cash" && "Pay with cash at the time of delivery or pickup.", paymentMethod === "Credit" && "Use your available account credit for this order.")), /* @__PURE__ */ React20.createElement("section", { className: "mt-8 pt-6 border-t border-slate-100" }, /* @__PURE__ */ React20.createElement("div", { className: "max-h-60 space-y-4 overflow-y-auto pr-2 scrollbar-thin scrollbar-thumb-slate-200 hover:scrollbar-thumb-slate-300" }, cart?.cartBody?.items?.map((item) => /* @__PURE__ */ React20.createElement(
9493
+ })), /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-slate-500 mt-2 pl-1 leading-relaxed" }, paymentMethod === "Card" && "You will be redirected to a secure payment page.", paymentMethod === "Cash" && "Pay with cash at the time of delivery or pickup.", paymentMethod === "Credit" && "Use your available account credit for this order.")), /* @__PURE__ */ React21.createElement("section", { className: "mt-8 pt-6 border-t border-slate-100" }, /* @__PURE__ */ React21.createElement("div", { className: "max-h-60 space-y-4 overflow-y-auto pr-2 scrollbar-thin scrollbar-thumb-slate-200 hover:scrollbar-thumb-slate-300" }, cart?.cartBody?.items?.map((item) => /* @__PURE__ */ React21.createElement(
9494
9494
  "div",
9495
9495
  {
9496
9496
  key: item.productId,
9497
9497
  className: "flex gap-4 rounded-2xl border border-slate-100 p-4 hover:bg-slate-50/50 transition"
9498
9498
  },
9499
- /* @__PURE__ */ React20.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-xl bg-slate-100 text-slate-400" }, /* @__PURE__ */ React20.createElement(
9499
+ /* @__PURE__ */ React21.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-xl bg-slate-100 text-slate-400" }, /* @__PURE__ */ React21.createElement(
9500
9500
  Image3,
9501
9501
  {
9502
9502
  src: item.productVariantData.productMedia?.[0]?.file || "/placeholder-product.jpg",
@@ -9506,9 +9506,9 @@ function CheckoutScreen() {
9506
9506
  className: "object-contain"
9507
9507
  }
9508
9508
  )),
9509
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold text-slate-900" }, item?.productVariantData?.name), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-slate-500" }, "Qty ", item.quantity)),
9510
- /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold text-slate-900" }, formatPrice(item.productVariantData.finalPrice * item.quantity))
9511
- ))), /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-3 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Subtotal"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), isDelivery && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Shipping"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold" }, formatPrice(shippingPrice))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("span", null, "Estimated tax"), /* @__PURE__ */ React20.createElement("span", { className: "font-semibold" }, formatPrice(tax))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React20.createElement("span", null, "Total Due"), /* @__PURE__ */ React20.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-xs text-slate-500" }, "Tax is estimated. Final amount confirmed after payment.")))), /* @__PURE__ */ React20.createElement(
9509
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold text-slate-900" }, item?.productVariantData?.name), /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-slate-500" }, "Qty ", item.quantity)),
9510
+ /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold text-slate-900" }, formatPrice(item.productVariantData.finalPrice * item.quantity))
9511
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-3 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Subtotal"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-slate-900" }, formatPrice(subtotal))), isDelivery && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Shipping"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold" }, formatPrice(shippingPrice))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("span", null, "Estimated tax"), /* @__PURE__ */ React21.createElement("span", { className: "font-semibold" }, formatPrice(tax))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between text-base font-semibold text-slate-900" }, /* @__PURE__ */ React21.createElement("span", null, "Total Due"), /* @__PURE__ */ React21.createElement("span", null, formatPrice(total))), /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-xs text-slate-500" }, "Tax is estimated. Final amount confirmed after payment.")))), /* @__PURE__ */ React21.createElement(
9512
9512
  Button,
9513
9513
  {
9514
9514
  type: "submit",
@@ -9516,11 +9516,11 @@ function CheckoutScreen() {
9516
9516
  isLoading: isSubmitting,
9517
9517
  className: "mt-6 w-full transition-transform hover:scale-[1.02] active:scale-[0.99]"
9518
9518
  },
9519
- /* @__PURE__ */ React20.createElement(CreditCard, { className: "h-5 w-5" }),
9519
+ /* @__PURE__ */ React21.createElement(CreditCard, { className: "h-5 w-5" }),
9520
9520
  isSubmitting ? "Placing order..." : "Place Secure Order"
9521
- ), /* @__PURE__ */ React20.createElement("p", { className: "mt-4 flex items-center justify-center gap-2 text-xs text-slate-500" }, /* @__PURE__ */ React20.createElement(Lock, { className: "h-4 w-4" }), "Fully encrypted checkout \u2014 cancel anytime before shipment.")),
9522
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/80 p-6 text-sm text-primary-700 shadow-sm hover:shadow-md transition-shadow" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em] text-primary-800" }, "Why Patients Choose Us"), /* @__PURE__ */ React20.createElement("ul", { className: "mt-4 space-y-3 text-primary-700 leading-relaxed" }, /* @__PURE__ */ React20.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(PackageCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React20.createElement("span", null, "Pharmacy-grade verification on every order.")), /* @__PURE__ */ React20.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React20.createElement("span", null, "Cold-chain logistics for sensitive medications.")), /* @__PURE__ */ React20.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(Truck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React20.createElement("span", null, "Real-time tracking and SMS updates from prep to delivery."))))
9523
- ))), /* @__PURE__ */ React20.createElement(
9521
+ ), /* @__PURE__ */ React21.createElement("p", { className: "mt-4 flex items-center justify-center gap-2 text-xs text-slate-500" }, /* @__PURE__ */ React21.createElement(Lock, { className: "h-4 w-4" }), "Fully encrypted checkout \u2014 cancel anytime before shipment.")),
9522
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/80 p-6 text-sm text-primary-700 shadow-sm hover:shadow-md transition-shadow" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em] text-primary-800" }, "Why Patients Choose Us"), /* @__PURE__ */ React21.createElement("ul", { className: "mt-4 space-y-3 text-primary-700 leading-relaxed" }, /* @__PURE__ */ React21.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(PackageCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React21.createElement("span", null, "Pharmacy-grade verification on every order.")), /* @__PURE__ */ React21.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React21.createElement("span", null, "Cold-chain logistics for sensitive medications.")), /* @__PURE__ */ React21.createElement("li", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(Truck, { className: "mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ React21.createElement("span", null, "Real-time tracking and SMS updates from prep to delivery."))))
9523
+ ))), /* @__PURE__ */ React21.createElement(
9524
9524
  AddressFormModal,
9525
9525
  {
9526
9526
  isOpen: isAddressModalOpen,
@@ -9576,7 +9576,7 @@ function LoginScreen() {
9576
9576
  setIsSubmitting(false);
9577
9577
  }
9578
9578
  };
9579
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[1.1fr_0.9fr]" }, /* @__PURE__ */ React20.createElement(
9579
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[1.1fr_0.9fr]" }, /* @__PURE__ */ React21.createElement(
9580
9580
  motion.section,
9581
9581
  {
9582
9582
  initial: { opacity: 0, x: -24 },
@@ -9584,18 +9584,18 @@ function LoginScreen() {
9584
9584
  transition: { duration: 0.4 },
9585
9585
  className: "relative flex flex-col justify-between bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] px-10 py-14 text-white"
9586
9586
  },
9587
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "Hey Pharmacist"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Pharmacy-grade care for your household"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-xl text-white/80" }, "Log in to unlock personalized regimens, pharmacist support, and fast delivery on wellness essentials curated just for you.")),
9588
- /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/80" }, "HIPAA-compliant security keeps your health information protected.")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/80" }, "Pharmacists ready to chat in under 10 minutes for medication support."))),
9589
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", null, "Need an account?"), /* @__PURE__ */ React20.createElement(
9587
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "Hey Pharmacist"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Pharmacy-grade care for your household"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-xl text-white/80" }, "Log in to unlock personalized regimens, pharmacist support, and fast delivery on wellness essentials curated just for you.")),
9588
+ /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/80" }, "HIPAA-compliant security keeps your health information protected.")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/80" }, "Pharmacists ready to chat in under 10 minutes for medication support."))),
9589
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", null, "Need an account?"), /* @__PURE__ */ React21.createElement(
9590
9590
  Link8,
9591
9591
  {
9592
9592
  href: "/register",
9593
9593
  className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2 font-semibold transition hover:bg-white/25"
9594
9594
  },
9595
9595
  "Create one now",
9596
- /* @__PURE__ */ React20.createElement(ArrowRight, { className: "h-4 w-4" })
9596
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-4 w-4" })
9597
9597
  ))
9598
- ), /* @__PURE__ */ React20.createElement(
9598
+ ), /* @__PURE__ */ React21.createElement(
9599
9599
  motion.section,
9600
9600
  {
9601
9601
  initial: { opacity: 0, x: 24 },
@@ -9603,7 +9603,7 @@ function LoginScreen() {
9603
9603
  transition: { duration: 0.4 },
9604
9604
  className: "flex items-center justify-center px-6 py-12 lg:px-16"
9605
9605
  },
9606
- /* @__PURE__ */ React20.createElement("div", { className: "w-full max-w-md space-y-10" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Sign in"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Welcome back! Enter your details to continue your personalized care plan.")), /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement(
9606
+ /* @__PURE__ */ React21.createElement("div", { className: "w-full max-w-md space-y-10" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Sign in"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Welcome back! Enter your details to continue your personalized care plan.")), /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement(
9607
9607
  Input,
9608
9608
  {
9609
9609
  type: "email",
@@ -9612,7 +9612,7 @@ function LoginScreen() {
9612
9612
  ...register("email"),
9613
9613
  error: errors.email?.message
9614
9614
  }
9615
- )), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9615
+ )), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9616
9616
  Input,
9617
9617
  {
9618
9618
  type: showPassword ? "text" : "password",
@@ -9621,28 +9621,28 @@ function LoginScreen() {
9621
9621
  ...register("password"),
9622
9622
  error: errors.password?.message
9623
9623
  }
9624
- ), /* @__PURE__ */ React20.createElement(
9624
+ ), /* @__PURE__ */ React21.createElement(
9625
9625
  "button",
9626
9626
  {
9627
9627
  type: "button",
9628
9628
  onClick: () => setShowPassword((prev) => !prev),
9629
9629
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9630
9630
  },
9631
- showPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9632
- )), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between text-sm" }, /* @__PURE__ */ React20.createElement("label", { className: "flex items-center gap-2 text-slate-600" }, /* @__PURE__ */ React20.createElement(
9631
+ showPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9632
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between text-sm" }, /* @__PURE__ */ React21.createElement("label", { className: "flex items-center gap-2 text-slate-600" }, /* @__PURE__ */ React21.createElement(
9633
9633
  "input",
9634
9634
  {
9635
9635
  type: "checkbox",
9636
9636
  className: "h-4 w-4 rounded border-slate-300 text-primary-600 focus:ring-primary-500"
9637
9637
  }
9638
- ), "Remember me"), /* @__PURE__ */ React20.createElement(
9638
+ ), "Remember me"), /* @__PURE__ */ React21.createElement(
9639
9639
  Link8,
9640
9640
  {
9641
9641
  href: "/forgot-password",
9642
9642
  className: "font-medium text-primary-600 transition hover:text-primary-700"
9643
9643
  },
9644
9644
  "Forgot password?"
9645
- )), /* @__PURE__ */ React20.createElement(
9645
+ )), /* @__PURE__ */ React21.createElement(
9646
9646
  Button,
9647
9647
  {
9648
9648
  type: "submit",
@@ -9651,7 +9651,7 @@ function LoginScreen() {
9651
9651
  className: "w-full"
9652
9652
  },
9653
9653
  "Sign in securely"
9654
- )), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(Lock, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Secure by design"), /* @__PURE__ */ React20.createElement("p", null, "Encrypted sessions, multi-factor ready, and privacy-first policies keep your personal data safe.")))))
9654
+ )), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(Lock, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Secure by design"), /* @__PURE__ */ React21.createElement("p", null, "Encrypted sessions, multi-factor ready, and privacy-first policies keep your personal data safe.")))))
9655
9655
  )));
9656
9656
  }
9657
9657
  var registerSchema = z.object({
@@ -9702,7 +9702,7 @@ function RegisterScreen() {
9702
9702
  setIsSubmitting(false);
9703
9703
  }
9704
9704
  };
9705
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[0.95fr_1.05fr]" }, /* @__PURE__ */ React20.createElement(
9705
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("div", { className: "grid min-h-screen overflow-hidden bg-white lg:grid-cols-[0.95fr_1.05fr]" }, /* @__PURE__ */ React21.createElement(
9706
9706
  motion.section,
9707
9707
  {
9708
9708
  initial: { opacity: 0, x: -24 },
@@ -9710,9 +9710,9 @@ function RegisterScreen() {
9710
9710
  transition: { duration: 0.4 },
9711
9711
  className: "flex flex-col justify-between bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] px-10 py-14 text-white"
9712
9712
  },
9713
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "Join Hey Pharmacist"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Create your wellness account"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-xl text-white/80" }, "Unlock concierge-level pharmacy support, curated product recommendations, and smarter refills designed for busy families.")),
9714
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, BENEFITS.map((benefit) => /* @__PURE__ */ React20.createElement("div", { key: benefit, className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(CheckCircle2, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/85" }, benefit)))),
9715
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", null, "Already part of the community?"), /* @__PURE__ */ React20.createElement(
9713
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "Join Hey Pharmacist"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight lg:text-5xl" }, "Create your wellness account"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-xl text-white/80" }, "Unlock concierge-level pharmacy support, curated product recommendations, and smarter refills designed for busy families.")),
9714
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-4 rounded-3xl bg-white/10 p-6 backdrop-blur" }, BENEFITS.map((benefit) => /* @__PURE__ */ React21.createElement("div", { key: benefit, className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(CheckCircle2, { className: "h-5 w-5 text-white" }), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/85" }, benefit)))),
9715
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-6 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", null, "Already part of the community?"), /* @__PURE__ */ React21.createElement(
9716
9716
  Link8,
9717
9717
  {
9718
9718
  href: "/login",
@@ -9720,7 +9720,7 @@ function RegisterScreen() {
9720
9720
  },
9721
9721
  "Sign in"
9722
9722
  ))
9723
- ), /* @__PURE__ */ React20.createElement(
9723
+ ), /* @__PURE__ */ React21.createElement(
9724
9724
  motion.section,
9725
9725
  {
9726
9726
  initial: { opacity: 0, x: 24 },
@@ -9728,13 +9728,13 @@ function RegisterScreen() {
9728
9728
  transition: { duration: 0.4 },
9729
9729
  className: "flex items-center justify-center px-6 py-12 lg:px-16"
9730
9730
  },
9731
- /* @__PURE__ */ React20.createElement("div", { className: "w-full max-w-lg space-y-10" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Create an account"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Start your personalized care journey with pharmacist-backed guidance.")), /* @__PURE__ */ React20.createElement(
9731
+ /* @__PURE__ */ React21.createElement("div", { className: "w-full max-w-lg space-y-10" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-3xl font-bold text-slate-900" }, "Create an account"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Start your personalized care journey with pharmacist-backed guidance.")), /* @__PURE__ */ React21.createElement(
9732
9732
  "form",
9733
9733
  {
9734
9734
  onSubmit: handleSubmit(onSubmit),
9735
9735
  className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50"
9736
9736
  },
9737
- /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
9737
+ /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
9738
9738
  Input,
9739
9739
  {
9740
9740
  label: "First name",
@@ -9742,7 +9742,7 @@ function RegisterScreen() {
9742
9742
  ...register("firstName"),
9743
9743
  error: errors.firstName?.message
9744
9744
  }
9745
- ), /* @__PURE__ */ React20.createElement(
9745
+ ), /* @__PURE__ */ React21.createElement(
9746
9746
  Input,
9747
9747
  {
9748
9748
  label: "Last name",
@@ -9751,7 +9751,7 @@ function RegisterScreen() {
9751
9751
  error: errors.lastName?.message
9752
9752
  }
9753
9753
  )),
9754
- /* @__PURE__ */ React20.createElement(
9754
+ /* @__PURE__ */ React21.createElement(
9755
9755
  Input,
9756
9756
  {
9757
9757
  type: "email",
@@ -9761,7 +9761,7 @@ function RegisterScreen() {
9761
9761
  error: errors.email?.message
9762
9762
  }
9763
9763
  ),
9764
- /* @__PURE__ */ React20.createElement(
9764
+ /* @__PURE__ */ React21.createElement(
9765
9765
  Input,
9766
9766
  {
9767
9767
  type: "tel",
@@ -9771,7 +9771,7 @@ function RegisterScreen() {
9771
9771
  error: errors.phone?.message
9772
9772
  }
9773
9773
  ),
9774
- /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9774
+ /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9775
9775
  Input,
9776
9776
  {
9777
9777
  type: showPassword ? "text" : "password",
@@ -9780,16 +9780,16 @@ function RegisterScreen() {
9780
9780
  ...register("password"),
9781
9781
  error: errors.password?.message
9782
9782
  }
9783
- ), /* @__PURE__ */ React20.createElement(
9783
+ ), /* @__PURE__ */ React21.createElement(
9784
9784
  "button",
9785
9785
  {
9786
9786
  type: "button",
9787
9787
  onClick: () => setShowPassword((prev) => !prev),
9788
9788
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9789
9789
  },
9790
- showPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9790
+ showPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9791
9791
  )),
9792
- /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9792
+ /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9793
9793
  Input,
9794
9794
  {
9795
9795
  type: showConfirmPassword ? "text" : "password",
@@ -9798,16 +9798,16 @@ function RegisterScreen() {
9798
9798
  ...register("confirmPassword"),
9799
9799
  error: errors.confirmPassword?.message
9800
9800
  }
9801
- ), /* @__PURE__ */ React20.createElement(
9801
+ ), /* @__PURE__ */ React21.createElement(
9802
9802
  "button",
9803
9803
  {
9804
9804
  type: "button",
9805
9805
  onClick: () => setShowConfirmPassword((prev) => !prev),
9806
9806
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9807
9807
  },
9808
- showConfirmPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9808
+ showConfirmPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9809
9809
  )),
9810
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement(Shield, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "By creating an account, you agree to our", " ", /* @__PURE__ */ React20.createElement(Link8, { href: "/terms", className: "font-semibold text-primary-600 hover:text-primary-700" }, "Terms of Service"), " ", "and", " ", /* @__PURE__ */ React20.createElement(
9810
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement(Shield, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "By creating an account, you agree to our", " ", /* @__PURE__ */ React21.createElement(Link8, { href: "/terms", className: "font-semibold text-primary-600 hover:text-primary-700" }, "Terms of Service"), " ", "and", " ", /* @__PURE__ */ React21.createElement(
9811
9811
  Link8,
9812
9812
  {
9813
9813
  href: "/privacy",
@@ -9815,7 +9815,7 @@ function RegisterScreen() {
9815
9815
  },
9816
9816
  "Privacy Policy"
9817
9817
  ), ". We protect your information with bank-level encryption.")),
9818
- /* @__PURE__ */ React20.createElement(
9818
+ /* @__PURE__ */ React21.createElement(
9819
9819
  Button,
9820
9820
  {
9821
9821
  type: "submit",
@@ -9823,10 +9823,10 @@ function RegisterScreen() {
9823
9823
  isLoading: isSubmitting,
9824
9824
  className: "w-full"
9825
9825
  },
9826
- /* @__PURE__ */ React20.createElement(UserPlus, { className: "h-5 w-5" }),
9826
+ /* @__PURE__ */ React21.createElement(UserPlus, { className: "h-5 w-5" }),
9827
9827
  "Create my account"
9828
9828
  )
9829
- ), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React20.createElement(Heart, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Members love us"), /* @__PURE__ */ React20.createElement("p", null, "92% of patients report improved adherence after receiving pharmacist touchpoints through their Hey Pharmacist account.")))))
9829
+ ), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-slate-50 p-6 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3" }, /* @__PURE__ */ React21.createElement(Heart, { className: "mt-0.5 h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Members love us"), /* @__PURE__ */ React21.createElement("p", null, "92% of patients report improved adherence after receiving pharmacist touchpoints through their Hey Pharmacist account.")))))
9830
9830
  )));
9831
9831
  }
9832
9832
  var profileSchema = z.object({
@@ -9893,15 +9893,15 @@ function ProfileScreen() {
9893
9893
  href: buildPath("/account/addresses")
9894
9894
  }
9895
9895
  ];
9896
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement(
9896
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement(
9897
9897
  motion.div,
9898
9898
  {
9899
9899
  initial: { opacity: 0, y: 24 },
9900
9900
  animate: { opacity: 1, y: 0 },
9901
9901
  className: "flex flex-col gap-8 md:flex-row md:items-center md:justify-between"
9902
9902
  },
9903
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-5" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(HeartPulse, { className: "h-4 w-4" }), "My account"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Hello, ", user.firstname, " ", user.lastname), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Manage profile details, shipping preferences, and personalized recommendations. Our pharmacists keep your care plan up to date."), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2" }, /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "h-4 w-4" }), "Account secured with multi-factor ready login"))),
9904
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-center gap-4 rounded-3xl bg-white/15 p-6 text-center backdrop-blur" }, /* @__PURE__ */ React20.createElement("div", { className: "flex h-24 w-24 items-center justify-center rounded-full bg-white/20 text-3xl font-bold text-white" }, getInitials(user?.firstname || "", user?.lastname || "") || ""), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-white/80" }, user.email), /* @__PURE__ */ React20.createElement(
9903
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-5" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-4 w-4" }), "My account"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Hello, ", user.firstname, " ", user.lastname), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Manage profile details, shipping preferences, and personalized recommendations. Our pharmacists keep your care plan up to date."), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-4 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-4 w-4" }), "Account secured with multi-factor ready login"))),
9904
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center gap-4 rounded-3xl bg-white/15 p-6 text-center backdrop-blur" }, /* @__PURE__ */ React21.createElement("div", { className: "flex h-24 w-24 items-center justify-center rounded-full bg-white/20 text-3xl font-bold text-white" }, getInitials(user?.firstname || "", user?.lastname || "") || ""), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-white/80" }, user.email), /* @__PURE__ */ React21.createElement(
9905
9905
  Button,
9906
9906
  {
9907
9907
  variant: "ghost",
@@ -9910,14 +9910,14 @@ function ProfileScreen() {
9910
9910
  },
9911
9911
  "Change password"
9912
9912
  ))
9913
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]" }, /* @__PURE__ */ React20.createElement(
9913
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]" }, /* @__PURE__ */ React21.createElement(
9914
9914
  motion.div,
9915
9915
  {
9916
9916
  initial: { opacity: 0, y: 24 },
9917
9917
  animate: { opacity: 1, y: 0 },
9918
9918
  className: "space-y-6"
9919
9919
  },
9920
- /* @__PURE__ */ React20.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Personal information"), /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-5 w-5 text-primary-500" })), /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "mt-6 space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
9920
+ /* @__PURE__ */ React21.createElement("section", { className: "rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-xl font-semibold text-slate-900" }, "Personal information"), /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-5 w-5 text-primary-500" })), /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "mt-6 space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
9921
9921
  Input,
9922
9922
  {
9923
9923
  label: "First name",
@@ -9925,7 +9925,7 @@ function ProfileScreen() {
9925
9925
  ...register("firstName"),
9926
9926
  error: errors.firstName?.message
9927
9927
  }
9928
- ), /* @__PURE__ */ React20.createElement(
9928
+ ), /* @__PURE__ */ React21.createElement(
9929
9929
  Input,
9930
9930
  {
9931
9931
  label: "Last name",
@@ -9933,7 +9933,7 @@ function ProfileScreen() {
9933
9933
  ...register("lastName"),
9934
9934
  error: errors.lastName?.message
9935
9935
  }
9936
- )), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9936
+ )), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9937
9937
  Input,
9938
9938
  {
9939
9939
  type: "email",
@@ -9943,7 +9943,7 @@ function ProfileScreen() {
9943
9943
  ...register("email"),
9944
9944
  error: errors.email?.message
9945
9945
  }
9946
- ), /* @__PURE__ */ React20.createElement(Mail, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9946
+ ), /* @__PURE__ */ React21.createElement(Mail, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9947
9947
  Input,
9948
9948
  {
9949
9949
  type: "tel",
@@ -9953,7 +9953,7 @@ function ProfileScreen() {
9953
9953
  ...register("phone"),
9954
9954
  error: errors.phone?.message
9955
9955
  }
9956
- ), /* @__PURE__ */ React20.createElement(Phone, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-4" }, /* @__PURE__ */ React20.createElement(
9956
+ ), /* @__PURE__ */ React21.createElement(Phone, { className: "absolute left-3 top-[38px] h-4 w-4 text-slate-400" })), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-4" }, /* @__PURE__ */ React21.createElement(
9957
9957
  Button,
9958
9958
  {
9959
9959
  type: "submit",
@@ -9961,7 +9961,7 @@ function ProfileScreen() {
9961
9961
  isLoading: isSubmitting
9962
9962
  },
9963
9963
  "Save changes"
9964
- ), /* @__PURE__ */ React20.createElement(
9964
+ ), /* @__PURE__ */ React21.createElement(
9965
9965
  Button,
9966
9966
  {
9967
9967
  type: "button",
@@ -9971,16 +9971,16 @@ function ProfileScreen() {
9971
9971
  },
9972
9972
  "View recent orders"
9973
9973
  )))),
9974
- /* @__PURE__ */ React20.createElement("section", { className: "grid gap-4 md:grid-cols-2" }, quickLinks.map((item) => /* @__PURE__ */ React20.createElement(
9974
+ /* @__PURE__ */ React21.createElement("section", { className: "grid gap-4 md:grid-cols-2" }, quickLinks.map((item) => /* @__PURE__ */ React21.createElement(
9975
9975
  Link8,
9976
9976
  {
9977
9977
  key: item.href,
9978
9978
  href: item.href,
9979
9979
  className: "group rounded-3xl border border-slate-100 bg-white p-6 shadow-sm transition hover:-translate-y-1 hover:shadow-lg"
9980
9980
  },
9981
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React20.createElement(item.icon, { className: "h-5 w-5" })), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-base font-semibold text-slate-900 group-hover:text-primary-600" }, item.label), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, item.description)))
9981
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("span", { className: "rounded-2xl bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React21.createElement(item.icon, { className: "h-5 w-5" })), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-base font-semibold text-slate-900 group-hover:text-primary-600" }, item.label), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, item.description)))
9982
9982
  )))
9983
- ), /* @__PURE__ */ React20.createElement(
9983
+ ), /* @__PURE__ */ React21.createElement(
9984
9984
  motion.aside,
9985
9985
  {
9986
9986
  initial: { opacity: 0, y: 24 },
@@ -9988,7 +9988,7 @@ function ProfileScreen() {
9988
9988
  transition: { delay: 0.1 },
9989
9989
  className: "space-y-6"
9990
9990
  },
9991
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Care preferences"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-slate-600" }, "Customize how we support you. Set refill reminders or manage communication preferences to stay aligned with your wellness goals."), /* @__PURE__ */ React20.createElement(
9991
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "Care preferences"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-slate-600" }, "Customize how we support you. Set refill reminders or manage communication preferences to stay aligned with your wellness goals."), /* @__PURE__ */ React21.createElement(
9992
9992
  Button,
9993
9993
  {
9994
9994
  variant: "outline",
@@ -9997,14 +9997,14 @@ function ProfileScreen() {
9997
9997
  },
9998
9998
  "Manage preferences"
9999
9999
  )),
10000
- /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Pharmacist tip"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 leading-relaxed" }, "Keep your phone number current so pharmacists can reach you quickly with dosage advice or time-sensitive updates about your order.")),
10001
- /* @__PURE__ */ React20.createElement(
10000
+ /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Pharmacist tip"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 leading-relaxed" }, "Keep your phone number current so pharmacists can reach you quickly with dosage advice or time-sensitive updates about your order.")),
10001
+ /* @__PURE__ */ React21.createElement(
10002
10002
  "button",
10003
10003
  {
10004
10004
  onClick: handleLogout,
10005
10005
  className: "flex w-full items-center justify-center gap-2 rounded-3xl border border-red-200 bg-red-50 px-4 py-3 text-sm font-semibold text-red-600 transition hover:bg-red-100"
10006
10006
  },
10007
- /* @__PURE__ */ React20.createElement(LogOut, { className: "h-4 w-4" }),
10007
+ /* @__PURE__ */ React21.createElement(LogOut, { className: "h-4 w-4" }),
10008
10008
  "Log out"
10009
10009
  )
10010
10010
  )))));
@@ -10012,7 +10012,7 @@ function ProfileScreen() {
10012
10012
  function OrderCard({ order }) {
10013
10013
  const { buildPath } = useBasePath();
10014
10014
  const config = order.orderStatus;
10015
- return /* @__PURE__ */ React20.createElement(
10015
+ return /* @__PURE__ */ React21.createElement(
10016
10016
  motion.div,
10017
10017
  {
10018
10018
  initial: { opacity: 0, y: 20 },
@@ -10020,9 +10020,9 @@ function OrderCard({ order }) {
10020
10020
  whileHover: { y: -4 },
10021
10021
  className: "bg-white rounded-2xl p-6 shadow-sm hover:shadow-xl transition-all duration-300 border border-gray-100"
10022
10022
  },
10023
- /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-bold text-gray-900 flex items-center gap-2" }, /* @__PURE__ */ React20.createElement(Package, { className: "w-5 h-5 text-primary-600" }), "Order #", order?._id?.slice(0, 6) || ""), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500 mt-1 flex items-center gap-2" }, /* @__PURE__ */ React20.createElement(Calendar, { className: "w-4 h-4" }), formatDate(order.createdAt || /* @__PURE__ */ new Date(), "long"))), /* @__PURE__ */ React20.createElement(Badge, { variant: config }, config)),
10024
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-2 mb-4" }, order.items?.slice(0, 2).map((item) => /* @__PURE__ */ React20.createElement("div", { key: item.productVariantId, className: "flex items-center gap-3 text-sm" }, /* @__PURE__ */ React20.createElement(Image3, { src: item?.productVariantData?.productMedia?.[0]?.file || "/placeholder-product.jpg", alt: item?.productVariantData?.name || "Product image", width: 48, height: 48, className: "w-12 h-12 rounded-lg bg-gray-100 flex-shrink-0" }), /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("p", { className: "font-medium text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-500" }, "Qty: ", item.quantity)), /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-gray-900" }, formatPrice(item.productVariantData.finalPrice)))), order.items?.length && order.items?.length > 2 && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500 pl-15" }, "+", order.items.length - 2, " more item", order.items.length - 2 > 1 ? "s" : "")),
10025
- /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-center pt-4 border-t border-gray-200" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-gray-500" }, "Total Amount"), /* @__PURE__ */ React20.createElement("p", { className: "text-2xl font-bold text-gray-900" }, formatPrice(order.grandTotal || 0))), /* @__PURE__ */ React20.createElement("div", { className: "flex gap-2" }, order.payment.paymentStatus !== "Paid" /* Paid */ && order.payment.paymentMethod === "Card" /* Card */ && /* @__PURE__ */ React20.createElement(
10023
+ /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-bold text-gray-900 flex items-center gap-2" }, /* @__PURE__ */ React21.createElement(Package, { className: "w-5 h-5 text-primary-600" }), "Order #", order?._id?.slice(0, 6) || ""), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500 mt-1 flex items-center gap-2" }, /* @__PURE__ */ React21.createElement(Calendar, { className: "w-4 h-4" }), formatDate(order.createdAt || /* @__PURE__ */ new Date(), "long"))), /* @__PURE__ */ React21.createElement(Badge, { variant: config }, config)),
10024
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-2 mb-4" }, order.items?.slice(0, 2).map((item) => /* @__PURE__ */ React21.createElement("div", { key: item.productVariantId, className: "flex items-center gap-3 text-sm" }, /* @__PURE__ */ React21.createElement(Image3, { src: item?.productVariantData?.productMedia?.[0]?.file || "/placeholder-product.jpg", alt: item?.productVariantData?.name || "Product image", width: 48, height: 48, className: "w-12 h-12 rounded-lg bg-gray-100 flex-shrink-0" }), /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("p", { className: "font-medium text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-500" }, "Qty: ", item.quantity)), /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-gray-900" }, formatPrice(item.productVariantData.finalPrice)))), order.items?.length && order.items?.length > 2 && /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500 pl-15" }, "+", order.items.length - 2, " more item", order.items.length - 2 > 1 ? "s" : "")),
10025
+ /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-center pt-4 border-t border-gray-200" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-gray-500" }, "Total Amount"), /* @__PURE__ */ React21.createElement("p", { className: "text-2xl font-bold text-gray-900" }, formatPrice(order.grandTotal || 0))), /* @__PURE__ */ React21.createElement("div", { className: "flex gap-2" }, order.payment.paymentStatus !== "Paid" /* Paid */ && order.payment.paymentMethod === "Card" /* Card */ && /* @__PURE__ */ React21.createElement(
10026
10026
  "a",
10027
10027
  {
10028
10028
  href: order?.payment?.paymentIntent?.hostedInvoiceUrl || "",
@@ -10030,7 +10030,7 @@ function OrderCard({ order }) {
10030
10030
  rel: "noopener noreferrer",
10031
10031
  className: "inline-flex items-center gap-2 px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors"
10032
10032
  },
10033
- /* @__PURE__ */ React20.createElement(CreditCard, { className: "w-4 h-4" }),
10033
+ /* @__PURE__ */ React21.createElement(CreditCard, { className: "w-4 h-4" }),
10034
10034
  "Pay Now"
10035
10035
  )))
10036
10036
  );
@@ -10186,7 +10186,7 @@ function FilterChips({
10186
10186
  document.removeEventListener("mousedown", handleClickOutside);
10187
10187
  };
10188
10188
  }, [isOverflowOpen]);
10189
- return /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center md:gap-4" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-slate-600" }, /* @__PURE__ */ React20.createElement(Icon, { className: "h-4 w-4" }), label), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, visibleFilters.map((filter) => /* @__PURE__ */ React20.createElement(
10189
+ return /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center md:gap-4" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-slate-600" }, /* @__PURE__ */ React21.createElement(Icon, { className: "h-4 w-4" }), label), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, visibleFilters.map((filter) => /* @__PURE__ */ React21.createElement(
10190
10190
  "button",
10191
10191
  {
10192
10192
  key: filter,
@@ -10195,16 +10195,16 @@ function FilterChips({
10195
10195
  className: `rounded-full border px-3 py-1 text-sm font-medium transition ${selected === filter ? `border-${color}-600 bg-${color}-600 text-white shadow-lg shadow-${color}-500/30` : `border-slate-200 bg-slate-50 text-slate-600 hover:border-${color}-300 hover:text-${color}-600`}`
10196
10196
  },
10197
10197
  filter
10198
- ))), overflowFilters.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React20.createElement(
10198
+ ))), overflowFilters.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React21.createElement(
10199
10199
  "button",
10200
10200
  {
10201
10201
  type: "button",
10202
10202
  onClick: () => setIsOverflowOpen((prev) => !prev),
10203
10203
  className: `flex items-center gap-2 rounded-full border px-3 py-1 text-sm font-medium transition ${overflowFilters.includes(selected) ? `border-${color}-600 bg-${color}-50 text-${color}-700 shadow-lg shadow-${color}-500/20` : "border-slate-200 bg-white text-slate-600 hover:border-slate-300"}`
10204
10204
  },
10205
- /* @__PURE__ */ React20.createElement("span", null, overflowFilters.includes(selected) ? selected : "More"),
10206
- /* @__PURE__ */ React20.createElement("span", { className: `inline-flex h-5 min-w-[1.5rem] items-center justify-center rounded-full bg-${color}-100 px-1 text-xs font-semibold text-${color}-600` }, overflowFilters.length)
10207
- ), /* @__PURE__ */ React20.createElement(AnimatePresence, null, isOverflowOpen && /* @__PURE__ */ React20.createElement(
10205
+ /* @__PURE__ */ React21.createElement("span", null, overflowFilters.includes(selected) ? selected : "More"),
10206
+ /* @__PURE__ */ React21.createElement("span", { className: `inline-flex h-5 min-w-[1.5rem] items-center justify-center rounded-full bg-${color}-100 px-1 text-xs font-semibold text-${color}-600` }, overflowFilters.length)
10207
+ ), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isOverflowOpen && /* @__PURE__ */ React21.createElement(
10208
10208
  motion.div,
10209
10209
  {
10210
10210
  initial: { opacity: 0, y: 8 },
@@ -10213,7 +10213,7 @@ function FilterChips({
10213
10213
  transition: { duration: 0.15 },
10214
10214
  className: "absolute right-0 z-50 mt-2 w-64 rounded-2xl border border-slate-100 bg-white shadow-xl shadow-primary-50"
10215
10215
  },
10216
- /* @__PURE__ */ React20.createElement("div", { className: "border-b border-slate-100 px-4 py-3" }, /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(Search, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400" }), /* @__PURE__ */ React20.createElement(
10216
+ /* @__PURE__ */ React21.createElement("div", { className: "border-b border-slate-100 px-4 py-3" }, /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(Search, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400" }), /* @__PURE__ */ React21.createElement(
10217
10217
  "input",
10218
10218
  {
10219
10219
  type: "text",
@@ -10223,7 +10223,7 @@ function FilterChips({
10223
10223
  className: "w-full rounded-full border border-slate-200 bg-slate-50 py-2 pl-9 pr-3 text-sm text-slate-600 outline-none transition focus:border-primary-300 focus:bg-white focus:ring-2 focus:ring-primary-200"
10224
10224
  }
10225
10225
  ))),
10226
- /* @__PURE__ */ React20.createElement("div", { className: "max-h-60 overflow-y-auto px-2 py-2" }, filteredOverflowFilters.length > 0 ? filteredOverflowFilters.map((filter) => /* @__PURE__ */ React20.createElement(
10226
+ /* @__PURE__ */ React21.createElement("div", { className: "max-h-60 overflow-y-auto px-2 py-2" }, filteredOverflowFilters.length > 0 ? filteredOverflowFilters.map((filter) => /* @__PURE__ */ React21.createElement(
10227
10227
  "button",
10228
10228
  {
10229
10229
  key: filter,
@@ -10234,10 +10234,10 @@ function FilterChips({
10234
10234
  },
10235
10235
  className: `flex w-full items-center justify-between rounded-xl px-3 py-2 text-sm font-medium transition ${selected === filter ? `bg-${color}-600 text-white shadow-lg shadow-${color}-500/30` : "text-slate-600 hover:bg-slate-100"}`
10236
10236
  },
10237
- /* @__PURE__ */ React20.createElement("span", null, filter),
10238
- selected === filter && /* @__PURE__ */ React20.createElement(Check, { className: "h-4 w-4" })
10239
- )) : /* @__PURE__ */ React20.createElement("p", { className: "px-3 py-4 text-sm text-slate-500" }, "No items found.")),
10240
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between gap-2 border-t border-slate-100 px-4 py-3" }, /* @__PURE__ */ React20.createElement("span", { className: "text-xs font-semibold uppercase tracking-wide text-slate-400" }, "Quick actions"), /* @__PURE__ */ React20.createElement(
10237
+ /* @__PURE__ */ React21.createElement("span", null, filter),
10238
+ selected === filter && /* @__PURE__ */ React21.createElement(Check, { className: "h-4 w-4" })
10239
+ )) : /* @__PURE__ */ React21.createElement("p", { className: "px-3 py-4 text-sm text-slate-500" }, "No items found.")),
10240
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between gap-2 border-t border-slate-100 px-4 py-3" }, /* @__PURE__ */ React21.createElement("span", { className: "text-xs font-semibold uppercase tracking-wide text-slate-400" }, "Quick actions"), /* @__PURE__ */ React21.createElement(
10241
10241
  "button",
10242
10242
  {
10243
10243
  type: "button",
@@ -10295,23 +10295,23 @@ function OrdersScreen() {
10295
10295
  document.removeEventListener("mousedown", handleClickOutside);
10296
10296
  };
10297
10297
  }, [isOverflowOpen]);
10298
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement(
10298
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement(
10299
10299
  motion.div,
10300
10300
  {
10301
10301
  initial: { opacity: 0, y: 24 },
10302
10302
  animate: { opacity: 1, y: 0 },
10303
10303
  className: "space-y-6"
10304
10304
  },
10305
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(CalendarDays, { className: "h-4 w-4" }), "Order history"),
10306
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "All of your pharmacy orders"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Access receipts, shipping statuses, and reorder suggestions in one organized timeline curated by our pharmacists.")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use filters to review previous prescriptions, reorder favorites, or download invoices for insurance claims.")))
10307
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-16 container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
10305
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(CalendarDays, { className: "h-4 w-4" }), "Order history"),
10306
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "All of your pharmacy orders"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Access receipts, shipping statuses, and reorder suggestions in one organized timeline curated by our pharmacists.")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use filters to review previous prescriptions, reorder favorites, or download invoices for insurance claims.")))
10307
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16 container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
10308
10308
  motion.div,
10309
10309
  {
10310
10310
  initial: { opacity: 0, y: 24 },
10311
10311
  animate: { opacity: 1, y: 0 },
10312
10312
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
10313
10313
  },
10314
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "Explore your complete order archive with pharmacist notes.")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:items-end" }, /* @__PURE__ */ React20.createElement(
10314
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "Explore your complete order archive with pharmacist notes.")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:items-end" }, /* @__PURE__ */ React21.createElement(
10315
10315
  FilterChips,
10316
10316
  {
10317
10317
  label: "Status filters",
@@ -10325,7 +10325,7 @@ function OrdersScreen() {
10325
10325
  maxVisible: MAX_VISIBLE_FILTERS,
10326
10326
  variant: "primary"
10327
10327
  }
10328
- ), /* @__PURE__ */ React20.createElement(
10328
+ ), /* @__PURE__ */ React21.createElement(
10329
10329
  FilterChips,
10330
10330
  {
10331
10331
  label: "Payment status",
@@ -10340,7 +10340,7 @@ function OrdersScreen() {
10340
10340
  variant: "primary"
10341
10341
  }
10342
10342
  ))),
10343
- /* @__PURE__ */ React20.createElement("div", { className: "mt-6 space-y-4" }, isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement(OrderCardSkeleton, { key: index })) : hasOrders ? filteredOrders.map((order) => /* @__PURE__ */ React20.createElement(OrderCard, { key: order.id, order })) : /* @__PURE__ */ React20.createElement(
10343
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-6 space-y-4" }, isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement(OrderCardSkeleton, { key: index })) : hasOrders ? filteredOrders.map((order) => /* @__PURE__ */ React21.createElement(OrderCard, { key: order.id, order })) : /* @__PURE__ */ React21.createElement(
10344
10344
  EmptyState,
10345
10345
  {
10346
10346
  icon: Package,
@@ -10350,16 +10350,16 @@ function OrdersScreen() {
10350
10350
  onAction: () => router.push(buildPath("/shop"))
10351
10351
  }
10352
10352
  )),
10353
- !isLoading && pagination.totalPages > 1 && hasOrders && /* @__PURE__ */ React20.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-4" }, /* @__PURE__ */ React20.createElement(
10353
+ !isLoading && pagination.totalPages > 1 && hasOrders && /* @__PURE__ */ React21.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-4" }, /* @__PURE__ */ React21.createElement(
10354
10354
  Button,
10355
10355
  {
10356
10356
  variant: "outline",
10357
10357
  onClick: () => setPage((current) => Math.max(1, current - 1)),
10358
10358
  disabled: page === 1
10359
10359
  },
10360
- /* @__PURE__ */ React20.createElement(ChevronLeft, { className: "h-5 w-5" }),
10360
+ /* @__PURE__ */ React21.createElement(ChevronLeft, { className: "h-5 w-5" }),
10361
10361
  "Previous"
10362
- ), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-semibold text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React20.createElement(
10362
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-semibold text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React21.createElement(
10363
10363
  Button,
10364
10364
  {
10365
10365
  variant: "outline",
@@ -10367,7 +10367,7 @@ function OrdersScreen() {
10367
10367
  disabled: page === pagination.totalPages
10368
10368
  },
10369
10369
  "Next",
10370
- /* @__PURE__ */ React20.createElement(ChevronRight, { className: "h-5 w-5" })
10370
+ /* @__PURE__ */ React21.createElement(ChevronRight, { className: "h-5 w-5" })
10371
10371
  ))
10372
10372
  ))));
10373
10373
  }
@@ -10376,17 +10376,17 @@ function CurrentOrdersScreen() {
10376
10376
  const { orders, isLoading } = useCurrentOrders();
10377
10377
  const { buildPath } = useBasePath();
10378
10378
  const hasOrders = orders.length > 0;
10379
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement(
10379
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement(
10380
10380
  motion.div,
10381
10381
  {
10382
10382
  initial: { opacity: 0, y: 24 },
10383
10383
  animate: { opacity: 1, y: 0 },
10384
10384
  className: "space-y-4"
10385
10385
  },
10386
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Truck, { className: "h-4 w-4" }), "Live order tracking"),
10387
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Current orders"),
10388
- /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Follow your pharmacy orders from preparation to delivery. Real-time updates, SMS alerts, and pharmacist oversight come standard.")
10389
- ), /* @__PURE__ */ React20.createElement(
10386
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Truck, { className: "h-4 w-4" }), "Live order tracking"),
10387
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Current orders"),
10388
+ /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Follow your pharmacy orders from preparation to delivery. Real-time updates, SMS alerts, and pharmacist oversight come standard.")
10389
+ ), /* @__PURE__ */ React21.createElement(
10390
10390
  motion.div,
10391
10391
  {
10392
10392
  initial: { opacity: 0, y: 24 },
@@ -10394,24 +10394,24 @@ function CurrentOrdersScreen() {
10394
10394
  transition: { delay: 0.1 },
10395
10395
  className: "rounded-3xl bg-white/15 p-6 backdrop-blur"
10396
10396
  },
10397
- /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick actions"),
10398
- /* @__PURE__ */ React20.createElement("div", { className: "mt-4 space-y-3 text-sm text-white/80" }, /* @__PURE__ */ React20.createElement(
10397
+ /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick actions"),
10398
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-4 space-y-3 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement(
10399
10399
  Link8,
10400
10400
  {
10401
10401
  href: buildPath("/orders"),
10402
10402
  className: "flex items-center justify-between rounded-2xl bg-white/10 px-4 py-3 transition hover:bg-white/20"
10403
10403
  },
10404
- /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-white" }, "View order history"),
10405
- /* @__PURE__ */ React20.createElement(ArrowUpRight, { className: "h-4 w-4" })
10406
- ), /* @__PURE__ */ React20.createElement("p", null, "Need help fast? Chat with a pharmacist and we will triage your request in under 10 minutes."))
10407
- )))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
10404
+ /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-white" }, "View order history"),
10405
+ /* @__PURE__ */ React21.createElement(ArrowUpRight, { className: "h-4 w-4" })
10406
+ ), /* @__PURE__ */ React21.createElement("p", null, "Need help fast? Chat with a pharmacist and we will triage your request in under 10 minutes."))
10407
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
10408
10408
  motion.section,
10409
10409
  {
10410
10410
  initial: { opacity: 0, y: 24 },
10411
10411
  animate: { opacity: 1, y: 0 },
10412
10412
  className: "grid gap-6 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]"
10413
10413
  },
10414
- /* @__PURE__ */ React20.createElement("div", { className: "space-y-6" }, isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement(OrderCardSkeleton, { key: index }))) : hasOrders ? /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, orders.map((order) => /* @__PURE__ */ React20.createElement(OrderCard, { key: order.id, order }))) : /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-10 shadow-sm" }, /* @__PURE__ */ React20.createElement(
10414
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-6" }, isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement(OrderCardSkeleton, { key: index }))) : hasOrders ? /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, orders.map((order) => /* @__PURE__ */ React21.createElement(OrderCard, { key: order.id, order }))) : /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-10 shadow-sm" }, /* @__PURE__ */ React21.createElement(
10415
10415
  EmptyState,
10416
10416
  {
10417
10417
  icon: PackageCheck,
@@ -10421,7 +10421,7 @@ function CurrentOrdersScreen() {
10421
10421
  onAction: () => router.push(buildPath("/shop"))
10422
10422
  }
10423
10423
  ))),
10424
- /* @__PURE__ */ React20.createElement("aside", { className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-lg font-semibold text-slate-900" }, "Real-time milestones"), /* @__PURE__ */ React20.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement(Warehouse, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Preparation"), /* @__PURE__ */ React20.createElement("p", null, "Our pharmacists verify ingredients and pack thermo-sensitive items."))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement(Truck, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "In transit"), /* @__PURE__ */ React20.createElement("p", null, "Track live courier location with ETA updates tailored to your delivery window."))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React20.createElement(BellRing, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold text-slate-800" }, "Arrival alerts"), /* @__PURE__ */ React20.createElement("p", null, "Receive SMS and email notifications when parcels are out for delivery."))))), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React20.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need support?"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 leading-relaxed" }, "Our fulfillment team is online 7 days a week. Message us if you need to adjust delivery instructions or review dosage guidance.")))
10424
+ /* @__PURE__ */ React21.createElement("aside", { className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-lg font-semibold text-slate-900" }, "Real-time milestones"), /* @__PURE__ */ React21.createElement("div", { className: "mt-4 space-y-4 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement(Warehouse, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Preparation"), /* @__PURE__ */ React21.createElement("p", null, "Our pharmacists verify ingredients and pack thermo-sensitive items."))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement(Truck, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "In transit"), /* @__PURE__ */ React21.createElement("p", null, "Track live courier location with ETA updates tailored to your delivery window."))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 rounded-2xl bg-slate-50 p-4" }, /* @__PURE__ */ React21.createElement(BellRing, { className: "h-5 w-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold text-slate-800" }, "Arrival alerts"), /* @__PURE__ */ React21.createElement("p", null, "Receive SMS and email notifications when parcels are out for delivery."))))), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-primary-100 bg-primary-50/70 p-6 text-sm text-primary-700 shadow-sm" }, /* @__PURE__ */ React21.createElement("p", { className: "font-semibold uppercase tracking-[0.3em]" }, "Need support?"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 leading-relaxed" }, "Our fulfillment team is online 7 days a week. Message us if you need to adjust delivery instructions or review dosage guidance.")))
10425
10425
  ))));
10426
10426
  }
10427
10427
  var addressFormSchema = z.object({
@@ -10454,12 +10454,12 @@ function formatAddressSnippet(address) {
10454
10454
  function getAddressTypeCopy(type) {
10455
10455
  switch (type) {
10456
10456
  case "Billing":
10457
- return { label: "Billing", icon: /* @__PURE__ */ React20.createElement(Home, { className: "h-4 w-4" }) };
10457
+ return { label: "Billing", icon: /* @__PURE__ */ React21.createElement(Home, { className: "h-4 w-4" }) };
10458
10458
  case "Both":
10459
- return { label: "Billing & Shipping", icon: /* @__PURE__ */ React20.createElement(Globe, { className: "h-4 w-4" }) };
10459
+ return { label: "Billing & Shipping", icon: /* @__PURE__ */ React21.createElement(Globe, { className: "h-4 w-4" }) };
10460
10460
  case "Shipping":
10461
10461
  default:
10462
- return { label: "Shipping", icon: /* @__PURE__ */ React20.createElement(MapPin, { className: "h-4 w-4" }) };
10462
+ return { label: "Shipping", icon: /* @__PURE__ */ React21.createElement(MapPin, { className: "h-4 w-4" }) };
10463
10463
  }
10464
10464
  }
10465
10465
  function AddressesScreen() {
@@ -10603,18 +10603,18 @@ You can add it back at any time.`
10603
10603
  }
10604
10604
  ];
10605
10605
  }, [addresses]);
10606
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.3),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement(
10606
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.3),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement(
10607
10607
  motion.div,
10608
10608
  {
10609
10609
  initial: { opacity: 0, y: 24 },
10610
10610
  animate: { opacity: 1, y: 0 },
10611
10611
  className: "space-y-5"
10612
10612
  },
10613
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(MapPin, { className: "h-4 w-4" }), "Address book"),
10614
- /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Manage where your care arrives"),
10615
- /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Add home, office, or loved ones' addresses and toggle a default for lightning-fast checkout and delivery."),
10616
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/75" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-white" }), "Default address: ", defaultAddress ? defaultAddress.name : "Not set"), /* @__PURE__ */ React20.createElement(Button, { variant: "ghost", className: "text-white hover:bg-white/10", onClick: openCreateModal }, /* @__PURE__ */ React20.createElement(Plus, { className: "h-5 w-5" }), "Add address"))
10617
- ), /* @__PURE__ */ React20.createElement(
10613
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(MapPin, { className: "h-4 w-4" }), "Address book"),
10614
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Manage where your care arrives"),
10615
+ /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Add home, office, or loved ones' addresses and toggle a default for lightning-fast checkout and delivery."),
10616
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3 text-sm text-white/75" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-white" }), "Default address: ", defaultAddress ? defaultAddress.name : "Not set"), /* @__PURE__ */ React21.createElement(Button, { variant: "ghost", className: "text-white hover:bg-white/10", onClick: openCreateModal }, /* @__PURE__ */ React21.createElement(Plus, { className: "h-5 w-5" }), "Add address"))
10617
+ ), /* @__PURE__ */ React21.createElement(
10618
10618
  motion.div,
10619
10619
  {
10620
10620
  initial: { opacity: 0, y: 24 },
@@ -10622,14 +10622,14 @@ You can add it back at any time.`
10622
10622
  transition: { delay: 0.1 },
10623
10623
  className: "grid gap-4 rounded-3xl bg-white/15 p-6 text-sm text-white/80 backdrop-blur"
10624
10624
  },
10625
- stats.map((stat) => /* @__PURE__ */ React20.createElement("div", { key: stat.id, className: "flex items-center justify-between" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-white/70" }, stat.label), /* @__PURE__ */ React20.createElement("p", { className: "text-white" }, stat.helper)), /* @__PURE__ */ React20.createElement("span", { className: "text-3xl font-semibold text-white" }, stat.value)))
10626
- )))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React20.createElement(
10625
+ stats.map((stat) => /* @__PURE__ */ React21.createElement("div", { key: stat.id, className: "flex items-center justify-between" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-xs font-semibold uppercase tracking-[0.3em] text-white/70" }, stat.label), /* @__PURE__ */ React21.createElement("p", { className: "text-white" }, stat.helper)), /* @__PURE__ */ React21.createElement("span", { className: "text-3xl font-semibold text-white" }, stat.value)))
10626
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21.createElement(
10627
10627
  "div",
10628
10628
  {
10629
10629
  key: index,
10630
10630
  className: "h-56 animate-pulse rounded-3xl border border-slate-100 bg-white"
10631
10631
  }
10632
- ))) : error ? /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-red-100 bg-red-50 p-6 text-sm text-red-700" }, error.message) : addresses.length === 0 ? /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-12 shadow-sm" }, /* @__PURE__ */ React20.createElement(
10632
+ ))) : error ? /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-red-100 bg-red-50 p-6 text-sm text-red-700" }, error.message) : addresses.length === 0 ? /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl border border-slate-100 bg-white p-12 shadow-sm" }, /* @__PURE__ */ React21.createElement(
10633
10633
  EmptyState,
10634
10634
  {
10635
10635
  icon: MapPin,
@@ -10638,9 +10638,9 @@ You can add it back at any time.`
10638
10638
  actionLabel: "Add your first address",
10639
10639
  onAction: openCreateModal
10640
10640
  }
10641
- )) : /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, addresses.map((address) => {
10641
+ )) : /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, addresses.map((address) => {
10642
10642
  const typeCopy = getAddressTypeCopy(address.addressType);
10643
- return /* @__PURE__ */ React20.createElement(
10643
+ return /* @__PURE__ */ React21.createElement(
10644
10644
  motion.div,
10645
10645
  {
10646
10646
  key: address.id,
@@ -10648,39 +10648,39 @@ You can add it back at any time.`
10648
10648
  animate: { opacity: 1, y: 0 },
10649
10649
  className: "group relative flex h-full flex-col rounded-3xl border border-slate-100 bg-white p-6 shadow-sm transition hover:-translate-y-1 hover:shadow-xl"
10650
10650
  },
10651
- address.isDefault && /* @__PURE__ */ React20.createElement("span", { className: "absolute right-6 top-6 inline-flex items-center gap-2 rounded-full bg-amber-100 px-3 py-1 text-xs font-semibold text-amber-700" }, /* @__PURE__ */ React20.createElement(Crown, { className: "h-4 w-4" }), "Default"),
10652
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("span", { className: "rounded-full bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React20.createElement(User, { className: "h-5 w-5" })), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("p", { className: "text-base font-semibold text-slate-900" }, address.name), /* @__PURE__ */ React20.createElement("p", { className: "text-xs uppercase tracking-[0.3em] text-slate-400" }, typeCopy.label))),
10653
- /* @__PURE__ */ React20.createElement("div", { className: "mt-6 flex flex-1 flex-col gap-3 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("p", null, formatAddressSnippet(address)), /* @__PURE__ */ React20.createElement("p", { className: "inline-flex items-center gap-2 text-slate-500" }, /* @__PURE__ */ React20.createElement(Phone, { className: "h-4 w-4 text-slate-400" }), address.phone || "Not provided")),
10654
- /* @__PURE__ */ React20.createElement("div", { className: "mt-6 flex items-center justify-between gap-3" }, /* @__PURE__ */ React20.createElement(
10651
+ address.isDefault && /* @__PURE__ */ React21.createElement("span", { className: "absolute right-6 top-6 inline-flex items-center gap-2 rounded-full bg-amber-100 px-3 py-1 text-xs font-semibold text-amber-700" }, /* @__PURE__ */ React21.createElement(Crown, { className: "h-4 w-4" }), "Default"),
10652
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("span", { className: "rounded-full bg-primary-50 p-3 text-primary-600" }, /* @__PURE__ */ React21.createElement(User, { className: "h-5 w-5" })), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("p", { className: "text-base font-semibold text-slate-900" }, address.name), /* @__PURE__ */ React21.createElement("p", { className: "text-xs uppercase tracking-[0.3em] text-slate-400" }, typeCopy.label))),
10653
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-6 flex flex-1 flex-col gap-3 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("p", null, formatAddressSnippet(address)), /* @__PURE__ */ React21.createElement("p", { className: "inline-flex items-center gap-2 text-slate-500" }, /* @__PURE__ */ React21.createElement(Phone, { className: "h-4 w-4 text-slate-400" }), address.phone || "Not provided")),
10654
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-6 flex items-center justify-between gap-3" }, /* @__PURE__ */ React21.createElement(
10655
10655
  "button",
10656
10656
  {
10657
10657
  type: "button",
10658
10658
  onClick: () => openEditModal(address),
10659
10659
  className: "inline-flex items-center gap-2 rounded-full border border-slate-200 px-3 py-1 text-sm font-medium text-slate-600 transition hover:border-primary-300 hover:text-primary-600"
10660
10660
  },
10661
- /* @__PURE__ */ React20.createElement(Edit3, { className: "h-4 w-4" }),
10661
+ /* @__PURE__ */ React21.createElement(Edit3, { className: "h-4 w-4" }),
10662
10662
  "Edit"
10663
- ), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, !address.isDefault && /* @__PURE__ */ React20.createElement(
10663
+ ), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, !address.isDefault && /* @__PURE__ */ React21.createElement(
10664
10664
  "button",
10665
10665
  {
10666
10666
  type: "button",
10667
10667
  onClick: () => handleSetDefault(address),
10668
10668
  className: "inline-flex items-center gap-2 rounded-full border border-amber-200 px-3 py-1 text-sm font-semibold text-amber-600 transition hover:border-amber-300 hover:text-amber-700"
10669
10669
  },
10670
- /* @__PURE__ */ React20.createElement(Star, { className: "h-4 w-4" }),
10670
+ /* @__PURE__ */ React21.createElement(Star, { className: "h-4 w-4" }),
10671
10671
  "Make default"
10672
- ), /* @__PURE__ */ React20.createElement(
10672
+ ), /* @__PURE__ */ React21.createElement(
10673
10673
  "button",
10674
10674
  {
10675
10675
  type: "button",
10676
10676
  onClick: () => handleDelete(address),
10677
10677
  className: "inline-flex items-center gap-2 rounded-full border border-red-200 px-3 py-1 text-sm font-semibold text-red-600 transition hover:border-red-300 hover:text-red-700"
10678
10678
  },
10679
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-4 w-4" }),
10679
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-4 w-4" }),
10680
10680
  "Delete"
10681
10681
  )))
10682
10682
  );
10683
- })))), /* @__PURE__ */ React20.createElement(
10683
+ })))), /* @__PURE__ */ React21.createElement(
10684
10684
  Modal,
10685
10685
  {
10686
10686
  isOpen: isModalOpen,
@@ -10688,7 +10688,7 @@ You can add it back at any time.`
10688
10688
  title: editingAddress ? "Edit address" : "Add new address",
10689
10689
  size: "lg"
10690
10690
  },
10691
- /* @__PURE__ */ React20.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10691
+ /* @__PURE__ */ React21.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "space-y-6" }, /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10692
10692
  Input,
10693
10693
  {
10694
10694
  label: "Full name",
@@ -10696,7 +10696,7 @@ You can add it back at any time.`
10696
10696
  ...register("fullName"),
10697
10697
  error: errors.fullName?.message
10698
10698
  }
10699
- ), /* @__PURE__ */ React20.createElement(
10699
+ ), /* @__PURE__ */ React21.createElement(
10700
10700
  Input,
10701
10701
  {
10702
10702
  label: "Phone number",
@@ -10704,7 +10704,7 @@ You can add it back at any time.`
10704
10704
  ...register("phone"),
10705
10705
  error: errors.phone?.message
10706
10706
  }
10707
- )), /* @__PURE__ */ React20.createElement(
10707
+ )), /* @__PURE__ */ React21.createElement(
10708
10708
  Input,
10709
10709
  {
10710
10710
  label: "Address line 1",
@@ -10712,7 +10712,7 @@ You can add it back at any time.`
10712
10712
  ...register("addressLine1"),
10713
10713
  error: errors.addressLine1?.message
10714
10714
  }
10715
- ), /* @__PURE__ */ React20.createElement(
10715
+ ), /* @__PURE__ */ React21.createElement(
10716
10716
  Input,
10717
10717
  {
10718
10718
  label: "Address line 2 (optional)",
@@ -10720,7 +10720,7 @@ You can add it back at any time.`
10720
10720
  ...register("addressLine2"),
10721
10721
  error: errors.addressLine2?.message
10722
10722
  }
10723
- ), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10723
+ ), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10724
10724
  Input,
10725
10725
  {
10726
10726
  label: "City",
@@ -10728,7 +10728,7 @@ You can add it back at any time.`
10728
10728
  ...register("city"),
10729
10729
  error: errors.city?.message
10730
10730
  }
10731
- ), /* @__PURE__ */ React20.createElement(
10731
+ ), /* @__PURE__ */ React21.createElement(
10732
10732
  Input,
10733
10733
  {
10734
10734
  label: "State / Region",
@@ -10736,7 +10736,7 @@ You can add it back at any time.`
10736
10736
  ...register("state"),
10737
10737
  error: errors.state?.message
10738
10738
  }
10739
- )), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10739
+ )), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10740
10740
  Input,
10741
10741
  {
10742
10742
  label: "Postal code",
@@ -10744,7 +10744,7 @@ You can add it back at any time.`
10744
10744
  ...register("zipCode"),
10745
10745
  error: errors.zipCode?.message
10746
10746
  }
10747
- ), /* @__PURE__ */ React20.createElement(
10747
+ ), /* @__PURE__ */ React21.createElement(
10748
10748
  Input,
10749
10749
  {
10750
10750
  label: "Country",
@@ -10752,23 +10752,23 @@ You can add it back at any time.`
10752
10752
  ...register("country"),
10753
10753
  error: errors.country?.message
10754
10754
  }
10755
- )), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement("label", { className: "flex flex-col gap-2 rounded-2xl border border-slate-200 p-4" }, /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-semibold text-slate-700" }, "Address type"), /* @__PURE__ */ React20.createElement(
10755
+ )), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement("label", { className: "flex flex-col gap-2 rounded-2xl border border-slate-200 p-4" }, /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-semibold text-slate-700" }, "Address type"), /* @__PURE__ */ React21.createElement(
10756
10756
  "select",
10757
10757
  {
10758
10758
  ...register("addressType"),
10759
10759
  className: "rounded-xl border border-slate-200 px-3 py-2 text-sm text-slate-700 focus:border-primary-400 focus:outline-none focus:ring-2 focus:ring-primary-500/20"
10760
10760
  },
10761
- /* @__PURE__ */ React20.createElement("option", { value: "Shipping" }, "Shipping"),
10762
- /* @__PURE__ */ React20.createElement("option", { value: "Billing" }, "Billing"),
10763
- /* @__PURE__ */ React20.createElement("option", { value: "Both" }, "Billing & Shipping")
10764
- )), /* @__PURE__ */ React20.createElement("label", { className: "flex items-center justify-between gap-4 rounded-2xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm font-medium text-slate-700" }, /* @__PURE__ */ React20.createElement("span", null, "Set as default address"), /* @__PURE__ */ React20.createElement(
10761
+ /* @__PURE__ */ React21.createElement("option", { value: "Shipping" }, "Shipping"),
10762
+ /* @__PURE__ */ React21.createElement("option", { value: "Billing" }, "Billing"),
10763
+ /* @__PURE__ */ React21.createElement("option", { value: "Both" }, "Billing & Shipping")
10764
+ )), /* @__PURE__ */ React21.createElement("label", { className: "flex items-center justify-between gap-4 rounded-2xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm font-medium text-slate-700" }, /* @__PURE__ */ React21.createElement("span", null, "Set as default address"), /* @__PURE__ */ React21.createElement(
10765
10765
  "input",
10766
10766
  {
10767
10767
  type: "checkbox",
10768
10768
  ...register("isDefault"),
10769
10769
  className: "h-4 w-4 rounded border-primary-300 text-primary-600 focus:ring-primary-500"
10770
10770
  }
10771
- ))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-end gap-3" }, /* @__PURE__ */ React20.createElement(Button, { type: "button", variant: "outline", onClick: closeModal }, "Cancel"), /* @__PURE__ */ React20.createElement(Button, { type: "submit", isLoading: isSubmitting }, editingAddress ? "Save changes" : "Save address")))
10771
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-end gap-3" }, /* @__PURE__ */ React21.createElement(Button, { type: "button", variant: "outline", onClick: closeModal }, "Cancel"), /* @__PURE__ */ React21.createElement(Button, { type: "submit", isLoading: isSubmitting }, editingAddress ? "Save changes" : "Save address")))
10772
10772
  ));
10773
10773
  }
10774
10774
  function useWishlistProducts(productIds = []) {
@@ -10908,14 +10908,14 @@ function WishlistScreen() {
10908
10908
  return list;
10909
10909
  }, [wishlistProducts, onlyInStock, sortOption]);
10910
10910
  const emptyAfterFiltering = !isLoading && wishlistProducts.length > 0 && processedProducts.length === 0;
10911
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50 pb-16" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] pb-32 pt-16 text-white" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 opacity-40 mix-blend-soft-light", "aria-hidden": "true" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute -top-1/2 right-1/2 h-[40rem] w-[40rem] rounded-full bg-white/10 blur-3xl" }), /* @__PURE__ */ React20.createElement("div", { className: "absolute left-1/4 top-1/4 h-48 w-48 rounded-full bg-white/20 blur-2xl" })), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "max-w-3xl space-y-6" }, /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Heart, { className: "h-4 w-4" }), "Wishlist"), /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, "Curate your pharmacy must-haves in one calming space"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "We keep your favourite products ready for reorder, refill reminders, and quick checkout\u2014exactly when you need them.")))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-20" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
10911
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50 pb-16" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] pb-32 pt-16 text-white" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 opacity-40 mix-blend-soft-light", "aria-hidden": "true" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute -top-1/2 right-1/2 h-[40rem] w-[40rem] rounded-full bg-white/10 blur-3xl" }), /* @__PURE__ */ React21.createElement("div", { className: "absolute left-1/4 top-1/4 h-48 w-48 rounded-full bg-white/20 blur-2xl" })), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "max-w-3xl space-y-6" }, /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Heart, { className: "h-4 w-4" }), "Wishlist"), /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold leading-tight md:text-5xl" }, "Curate your pharmacy must-haves in one calming space"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "We keep your favourite products ready for reorder, refill reminders, and quick checkout\u2014exactly when you need them.")))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-20" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
10912
10912
  motion.div,
10913
10913
  {
10914
10914
  initial: { opacity: 0, y: 24 },
10915
10915
  animate: { opacity: 1, y: 0 },
10916
10916
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-xl shadow-primary-50"
10917
10917
  },
10918
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-6" }, !isAuthenticated && /* @__PURE__ */ React20.createElement("div", { className: "flex min-h-[40vh] items-center justify-center" }, /* @__PURE__ */ React20.createElement("div", { className: "max-w-lg rounded-3xl border border-slate-100 bg-white p-10 text-center shadow-lg shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "mx-auto flex h-16 w-16 items-center justify-center rounded-full bg-primary-50 text-primary-600" }, /* @__PURE__ */ React20.createElement(Heart, { className: "h-8 w-8" })), /* @__PURE__ */ React20.createElement("h2", { className: "mt-6 text-3xl font-bold text-slate-900" }, "Sign in to see your favourites"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-slate-500" }, "Create your curated shelf of products and we'll keep them ready whenever you return."), /* @__PURE__ */ React20.createElement(Button, { className: "mt-6", onClick: () => router.push(buildPath("/login")) }, "Sign In"))), isAuthenticated && /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-1" }, /* @__PURE__ */ React20.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Your saved collection"), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, "Total value: ", /* @__PURE__ */ React20.createElement("span", { className: "font-semibold text-primary-600" }, formatPrice(totalValue)), onlyInStock && " \u2022 Showing items ready to ship")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3" }, /* @__PURE__ */ React20.createElement("label", { className: "inline-flex cursor-pointer items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm font-medium text-slate-600 transition hover:border-primary-200 hover:text-primary-600" }, /* @__PURE__ */ React20.createElement(
10918
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6" }, !isAuthenticated && /* @__PURE__ */ React21.createElement("div", { className: "flex min-h-[40vh] items-center justify-center" }, /* @__PURE__ */ React21.createElement("div", { className: "max-w-lg rounded-3xl border border-slate-100 bg-white p-10 text-center shadow-lg shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "mx-auto flex h-16 w-16 items-center justify-center rounded-full bg-primary-50 text-primary-600" }, /* @__PURE__ */ React21.createElement(Heart, { className: "h-8 w-8" })), /* @__PURE__ */ React21.createElement("h2", { className: "mt-6 text-3xl font-bold text-slate-900" }, "Sign in to see your favourites"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-slate-500" }, "Create your curated shelf of products and we'll keep them ready whenever you return."), /* @__PURE__ */ React21.createElement(Button, { className: "mt-6", onClick: () => router.push(buildPath("/login")) }, "Sign In"))), isAuthenticated && /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-1" }, /* @__PURE__ */ React21.createElement("h2", { className: "text-2xl font-semibold text-slate-900" }, "Your saved collection"), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, "Total value: ", /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-primary-600" }, formatPrice(totalValue)), onlyInStock && " \u2022 Showing items ready to ship")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3" }, /* @__PURE__ */ React21.createElement("label", { className: "inline-flex cursor-pointer items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm font-medium text-slate-600 transition hover:border-primary-200 hover:text-primary-600" }, /* @__PURE__ */ React21.createElement(
10919
10919
  "input",
10920
10920
  {
10921
10921
  type: "checkbox",
@@ -10923,54 +10923,54 @@ function WishlistScreen() {
10923
10923
  onChange: (event) => setOnlyInStock(event.target.checked),
10924
10924
  className: "h-4 w-4 rounded border-slate-300 text-primary-600 focus:ring-primary-500"
10925
10925
  }
10926
- ), "Only show in-stock"), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm text-slate-600" }, /* @__PURE__ */ React20.createElement("span", null, "Sort"), /* @__PURE__ */ React20.createElement(
10926
+ ), "Only show in-stock"), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2 rounded-full border border-slate-200 bg-slate-50 px-3 py-1.5 text-sm text-slate-600" }, /* @__PURE__ */ React21.createElement("span", null, "Sort"), /* @__PURE__ */ React21.createElement(
10927
10927
  "select",
10928
10928
  {
10929
10929
  value: sortOption,
10930
10930
  onChange: (event) => setSortOption(event.target.value),
10931
10931
  className: "bg-transparent text-sm font-medium text-slate-700 outline-none"
10932
10932
  },
10933
- SORT_OPTIONS.map((option) => /* @__PURE__ */ React20.createElement("option", { key: option.value, value: option.value }, option.label))
10934
- )), /* @__PURE__ */ React20.createElement("div", { className: "flex overflow-hidden rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React20.createElement(
10933
+ SORT_OPTIONS.map((option) => /* @__PURE__ */ React21.createElement("option", { key: option.value, value: option.value }, option.label))
10934
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex overflow-hidden rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React21.createElement(
10935
10935
  "button",
10936
10936
  {
10937
10937
  type: "button",
10938
10938
  onClick: () => setViewMode("grid"),
10939
10939
  className: `flex items-center gap-1 px-3 py-1.5 text-sm font-medium transition ${viewMode === "grid" ? "bg-primary-600 text-white shadow-lg shadow-primary-500/30" : "text-slate-600 hover:bg-white"}`
10940
10940
  },
10941
- /* @__PURE__ */ React20.createElement(Grid, { className: "h-4 w-4" }),
10941
+ /* @__PURE__ */ React21.createElement(Grid, { className: "h-4 w-4" }),
10942
10942
  "Grid"
10943
- ), /* @__PURE__ */ React20.createElement(
10943
+ ), /* @__PURE__ */ React21.createElement(
10944
10944
  "button",
10945
10945
  {
10946
10946
  type: "button",
10947
10947
  onClick: () => setViewMode("list"),
10948
10948
  className: `flex items-center gap-1 px-3 py-1.5 text-sm font-medium transition ${viewMode === "list" ? "bg-primary-600 text-white shadow-lg shadow-primary-500/30" : "text-slate-600 hover:bg-white"}`
10949
10949
  },
10950
- /* @__PURE__ */ React20.createElement(List, { className: "h-4 w-4" }),
10950
+ /* @__PURE__ */ React21.createElement(List, { className: "h-4 w-4" }),
10951
10951
  "List"
10952
- )), wishlistCount > 0 && /* @__PURE__ */ React20.createElement(
10952
+ )), wishlistCount > 0 && /* @__PURE__ */ React21.createElement(
10953
10953
  Button,
10954
10954
  {
10955
10955
  variant: "ghost",
10956
10956
  className: "text-sm font-semibold text-slate-500 hover:text-red-500",
10957
10957
  onClick: handleClearWishlist
10958
10958
  },
10959
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-4 w-4" }),
10959
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-4 w-4" }),
10960
10960
  "Clear all"
10961
- ))), isLoading && /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3" }, Array.from({ length: Math.min(wishlistCount || 3, 6) }).map((_, index) => /* @__PURE__ */ React20.createElement(
10961
+ ))), isLoading && /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3" }, Array.from({ length: Math.min(wishlistCount || 3, 6) }).map((_, index) => /* @__PURE__ */ React21.createElement(
10962
10962
  "div",
10963
10963
  {
10964
10964
  key: index,
10965
10965
  className: "h-72 animate-pulse rounded-2xl border border-slate-200 bg-slate-100"
10966
10966
  }
10967
- ))), !isLoading && wishlistCount === 0 && /* @__PURE__ */ React20.createElement("div", { className: "flex min-h-[30vh] items-center justify-center" }, /* @__PURE__ */ React20.createElement("div", { className: "max-w-2xl rounded-3xl border border-slate-100 bg-white p-12 text-center shadow-xl shadow-primary-50" }, /* @__PURE__ */ React20.createElement("div", { className: "mx-auto flex h-20 w-20 items-center justify-center rounded-full bg-primary-100 text-primary-600" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-10 w-10" })), /* @__PURE__ */ React20.createElement("h2", { className: "mt-6 text-4xl font-bold text-slate-900" }, "Start your wellness wishlist"), /* @__PURE__ */ React20.createElement("p", { className: "mt-4 text-lg text-slate-500" }, "Bookmark pharmacy essentials, supplements, or skincare picks and we'll keep them safe until you're ready to checkout."), /* @__PURE__ */ React20.createElement("div", { className: "mt-8 flex flex-wrap justify-center gap-3" }, /* @__PURE__ */ React20.createElement(Button, { onClick: () => router.push(buildPath("/shop")) }, "Discover products"), /* @__PURE__ */ React20.createElement(Button, { variant: "outline", onClick: () => router.push(buildPath("/categories")) }, "Browse categories")))), !isLoading && processedProducts.length > 0 && /* @__PURE__ */ React20.createElement(React20.Fragment, null, viewMode === "grid" ? /* @__PURE__ */ React20.createElement(
10967
+ ))), !isLoading && wishlistCount === 0 && /* @__PURE__ */ React21.createElement("div", { className: "flex min-h-[30vh] items-center justify-center" }, /* @__PURE__ */ React21.createElement("div", { className: "max-w-2xl rounded-3xl border border-slate-100 bg-white p-12 text-center shadow-xl shadow-primary-50" }, /* @__PURE__ */ React21.createElement("div", { className: "mx-auto flex h-20 w-20 items-center justify-center rounded-full bg-primary-100 text-primary-600" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-10 w-10" })), /* @__PURE__ */ React21.createElement("h2", { className: "mt-6 text-4xl font-bold text-slate-900" }, "Start your wellness wishlist"), /* @__PURE__ */ React21.createElement("p", { className: "mt-4 text-lg text-slate-500" }, "Bookmark pharmacy essentials, supplements, or skincare picks and we'll keep them safe until you're ready to checkout."), /* @__PURE__ */ React21.createElement("div", { className: "mt-8 flex flex-wrap justify-center gap-3" }, /* @__PURE__ */ React21.createElement(Button, { onClick: () => router.push(buildPath("/shop")) }, "Discover products"), /* @__PURE__ */ React21.createElement(Button, { variant: "outline", onClick: () => router.push(buildPath("/categories")) }, "Browse categories")))), !isLoading && processedProducts.length > 0 && /* @__PURE__ */ React21.createElement(React21.Fragment, null, viewMode === "grid" ? /* @__PURE__ */ React21.createElement(
10968
10968
  motion.div,
10969
10969
  {
10970
10970
  layout: true,
10971
10971
  className: "grid grid-cols-1 gap-5 sm:grid-cols-2 xl:grid-cols-3"
10972
10972
  },
10973
- /* @__PURE__ */ React20.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React20.createElement(
10973
+ /* @__PURE__ */ React21.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React21.createElement(
10974
10974
  motion.div,
10975
10975
  {
10976
10976
  key: product.id,
@@ -10980,7 +10980,7 @@ function WishlistScreen() {
10980
10980
  exit: { opacity: 0, y: -20 },
10981
10981
  transition: { duration: 0.2 }
10982
10982
  },
10983
- /* @__PURE__ */ React20.createElement(
10983
+ /* @__PURE__ */ React21.createElement(
10984
10984
  ProductCard,
10985
10985
  {
10986
10986
  product,
@@ -10990,7 +10990,7 @@ function WishlistScreen() {
10990
10990
  }
10991
10991
  )
10992
10992
  )))
10993
- ) : /* @__PURE__ */ React20.createElement(motion.div, { layout: true, className: "space-y-4" }, /* @__PURE__ */ React20.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React20.createElement(
10993
+ ) : /* @__PURE__ */ React21.createElement(motion.div, { layout: true, className: "space-y-4" }, /* @__PURE__ */ React21.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React21.createElement(
10994
10994
  motion.div,
10995
10995
  {
10996
10996
  key: product.id,
@@ -11001,7 +11001,7 @@ function WishlistScreen() {
11001
11001
  transition: { duration: 0.2 },
11002
11002
  className: "flex flex-col gap-4 rounded-2xl border border-slate-100 bg-slate-50 p-4 shadow-sm shadow-primary-50 sm:flex-row sm:items-center"
11003
11003
  },
11004
- /* @__PURE__ */ React20.createElement("div", { className: "relative h-28 w-full overflow-hidden rounded-2xl bg-white sm:w-40" }, /* @__PURE__ */ React20.createElement(
11004
+ /* @__PURE__ */ React21.createElement("div", { className: "relative h-28 w-full overflow-hidden rounded-2xl bg-white sm:w-40" }, /* @__PURE__ */ React21.createElement(
11005
11005
  Image3,
11006
11006
  {
11007
11007
  fill: true,
@@ -11010,14 +11010,14 @@ function WishlistScreen() {
11010
11010
  className: "h-full w-full object-cover"
11011
11011
  }
11012
11012
  )),
11013
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-1 flex-col gap-2" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center justify-between gap-3" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, product.name), /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-slate-500" }, product.parentCategories?.map((category) => category?.name).join(", ") || "General wellness")), /* @__PURE__ */ React20.createElement("div", { className: "text-right" }, /* @__PURE__ */ React20.createElement("p", { className: "text-lg font-bold text-primary-600" }, formatPrice(product.finalPrice ?? 0)), product.isDiscounted && /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-emerald-500" }, "You save ", formatPrice(Math.max((product.priceBeforeDiscount ?? 0) - (product.finalPrice ?? 0), 0))))), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap items-center gap-3 text-xs text-slate-500" }, /* @__PURE__ */ React20.createElement("span", { className: `inline-flex items-center gap-1 rounded-full px-2.5 py-1 font-medium ${product.inventoryCount > 0 ? "bg-emerald-100 text-emerald-700" : "bg-rose-100 text-rose-700"}` }, /* @__PURE__ */ React20.createElement(Package, { className: "h-3.5 w-3.5" }), product.inventoryCount > 0 ? "In stock" : "Backordered"), product.totalSold > 0 && /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-slate-200 px-2.5 py-1 font-medium text-slate-700" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-3.5 w-3.5" }), product.totalSold, "+ purchased")), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-wrap gap-2" }, /* @__PURE__ */ React20.createElement(
11013
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-1 flex-col gap-2" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center justify-between gap-3" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, product.name), /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-slate-500" }, product.parentCategories?.map((category) => category?.name).join(", ") || "General wellness")), /* @__PURE__ */ React21.createElement("div", { className: "text-right" }, /* @__PURE__ */ React21.createElement("p", { className: "text-lg font-bold text-primary-600" }, formatPrice(product.finalPrice ?? 0)), product.isDiscounted && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-emerald-500" }, "You save ", formatPrice(Math.max((product.priceBeforeDiscount ?? 0) - (product.finalPrice ?? 0), 0))))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap items-center gap-3 text-xs text-slate-500" }, /* @__PURE__ */ React21.createElement("span", { className: `inline-flex items-center gap-1 rounded-full px-2.5 py-1 font-medium ${product.inventoryCount > 0 ? "bg-emerald-100 text-emerald-700" : "bg-rose-100 text-rose-700"}` }, /* @__PURE__ */ React21.createElement(Package, { className: "h-3.5 w-3.5" }), product.inventoryCount > 0 ? "In stock" : "Backordered"), product.totalSold > 0 && /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-slate-200 px-2.5 py-1 font-medium text-slate-700" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-3.5 w-3.5" }), product.totalSold, "+ purchased")), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-2" }, /* @__PURE__ */ React21.createElement(
11014
11014
  Button,
11015
11015
  {
11016
11016
  size: "sm",
11017
11017
  onClick: () => router.push(buildPath(`/products/${product.id}`))
11018
11018
  },
11019
11019
  "View details"
11020
- ), /* @__PURE__ */ React20.createElement(
11020
+ ), /* @__PURE__ */ React21.createElement(
11021
11021
  Button,
11022
11022
  {
11023
11023
  size: "sm",
@@ -11027,7 +11027,7 @@ function WishlistScreen() {
11027
11027
  },
11028
11028
  "Remove"
11029
11029
  )))
11030
- ))))), isAuthenticated && emptyAfterFiltering && /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col items-center justify-center rounded-2xl border border-dashed border-slate-200 bg-slate-50 p-12 text-center" }, /* @__PURE__ */ React20.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-slate-200 text-slate-500" }, /* @__PURE__ */ React20.createElement(Package, { className: "h-8 w-8" })), /* @__PURE__ */ React20.createElement("h3", { className: "mt-6 text-2xl font-semibold text-slate-900" }, "Nothing matches those filters"), /* @__PURE__ */ React20.createElement("p", { className: "mt-2 max-w-md text-sm text-slate-500" }, "Try showing out-of-stock items or adjust your sort order to revisit everything you\u2019ve saved."), /* @__PURE__ */ React20.createElement(Button, { className: "mt-6", variant: "outline", onClick: () => setOnlyInStock(false) }, "Show all saved products"))))
11030
+ ))))), isAuthenticated && emptyAfterFiltering && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center justify-center rounded-2xl border border-dashed border-slate-200 bg-slate-50 p-12 text-center" }, /* @__PURE__ */ React21.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-slate-200 text-slate-500" }, /* @__PURE__ */ React21.createElement(Package, { className: "h-8 w-8" })), /* @__PURE__ */ React21.createElement("h3", { className: "mt-6 text-2xl font-semibold text-slate-900" }, "Nothing matches those filters"), /* @__PURE__ */ React21.createElement("p", { className: "mt-2 max-w-md text-sm text-slate-500" }, "Try showing out-of-stock items or adjust your sort order to revisit everything you\u2019ve saved."), /* @__PURE__ */ React21.createElement(Button, { className: "mt-6", variant: "outline", onClick: () => setOnlyInStock(false) }, "Show all saved products"))))
11031
11031
  ))));
11032
11032
  }
11033
11033
  function SearchPage() {
@@ -11141,31 +11141,31 @@ function CategoriesScreen() {
11141
11141
  const { categories, isLoading } = useCategories();
11142
11142
  const router = useRouter();
11143
11143
  const { buildPath } = useBasePath();
11144
- return /* @__PURE__ */ React20.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React20.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React20.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement(
11144
+ return /* @__PURE__ */ React21.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21.createElement("section", { className: "relative overflow-hidden bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))] text-white mb-8" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement(
11145
11145
  motion.div,
11146
11146
  {
11147
11147
  initial: { opacity: 0, y: 24 },
11148
11148
  animate: { opacity: 1, y: 0 },
11149
11149
  className: "space-y-6"
11150
11150
  },
11151
- /* @__PURE__ */ React20.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React20.createElement(Package, { className: "h-4 w-4" }), "Product Categories"),
11152
- /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React20.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Browse Our Product Range"), /* @__PURE__ */ React20.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Explore our comprehensive selection of healthcare products, carefully curated by our pharmacists to meet all your wellness needs.")), /* @__PURE__ */ React20.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React20.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React20.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use the categories below to quickly find the products you're looking for, or use the search function for specific items.")))
11153
- ))), /* @__PURE__ */ React20.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement(
11151
+ /* @__PURE__ */ React21.createElement("span", { className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-3 py-1 text-sm font-semibold uppercase tracking-[0.35em] text-white/70 backdrop-blur" }, /* @__PURE__ */ React21.createElement(Package, { className: "h-4 w-4" }), "Product Categories"),
11152
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Browse Our Product Range"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-2xl text-white/80 md:text-lg" }, "Explore our comprehensive selection of healthcare products, carefully curated by our pharmacists to meet all your wellness needs.")), /* @__PURE__ */ React21.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use the categories below to quickly find the products you're looking for, or use the search function for specific items.")))
11153
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
11154
11154
  motion.div,
11155
11155
  {
11156
11156
  initial: { opacity: 0, y: 24 },
11157
11157
  animate: { opacity: 1, y: 0 },
11158
11158
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
11159
11159
  },
11160
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500 mb-6" }, /* @__PURE__ */ React20.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "Browse our complete product catalog organized by categories.")),
11161
- isLoading ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, [...Array(8)].map((_, i) => /* @__PURE__ */ React20.createElement("div", { key: i, className: "animate-pulse" }, /* @__PURE__ */ React20.createElement("div", { className: "bg-gray-200 rounded-lg aspect-square mb-2" }), /* @__PURE__ */ React20.createElement("div", { className: "h-4 bg-gray-200 rounded w-3/4 mb-1" }), /* @__PURE__ */ React20.createElement("div", { className: "h-3 bg-gray-200 rounded w-1/2" })))) : categories.length > 0 ? /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, categories.map((category) => /* @__PURE__ */ React20.createElement(
11160
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500 mb-6" }, /* @__PURE__ */ React21.createElement(Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "Browse our complete product catalog organized by categories.")),
11161
+ isLoading ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, [...Array(8)].map((_, i) => /* @__PURE__ */ React21.createElement("div", { key: i, className: "animate-pulse" }, /* @__PURE__ */ React21.createElement("div", { className: "bg-gray-200 rounded-lg aspect-square mb-2" }), /* @__PURE__ */ React21.createElement("div", { className: "h-4 bg-gray-200 rounded w-3/4 mb-1" }), /* @__PURE__ */ React21.createElement("div", { className: "h-3 bg-gray-200 rounded w-1/2" })))) : categories.length > 0 ? /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" }, categories.map((category) => /* @__PURE__ */ React21.createElement(
11162
11162
  Link8,
11163
11163
  {
11164
11164
  key: category.id,
11165
11165
  href: buildPath(`/shop?category=${category.name}`),
11166
11166
  className: "group block overflow-hidden rounded-xl border border-gray-100 bg-white p-4 text-center transition hover:shadow-lg hover:border-primary-500"
11167
11167
  },
11168
- /* @__PURE__ */ React20.createElement("div", { className: "relative aspect-square w-full overflow-hidden rounded-lg bg-gray-50 mb-3" }, category.image ? /* @__PURE__ */ React20.createElement(
11168
+ /* @__PURE__ */ React21.createElement("div", { className: "relative aspect-square w-full overflow-hidden rounded-lg bg-gray-50 mb-3" }, category.image ? /* @__PURE__ */ React21.createElement(
11169
11169
  Image3,
11170
11170
  {
11171
11171
  src: category.image,
@@ -11174,10 +11174,10 @@ function CategoriesScreen() {
11174
11174
  className: "object-cover transition-transform group-hover:scale-105",
11175
11175
  sizes: "(max-width: 768px) 50vw, (max-width: 1200px) 33vw, 25vw"
11176
11176
  }
11177
- ) : /* @__PURE__ */ React20.createElement("div", { className: "flex h-full w-full items-center justify-center bg-gray-100 text-gray-400" }, /* @__PURE__ */ React20.createElement(Package, { className: "h-12 w-12" }))),
11178
- /* @__PURE__ */ React20.createElement("h3", { className: "text-lg font-semibold text-gray-900 group-hover:text-primary-600 transition-colors" }, category.name),
11179
- category.productCount > 0 && /* @__PURE__ */ React20.createElement("p", { className: "mt-1 text-sm text-gray-500" }, category.productCount, " ", category.productCount === 1 ? "product" : "products")
11180
- ))) : /* @__PURE__ */ React20.createElement(
11177
+ ) : /* @__PURE__ */ React21.createElement("div", { className: "flex h-full w-full items-center justify-center bg-gray-100 text-gray-400" }, /* @__PURE__ */ React21.createElement(Package, { className: "h-12 w-12" }))),
11178
+ /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900 group-hover:text-primary-600 transition-colors" }, category.name),
11179
+ category.productCount > 0 && /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-gray-500" }, category.productCount, " ", category.productCount === 1 ? "product" : "products")
11180
+ ))) : /* @__PURE__ */ React21.createElement(
11181
11181
  EmptyState,
11182
11182
  {
11183
11183
  title: "No categories found",
@@ -11344,7 +11344,7 @@ function Header() {
11344
11344
  { href: buildPath("/about"), label: "About" },
11345
11345
  { href: buildPath("/contact"), label: "Contact" }
11346
11346
  ];
11347
- return /* @__PURE__ */ React20.createElement("header", { className: "sticky top-0 z-40 bg-white/80 backdrop-blur-xl border-b border-gray-200 shadow-sm" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between h-20" }, /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/"), className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement("div", { className: "relative w-12 h-12" }, /* @__PURE__ */ React20.createElement(
11347
+ return /* @__PURE__ */ React21.createElement("header", { className: "sticky top-0 z-40 bg-white/80 backdrop-blur-xl border-b border-gray-200 shadow-sm" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between h-20" }, /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/"), className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement("div", { className: "relative w-12 h-12" }, /* @__PURE__ */ React21.createElement(
11348
11348
  Image3,
11349
11349
  {
11350
11350
  src: config.logo,
@@ -11352,7 +11352,7 @@ function Header() {
11352
11352
  fill: true,
11353
11353
  className: "object-contain"
11354
11354
  }
11355
- )), /* @__PURE__ */ React20.createElement("span", { className: "text-2xl font-bold text-gray-900 hidden sm:block" }, config.storeName)), /* @__PURE__ */ React20.createElement("nav", { className: "hidden lg:flex items-center gap-8" }, navLinks.map((link) => /* @__PURE__ */ React20.createElement(
11355
+ )), /* @__PURE__ */ React21.createElement("span", { className: "text-2xl font-bold text-gray-900 hidden sm:block" }, config.storeName)), /* @__PURE__ */ React21.createElement("nav", { className: "hidden lg:flex items-center gap-8" }, navLinks.map((link) => /* @__PURE__ */ React21.createElement(
11356
11356
  Link8,
11357
11357
  {
11358
11358
  key: link.href,
@@ -11360,16 +11360,16 @@ function Header() {
11360
11360
  className: "text-gray-700 hover:text-primary-600 font-medium transition-colors relative group"
11361
11361
  },
11362
11362
  link.label,
11363
- /* @__PURE__ */ React20.createElement("span", { className: "absolute bottom-0 left-0 w-0 h-0.5 bg-primary-600 group-hover:w-full transition-all duration-300" })
11364
- ))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
11363
+ /* @__PURE__ */ React21.createElement("span", { className: "absolute bottom-0 left-0 w-0 h-0.5 bg-primary-600 group-hover:w-full transition-all duration-300" })
11364
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
11365
11365
  "button",
11366
11366
  {
11367
11367
  onClick: () => setIsSearchOpen(!isSearchOpen),
11368
11368
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors",
11369
11369
  "aria-label": "Search"
11370
11370
  },
11371
- /* @__PURE__ */ React20.createElement(Search, { className: "w-5 h-5 text-gray-700" })
11372
- ), /* @__PURE__ */ React20.createElement(AnimatePresence, null, isSearchOpen && /* @__PURE__ */ React20.createElement(
11371
+ /* @__PURE__ */ React21.createElement(Search, { className: "w-5 h-5 text-gray-700" })
11372
+ ), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isSearchOpen && /* @__PURE__ */ React21.createElement(
11373
11373
  motion.div,
11374
11374
  {
11375
11375
  initial: { opacity: 0, width: 0 },
@@ -11377,7 +11377,7 @@ function Header() {
11377
11377
  exit: { opacity: 0, width: 0 },
11378
11378
  className: "absolute right-0 top-full mt-2 bg-white rounded-lg shadow-lg overflow-hidden"
11379
11379
  },
11380
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center p-2 w-64" }, /* @__PURE__ */ React20.createElement(Search, { className: "w-5 h-5 text-gray-400 mr-2" }), /* @__PURE__ */ React20.createElement(
11380
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center p-2 w-64" }, /* @__PURE__ */ React21.createElement(Search, { className: "w-5 h-5 text-gray-400 mr-2" }), /* @__PURE__ */ React21.createElement(
11381
11381
  "input",
11382
11382
  {
11383
11383
  type: "text",
@@ -11392,36 +11392,36 @@ function Header() {
11392
11392
  className: "w-full outline-none text-gray-700",
11393
11393
  autoFocus: true
11394
11394
  }
11395
- ), searchQuery && /* @__PURE__ */ React20.createElement(
11395
+ ), searchQuery && /* @__PURE__ */ React21.createElement(
11396
11396
  "button",
11397
11397
  {
11398
11398
  onClick: () => setSearchQuery(""),
11399
11399
  className: "text-gray-400 hover:text-gray-600"
11400
11400
  },
11401
- /* @__PURE__ */ React20.createElement(X, { className: "w-4 h-4" })
11401
+ /* @__PURE__ */ React21.createElement(X, { className: "w-4 h-4" })
11402
11402
  ))
11403
- ))), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/wishlist"), className: "relative p-2 text-gray-700 hover:text-red-500 transition-colors" }, /* @__PURE__ */ React20.createElement(Heart, { className: "w-6 h-6" }), wishlistCount > 0 && /* @__PURE__ */ React20.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, wishlistCount)), /* @__PURE__ */ React20.createElement(Link8, { href: buildPath("/cart"), className: "relative p-2 text-gray-700 hover:text-primary-600 transition-colors" }, /* @__PURE__ */ React20.createElement(ShoppingCart, { className: "w-6 h-6" }), cart?.cartBody?.items?.length && cart.cartBody?.items?.length > 0 ? /* @__PURE__ */ React20.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, cart.cartBody?.items?.length) : null), isAuthenticated ? /* @__PURE__ */ React20.createElement(
11403
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/wishlist"), className: "relative p-2 text-gray-700 hover:text-red-500 transition-colors" }, /* @__PURE__ */ React21.createElement(Heart, { className: "w-6 h-6" }), wishlistCount > 0 && /* @__PURE__ */ React21.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, wishlistCount)), /* @__PURE__ */ React21.createElement(Link8, { href: buildPath("/cart"), className: "relative p-2 text-gray-700 hover:text-primary-600 transition-colors" }, /* @__PURE__ */ React21.createElement(ShoppingCart, { className: "w-6 h-6" }), cart?.cartBody?.items?.length && cart.cartBody?.items?.length > 0 ? /* @__PURE__ */ React21.createElement("span", { className: "absolute -top-1 -right-1 bg-red-500 text-white text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center" }, cart.cartBody?.items?.length) : null), isAuthenticated ? /* @__PURE__ */ React21.createElement(
11404
11404
  Link8,
11405
11405
  {
11406
11406
  href: buildPath("/account"),
11407
11407
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors"
11408
11408
  },
11409
- /* @__PURE__ */ React20.createElement(User, { className: "w-6 h-6 text-gray-700" })
11410
- ) : /* @__PURE__ */ React20.createElement(
11409
+ /* @__PURE__ */ React21.createElement(User, { className: "w-6 h-6 text-gray-700" })
11410
+ ) : /* @__PURE__ */ React21.createElement(
11411
11411
  Link8,
11412
11412
  {
11413
11413
  href: buildPath("/login"),
11414
11414
  className: "hidden sm:block px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors font-medium"
11415
11415
  },
11416
11416
  "Sign In"
11417
- )), /* @__PURE__ */ React20.createElement(
11417
+ )), /* @__PURE__ */ React21.createElement(
11418
11418
  "button",
11419
11419
  {
11420
11420
  className: "lg:hidden p-2 hover:bg-gray-100 rounded-lg transition-colors",
11421
11421
  onClick: () => setIsMobileMenuOpen(!isMobileMenuOpen)
11422
11422
  },
11423
- isMobileMenuOpen ? /* @__PURE__ */ React20.createElement(X, { className: "w-6 h-6" }) : /* @__PURE__ */ React20.createElement(Menu, { className: "w-6 h-6" })
11424
- )), /* @__PURE__ */ React20.createElement(AnimatePresence, null, isMobileMenuOpen && /* @__PURE__ */ React20.createElement(
11423
+ isMobileMenuOpen ? /* @__PURE__ */ React21.createElement(X, { className: "w-6 h-6" }) : /* @__PURE__ */ React21.createElement(Menu, { className: "w-6 h-6" })
11424
+ )), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isMobileMenuOpen && /* @__PURE__ */ React21.createElement(
11425
11425
  motion.div,
11426
11426
  {
11427
11427
  initial: { opacity: 0, height: 0 },
@@ -11429,7 +11429,7 @@ function Header() {
11429
11429
  exit: { opacity: 0, height: 0 },
11430
11430
  className: "lg:hidden overflow-hidden border-t border-gray-200"
11431
11431
  },
11432
- /* @__PURE__ */ React20.createElement("nav", { className: "flex flex-col gap-1 py-2" }, navLinks.map((link) => /* @__PURE__ */ React20.createElement(
11432
+ /* @__PURE__ */ React21.createElement("nav", { className: "flex flex-col gap-1 py-2" }, navLinks.map((link) => /* @__PURE__ */ React21.createElement(
11433
11433
  Link8,
11434
11434
  {
11435
11435
  key: link.href,
@@ -11438,7 +11438,7 @@ function Header() {
11438
11438
  onClick: () => setIsMobileMenuOpen(false)
11439
11439
  },
11440
11440
  link.label
11441
- )), !isAuthenticated && /* @__PURE__ */ React20.createElement(
11441
+ )), !isAuthenticated && /* @__PURE__ */ React21.createElement(
11442
11442
  Link8,
11443
11443
  {
11444
11444
  href: buildPath("/login"),
@@ -11477,48 +11477,48 @@ function Footer() {
11477
11477
  { label: "Cookie Policy", href: buildPath("/cookies") }
11478
11478
  ]
11479
11479
  };
11480
- return /* @__PURE__ */ React20.createElement("footer", { className: "bg-gray-900 text-gray-300" }, /* @__PURE__ */ React20.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React20.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-12" }, /* @__PURE__ */ React20.createElement("div", { className: "lg:col-span-2" }, /* @__PURE__ */ React20.createElement("h3", { className: "text-2xl font-bold text-white mb-4" }, config.storeName), /* @__PURE__ */ React20.createElement("p", { className: "text-gray-400 mb-6 max-w-md" }, "Your trusted online store for quality products. We deliver excellence with every order."), /* @__PURE__ */ React20.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(Mail, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "support@", config.storeName.toLowerCase().replace(/\s+/g, ""), ".com")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(Phone, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "+1 (555) 123-4567")), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(MapPin, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React20.createElement("span", null, "123 Store Street, City, Country")))), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Shop"), /* @__PURE__ */ React20.createElement("ul", { className: "space-y-2" }, footerLinks.shop.map((link) => /* @__PURE__ */ React20.createElement("li", { key: link.href }, /* @__PURE__ */ React20.createElement(
11480
+ return /* @__PURE__ */ React21.createElement("footer", { className: "bg-gray-900 text-gray-300" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4 py-16" }, /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-12" }, /* @__PURE__ */ React21.createElement("div", { className: "lg:col-span-2" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-2xl font-bold text-white mb-4" }, config.storeName), /* @__PURE__ */ React21.createElement("p", { className: "text-gray-400 mb-6 max-w-md" }, "Your trusted online store for quality products. We deliver excellence with every order."), /* @__PURE__ */ React21.createElement("div", { className: "space-y-3" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(Mail, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "support@", config.storeName.toLowerCase().replace(/\s+/g, ""), ".com")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(Phone, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "+1 (555) 123-4567")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(MapPin, { className: "w-5 h-5 text-primary-500" }), /* @__PURE__ */ React21.createElement("span", null, "123 Store Street, City, Country")))), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Shop"), /* @__PURE__ */ React21.createElement("ul", { className: "space-y-2" }, footerLinks.shop.map((link) => /* @__PURE__ */ React21.createElement("li", { key: link.href }, /* @__PURE__ */ React21.createElement(
11481
11481
  Link8,
11482
11482
  {
11483
11483
  href: link.href,
11484
11484
  className: "hover:text-primary-500 transition-colors"
11485
11485
  },
11486
11486
  link.label
11487
- ))))), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Account"), /* @__PURE__ */ React20.createElement("ul", { className: "space-y-2" }, footerLinks.account.map((link) => /* @__PURE__ */ React20.createElement("li", { key: link.href }, /* @__PURE__ */ React20.createElement(
11487
+ ))))), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Account"), /* @__PURE__ */ React21.createElement("ul", { className: "space-y-2" }, footerLinks.account.map((link) => /* @__PURE__ */ React21.createElement("li", { key: link.href }, /* @__PURE__ */ React21.createElement(
11488
11488
  Link8,
11489
11489
  {
11490
11490
  href: link.href,
11491
11491
  className: "hover:text-primary-500 transition-colors"
11492
11492
  },
11493
11493
  link.label
11494
- ))))), /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Support"), /* @__PURE__ */ React20.createElement("ul", { className: "space-y-2" }, footerLinks.support.map((link) => /* @__PURE__ */ React20.createElement("li", { key: link.href }, /* @__PURE__ */ React20.createElement(
11494
+ ))))), /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h4", { className: "text-lg font-semibold text-white mb-4" }, "Support"), /* @__PURE__ */ React21.createElement("ul", { className: "space-y-2" }, footerLinks.support.map((link) => /* @__PURE__ */ React21.createElement("li", { key: link.href }, /* @__PURE__ */ React21.createElement(
11495
11495
  Link8,
11496
11496
  {
11497
11497
  href: link.href,
11498
11498
  className: "hover:text-primary-500 transition-colors"
11499
11499
  },
11500
11500
  link.label
11501
- )))))), /* @__PURE__ */ React20.createElement("div", { className: "border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center gap-4" }, /* @__PURE__ */ React20.createElement("p", { className: "text-gray-400 text-sm" }, "\xA9 ", (/* @__PURE__ */ new Date()).getFullYear(), " ", config.storeName, ". All rights reserved."), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React20.createElement(
11501
+ )))))), /* @__PURE__ */ React21.createElement("div", { className: "border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center gap-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-gray-400 text-sm" }, "\xA9 ", (/* @__PURE__ */ new Date()).getFullYear(), " ", config.storeName, ". All rights reserved."), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React21.createElement(
11502
11502
  "a",
11503
11503
  {
11504
11504
  href: "#",
11505
11505
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11506
11506
  },
11507
- /* @__PURE__ */ React20.createElement(Facebook, { className: "w-5 h-5" })
11508
- ), /* @__PURE__ */ React20.createElement(
11507
+ /* @__PURE__ */ React21.createElement(Facebook, { className: "w-5 h-5" })
11508
+ ), /* @__PURE__ */ React21.createElement(
11509
11509
  "a",
11510
11510
  {
11511
11511
  href: "#",
11512
11512
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11513
11513
  },
11514
- /* @__PURE__ */ React20.createElement(Twitter, { className: "w-5 h-5" })
11515
- ), /* @__PURE__ */ React20.createElement(
11514
+ /* @__PURE__ */ React21.createElement(Twitter, { className: "w-5 h-5" })
11515
+ ), /* @__PURE__ */ React21.createElement(
11516
11516
  "a",
11517
11517
  {
11518
11518
  href: "#",
11519
11519
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11520
11520
  },
11521
- /* @__PURE__ */ React20.createElement(Instagram, { className: "w-5 h-5" })
11521
+ /* @__PURE__ */ React21.createElement(Instagram, { className: "w-5 h-5" })
11522
11522
  )))));
11523
11523
  }
11524
11524