hey-pharmacist-ecommerce 1.1.7 → 1.1.9

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,10 +1,10 @@
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';
6
6
  import { motion, AnimatePresence } from 'framer-motion';
7
- import { Heart, Sparkles, ShieldCheck, TrendingUp, Search, ArrowUpDown, ChevronDown, LayoutGrid, LayoutList, SlidersHorizontal, X, Clock, Package, ArrowLeft, ChevronRight, Shield, Truck, Award, Star, Check, Minus, Plus, ShoppingCart, Trash2, ShoppingBag, HeartPulse, BadgePercent, ArrowRight, Edit3, MapPin, CreditCard, Lock, PackageCheck, EyeOff, Eye, CheckCircle2, UserPlus, Mail, Phone, LogOut, Calendar, CalendarDays, Filter, ChevronLeft, ArrowUpRight, Warehouse, BellRing, Crown, User, Grid, List, Menu, Facebook, Twitter, Instagram, Globe, Home } from 'lucide-react';
7
+ import { Heart, Sparkles, ShieldCheck, TrendingUp, Search, ArrowUpDown, ChevronDown, LayoutGrid, LayoutList, SlidersHorizontal, X, Clock, Package, ArrowLeft, ChevronRight, Shield, Truck, Award, Star, Check, Minus, Plus, ShoppingCart, Trash2, ShoppingBag, ArrowRight, BadgePercent, HeartPulse, Edit3, MapPin, CreditCard, Lock, PackageCheck, EyeOff, Eye, CheckCircle2, UserPlus, Mail, Phone, LogOut, Calendar, CalendarDays, Filter, ChevronLeft, ArrowUpRight, Warehouse, BellRing, Crown, User, Grid, List, Menu, Facebook, Twitter, Instagram, Globe, Home } from 'lucide-react';
8
8
  import Image3 from 'next/image';
9
9
  import { useRouter, useSearchParams } from 'next/navigation';
10
10
  import dynamic from 'next/dynamic';
@@ -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,31 +8644,101 @@ 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(
8648
- EmptyState,
8647
+ const highlights = [
8649
8648
  {
8650
- icon: ShoppingBag,
8651
- title: "Your bag feels a little empty",
8652
- description: "Add pharmacy favorites to unlock quick shipping, curated bundles, and personalized recommendations.",
8653
- actionLabel: "Discover products",
8654
- onAction: () => router.push(buildPath("/shop"))
8649
+ icon: ShieldCheck,
8650
+ title: "Pharmacist approved",
8651
+ description: "Every product passes pharmacist review and cold-chain handling standards."
8652
+ },
8653
+ {
8654
+ icon: BadgePercent,
8655
+ title: "Bundle savings",
8656
+ description: "Unlock tiered discounts when you combine vitamins, OTC, and wellness kits."
8657
+ },
8658
+ {
8659
+ icon: HeartPulse,
8660
+ title: "Personalized guidance",
8661
+ description: "Follow curated collections tailored to your health goals and routines."
8655
8662
  }
8656
- )));
8663
+ ];
8664
+ return /* @__PURE__ */ React21.createElement("div", { className: "relative min-h-screen overflow-hidden bg-slate-950" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-gradient-to-br from-[rgb(var(--header-from))] via-[rgb(var(--header-via))] to-[rgb(var(--header-to))]" }), /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0" }, /* @__PURE__ */ React21.createElement("div", { className: "pointer-events-none absolute -top-24 -left-20 h-96 w-96 rounded-full bg-white/20 blur-3xl opacity-60" }), /* @__PURE__ */ React21.createElement("div", { className: "pointer-events-none absolute bottom-0 right-0 h-[28rem] w-[28rem] rounded-full bg-secondary-500/40 blur-[220px] opacity-70" })), /* @__PURE__ */ React21.createElement("div", { className: "relative z-10 flex min-h-screen items-center px-6 py-20" }, /* @__PURE__ */ React21.createElement("div", { className: "mx-auto grid w-full max-w-6xl gap-12 lg:grid-cols-[minmax(0,1.25fr)_minmax(0,1fr)] lg:items-center" }, /* @__PURE__ */ React21.createElement(
8665
+ motion.div,
8666
+ {
8667
+ initial: { opacity: 0, y: 24 },
8668
+ animate: { opacity: 1, y: 0 },
8669
+ transition: { duration: 0.4 },
8670
+ className: "space-y-8 text-white"
8671
+ },
8672
+ /* @__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.3em] text-white/80 backdrop-blur" }, /* @__PURE__ */ React21.createElement(ShoppingBag, { className: "h-4 w-4" }), "Cart status"),
8673
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Your wellness cart is waiting for a refill"), /* @__PURE__ */ React21.createElement("p", { className: "max-w-xl text-lg text-white/75" }, "Build a pharmacist-curated bundle with fast shipping, personalized recommendations, and exclusive member perks designed to keep you feeling your best.")),
8674
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-4" }, /* @__PURE__ */ React21.createElement(
8675
+ Button,
8676
+ {
8677
+ size: "lg",
8678
+ className: "bg-white text-primary-700 shadow-xl shadow-white/30 hover:bg-white/90 hover:text-primary-700",
8679
+ onClick: () => router.push(buildPath("/shop"))
8680
+ },
8681
+ "Discover products",
8682
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-5 w-5" })
8683
+ ), /* @__PURE__ */ React21.createElement(
8684
+ "button",
8685
+ {
8686
+ type: "button",
8687
+ onClick: () => router.push(buildPath("/categories")),
8688
+ className: "inline-flex items-center gap-2 rounded-full border border-white/40 px-5 py-3 text-sm font-semibold text-white/80 transition hover:border-white hover:bg-white/10"
8689
+ },
8690
+ "Browse categories",
8691
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-4 w-4" })
8692
+ )),
8693
+ /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 sm:grid-cols-2" }, highlights.map(({ icon: Icon, title, description }) => /* @__PURE__ */ React21.createElement(
8694
+ "div",
8695
+ {
8696
+ key: title,
8697
+ className: "rounded-2xl border border-white/15 bg-white/10 p-5 backdrop-blur transition hover:border-white/25 hover:bg-white/15"
8698
+ },
8699
+ /* @__PURE__ */ React21.createElement(Icon, { className: "h-6 w-6 text-white/90" }),
8700
+ /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm font-semibold text-white" }, title),
8701
+ /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-xs text-white/70" }, description)
8702
+ )))
8703
+ ), /* @__PURE__ */ React21.createElement(
8704
+ motion.div,
8705
+ {
8706
+ initial: { opacity: 0, y: 24 },
8707
+ animate: { opacity: 1, y: 0 },
8708
+ transition: { delay: 0.1, duration: 0.4 },
8709
+ className: "rounded-[32px] border border-white/10 bg-white/10 p-10 backdrop-blur-2xl shadow-[0_40px_120px_-45px_rgba(12,5,40,0.6)]"
8710
+ },
8711
+ /* @__PURE__ */ React21.createElement("div", { className: "flex h-16 w-16 items-center justify-center rounded-2xl bg-white/20" }, /* @__PURE__ */ React21.createElement(ShoppingBag, { className: "h-8 w-8 text-white" })),
8712
+ /* @__PURE__ */ React21.createElement("h2", { className: "mt-6 text-3xl font-semibold text-white" }, "Still building your bag?"),
8713
+ /* @__PURE__ */ React21.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Add supplements, wellness tools, and everyday pharmacy favorites to personalize your routine. We'll keep them chilled, curated, and ready for doorstep delivery."),
8714
+ /* @__PURE__ */ React21.createElement("ul", { className: "mt-6 space-y-3 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement("li", { className: "flex items-center gap-2 rounded-xl bg-white/10 px-4 py-3" }, /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "h-5 w-5 text-white" }), "Pharmacist oversight on every order"), /* @__PURE__ */ React21.createElement("li", { className: "flex items-center gap-2 rounded-xl bg-white/10 px-4 py-3" }, /* @__PURE__ */ React21.createElement(BadgePercent, { className: "h-5 w-5 text-white" }), "Member-only savings unlock at checkout"), /* @__PURE__ */ React21.createElement("li", { className: "flex items-center gap-2 rounded-xl bg-white/10 px-4 py-3" }, /* @__PURE__ */ React21.createElement(HeartPulse, { className: "h-5 w-5 text-white" }), "Personalized care plans for each purchase")),
8715
+ /* @__PURE__ */ React21.createElement(
8716
+ Button,
8717
+ {
8718
+ size: "lg",
8719
+ variant: "outline",
8720
+ className: "mt-8 w-full border-white/40 text-white hover:border-white hover:bg-white/10",
8721
+ onClick: () => router.push(buildPath("/shop"))
8722
+ },
8723
+ "Start building my cart",
8724
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-5 w-5" })
8725
+ )
8726
+ ))));
8657
8727
  }
8658
8728
  const subtotal = cart.total;
8659
8729
  const shipping = 0;
8660
8730
  const tax = 0;
8661
8731
  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(
8732
+ 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
8733
  motion.div,
8664
8734
  {
8665
8735
  initial: { opacity: 0, y: 24 },
8666
8736
  animate: { opacity: 1, y: 0 },
8667
8737
  className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between"
8668
8738
  },
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(
8739
+ /* @__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.")),
8740
+ /* @__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"))
8741
+ ))), /* @__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
8742
  motion.section,
8673
8743
  {
8674
8744
  initial: { opacity: 0, y: 24 },
@@ -8676,10 +8746,10 @@ function CartScreen() {
8676
8746
  transition: { delay: 0.05 },
8677
8747
  className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
8678
8748
  },
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(
8749
+ /* @__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")),
8750
+ 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"),
8751
+ /* @__PURE__ */ React21.createElement("div", { className: "space-y-5" }, cart.cartBody.items.map((item) => /* @__PURE__ */ React21.createElement(CartItem, { key: item.productVariantId, item })))
8752
+ ), /* @__PURE__ */ React21.createElement(
8683
8753
  motion.aside,
8684
8754
  {
8685
8755
  initial: { opacity: 0, y: 24 },
@@ -8687,7 +8757,7 @@ function CartScreen() {
8687
8757
  transition: { delay: 0.1 },
8688
8758
  className: "space-y-6 lg:sticky lg:top-28"
8689
8759
  },
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(
8760
+ /* @__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
8761
  Button,
8692
8762
  {
8693
8763
  size: "lg",
@@ -8695,8 +8765,8 @@ function CartScreen() {
8695
8765
  onClick: () => router.push(buildPath("/checkout"))
8696
8766
  },
8697
8767
  "Secure checkout",
8698
- /* @__PURE__ */ React20.createElement(ArrowRight, { className: "h-5 w-5" })
8699
- ), /* @__PURE__ */ React20.createElement(
8768
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-5 w-5" })
8769
+ ), /* @__PURE__ */ React21.createElement(
8700
8770
  "button",
8701
8771
  {
8702
8772
  type: "button",
@@ -8705,7 +8775,7 @@ function CartScreen() {
8705
8775
  },
8706
8776
  "Continue shopping"
8707
8777
  )),
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."))
8778
+ /* @__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
8779
  )))));
8710
8780
  }
8711
8781
  function useAddresses() {
@@ -8767,7 +8837,7 @@ function useAddresses() {
8767
8837
  };
8768
8838
  }
8769
8839
  function Card({ className = "", ...props }) {
8770
- return /* @__PURE__ */ React20.createElement(
8840
+ return /* @__PURE__ */ React21.createElement(
8771
8841
  "div",
8772
8842
  {
8773
8843
  className: `rounded-lg border bg-white shadow-sm ${className}`,
@@ -8793,7 +8863,7 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8793
8863
  lg: "max-w-2xl",
8794
8864
  xl: "max-w-4xl"
8795
8865
  };
8796
- return /* @__PURE__ */ React20.createElement(AnimatePresence, null, isOpen && /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement(
8866
+ return /* @__PURE__ */ React21.createElement(AnimatePresence, null, isOpen && /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement(
8797
8867
  motion.div,
8798
8868
  {
8799
8869
  initial: { opacity: 0 },
@@ -8802,7 +8872,7 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8802
8872
  onClick: onClose,
8803
8873
  className: "fixed inset-0 bg-black/50 backdrop-blur-sm z-50"
8804
8874
  }
8805
- ), /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4" }, /* @__PURE__ */ React20.createElement(
8875
+ ), /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4" }, /* @__PURE__ */ React21.createElement(
8806
8876
  motion.div,
8807
8877
  {
8808
8878
  initial: { opacity: 0, scale: 0.95, y: 20 },
@@ -8810,15 +8880,15 @@ function Modal({ isOpen, onClose, title, children, size = "md" }) {
8810
8880
  exit: { opacity: 0, scale: 0.95, y: 20 },
8811
8881
  className: `bg-white rounded-2xl shadow-2xl w-full ${sizes[size]} max-h-[90vh] overflow-hidden flex flex-col`
8812
8882
  },
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(
8883
+ 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
8884
  "button",
8815
8885
  {
8816
8886
  onClick: onClose,
8817
8887
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors"
8818
8888
  },
8819
- /* @__PURE__ */ React20.createElement(X, { className: "w-5 h-5" })
8889
+ /* @__PURE__ */ React21.createElement(X, { className: "w-5 h-5" })
8820
8890
  )),
8821
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 overflow-y-auto p-6" }, children)
8891
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 overflow-y-auto p-6" }, children)
8822
8892
  ))));
8823
8893
  }
8824
8894
  var addressSchema = z.object({
@@ -8908,7 +8978,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8908
8978
  setIsSubmitting(false);
8909
8979
  }
8910
8980
  };
8911
- return /* @__PURE__ */ React.createElement(
8981
+ return /* @__PURE__ */ React21.createElement(
8912
8982
  Modal,
8913
8983
  {
8914
8984
  isOpen,
@@ -8916,7 +8986,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8916
8986
  title: initialAddress ? "Edit Address" : "Add New Address",
8917
8987
  size: "lg"
8918
8988
  },
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(
8989
+ /* @__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
8990
  Input,
8921
8991
  {
8922
8992
  label: "Full name",
@@ -8924,7 +8994,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8924
8994
  ...register("name"),
8925
8995
  error: errors.name?.message
8926
8996
  }
8927
- ), /* @__PURE__ */ React.createElement(
8997
+ ), /* @__PURE__ */ React21.createElement(
8928
8998
  Input,
8929
8999
  {
8930
9000
  label: "Phone number",
@@ -8932,7 +9002,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8932
9002
  ...register("phone"),
8933
9003
  error: errors.phone?.message
8934
9004
  }
8935
- ), /* @__PURE__ */ React.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React.createElement(
9005
+ ), /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement(
8936
9006
  Input,
8937
9007
  {
8938
9008
  label: "Address line 1",
@@ -8940,14 +9010,14 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8940
9010
  ...register("street1"),
8941
9011
  error: errors.street1?.message
8942
9012
  }
8943
- )), /* @__PURE__ */ React.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React.createElement(
9013
+ )), /* @__PURE__ */ React21.createElement("div", { className: "md:col-span-2" }, /* @__PURE__ */ React21.createElement(
8944
9014
  Input,
8945
9015
  {
8946
9016
  label: "Address line 2 (optional)",
8947
9017
  placeholder: "Apt 4B",
8948
9018
  ...register("street2")
8949
9019
  }
8950
- )), /* @__PURE__ */ React.createElement(
9020
+ )), /* @__PURE__ */ React21.createElement(
8951
9021
  Input,
8952
9022
  {
8953
9023
  label: "City",
@@ -8955,7 +9025,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8955
9025
  ...register("city"),
8956
9026
  error: errors.city?.message
8957
9027
  }
8958
- ), /* @__PURE__ */ React.createElement(
9028
+ ), /* @__PURE__ */ React21.createElement(
8959
9029
  Input,
8960
9030
  {
8961
9031
  label: "State",
@@ -8963,7 +9033,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8963
9033
  ...register("state"),
8964
9034
  error: errors.state?.message
8965
9035
  }
8966
- ), /* @__PURE__ */ React.createElement(
9036
+ ), /* @__PURE__ */ React21.createElement(
8967
9037
  Input,
8968
9038
  {
8969
9039
  label: "ZIP code",
@@ -8971,7 +9041,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8971
9041
  ...register("zip"),
8972
9042
  error: errors.zip?.message
8973
9043
  }
8974
- ), /* @__PURE__ */ React.createElement(
9044
+ ), /* @__PURE__ */ React21.createElement(
8975
9045
  Input,
8976
9046
  {
8977
9047
  label: "Country",
@@ -8979,7 +9049,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8979
9049
  ...register("country"),
8980
9050
  error: errors.country?.message
8981
9051
  }
8982
- )), /* @__PURE__ */ React.createElement("div", { className: "flex justify-end gap-4" }, /* @__PURE__ */ React.createElement(
9052
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex justify-end gap-4" }, /* @__PURE__ */ React21.createElement(
8983
9053
  Button,
8984
9054
  {
8985
9055
  type: "button",
@@ -8987,7 +9057,7 @@ function AddressFormModal({ isOpen, onClose, onAddressAdded, onAddressUpdated, i
8987
9057
  onClick: onClose
8988
9058
  },
8989
9059
  "Cancel"
8990
- ), /* @__PURE__ */ React.createElement(Button, { type: "submit", disabled: isSubmitting }, isSubmitting ? "Adding Address..." : "Add Address")))
9060
+ ), /* @__PURE__ */ React21.createElement(Button, { type: "submit", disabled: isSubmitting }, isSubmitting ? "Adding Address..." : "Add Address")))
8991
9061
  );
8992
9062
  }
8993
9063
  var checkoutSchema = z.object({
@@ -8999,7 +9069,7 @@ var PAYMENT_METHODS = [
8999
9069
  {
9000
9070
  label: "Card",
9001
9071
  value: "Card",
9002
- icon: /* @__PURE__ */ React20.createElement(CreditCard, { className: "w-5 h-5" }),
9072
+ icon: /* @__PURE__ */ React21.createElement(CreditCard, { className: "w-5 h-5" }),
9003
9073
  description: "Pay securely with your credit or debit card",
9004
9074
  className: "border-blue-500 hover:bg-blue-50",
9005
9075
  activeClass: "bg-blue-50 border-blue-500 text-blue-700"
@@ -9007,7 +9077,7 @@ var PAYMENT_METHODS = [
9007
9077
  {
9008
9078
  label: "Cash",
9009
9079
  value: "Cash",
9010
- icon: /* @__PURE__ */ React20.createElement(PackageCheck, { className: "w-5 h-5" }),
9080
+ icon: /* @__PURE__ */ React21.createElement(PackageCheck, { className: "w-5 h-5" }),
9011
9081
  description: "Pay with cash on delivery or at pickup",
9012
9082
  className: "border-amber-500 hover:bg-amber-50",
9013
9083
  activeClass: "bg-amber-50 border-amber-500 text-amber-700"
@@ -9015,7 +9085,7 @@ var PAYMENT_METHODS = [
9015
9085
  {
9016
9086
  label: "Credit",
9017
9087
  value: "Credit",
9018
- icon: /* @__PURE__ */ React20.createElement(ShieldCheck, { className: "w-5 h-5" }),
9088
+ icon: /* @__PURE__ */ React21.createElement(ShieldCheck, { className: "w-5 h-5" }),
9019
9089
  description: "Use your account credit",
9020
9090
  className: "border-emerald-500 hover:bg-emerald-50",
9021
9091
  activeClass: "bg-emerald-50 border-emerald-500 text-emerald-700"
@@ -9219,7 +9289,7 @@ function CheckoutScreen() {
9219
9289
  }
9220
9290
  }
9221
9291
  setIsSubmitting(true);
9222
- toast("Submitting order...", { icon: /* @__PURE__ */ React20.createElement(CreditCard, { className: "h-4 w-4" }) });
9292
+ toast("Submitting order...", { icon: /* @__PURE__ */ React21.createElement(CreditCard, { className: "h-4 w-4" }) });
9223
9293
  try {
9224
9294
  const items = (cart?.cartBody?.items || []).map((item) => ({
9225
9295
  productVariantId: String(item.productVariantId),
@@ -9284,33 +9354,33 @@ function CheckoutScreen() {
9284
9354
  const subtotal = cart.total;
9285
9355
  const tax = 0;
9286
9356
  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(
9357
+ 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
9358
  motion.div,
9289
9359
  {
9290
9360
  initial: { opacity: 0, y: 24 },
9291
9361
  animate: { opacity: 1, y: 0 },
9292
9362
  className: "space-y-6"
9293
9363
  },
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(
9364
+ /* @__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"),
9365
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Provide delivery details"),
9366
+ /* @__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."),
9367
+ /* @__PURE__ */ React21.createElement("div", { className: "flex flex-wrap gap-3" }, checkoutSteps.map((step) => /* @__PURE__ */ React21.createElement(
9298
9368
  "div",
9299
9369
  {
9300
9370
  key: step.id,
9301
9371
  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
9372
  },
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),
9373
+ /* @__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
9374
  step.label
9305
9375
  )))
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(
9376
+ )))), /* @__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
9377
  motion.div,
9308
9378
  {
9309
9379
  initial: { opacity: 0, y: 24 },
9310
9380
  animate: { opacity: 1, y: 0 },
9311
9381
  className: "space-y-8"
9312
9382
  },
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(
9383
+ /* @__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
9384
  Button,
9315
9385
  {
9316
9386
  type: "button",
@@ -9321,15 +9391,15 @@ function CheckoutScreen() {
9321
9391
  setIsAddressModalOpen(true);
9322
9392
  }
9323
9393
  },
9324
- /* @__PURE__ */ React20.createElement(Plus, { className: "h-4 w-4 mr-2" }),
9394
+ /* @__PURE__ */ React21.createElement(Plus, { className: "h-4 w-4 mr-2" }),
9325
9395
  "Add New Address"
9326
- )), userAddresses.length > 0 ? /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4" }, userAddresses.map((addr) => /* @__PURE__ */ React20.createElement(
9396
+ )), userAddresses.length > 0 ? /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4" }, userAddresses.map((addr) => /* @__PURE__ */ React21.createElement(
9327
9397
  "label",
9328
9398
  {
9329
9399
  key: addr.id,
9330
9400
  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
9401
  },
9332
- /* @__PURE__ */ React20.createElement(
9402
+ /* @__PURE__ */ React21.createElement(
9333
9403
  "input",
9334
9404
  {
9335
9405
  type: "radio",
@@ -9350,7 +9420,7 @@ function CheckoutScreen() {
9350
9420
  className: "mt-1"
9351
9421
  }
9352
9422
  ),
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(
9423
+ /* @__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
9424
  "button",
9355
9425
  {
9356
9426
  type: "button",
@@ -9361,9 +9431,9 @@ function CheckoutScreen() {
9361
9431
  },
9362
9432
  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
9433
  },
9364
- /* @__PURE__ */ React20.createElement(Edit3, { className: "h-3.5 w-3.5" }),
9434
+ /* @__PURE__ */ React21.createElement(Edit3, { className: "h-3.5 w-3.5" }),
9365
9435
  " Edit"
9366
- ), /* @__PURE__ */ React20.createElement(
9436
+ ), /* @__PURE__ */ React21.createElement(
9367
9437
  "button",
9368
9438
  {
9369
9439
  type: "button",
@@ -9381,23 +9451,23 @@ function CheckoutScreen() {
9381
9451
  },
9382
9452
  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
9453
  },
9384
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-3.5 w-3.5" }),
9454
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-3.5 w-3.5" }),
9385
9455
  " Delete"
9386
9456
  )))
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(
9457
+ ))) : /* @__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
9458
  "select",
9389
9459
  {
9390
9460
  className: "w-full border rounded p-2",
9391
9461
  value: selectedStoreAddressId || "",
9392
9462
  onChange: (e) => setSelectedStoreAddressId(e.target.value)
9393
9463
  },
9394
- storeAddresses.map((addr) => /* @__PURE__ */ React20.createElement("option", { key: addr.id, value: addr.id }, addr.name, " - ", addr.street1, ", ", addr.city))
9464
+ storeAddresses.map((addr) => /* @__PURE__ */ React21.createElement("option", { key: addr.id, value: addr.id }, addr.name, " - ", addr.street1, ", ", addr.city))
9395
9465
  )))),
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) => {
9466
+ 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
9467
  const isSelected = !!selectedShippingRateId && selectedShippingRateId === rate.objectId;
9398
9468
  const isTest = rate.test;
9399
9469
  const hasAttributes = rate.attributes && rate.attributes.length > 0;
9400
- return /* @__PURE__ */ React20.createElement(
9470
+ return /* @__PURE__ */ React21.createElement(
9401
9471
  "div",
9402
9472
  {
9403
9473
  key: rate.objectId,
@@ -9406,7 +9476,7 @@ function CheckoutScreen() {
9406
9476
  onMouseLeave: () => setShippingPrice(parseFloat(rate.amountLocal)),
9407
9477
  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
9478
  },
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(
9479
+ /* @__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
9480
  Image3,
9411
9481
  {
9412
9482
  src: rate.providerImage75 || "/placeholder-product.jpg",
@@ -9419,18 +9489,18 @@ function CheckoutScreen() {
9419
9489
  width: 48,
9420
9490
  height: 48
9421
9491
  }
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(
9492
+ )), /* @__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
9493
  "span",
9424
9494
  {
9425
9495
  key: attr,
9426
9496
  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
9497
  },
9428
9498
  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" })))
9499
+ ))), /* @__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))),
9500
+ 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
9501
  );
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(
9502
+ })) : /* @__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.")))
9503
+ ), /* @__PURE__ */ React21.createElement(
9434
9504
  motion.aside,
9435
9505
  {
9436
9506
  initial: { opacity: 0, y: 32 },
@@ -9438,22 +9508,22 @@ function CheckoutScreen() {
9438
9508
  transition: { duration: 0.5, ease: "easeOut", delay: 0.1 },
9439
9509
  className: "space-y-10 lg:sticky lg:top-24"
9440
9510
  },
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" }, [
9511
+ /* @__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
9512
  {
9443
9513
  label: "Delivery",
9444
- icon: /* @__PURE__ */ React20.createElement(Truck, { className: "w-5 h-5" }),
9514
+ icon: /* @__PURE__ */ React21.createElement(Truck, { className: "w-5 h-5" }),
9445
9515
  value: true,
9446
9516
  desc: "Shipped to your address"
9447
9517
  },
9448
9518
  {
9449
9519
  label: "Pickup",
9450
- icon: /* @__PURE__ */ React20.createElement(MapPin, { className: "w-5 h-5" }),
9520
+ icon: /* @__PURE__ */ React21.createElement(MapPin, { className: "w-5 h-5" }),
9451
9521
  value: false,
9452
9522
  desc: "Collect from pharmacy"
9453
9523
  }
9454
9524
  ].map((option) => {
9455
9525
  const active = isDelivery === option.value;
9456
- return /* @__PURE__ */ React20.createElement(
9526
+ return /* @__PURE__ */ React21.createElement(
9457
9527
  "button",
9458
9528
  {
9459
9529
  key: option.label,
@@ -9462,18 +9532,18 @@ function CheckoutScreen() {
9462
9532
  "aria-pressed": active,
9463
9533
  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
9534
  },
9465
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(
9535
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(
9466
9536
  "div",
9467
9537
  {
9468
9538
  className: `p-2 rounded-lg ${active ? "bg-primary-100 text-primary-600" : "bg-slate-100 text-slate-600 group-hover:bg-slate-50"}`
9469
9539
  },
9470
9540
  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" }))
9541
+ ), /* @__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))),
9542
+ 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
9543
  );
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) => {
9544
+ }))), /* @__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
9545
  const active = paymentMethod === pm.value;
9476
- return /* @__PURE__ */ React20.createElement(
9546
+ return /* @__PURE__ */ React21.createElement(
9477
9547
  "button",
9478
9548
  {
9479
9549
  key: pm.value,
@@ -9481,22 +9551,22 @@ function CheckoutScreen() {
9481
9551
  onClick: () => setPaymentMethod(pm.value),
9482
9552
  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
9553
  },
9484
- /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React20.createElement(
9554
+ /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21.createElement(
9485
9555
  "div",
9486
9556
  {
9487
9557
  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
9558
  },
9489
9559
  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" }))
9560
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-medium text-slate-900" }, pm.label)),
9561
+ 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
9562
  );
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(
9563
+ })), /* @__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
9564
  "div",
9495
9565
  {
9496
9566
  key: item.productId,
9497
9567
  className: "flex gap-4 rounded-2xl border border-slate-100 p-4 hover:bg-slate-50/50 transition"
9498
9568
  },
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(
9569
+ /* @__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
9570
  Image3,
9501
9571
  {
9502
9572
  src: item.productVariantData.productMedia?.[0]?.file || "/placeholder-product.jpg",
@@ -9506,9 +9576,9 @@ function CheckoutScreen() {
9506
9576
  className: "object-contain"
9507
9577
  }
9508
9578
  )),
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(
9579
+ /* @__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)),
9580
+ /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold text-slate-900" }, formatPrice(item.productVariantData.finalPrice * item.quantity))
9581
+ ))), /* @__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
9582
  Button,
9513
9583
  {
9514
9584
  type: "submit",
@@ -9516,11 +9586,11 @@ function CheckoutScreen() {
9516
9586
  isLoading: isSubmitting,
9517
9587
  className: "mt-6 w-full transition-transform hover:scale-[1.02] active:scale-[0.99]"
9518
9588
  },
9519
- /* @__PURE__ */ React20.createElement(CreditCard, { className: "h-5 w-5" }),
9589
+ /* @__PURE__ */ React21.createElement(CreditCard, { className: "h-5 w-5" }),
9520
9590
  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(
9591
+ ), /* @__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.")),
9592
+ /* @__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."))))
9593
+ ))), /* @__PURE__ */ React21.createElement(
9524
9594
  AddressFormModal,
9525
9595
  {
9526
9596
  isOpen: isAddressModalOpen,
@@ -9576,7 +9646,7 @@ function LoginScreen() {
9576
9646
  setIsSubmitting(false);
9577
9647
  }
9578
9648
  };
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(
9649
+ 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
9650
  motion.section,
9581
9651
  {
9582
9652
  initial: { opacity: 0, x: -24 },
@@ -9584,18 +9654,18 @@ function LoginScreen() {
9584
9654
  transition: { duration: 0.4 },
9585
9655
  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
9656
  },
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(
9657
+ /* @__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.")),
9658
+ /* @__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."))),
9659
+ /* @__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
9660
  Link8,
9591
9661
  {
9592
- href: "/register",
9662
+ href: buildPath("/register"),
9593
9663
  className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2 font-semibold transition hover:bg-white/25"
9594
9664
  },
9595
9665
  "Create one now",
9596
- /* @__PURE__ */ React20.createElement(ArrowRight, { className: "h-4 w-4" })
9666
+ /* @__PURE__ */ React21.createElement(ArrowRight, { className: "h-4 w-4" })
9597
9667
  ))
9598
- ), /* @__PURE__ */ React20.createElement(
9668
+ ), /* @__PURE__ */ React21.createElement(
9599
9669
  motion.section,
9600
9670
  {
9601
9671
  initial: { opacity: 0, x: 24 },
@@ -9603,7 +9673,7 @@ function LoginScreen() {
9603
9673
  transition: { duration: 0.4 },
9604
9674
  className: "flex items-center justify-center px-6 py-12 lg:px-16"
9605
9675
  },
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(
9676
+ /* @__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
9677
  Input,
9608
9678
  {
9609
9679
  type: "email",
@@ -9612,7 +9682,7 @@ function LoginScreen() {
9612
9682
  ...register("email"),
9613
9683
  error: errors.email?.message
9614
9684
  }
9615
- )), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9685
+ )), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9616
9686
  Input,
9617
9687
  {
9618
9688
  type: showPassword ? "text" : "password",
@@ -9621,28 +9691,28 @@ function LoginScreen() {
9621
9691
  ...register("password"),
9622
9692
  error: errors.password?.message
9623
9693
  }
9624
- ), /* @__PURE__ */ React20.createElement(
9694
+ ), /* @__PURE__ */ React21.createElement(
9625
9695
  "button",
9626
9696
  {
9627
9697
  type: "button",
9628
9698
  onClick: () => setShowPassword((prev) => !prev),
9629
9699
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9630
9700
  },
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(
9701
+ showPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9702
+ )), /* @__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
9703
  "input",
9634
9704
  {
9635
9705
  type: "checkbox",
9636
9706
  className: "h-4 w-4 rounded border-slate-300 text-primary-600 focus:ring-primary-500"
9637
9707
  }
9638
- ), "Remember me"), /* @__PURE__ */ React20.createElement(
9708
+ ), "Remember me"), /* @__PURE__ */ React21.createElement(
9639
9709
  Link8,
9640
9710
  {
9641
- href: "/forgot-password",
9711
+ href: buildPath("/forgot-password"),
9642
9712
  className: "font-medium text-primary-600 transition hover:text-primary-700"
9643
9713
  },
9644
9714
  "Forgot password?"
9645
- )), /* @__PURE__ */ React20.createElement(
9715
+ )), /* @__PURE__ */ React21.createElement(
9646
9716
  Button,
9647
9717
  {
9648
9718
  type: "submit",
@@ -9651,7 +9721,7 @@ function LoginScreen() {
9651
9721
  className: "w-full"
9652
9722
  },
9653
9723
  "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.")))))
9724
+ )), /* @__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
9725
  )));
9656
9726
  }
9657
9727
  var registerSchema = z.object({
@@ -9702,7 +9772,7 @@ function RegisterScreen() {
9702
9772
  setIsSubmitting(false);
9703
9773
  }
9704
9774
  };
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(
9775
+ 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
9776
  motion.section,
9707
9777
  {
9708
9778
  initial: { opacity: 0, x: -24 },
@@ -9710,17 +9780,17 @@ function RegisterScreen() {
9710
9780
  transition: { duration: 0.4 },
9711
9781
  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
9782
  },
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(
9783
+ /* @__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.")),
9784
+ /* @__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)))),
9785
+ /* @__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
9786
  Link8,
9717
9787
  {
9718
- href: "/login",
9788
+ href: buildPath("/login"),
9719
9789
  className: "inline-flex items-center gap-2 rounded-full bg-white/15 px-4 py-2 font-semibold transition hover:bg-white/25"
9720
9790
  },
9721
9791
  "Sign in"
9722
9792
  ))
9723
- ), /* @__PURE__ */ React20.createElement(
9793
+ ), /* @__PURE__ */ React21.createElement(
9724
9794
  motion.section,
9725
9795
  {
9726
9796
  initial: { opacity: 0, x: 24 },
@@ -9728,13 +9798,13 @@ function RegisterScreen() {
9728
9798
  transition: { duration: 0.4 },
9729
9799
  className: "flex items-center justify-center px-6 py-12 lg:px-16"
9730
9800
  },
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(
9801
+ /* @__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
9802
  "form",
9733
9803
  {
9734
9804
  onSubmit: handleSubmit(onSubmit),
9735
9805
  className: "space-y-6 rounded-3xl border border-slate-100 bg-white p-8 shadow-lg shadow-primary-50"
9736
9806
  },
9737
- /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
9807
+ /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
9738
9808
  Input,
9739
9809
  {
9740
9810
  label: "First name",
@@ -9742,7 +9812,7 @@ function RegisterScreen() {
9742
9812
  ...register("firstName"),
9743
9813
  error: errors.firstName?.message
9744
9814
  }
9745
- ), /* @__PURE__ */ React20.createElement(
9815
+ ), /* @__PURE__ */ React21.createElement(
9746
9816
  Input,
9747
9817
  {
9748
9818
  label: "Last name",
@@ -9751,7 +9821,7 @@ function RegisterScreen() {
9751
9821
  error: errors.lastName?.message
9752
9822
  }
9753
9823
  )),
9754
- /* @__PURE__ */ React20.createElement(
9824
+ /* @__PURE__ */ React21.createElement(
9755
9825
  Input,
9756
9826
  {
9757
9827
  type: "email",
@@ -9761,7 +9831,7 @@ function RegisterScreen() {
9761
9831
  error: errors.email?.message
9762
9832
  }
9763
9833
  ),
9764
- /* @__PURE__ */ React20.createElement(
9834
+ /* @__PURE__ */ React21.createElement(
9765
9835
  Input,
9766
9836
  {
9767
9837
  type: "tel",
@@ -9771,7 +9841,7 @@ function RegisterScreen() {
9771
9841
  error: errors.phone?.message
9772
9842
  }
9773
9843
  ),
9774
- /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9844
+ /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9775
9845
  Input,
9776
9846
  {
9777
9847
  type: showPassword ? "text" : "password",
@@ -9780,16 +9850,16 @@ function RegisterScreen() {
9780
9850
  ...register("password"),
9781
9851
  error: errors.password?.message
9782
9852
  }
9783
- ), /* @__PURE__ */ React20.createElement(
9853
+ ), /* @__PURE__ */ React21.createElement(
9784
9854
  "button",
9785
9855
  {
9786
9856
  type: "button",
9787
9857
  onClick: () => setShowPassword((prev) => !prev),
9788
9858
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9789
9859
  },
9790
- showPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9860
+ showPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9791
9861
  )),
9792
- /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
9862
+ /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9793
9863
  Input,
9794
9864
  {
9795
9865
  type: showConfirmPassword ? "text" : "password",
@@ -9798,24 +9868,24 @@ function RegisterScreen() {
9798
9868
  ...register("confirmPassword"),
9799
9869
  error: errors.confirmPassword?.message
9800
9870
  }
9801
- ), /* @__PURE__ */ React20.createElement(
9871
+ ), /* @__PURE__ */ React21.createElement(
9802
9872
  "button",
9803
9873
  {
9804
9874
  type: "button",
9805
9875
  onClick: () => setShowConfirmPassword((prev) => !prev),
9806
9876
  className: "absolute right-3 top-[42px] text-slate-400 transition hover:text-slate-600"
9807
9877
  },
9808
- showConfirmPassword ? /* @__PURE__ */ React20.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React20.createElement(Eye, { className: "h-5 w-5" })
9878
+ showConfirmPassword ? /* @__PURE__ */ React21.createElement(EyeOff, { className: "h-5 w-5" }) : /* @__PURE__ */ React21.createElement(Eye, { className: "h-5 w-5" })
9809
9879
  )),
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(
9880
+ /* @__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: buildPath("/terms"), className: "font-semibold text-primary-600 hover:text-primary-700" }, "Terms of Service"), " ", "and", " ", /* @__PURE__ */ React21.createElement(
9811
9881
  Link8,
9812
9882
  {
9813
- href: "/privacy",
9883
+ href: buildPath("/privacy"),
9814
9884
  className: "font-semibold text-primary-600 hover:text-primary-700"
9815
9885
  },
9816
9886
  "Privacy Policy"
9817
9887
  ), ". We protect your information with bank-level encryption.")),
9818
- /* @__PURE__ */ React20.createElement(
9888
+ /* @__PURE__ */ React21.createElement(
9819
9889
  Button,
9820
9890
  {
9821
9891
  type: "submit",
@@ -9823,10 +9893,10 @@ function RegisterScreen() {
9823
9893
  isLoading: isSubmitting,
9824
9894
  className: "w-full"
9825
9895
  },
9826
- /* @__PURE__ */ React20.createElement(UserPlus, { className: "h-5 w-5" }),
9896
+ /* @__PURE__ */ React21.createElement(UserPlus, { className: "h-5 w-5" }),
9827
9897
  "Create my account"
9828
9898
  )
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.")))))
9899
+ ), /* @__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
9900
  )));
9831
9901
  }
9832
9902
  var profileSchema = z.object({
@@ -9893,15 +9963,15 @@ function ProfileScreen() {
9893
9963
  href: buildPath("/account/addresses")
9894
9964
  }
9895
9965
  ];
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(
9966
+ 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
9967
  motion.div,
9898
9968
  {
9899
9969
  initial: { opacity: 0, y: 24 },
9900
9970
  animate: { opacity: 1, y: 0 },
9901
9971
  className: "flex flex-col gap-8 md:flex-row md:items-center md:justify-between"
9902
9972
  },
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(
9973
+ /* @__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"))),
9974
+ /* @__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
9975
  Button,
9906
9976
  {
9907
9977
  variant: "ghost",
@@ -9910,14 +9980,14 @@ function ProfileScreen() {
9910
9980
  },
9911
9981
  "Change password"
9912
9982
  ))
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(
9983
+ ))), /* @__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
9984
  motion.div,
9915
9985
  {
9916
9986
  initial: { opacity: 0, y: 24 },
9917
9987
  animate: { opacity: 1, y: 0 },
9918
9988
  className: "space-y-6"
9919
9989
  },
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(
9990
+ /* @__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
9991
  Input,
9922
9992
  {
9923
9993
  label: "First name",
@@ -9925,7 +9995,7 @@ function ProfileScreen() {
9925
9995
  ...register("firstName"),
9926
9996
  error: errors.firstName?.message
9927
9997
  }
9928
- ), /* @__PURE__ */ React20.createElement(
9998
+ ), /* @__PURE__ */ React21.createElement(
9929
9999
  Input,
9930
10000
  {
9931
10001
  label: "Last name",
@@ -9933,7 +10003,7 @@ function ProfileScreen() {
9933
10003
  ...register("lastName"),
9934
10004
  error: errors.lastName?.message
9935
10005
  }
9936
- )), /* @__PURE__ */ React20.createElement("div", { className: "relative" }, /* @__PURE__ */ React20.createElement(
10006
+ )), /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
9937
10007
  Input,
9938
10008
  {
9939
10009
  type: "email",
@@ -9943,7 +10013,7 @@ function ProfileScreen() {
9943
10013
  ...register("email"),
9944
10014
  error: errors.email?.message
9945
10015
  }
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(
10016
+ ), /* @__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
10017
  Input,
9948
10018
  {
9949
10019
  type: "tel",
@@ -9953,7 +10023,7 @@ function ProfileScreen() {
9953
10023
  ...register("phone"),
9954
10024
  error: errors.phone?.message
9955
10025
  }
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(
10026
+ ), /* @__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
10027
  Button,
9958
10028
  {
9959
10029
  type: "submit",
@@ -9961,7 +10031,7 @@ function ProfileScreen() {
9961
10031
  isLoading: isSubmitting
9962
10032
  },
9963
10033
  "Save changes"
9964
- ), /* @__PURE__ */ React20.createElement(
10034
+ ), /* @__PURE__ */ React21.createElement(
9965
10035
  Button,
9966
10036
  {
9967
10037
  type: "button",
@@ -9971,16 +10041,16 @@ function ProfileScreen() {
9971
10041
  },
9972
10042
  "View recent orders"
9973
10043
  )))),
9974
- /* @__PURE__ */ React20.createElement("section", { className: "grid gap-4 md:grid-cols-2" }, quickLinks.map((item) => /* @__PURE__ */ React20.createElement(
10044
+ /* @__PURE__ */ React21.createElement("section", { className: "grid gap-4 md:grid-cols-2" }, quickLinks.map((item) => /* @__PURE__ */ React21.createElement(
9975
10045
  Link8,
9976
10046
  {
9977
10047
  key: item.href,
9978
10048
  href: item.href,
9979
10049
  className: "group rounded-3xl border border-slate-100 bg-white p-6 shadow-sm transition hover:-translate-y-1 hover:shadow-lg"
9980
10050
  },
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)))
10051
+ /* @__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
10052
  )))
9983
- ), /* @__PURE__ */ React20.createElement(
10053
+ ), /* @__PURE__ */ React21.createElement(
9984
10054
  motion.aside,
9985
10055
  {
9986
10056
  initial: { opacity: 0, y: 24 },
@@ -9988,7 +10058,7 @@ function ProfileScreen() {
9988
10058
  transition: { delay: 0.1 },
9989
10059
  className: "space-y-6"
9990
10060
  },
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(
10061
+ /* @__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
10062
  Button,
9993
10063
  {
9994
10064
  variant: "outline",
@@ -9997,14 +10067,14 @@ function ProfileScreen() {
9997
10067
  },
9998
10068
  "Manage preferences"
9999
10069
  )),
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(
10070
+ /* @__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.")),
10071
+ /* @__PURE__ */ React21.createElement(
10002
10072
  "button",
10003
10073
  {
10004
10074
  onClick: handleLogout,
10005
10075
  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
10076
  },
10007
- /* @__PURE__ */ React20.createElement(LogOut, { className: "h-4 w-4" }),
10077
+ /* @__PURE__ */ React21.createElement(LogOut, { className: "h-4 w-4" }),
10008
10078
  "Log out"
10009
10079
  )
10010
10080
  )))));
@@ -10012,7 +10082,7 @@ function ProfileScreen() {
10012
10082
  function OrderCard({ order }) {
10013
10083
  const { buildPath } = useBasePath();
10014
10084
  const config = order.orderStatus;
10015
- return /* @__PURE__ */ React20.createElement(
10085
+ return /* @__PURE__ */ React21.createElement(
10016
10086
  motion.div,
10017
10087
  {
10018
10088
  initial: { opacity: 0, y: 20 },
@@ -10020,9 +10090,9 @@ function OrderCard({ order }) {
10020
10090
  whileHover: { y: -4 },
10021
10091
  className: "bg-white rounded-2xl p-6 shadow-sm hover:shadow-xl transition-all duration-300 border border-gray-100"
10022
10092
  },
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(
10093
+ /* @__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)),
10094
+ /* @__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" : "")),
10095
+ /* @__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
10096
  "a",
10027
10097
  {
10028
10098
  href: order?.payment?.paymentIntent?.hostedInvoiceUrl || "",
@@ -10030,7 +10100,7 @@ function OrderCard({ order }) {
10030
10100
  rel: "noopener noreferrer",
10031
10101
  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
10102
  },
10033
- /* @__PURE__ */ React20.createElement(CreditCard, { className: "w-4 h-4" }),
10103
+ /* @__PURE__ */ React21.createElement(CreditCard, { className: "w-4 h-4" }),
10034
10104
  "Pay Now"
10035
10105
  )))
10036
10106
  );
@@ -10186,7 +10256,7 @@ function FilterChips({
10186
10256
  document.removeEventListener("mousedown", handleClickOutside);
10187
10257
  };
10188
10258
  }, [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(
10259
+ 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
10260
  "button",
10191
10261
  {
10192
10262
  key: filter,
@@ -10195,16 +10265,16 @@ function FilterChips({
10195
10265
  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
10266
  },
10197
10267
  filter
10198
- ))), overflowFilters.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React20.createElement(
10268
+ ))), overflowFilters.length > 0 && /* @__PURE__ */ React21.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React21.createElement(
10199
10269
  "button",
10200
10270
  {
10201
10271
  type: "button",
10202
10272
  onClick: () => setIsOverflowOpen((prev) => !prev),
10203
10273
  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
10274
  },
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(
10275
+ /* @__PURE__ */ React21.createElement("span", null, overflowFilters.includes(selected) ? selected : "More"),
10276
+ /* @__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)
10277
+ ), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isOverflowOpen && /* @__PURE__ */ React21.createElement(
10208
10278
  motion.div,
10209
10279
  {
10210
10280
  initial: { opacity: 0, y: 8 },
@@ -10213,7 +10283,7 @@ function FilterChips({
10213
10283
  transition: { duration: 0.15 },
10214
10284
  className: "absolute right-0 z-50 mt-2 w-64 rounded-2xl border border-slate-100 bg-white shadow-xl shadow-primary-50"
10215
10285
  },
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(
10286
+ /* @__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
10287
  "input",
10218
10288
  {
10219
10289
  type: "text",
@@ -10223,7 +10293,7 @@ function FilterChips({
10223
10293
  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
10294
  }
10225
10295
  ))),
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(
10296
+ /* @__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
10297
  "button",
10228
10298
  {
10229
10299
  key: filter,
@@ -10234,10 +10304,10 @@ function FilterChips({
10234
10304
  },
10235
10305
  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
10306
  },
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(
10307
+ /* @__PURE__ */ React21.createElement("span", null, filter),
10308
+ selected === filter && /* @__PURE__ */ React21.createElement(Check, { className: "h-4 w-4" })
10309
+ )) : /* @__PURE__ */ React21.createElement("p", { className: "px-3 py-4 text-sm text-slate-500" }, "No items found.")),
10310
+ /* @__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
10311
  "button",
10242
10312
  {
10243
10313
  type: "button",
@@ -10295,23 +10365,23 @@ function OrdersScreen() {
10295
10365
  document.removeEventListener("mousedown", handleClickOutside);
10296
10366
  };
10297
10367
  }, [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(
10368
+ 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
10369
  motion.div,
10300
10370
  {
10301
10371
  initial: { opacity: 0, y: 24 },
10302
10372
  animate: { opacity: 1, y: 0 },
10303
10373
  className: "space-y-6"
10304
10374
  },
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(
10375
+ /* @__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"),
10376
+ /* @__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.")))
10377
+ ))), /* @__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
10378
  motion.div,
10309
10379
  {
10310
10380
  initial: { opacity: 0, y: 24 },
10311
10381
  animate: { opacity: 1, y: 0 },
10312
10382
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
10313
10383
  },
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(
10384
+ /* @__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
10385
  FilterChips,
10316
10386
  {
10317
10387
  label: "Status filters",
@@ -10325,7 +10395,7 @@ function OrdersScreen() {
10325
10395
  maxVisible: MAX_VISIBLE_FILTERS,
10326
10396
  variant: "primary"
10327
10397
  }
10328
- ), /* @__PURE__ */ React20.createElement(
10398
+ ), /* @__PURE__ */ React21.createElement(
10329
10399
  FilterChips,
10330
10400
  {
10331
10401
  label: "Payment status",
@@ -10340,7 +10410,7 @@ function OrdersScreen() {
10340
10410
  variant: "primary"
10341
10411
  }
10342
10412
  ))),
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(
10413
+ /* @__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
10414
  EmptyState,
10345
10415
  {
10346
10416
  icon: Package,
@@ -10350,16 +10420,16 @@ function OrdersScreen() {
10350
10420
  onAction: () => router.push(buildPath("/shop"))
10351
10421
  }
10352
10422
  )),
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(
10423
+ !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
10424
  Button,
10355
10425
  {
10356
10426
  variant: "outline",
10357
10427
  onClick: () => setPage((current) => Math.max(1, current - 1)),
10358
10428
  disabled: page === 1
10359
10429
  },
10360
- /* @__PURE__ */ React20.createElement(ChevronLeft, { className: "h-5 w-5" }),
10430
+ /* @__PURE__ */ React21.createElement(ChevronLeft, { className: "h-5 w-5" }),
10361
10431
  "Previous"
10362
- ), /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-semibold text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React20.createElement(
10432
+ ), /* @__PURE__ */ React21.createElement("span", { className: "text-sm font-semibold text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React21.createElement(
10363
10433
  Button,
10364
10434
  {
10365
10435
  variant: "outline",
@@ -10367,7 +10437,7 @@ function OrdersScreen() {
10367
10437
  disabled: page === pagination.totalPages
10368
10438
  },
10369
10439
  "Next",
10370
- /* @__PURE__ */ React20.createElement(ChevronRight, { className: "h-5 w-5" })
10440
+ /* @__PURE__ */ React21.createElement(ChevronRight, { className: "h-5 w-5" })
10371
10441
  ))
10372
10442
  ))));
10373
10443
  }
@@ -10376,17 +10446,17 @@ function CurrentOrdersScreen() {
10376
10446
  const { orders, isLoading } = useCurrentOrders();
10377
10447
  const { buildPath } = useBasePath();
10378
10448
  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(
10449
+ 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
10450
  motion.div,
10381
10451
  {
10382
10452
  initial: { opacity: 0, y: 24 },
10383
10453
  animate: { opacity: 1, y: 0 },
10384
10454
  className: "space-y-4"
10385
10455
  },
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(
10456
+ /* @__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"),
10457
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Current orders"),
10458
+ /* @__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.")
10459
+ ), /* @__PURE__ */ React21.createElement(
10390
10460
  motion.div,
10391
10461
  {
10392
10462
  initial: { opacity: 0, y: 24 },
@@ -10394,24 +10464,24 @@ function CurrentOrdersScreen() {
10394
10464
  transition: { delay: 0.1 },
10395
10465
  className: "rounded-3xl bg-white/15 p-6 backdrop-blur"
10396
10466
  },
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(
10467
+ /* @__PURE__ */ React21.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick actions"),
10468
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-4 space-y-3 text-sm text-white/80" }, /* @__PURE__ */ React21.createElement(
10399
10469
  Link8,
10400
10470
  {
10401
10471
  href: buildPath("/orders"),
10402
10472
  className: "flex items-center justify-between rounded-2xl bg-white/10 px-4 py-3 transition hover:bg-white/20"
10403
10473
  },
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(
10474
+ /* @__PURE__ */ React21.createElement("span", { className: "font-semibold text-white" }, "View order history"),
10475
+ /* @__PURE__ */ React21.createElement(ArrowUpRight, { className: "h-4 w-4" })
10476
+ ), /* @__PURE__ */ React21.createElement("p", null, "Need help fast? Chat with a pharmacist and we will triage your request in under 10 minutes."))
10477
+ )))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
10408
10478
  motion.section,
10409
10479
  {
10410
10480
  initial: { opacity: 0, y: 24 },
10411
10481
  animate: { opacity: 1, y: 0 },
10412
10482
  className: "grid gap-6 lg:grid-cols-[minmax(0,2fr)_minmax(0,1fr)]"
10413
10483
  },
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(
10484
+ /* @__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
10485
  EmptyState,
10416
10486
  {
10417
10487
  icon: PackageCheck,
@@ -10421,7 +10491,7 @@ function CurrentOrdersScreen() {
10421
10491
  onAction: () => router.push(buildPath("/shop"))
10422
10492
  }
10423
10493
  ))),
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.")))
10494
+ /* @__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
10495
  ))));
10426
10496
  }
10427
10497
  var addressFormSchema = z.object({
@@ -10454,12 +10524,12 @@ function formatAddressSnippet(address) {
10454
10524
  function getAddressTypeCopy(type) {
10455
10525
  switch (type) {
10456
10526
  case "Billing":
10457
- return { label: "Billing", icon: /* @__PURE__ */ React20.createElement(Home, { className: "h-4 w-4" }) };
10527
+ return { label: "Billing", icon: /* @__PURE__ */ React21.createElement(Home, { className: "h-4 w-4" }) };
10458
10528
  case "Both":
10459
- return { label: "Billing & Shipping", icon: /* @__PURE__ */ React20.createElement(Globe, { className: "h-4 w-4" }) };
10529
+ return { label: "Billing & Shipping", icon: /* @__PURE__ */ React21.createElement(Globe, { className: "h-4 w-4" }) };
10460
10530
  case "Shipping":
10461
10531
  default:
10462
- return { label: "Shipping", icon: /* @__PURE__ */ React20.createElement(MapPin, { className: "h-4 w-4" }) };
10532
+ return { label: "Shipping", icon: /* @__PURE__ */ React21.createElement(MapPin, { className: "h-4 w-4" }) };
10463
10533
  }
10464
10534
  }
10465
10535
  function AddressesScreen() {
@@ -10603,18 +10673,18 @@ You can add it back at any time.`
10603
10673
  }
10604
10674
  ];
10605
10675
  }, [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(
10676
+ 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
10677
  motion.div,
10608
10678
  {
10609
10679
  initial: { opacity: 0, y: 24 },
10610
10680
  animate: { opacity: 1, y: 0 },
10611
10681
  className: "space-y-5"
10612
10682
  },
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(
10683
+ /* @__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"),
10684
+ /* @__PURE__ */ React21.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "Manage where your care arrives"),
10685
+ /* @__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."),
10686
+ /* @__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"))
10687
+ ), /* @__PURE__ */ React21.createElement(
10618
10688
  motion.div,
10619
10689
  {
10620
10690
  initial: { opacity: 0, y: 24 },
@@ -10622,14 +10692,14 @@ You can add it back at any time.`
10622
10692
  transition: { delay: 0.1 },
10623
10693
  className: "grid gap-4 rounded-3xl bg-white/15 p-6 text-sm text-white/80 backdrop-blur"
10624
10694
  },
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(
10695
+ 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)))
10696
+ )))), /* @__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
10697
  "div",
10628
10698
  {
10629
10699
  key: index,
10630
10700
  className: "h-56 animate-pulse rounded-3xl border border-slate-100 bg-white"
10631
10701
  }
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(
10702
+ ))) : 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
10703
  EmptyState,
10634
10704
  {
10635
10705
  icon: MapPin,
@@ -10638,9 +10708,9 @@ You can add it back at any time.`
10638
10708
  actionLabel: "Add your first address",
10639
10709
  onAction: openCreateModal
10640
10710
  }
10641
- )) : /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, addresses.map((address) => {
10711
+ )) : /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3" }, addresses.map((address) => {
10642
10712
  const typeCopy = getAddressTypeCopy(address.addressType);
10643
- return /* @__PURE__ */ React20.createElement(
10713
+ return /* @__PURE__ */ React21.createElement(
10644
10714
  motion.div,
10645
10715
  {
10646
10716
  key: address.id,
@@ -10648,39 +10718,39 @@ You can add it back at any time.`
10648
10718
  animate: { opacity: 1, y: 0 },
10649
10719
  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
10720
  },
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(
10721
+ 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"),
10722
+ /* @__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))),
10723
+ /* @__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")),
10724
+ /* @__PURE__ */ React21.createElement("div", { className: "mt-6 flex items-center justify-between gap-3" }, /* @__PURE__ */ React21.createElement(
10655
10725
  "button",
10656
10726
  {
10657
10727
  type: "button",
10658
10728
  onClick: () => openEditModal(address),
10659
10729
  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
10730
  },
10661
- /* @__PURE__ */ React20.createElement(Edit3, { className: "h-4 w-4" }),
10731
+ /* @__PURE__ */ React21.createElement(Edit3, { className: "h-4 w-4" }),
10662
10732
  "Edit"
10663
- ), /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, !address.isDefault && /* @__PURE__ */ React20.createElement(
10733
+ ), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, !address.isDefault && /* @__PURE__ */ React21.createElement(
10664
10734
  "button",
10665
10735
  {
10666
10736
  type: "button",
10667
10737
  onClick: () => handleSetDefault(address),
10668
10738
  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
10739
  },
10670
- /* @__PURE__ */ React20.createElement(Star, { className: "h-4 w-4" }),
10740
+ /* @__PURE__ */ React21.createElement(Star, { className: "h-4 w-4" }),
10671
10741
  "Make default"
10672
- ), /* @__PURE__ */ React20.createElement(
10742
+ ), /* @__PURE__ */ React21.createElement(
10673
10743
  "button",
10674
10744
  {
10675
10745
  type: "button",
10676
10746
  onClick: () => handleDelete(address),
10677
10747
  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
10748
  },
10679
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-4 w-4" }),
10749
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-4 w-4" }),
10680
10750
  "Delete"
10681
10751
  )))
10682
10752
  );
10683
- })))), /* @__PURE__ */ React20.createElement(
10753
+ })))), /* @__PURE__ */ React21.createElement(
10684
10754
  Modal,
10685
10755
  {
10686
10756
  isOpen: isModalOpen,
@@ -10688,7 +10758,7 @@ You can add it back at any time.`
10688
10758
  title: editingAddress ? "Edit address" : "Add new address",
10689
10759
  size: "lg"
10690
10760
  },
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(
10761
+ /* @__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
10762
  Input,
10693
10763
  {
10694
10764
  label: "Full name",
@@ -10696,7 +10766,7 @@ You can add it back at any time.`
10696
10766
  ...register("fullName"),
10697
10767
  error: errors.fullName?.message
10698
10768
  }
10699
- ), /* @__PURE__ */ React20.createElement(
10769
+ ), /* @__PURE__ */ React21.createElement(
10700
10770
  Input,
10701
10771
  {
10702
10772
  label: "Phone number",
@@ -10704,7 +10774,7 @@ You can add it back at any time.`
10704
10774
  ...register("phone"),
10705
10775
  error: errors.phone?.message
10706
10776
  }
10707
- )), /* @__PURE__ */ React20.createElement(
10777
+ )), /* @__PURE__ */ React21.createElement(
10708
10778
  Input,
10709
10779
  {
10710
10780
  label: "Address line 1",
@@ -10712,7 +10782,7 @@ You can add it back at any time.`
10712
10782
  ...register("addressLine1"),
10713
10783
  error: errors.addressLine1?.message
10714
10784
  }
10715
- ), /* @__PURE__ */ React20.createElement(
10785
+ ), /* @__PURE__ */ React21.createElement(
10716
10786
  Input,
10717
10787
  {
10718
10788
  label: "Address line 2 (optional)",
@@ -10720,7 +10790,7 @@ You can add it back at any time.`
10720
10790
  ...register("addressLine2"),
10721
10791
  error: errors.addressLine2?.message
10722
10792
  }
10723
- ), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10793
+ ), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10724
10794
  Input,
10725
10795
  {
10726
10796
  label: "City",
@@ -10728,7 +10798,7 @@ You can add it back at any time.`
10728
10798
  ...register("city"),
10729
10799
  error: errors.city?.message
10730
10800
  }
10731
- ), /* @__PURE__ */ React20.createElement(
10801
+ ), /* @__PURE__ */ React21.createElement(
10732
10802
  Input,
10733
10803
  {
10734
10804
  label: "State / Region",
@@ -10736,7 +10806,7 @@ You can add it back at any time.`
10736
10806
  ...register("state"),
10737
10807
  error: errors.state?.message
10738
10808
  }
10739
- )), /* @__PURE__ */ React20.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React20.createElement(
10809
+ )), /* @__PURE__ */ React21.createElement("div", { className: "grid gap-4 md:grid-cols-2" }, /* @__PURE__ */ React21.createElement(
10740
10810
  Input,
10741
10811
  {
10742
10812
  label: "Postal code",
@@ -10744,7 +10814,7 @@ You can add it back at any time.`
10744
10814
  ...register("zipCode"),
10745
10815
  error: errors.zipCode?.message
10746
10816
  }
10747
- ), /* @__PURE__ */ React20.createElement(
10817
+ ), /* @__PURE__ */ React21.createElement(
10748
10818
  Input,
10749
10819
  {
10750
10820
  label: "Country",
@@ -10752,23 +10822,23 @@ You can add it back at any time.`
10752
10822
  ...register("country"),
10753
10823
  error: errors.country?.message
10754
10824
  }
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(
10825
+ )), /* @__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
10826
  "select",
10757
10827
  {
10758
10828
  ...register("addressType"),
10759
10829
  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
10830
  },
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(
10831
+ /* @__PURE__ */ React21.createElement("option", { value: "Shipping" }, "Shipping"),
10832
+ /* @__PURE__ */ React21.createElement("option", { value: "Billing" }, "Billing"),
10833
+ /* @__PURE__ */ React21.createElement("option", { value: "Both" }, "Billing & Shipping")
10834
+ )), /* @__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
10835
  "input",
10766
10836
  {
10767
10837
  type: "checkbox",
10768
10838
  ...register("isDefault"),
10769
10839
  className: "h-4 w-4 rounded border-primary-300 text-primary-600 focus:ring-primary-500"
10770
10840
  }
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")))
10841
+ ))), /* @__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
10842
  ));
10773
10843
  }
10774
10844
  function useWishlistProducts(productIds = []) {
@@ -10908,14 +10978,14 @@ function WishlistScreen() {
10908
10978
  return list;
10909
10979
  }, [wishlistProducts, onlyInStock, sortOption]);
10910
10980
  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(
10981
+ 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
10982
  motion.div,
10913
10983
  {
10914
10984
  initial: { opacity: 0, y: 24 },
10915
10985
  animate: { opacity: 1, y: 0 },
10916
10986
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-xl shadow-primary-50"
10917
10987
  },
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(
10988
+ /* @__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
10989
  "input",
10920
10990
  {
10921
10991
  type: "checkbox",
@@ -10923,54 +10993,54 @@ function WishlistScreen() {
10923
10993
  onChange: (event) => setOnlyInStock(event.target.checked),
10924
10994
  className: "h-4 w-4 rounded border-slate-300 text-primary-600 focus:ring-primary-500"
10925
10995
  }
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(
10996
+ ), "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
10997
  "select",
10928
10998
  {
10929
10999
  value: sortOption,
10930
11000
  onChange: (event) => setSortOption(event.target.value),
10931
11001
  className: "bg-transparent text-sm font-medium text-slate-700 outline-none"
10932
11002
  },
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(
11003
+ SORT_OPTIONS.map((option) => /* @__PURE__ */ React21.createElement("option", { key: option.value, value: option.value }, option.label))
11004
+ )), /* @__PURE__ */ React21.createElement("div", { className: "flex overflow-hidden rounded-full border border-slate-200 bg-slate-50" }, /* @__PURE__ */ React21.createElement(
10935
11005
  "button",
10936
11006
  {
10937
11007
  type: "button",
10938
11008
  onClick: () => setViewMode("grid"),
10939
11009
  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
11010
  },
10941
- /* @__PURE__ */ React20.createElement(Grid, { className: "h-4 w-4" }),
11011
+ /* @__PURE__ */ React21.createElement(Grid, { className: "h-4 w-4" }),
10942
11012
  "Grid"
10943
- ), /* @__PURE__ */ React20.createElement(
11013
+ ), /* @__PURE__ */ React21.createElement(
10944
11014
  "button",
10945
11015
  {
10946
11016
  type: "button",
10947
11017
  onClick: () => setViewMode("list"),
10948
11018
  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
11019
  },
10950
- /* @__PURE__ */ React20.createElement(List, { className: "h-4 w-4" }),
11020
+ /* @__PURE__ */ React21.createElement(List, { className: "h-4 w-4" }),
10951
11021
  "List"
10952
- )), wishlistCount > 0 && /* @__PURE__ */ React20.createElement(
11022
+ )), wishlistCount > 0 && /* @__PURE__ */ React21.createElement(
10953
11023
  Button,
10954
11024
  {
10955
11025
  variant: "ghost",
10956
11026
  className: "text-sm font-semibold text-slate-500 hover:text-red-500",
10957
11027
  onClick: handleClearWishlist
10958
11028
  },
10959
- /* @__PURE__ */ React20.createElement(Trash2, { className: "h-4 w-4" }),
11029
+ /* @__PURE__ */ React21.createElement(Trash2, { className: "h-4 w-4" }),
10960
11030
  "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(
11031
+ ))), 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
11032
  "div",
10963
11033
  {
10964
11034
  key: index,
10965
11035
  className: "h-72 animate-pulse rounded-2xl border border-slate-200 bg-slate-100"
10966
11036
  }
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(
11037
+ ))), !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
11038
  motion.div,
10969
11039
  {
10970
11040
  layout: true,
10971
11041
  className: "grid grid-cols-1 gap-5 sm:grid-cols-2 xl:grid-cols-3"
10972
11042
  },
10973
- /* @__PURE__ */ React20.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React20.createElement(
11043
+ /* @__PURE__ */ React21.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React21.createElement(
10974
11044
  motion.div,
10975
11045
  {
10976
11046
  key: product.id,
@@ -10980,7 +11050,7 @@ function WishlistScreen() {
10980
11050
  exit: { opacity: 0, y: -20 },
10981
11051
  transition: { duration: 0.2 }
10982
11052
  },
10983
- /* @__PURE__ */ React20.createElement(
11053
+ /* @__PURE__ */ React21.createElement(
10984
11054
  ProductCard,
10985
11055
  {
10986
11056
  product,
@@ -10990,7 +11060,7 @@ function WishlistScreen() {
10990
11060
  }
10991
11061
  )
10992
11062
  )))
10993
- ) : /* @__PURE__ */ React20.createElement(motion.div, { layout: true, className: "space-y-4" }, /* @__PURE__ */ React20.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React20.createElement(
11063
+ ) : /* @__PURE__ */ React21.createElement(motion.div, { layout: true, className: "space-y-4" }, /* @__PURE__ */ React21.createElement(AnimatePresence, null, processedProducts.map((product) => /* @__PURE__ */ React21.createElement(
10994
11064
  motion.div,
10995
11065
  {
10996
11066
  key: product.id,
@@ -11001,7 +11071,7 @@ function WishlistScreen() {
11001
11071
  transition: { duration: 0.2 },
11002
11072
  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
11073
  },
11004
- /* @__PURE__ */ React20.createElement("div", { className: "relative h-28 w-full overflow-hidden rounded-2xl bg-white sm:w-40" }, /* @__PURE__ */ React20.createElement(
11074
+ /* @__PURE__ */ React21.createElement("div", { className: "relative h-28 w-full overflow-hidden rounded-2xl bg-white sm:w-40" }, /* @__PURE__ */ React21.createElement(
11005
11075
  Image3,
11006
11076
  {
11007
11077
  fill: true,
@@ -11010,14 +11080,14 @@ function WishlistScreen() {
11010
11080
  className: "h-full w-full object-cover"
11011
11081
  }
11012
11082
  )),
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(
11083
+ /* @__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
11084
  Button,
11015
11085
  {
11016
11086
  size: "sm",
11017
11087
  onClick: () => router.push(buildPath(`/products/${product.id}`))
11018
11088
  },
11019
11089
  "View details"
11020
- ), /* @__PURE__ */ React20.createElement(
11090
+ ), /* @__PURE__ */ React21.createElement(
11021
11091
  Button,
11022
11092
  {
11023
11093
  size: "sm",
@@ -11027,7 +11097,7 @@ function WishlistScreen() {
11027
11097
  },
11028
11098
  "Remove"
11029
11099
  )))
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"))))
11100
+ ))))), 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
11101
  ))));
11032
11102
  }
11033
11103
  function SearchPage() {
@@ -11141,31 +11211,31 @@ function CategoriesScreen() {
11141
11211
  const { categories, isLoading } = useCategories();
11142
11212
  const router = useRouter();
11143
11213
  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(
11214
+ 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
11215
  motion.div,
11146
11216
  {
11147
11217
  initial: { opacity: 0, y: 24 },
11148
11218
  animate: { opacity: 1, y: 0 },
11149
11219
  className: "space-y-6"
11150
11220
  },
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(
11221
+ /* @__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"),
11222
+ /* @__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.")))
11223
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "relative -mt-16 pb-16" }, /* @__PURE__ */ React21.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21.createElement(
11154
11224
  motion.div,
11155
11225
  {
11156
11226
  initial: { opacity: 0, y: 24 },
11157
11227
  animate: { opacity: 1, y: 0 },
11158
11228
  className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
11159
11229
  },
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(
11230
+ /* @__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.")),
11231
+ 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
11232
  Link8,
11163
11233
  {
11164
11234
  key: category.id,
11165
11235
  href: buildPath(`/shop?category=${category.name}`),
11166
11236
  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
11237
  },
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(
11238
+ /* @__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
11239
  Image3,
11170
11240
  {
11171
11241
  src: category.image,
@@ -11174,10 +11244,10 @@ function CategoriesScreen() {
11174
11244
  className: "object-cover transition-transform group-hover:scale-105",
11175
11245
  sizes: "(max-width: 768px) 50vw, (max-width: 1200px) 33vw, 25vw"
11176
11246
  }
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(
11247
+ ) : /* @__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" }))),
11248
+ /* @__PURE__ */ React21.createElement("h3", { className: "text-lg font-semibold text-gray-900 group-hover:text-primary-600 transition-colors" }, category.name),
11249
+ category.productCount > 0 && /* @__PURE__ */ React21.createElement("p", { className: "mt-1 text-sm text-gray-500" }, category.productCount, " ", category.productCount === 1 ? "product" : "products")
11250
+ ))) : /* @__PURE__ */ React21.createElement(
11181
11251
  EmptyState,
11182
11252
  {
11183
11253
  title: "No categories found",
@@ -11344,7 +11414,7 @@ function Header() {
11344
11414
  { href: buildPath("/about"), label: "About" },
11345
11415
  { href: buildPath("/contact"), label: "Contact" }
11346
11416
  ];
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(
11417
+ 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
11418
  Image3,
11349
11419
  {
11350
11420
  src: config.logo,
@@ -11352,7 +11422,7 @@ function Header() {
11352
11422
  fill: true,
11353
11423
  className: "object-contain"
11354
11424
  }
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(
11425
+ )), /* @__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
11426
  Link8,
11357
11427
  {
11358
11428
  key: link.href,
@@ -11360,16 +11430,16 @@ function Header() {
11360
11430
  className: "text-gray-700 hover:text-primary-600 font-medium transition-colors relative group"
11361
11431
  },
11362
11432
  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(
11433
+ /* @__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" })
11434
+ ))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React21.createElement("div", { className: "relative" }, /* @__PURE__ */ React21.createElement(
11365
11435
  "button",
11366
11436
  {
11367
11437
  onClick: () => setIsSearchOpen(!isSearchOpen),
11368
11438
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors",
11369
11439
  "aria-label": "Search"
11370
11440
  },
11371
- /* @__PURE__ */ React20.createElement(Search, { className: "w-5 h-5 text-gray-700" })
11372
- ), /* @__PURE__ */ React20.createElement(AnimatePresence, null, isSearchOpen && /* @__PURE__ */ React20.createElement(
11441
+ /* @__PURE__ */ React21.createElement(Search, { className: "w-5 h-5 text-gray-700" })
11442
+ ), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isSearchOpen && /* @__PURE__ */ React21.createElement(
11373
11443
  motion.div,
11374
11444
  {
11375
11445
  initial: { opacity: 0, width: 0 },
@@ -11377,7 +11447,7 @@ function Header() {
11377
11447
  exit: { opacity: 0, width: 0 },
11378
11448
  className: "absolute right-0 top-full mt-2 bg-white rounded-lg shadow-lg overflow-hidden"
11379
11449
  },
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(
11450
+ /* @__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
11451
  "input",
11382
11452
  {
11383
11453
  type: "text",
@@ -11392,36 +11462,36 @@ function Header() {
11392
11462
  className: "w-full outline-none text-gray-700",
11393
11463
  autoFocus: true
11394
11464
  }
11395
- ), searchQuery && /* @__PURE__ */ React20.createElement(
11465
+ ), searchQuery && /* @__PURE__ */ React21.createElement(
11396
11466
  "button",
11397
11467
  {
11398
11468
  onClick: () => setSearchQuery(""),
11399
11469
  className: "text-gray-400 hover:text-gray-600"
11400
11470
  },
11401
- /* @__PURE__ */ React20.createElement(X, { className: "w-4 h-4" })
11471
+ /* @__PURE__ */ React21.createElement(X, { className: "w-4 h-4" })
11402
11472
  ))
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(
11473
+ ))), /* @__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
11474
  Link8,
11405
11475
  {
11406
11476
  href: buildPath("/account"),
11407
11477
  className: "p-2 hover:bg-gray-100 rounded-lg transition-colors"
11408
11478
  },
11409
- /* @__PURE__ */ React20.createElement(User, { className: "w-6 h-6 text-gray-700" })
11410
- ) : /* @__PURE__ */ React20.createElement(
11479
+ /* @__PURE__ */ React21.createElement(User, { className: "w-6 h-6 text-gray-700" })
11480
+ ) : /* @__PURE__ */ React21.createElement(
11411
11481
  Link8,
11412
11482
  {
11413
11483
  href: buildPath("/login"),
11414
11484
  className: "hidden sm:block px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors font-medium"
11415
11485
  },
11416
11486
  "Sign In"
11417
- )), /* @__PURE__ */ React20.createElement(
11487
+ )), /* @__PURE__ */ React21.createElement(
11418
11488
  "button",
11419
11489
  {
11420
11490
  className: "lg:hidden p-2 hover:bg-gray-100 rounded-lg transition-colors",
11421
11491
  onClick: () => setIsMobileMenuOpen(!isMobileMenuOpen)
11422
11492
  },
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(
11493
+ isMobileMenuOpen ? /* @__PURE__ */ React21.createElement(X, { className: "w-6 h-6" }) : /* @__PURE__ */ React21.createElement(Menu, { className: "w-6 h-6" })
11494
+ )), /* @__PURE__ */ React21.createElement(AnimatePresence, null, isMobileMenuOpen && /* @__PURE__ */ React21.createElement(
11425
11495
  motion.div,
11426
11496
  {
11427
11497
  initial: { opacity: 0, height: 0 },
@@ -11429,7 +11499,7 @@ function Header() {
11429
11499
  exit: { opacity: 0, height: 0 },
11430
11500
  className: "lg:hidden overflow-hidden border-t border-gray-200"
11431
11501
  },
11432
- /* @__PURE__ */ React20.createElement("nav", { className: "flex flex-col gap-1 py-2" }, navLinks.map((link) => /* @__PURE__ */ React20.createElement(
11502
+ /* @__PURE__ */ React21.createElement("nav", { className: "flex flex-col gap-1 py-2" }, navLinks.map((link) => /* @__PURE__ */ React21.createElement(
11433
11503
  Link8,
11434
11504
  {
11435
11505
  key: link.href,
@@ -11438,7 +11508,7 @@ function Header() {
11438
11508
  onClick: () => setIsMobileMenuOpen(false)
11439
11509
  },
11440
11510
  link.label
11441
- )), !isAuthenticated && /* @__PURE__ */ React20.createElement(
11511
+ )), !isAuthenticated && /* @__PURE__ */ React21.createElement(
11442
11512
  Link8,
11443
11513
  {
11444
11514
  href: buildPath("/login"),
@@ -11477,48 +11547,48 @@ function Footer() {
11477
11547
  { label: "Cookie Policy", href: buildPath("/cookies") }
11478
11548
  ]
11479
11549
  };
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(
11550
+ 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
11551
  Link8,
11482
11552
  {
11483
11553
  href: link.href,
11484
11554
  className: "hover:text-primary-500 transition-colors"
11485
11555
  },
11486
11556
  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(
11557
+ ))))), /* @__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
11558
  Link8,
11489
11559
  {
11490
11560
  href: link.href,
11491
11561
  className: "hover:text-primary-500 transition-colors"
11492
11562
  },
11493
11563
  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(
11564
+ ))))), /* @__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
11565
  Link8,
11496
11566
  {
11497
11567
  href: link.href,
11498
11568
  className: "hover:text-primary-500 transition-colors"
11499
11569
  },
11500
11570
  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(
11571
+ )))))), /* @__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
11572
  "a",
11503
11573
  {
11504
11574
  href: "#",
11505
11575
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11506
11576
  },
11507
- /* @__PURE__ */ React20.createElement(Facebook, { className: "w-5 h-5" })
11508
- ), /* @__PURE__ */ React20.createElement(
11577
+ /* @__PURE__ */ React21.createElement(Facebook, { className: "w-5 h-5" })
11578
+ ), /* @__PURE__ */ React21.createElement(
11509
11579
  "a",
11510
11580
  {
11511
11581
  href: "#",
11512
11582
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11513
11583
  },
11514
- /* @__PURE__ */ React20.createElement(Twitter, { className: "w-5 h-5" })
11515
- ), /* @__PURE__ */ React20.createElement(
11584
+ /* @__PURE__ */ React21.createElement(Twitter, { className: "w-5 h-5" })
11585
+ ), /* @__PURE__ */ React21.createElement(
11516
11586
  "a",
11517
11587
  {
11518
11588
  href: "#",
11519
11589
  className: "w-10 h-10 bg-gray-800 hover:bg-primary-600 rounded-full flex items-center justify-center transition-colors"
11520
11590
  },
11521
- /* @__PURE__ */ React20.createElement(Instagram, { className: "w-5 h-5" })
11591
+ /* @__PURE__ */ React21.createElement(Instagram, { className: "w-5 h-5" })
11522
11592
  )))));
11523
11593
  }
11524
11594