hey-pharmacist-ecommerce 1.1.32 → 1.1.33

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
@@ -3,7 +3,7 @@ import React12, { createContext, forwardRef, useContext, useEffect, useState, us
3
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
  import globalAxios21 from 'axios';
5
5
  import { motion, AnimatePresence, useMotionValue, useTransform } from 'framer-motion';
6
- import { Trash2, X, CheckCheck, Settings, BellOff, Eye, Star, ShoppingCart, Sparkles, ShieldCheck, TrendingUp, Search, Package, ArrowUpDown, ChevronDown, LayoutGrid, LayoutList, Clock, User, MessageCircle, Filter, ChevronLeft, Check, Heart, Truck, RotateCcw, Shield, Minus, Plus, ShoppingBag, ArrowRight, CheckCircle2, MapPin, CreditCard, Edit3, AlertCircle, Lock, EyeOff, UserPlus, Mail, Send, ArrowLeft, MessageSquare, ChevronRight, ArrowUpRight, PackageCheck, Warehouse, BellRing, Crown, Phone, Grid, List, Loader2, Bell, LogOut, Menu, Facebook, Twitter, Instagram, Shirt, Pill, Box, TrendingDown, ExternalLink, Gift, Tag, Globe, Home, CheckCircle, Edit, AlertTriangle, Info, XCircle } from 'lucide-react';
6
+ import { Trash2, X, CheckCheck, Settings, BellOff, Eye, Star, ShoppingCart, Sparkles, ShieldCheck, TrendingUp, Search, Package, ArrowUpDown, ChevronDown, LayoutGrid, LayoutList, Clock, User, MessageCircle, Filter, ChevronLeft, Check, Heart, Truck, RotateCcw, Shield, Minus, Plus, ShoppingBag, ArrowRight, CheckCircle2, MapPin, CreditCard, Edit3, AlertCircle, Lock, EyeOff, UserPlus, Mail, Send, ArrowLeft, MessageSquare, ChevronRight, ArrowUpRight, PackageCheck, Warehouse, BellRing, Crown, Phone, Grid, List, Loader2, Calendar, ExternalLink, Info, Bell, LogOut, Menu, Facebook, Twitter, Instagram, Shirt, Pill, Box, TrendingDown, Gift, Tag, Globe, Home, CheckCircle, Edit, AlertTriangle, XCircle } from 'lucide-react';
7
7
  import { QueryClient, QueryClientProvider, useQuery } from '@tanstack/react-query';
8
8
  import { useRouter, useSearchParams, useParams } from 'next/navigation';
9
9
  import Image4 from 'next/image';
@@ -21611,6 +21611,349 @@ function NotificationSettingsScreen() {
21611
21611
  ] })
21612
21612
  ] });
21613
21613
  }
21614
+ function OrderDetailScreen({ id }) {
21615
+ const router = useRouter();
21616
+ const { buildPath } = useBasePath();
21617
+ const { order, isLoading, error } = useOrder(id);
21618
+ if (isLoading) {
21619
+ return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-slate-50 flex flex-col items-center justify-center p-4", children: [
21620
+ /* @__PURE__ */ jsx("div", { className: "w-16 h-16 border-4 border-primary/20 border-t-primary rounded-full animate-spin mb-4" }),
21621
+ /* @__PURE__ */ jsx("p", { className: "text-muted font-medium animate-pulse", children: "Retrieving order details..." })
21622
+ ] });
21623
+ }
21624
+ if (error || !order) {
21625
+ return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-slate-50 flex flex-col items-center justify-center p-4", children: [
21626
+ /* @__PURE__ */ jsx("div", { className: "p-4 bg-red-50 rounded-full mb-4", children: /* @__PURE__ */ jsx(AlertCircle, { className: "w-10 h-10 text-red-500" }) }),
21627
+ /* @__PURE__ */ jsx("h1", { className: "text-xl font-bold text-secondary mb-2", children: "Order Not Found" }),
21628
+ /* @__PURE__ */ jsx("p", { className: "text-muted mb-6", children: "We couldn't find the order you're looking for." }),
21629
+ /* @__PURE__ */ jsx(Button, { onClick: () => router.push(buildPath("/account")), children: "Back to Account" })
21630
+ ] });
21631
+ }
21632
+ const items = order.items || [];
21633
+ const status = order.orderStatus || "Pending";
21634
+ const isDelivery = order.orderType === "Delivery";
21635
+ const getStatusVariant = (status2) => {
21636
+ switch (status2.toLowerCase()) {
21637
+ case "pending":
21638
+ return "warning";
21639
+ case "delivered":
21640
+ case "fulfilled":
21641
+ case "picked up":
21642
+ return "success";
21643
+ case "shipped":
21644
+ return "primary";
21645
+ case "cancelled":
21646
+ return "danger";
21647
+ default:
21648
+ return "gray";
21649
+ }
21650
+ };
21651
+ const shippingAddress = order.shippingInfo?.addressTo;
21652
+ const pickupAddress = order.pickUpAddress;
21653
+ const activeAddress = isDelivery ? shippingAddress : pickupAddress;
21654
+ return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-linear-to-b from-[#F8FAFC] to-[#EBF4FB] pb-20", children: [
21655
+ /* @__PURE__ */ jsxs("div", { className: "container mx-auto px-4 pt-8 max-w-6xl", children: [
21656
+ /* @__PURE__ */ jsxs(
21657
+ "button",
21658
+ {
21659
+ onClick: () => router.back(),
21660
+ className: "group flex items-center gap-2 text-muted hover:text-secondary transition-colors mb-6",
21661
+ children: [
21662
+ /* @__PURE__ */ jsx("div", { className: "p-1.5 rounded-full bg-white shadow-xs group-hover:shadow-md transition-all", children: /* @__PURE__ */ jsx(ChevronLeft, { className: "w-4 h-4" }) }),
21663
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold", children: "Back to History" })
21664
+ ]
21665
+ }
21666
+ ),
21667
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-8", children: [
21668
+ /* @__PURE__ */ jsxs("div", { children: [
21669
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 mb-2", children: [
21670
+ /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold text-secondary", children: "Order Details" }),
21671
+ /* @__PURE__ */ jsx(Badge, { variant: getStatusVariant(status), children: status }),
21672
+ /* @__PURE__ */ jsx(Badge, { variant: "primary", className: "bg-primary-100 text-primary-700 border-primary-200", children: order.orderType || "Pickup" })
21673
+ ] }),
21674
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-x-6 gap-y-2 text-sm text-muted", children: [
21675
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5 font-medium", children: [
21676
+ /* @__PURE__ */ jsx("span", { className: "opacity-60 text-xs uppercase tracking-widest font-bold", children: "ID:" }),
21677
+ /* @__PURE__ */ jsxs("span", { className: "text-secondary font-mono tracking-tight", children: [
21678
+ "#",
21679
+ id.toUpperCase()
21680
+ ] })
21681
+ ] }),
21682
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5 font-medium", children: [
21683
+ /* @__PURE__ */ jsx(Calendar, { className: "w-4 h-4 opacity-60" }),
21684
+ formatDate(order.createdAt || /* @__PURE__ */ new Date(), "long")
21685
+ ] })
21686
+ ] })
21687
+ ] }),
21688
+ /* @__PURE__ */ jsx("div", { className: "flex gap-3", children: order.payment?.hostedInvoiceUrl && /* @__PURE__ */ jsxs(Button, { size: "sm", onClick: () => window.open(order.payment?.hostedInvoiceUrl, "_blank"), className: "bg-accent hover:bg-accent-dark border-none", children: [
21689
+ /* @__PURE__ */ jsx(ExternalLink, { className: "w-4 h-4" }),
21690
+ "Payment Details"
21691
+ ] }) })
21692
+ ] })
21693
+ ] }),
21694
+ /* @__PURE__ */ jsxs("div", { className: "container mx-auto px-4 max-w-6xl grid grid-cols-1 lg:grid-cols-3 gap-8", children: [
21695
+ /* @__PURE__ */ jsxs("div", { className: "lg:col-span-2 space-y-6", children: [
21696
+ /* @__PURE__ */ jsxs(
21697
+ motion.div,
21698
+ {
21699
+ initial: { opacity: 0, y: 20 },
21700
+ animate: { opacity: 1, y: 0 },
21701
+ className: "bg-white rounded-3xl border border-slate-200 shadow-xs overflow-hidden",
21702
+ children: [
21703
+ /* @__PURE__ */ jsxs("div", { className: "p-6 border-b border-slate-100 bg-slate-50/50 flex items-center justify-between", children: [
21704
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
21705
+ /* @__PURE__ */ jsx(Package, { className: "w-5 h-5 text-secondary" }),
21706
+ /* @__PURE__ */ jsx("h2", { className: "font-bold text-secondary", children: "Order Items" })
21707
+ ] }),
21708
+ /* @__PURE__ */ jsxs("span", { className: "text-xs font-bold bg-slate-200 text-muted px-2.5 py-1 rounded-full", children: [
21709
+ items.length,
21710
+ " ",
21711
+ items.length === 1 ? "Product" : "Products"
21712
+ ] })
21713
+ ] }),
21714
+ /* @__PURE__ */ jsx("div", { className: "divide-y divide-slate-100", children: items.map((item, idx) => /* @__PURE__ */ jsxs("div", { className: "p-6 flex gap-6 group hover:bg-slate-50/50 transition-colors", children: [
21715
+ /* @__PURE__ */ jsx("div", { className: "relative w-20 h-20 bg-slate-100 rounded-2xl overflow-hidden shrink-0 border border-slate-100 group-hover:scale-105 transition-transform duration-300", children: /* @__PURE__ */ jsx(
21716
+ Image4,
21717
+ {
21718
+ src: item.productVariantData?.media?.[0]?.file || "/placeholder-product.jpg",
21719
+ alt: item.productVariantData?.name || "Item",
21720
+ fill: true,
21721
+ className: "object-cover",
21722
+ sizes: "80px"
21723
+ }
21724
+ ) }),
21725
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 flex flex-col justify-between py-1", children: [
21726
+ /* @__PURE__ */ jsxs("div", { children: [
21727
+ /* @__PURE__ */ jsx("h3", { className: "font-bold text-secondary text-lg group-hover:text-primary transition-colors leading-snug mb-1", children: item.productVariantData?.name }),
21728
+ /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-x-4 gap-y-1 text-sm text-muted", children: /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
21729
+ /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-slate-300" }),
21730
+ "Quantity: ",
21731
+ /* @__PURE__ */ jsx("span", { className: "text-secondary font-bold", children: item.quantity })
21732
+ ] }) })
21733
+ ] }),
21734
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
21735
+ /* @__PURE__ */ jsxs("span", { className: "text-muted text-sm", children: [
21736
+ formatPrice(item.productVariantData?.finalPrice || 0),
21737
+ " per unit"
21738
+ ] }),
21739
+ /* @__PURE__ */ jsx("span", { className: "font-black text-secondary", children: formatPrice((item.productVariantData?.finalPrice || 0) * item.quantity) })
21740
+ ] })
21741
+ ] })
21742
+ ] }, item._id || idx)) })
21743
+ ]
21744
+ }
21745
+ ),
21746
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
21747
+ /* @__PURE__ */ jsxs("div", { className: "bg-white p-6 rounded-3xl border border-slate-200 shadow-xs", children: [
21748
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-4", children: [
21749
+ /* @__PURE__ */ jsx(MapPin, { className: "w-5 h-5 text-accent" }),
21750
+ /* @__PURE__ */ jsx("h3", { className: "font-bold text-secondary", children: isDelivery ? "Shipping Address" : "Pickup Location" })
21751
+ ] }),
21752
+ activeAddress ? /* @__PURE__ */ jsxs("div", { className: "text-sm text-muted leading-relaxed", children: [
21753
+ /* @__PURE__ */ jsx("p", { className: "font-bold text-secondary text-base mb-1", children: activeAddress.name }),
21754
+ /* @__PURE__ */ jsx("p", { children: activeAddress.street1 }),
21755
+ activeAddress.street2 && /* @__PURE__ */ jsx("p", { children: activeAddress.street2 }),
21756
+ /* @__PURE__ */ jsxs("p", { children: [
21757
+ activeAddress.city,
21758
+ ", ",
21759
+ activeAddress.state,
21760
+ " ",
21761
+ activeAddress.zip
21762
+ ] }),
21763
+ /* @__PURE__ */ jsx("p", { children: activeAddress.country })
21764
+ ] }) : /* @__PURE__ */ jsx("p", { className: "text-sm text-muted italic", children: "No address recorded" })
21765
+ ] }),
21766
+ /* @__PURE__ */ jsxs("div", { className: "bg-white p-6 rounded-3xl border border-slate-200 shadow-xs", children: [
21767
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-4", children: [
21768
+ /* @__PURE__ */ jsx(CreditCard, { className: "w-5 h-5 text-accent" }),
21769
+ /* @__PURE__ */ jsx("h3", { className: "font-bold text-secondary", children: "Payment Method" })
21770
+ ] }),
21771
+ /* @__PURE__ */ jsxs("div", { className: "text-sm text-muted leading-relaxed", children: [
21772
+ /* @__PURE__ */ jsx("p", { className: "font-bold text-secondary text-base mb-1", children: order.payment?.paymentMethod ? order.payment.paymentMethod.replace("_", " ").toUpperCase() : "N/A" }),
21773
+ /* @__PURE__ */ jsxs("p", { className: "flex items-center gap-2 mt-2", children: [
21774
+ /* @__PURE__ */ jsx("span", { className: "opacity-60", children: "Status:" }),
21775
+ /* @__PURE__ */ jsx(Badge, { variant: order.payment?.paymentStatus === "Paid" ? "success" : "warning", children: order.payment?.paymentStatus || "Processing" })
21776
+ ] }),
21777
+ order.payment?.transactionId && /* @__PURE__ */ jsxs("p", { className: "mt-3 text-[10px] font-bold text-slate-400 uppercase tracking-tighter", children: [
21778
+ "Ref: ",
21779
+ order.payment.transactionId
21780
+ ] })
21781
+ ] })
21782
+ ] })
21783
+ ] })
21784
+ ] }),
21785
+ /* @__PURE__ */ jsx("div", { className: "space-y-6", children: /* @__PURE__ */ jsxs(
21786
+ motion.div,
21787
+ {
21788
+ initial: { opacity: 0, x: 20 },
21789
+ animate: { opacity: 1, x: 0 },
21790
+ className: "bg-secondary p-8 rounded-[2rem] text-white shadow-xl shadow-secondary/20 sticky top-8",
21791
+ children: [
21792
+ /* @__PURE__ */ jsx("h2", { className: "text-xl font-bold mb-6 flex items-center gap-2", children: "Summary View" }),
21793
+ /* @__PURE__ */ jsxs("div", { className: "space-y-4 mb-8", children: [
21794
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center text-white/70", children: [
21795
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Subtotal" }),
21796
+ /* @__PURE__ */ jsx("span", { className: "font-bold text-white", children: formatPrice(order.subTotal || 0) })
21797
+ ] }),
21798
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center text-white/70", children: [
21799
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Shipping" }),
21800
+ /* @__PURE__ */ jsx("span", { className: "font-bold text-white", children: formatPrice(order.shippingCost || 0) })
21801
+ ] }),
21802
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center text-white/70", children: [
21803
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Tax" }),
21804
+ /* @__PURE__ */ jsx("span", { className: "font-bold text-white", children: formatPrice(order.tax || 0) })
21805
+ ] }),
21806
+ order.discountedAmount !== void 0 && order.discountedAmount > 0 && /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center text-primary", children: [
21807
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Discount" }),
21808
+ /* @__PURE__ */ jsxs("span", { className: "font-bold", children: [
21809
+ "-",
21810
+ formatPrice(order.discountedAmount)
21811
+ ] })
21812
+ ] }),
21813
+ /* @__PURE__ */ jsx("div", { className: "pt-4 border-t border-white/10 mt-4", children: /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-end", children: [
21814
+ /* @__PURE__ */ jsxs("div", { children: [
21815
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-black uppercase tracking-[0.2em] text-white/40 mb-1", children: "Grand Total" }),
21816
+ /* @__PURE__ */ jsx("p", { className: "text-3xl font-black", children: formatPrice(order.grandTotal || 0) })
21817
+ ] }),
21818
+ /* @__PURE__ */ jsx("div", { className: "px-3 py-1 bg-white/10 rounded-lg text-[10px] font-black uppercase tracking-wider text-white/60", children: "USD" })
21819
+ ] }) })
21820
+ ] }),
21821
+ order.orderStatus === "Pending" && /* @__PURE__ */ jsx("div", { className: "p-4 bg-white/5 rounded-2xl border border-white/10 mb-8", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
21822
+ /* @__PURE__ */ jsx(Info, { className: "w-5 h-5 text-primary shrink-0 mt-0.5" }),
21823
+ /* @__PURE__ */ jsxs("div", { children: [
21824
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-bold mb-1", children: "Order is processing" }),
21825
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] text-white/60 leading-relaxed", children: "We've received your request and our pharmacists are reviewing it for safety and accuracy." })
21826
+ ] })
21827
+ ] }) })
21828
+ ]
21829
+ }
21830
+ ) })
21831
+ ] })
21832
+ ] });
21833
+ }
21834
+ init_config();
21835
+ var changePasswordSchema = z.object({
21836
+ currentPassword: z.string().min(6, "Current password is required"),
21837
+ newPassword: z.string().min(8, "Password must be at least 8 characters"),
21838
+ confirmPassword: z.string().min(8, "Confirm your new password")
21839
+ }).refine((data) => data.newPassword === data.confirmPassword, {
21840
+ path: ["confirmPassword"],
21841
+ message: "Passwords do not match"
21842
+ });
21843
+ function ChangePasswordScreen() {
21844
+ const router = useRouter();
21845
+ const { user } = useAuth();
21846
+ const { buildPath } = useBasePath();
21847
+ const [isSubmitting, setIsSubmitting] = useState(false);
21848
+ const [status, setStatus] = useState(
21849
+ null
21850
+ );
21851
+ const {
21852
+ register,
21853
+ handleSubmit,
21854
+ formState: { errors }
21855
+ } = useForm({
21856
+ resolver: zodResolver(changePasswordSchema)
21857
+ });
21858
+ if (!user) {
21859
+ router.push(buildPath("/login"));
21860
+ return null;
21861
+ }
21862
+ const onSubmit = async (data) => {
21863
+ setIsSubmitting(true);
21864
+ setStatus(null);
21865
+ try {
21866
+ await changePassword(data.currentPassword, data.newPassword);
21867
+ setStatus({ type: "success", message: "Password updated successfully" });
21868
+ setTimeout(() => router.push(buildPath("/account")), 600);
21869
+ } catch (error) {
21870
+ setStatus({
21871
+ type: "error",
21872
+ message: error?.response?.data?.message || "Unable to update password"
21873
+ });
21874
+ } finally {
21875
+ setIsSubmitting(false);
21876
+ }
21877
+ };
21878
+ return /* @__PURE__ */ jsx("div", { className: "min-h-screen bg-slate-50 text-slate-900", children: /* @__PURE__ */ jsx("div", { className: "container mx-auto px-4 pb-16 pt-10", children: /* @__PURE__ */ jsxs(
21879
+ motion.div,
21880
+ {
21881
+ initial: { opacity: 0, y: 18 },
21882
+ animate: { opacity: 1, y: 0 },
21883
+ className: "mx-auto max-w-2xl rounded-3xl border border-slate-200 bg-white p-8 shadow-xl shadow-primary-50",
21884
+ children: [
21885
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
21886
+ /* @__PURE__ */ jsx("span", { className: "flex h-11 w-11 items-center justify-center rounded-2xl bg-primary-50 text-primary-600", children: /* @__PURE__ */ jsx(Lock, { className: "h-5 w-5" }) }),
21887
+ /* @__PURE__ */ jsxs("div", { children: [
21888
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.32em] text-slate-500", children: "Security" }),
21889
+ /* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold text-slate-900", children: "Change password" })
21890
+ ] })
21891
+ ] }),
21892
+ /* @__PURE__ */ jsx("p", { className: "mt-3 text-sm text-slate-600", children: "Use a strong password that you have not used elsewhere. Updating your password will sign you out of other active sessions." }),
21893
+ status && /* @__PURE__ */ jsxs(
21894
+ "div",
21895
+ {
21896
+ className: `mt-4 flex items-start gap-2 rounded-2xl border px-4 py-3 text-sm ${status.type === "success" ? "border-green-200 bg-green-50 text-green-800" : "border-red-200 bg-red-50 text-red-700"}`,
21897
+ children: [
21898
+ /* @__PURE__ */ jsx("span", { className: "mt-[2px] text-base", children: status.type === "success" ? "\u2714" : "!" }),
21899
+ /* @__PURE__ */ jsx("span", { children: status.message })
21900
+ ]
21901
+ }
21902
+ ),
21903
+ /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit(onSubmit), className: "mt-8 space-y-5", children: [
21904
+ /* @__PURE__ */ jsx(
21905
+ Input,
21906
+ {
21907
+ type: "password",
21908
+ label: "Current password",
21909
+ placeholder: "Enter current password",
21910
+ ...register("currentPassword"),
21911
+ error: errors.currentPassword?.message
21912
+ }
21913
+ ),
21914
+ /* @__PURE__ */ jsx(
21915
+ Input,
21916
+ {
21917
+ type: "password",
21918
+ label: "New password",
21919
+ placeholder: "Enter new password",
21920
+ ...register("newPassword"),
21921
+ error: errors.newPassword?.message
21922
+ }
21923
+ ),
21924
+ /* @__PURE__ */ jsx(
21925
+ Input,
21926
+ {
21927
+ type: "password",
21928
+ label: "Confirm new password",
21929
+ placeholder: "Re-type new password",
21930
+ ...register("confirmPassword"),
21931
+ error: errors.confirmPassword?.message
21932
+ }
21933
+ ),
21934
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-3", children: [
21935
+ /* @__PURE__ */ jsx(Button, { type: "submit", size: "lg", isLoading: isSubmitting, children: "Save password" }),
21936
+ /* @__PURE__ */ jsx(
21937
+ Button,
21938
+ {
21939
+ type: "button",
21940
+ variant: "outline-solid",
21941
+ size: "lg",
21942
+ className: "border-slate-300 text-slate-800 hover:bg-slate-50",
21943
+ onClick: () => router.push(buildPath("/account")),
21944
+ children: "Cancel"
21945
+ }
21946
+ )
21947
+ ] })
21948
+ ] }),
21949
+ /* @__PURE__ */ jsxs("div", { className: "mt-6 flex items-center gap-2 rounded-2xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm text-slate-600", children: [
21950
+ /* @__PURE__ */ jsx(ShieldCheck, { className: "h-4 w-4 text-primary-600" }),
21951
+ "Strong passwords and up-to-date contact details help pharmacists verify changes quickly."
21952
+ ] })
21953
+ ]
21954
+ }
21955
+ ) }) });
21956
+ }
21614
21957
  function NotificationBell() {
21615
21958
  const { unreadCount, openDrawer } = useNotificationCenter();
21616
21959
  return /* @__PURE__ */ jsxs(
@@ -21979,6 +22322,6 @@ function Footer() {
21979
22322
  ] }) });
21980
22323
  }
21981
22324
 
21982
- export { AccountReviewsTab, AddressAddressTypeEnum, AddressCreatedRequestAddressTypeEnum, AddressesScreen, ApiKeyInfoDtoKeyTypeEnum, AuthProvider, Badge, BulkChannelToggleDtoCategoryEnum, Button, CampaignDraftDtoStatusEnum, CampaignDraftScheduleDtoStatusEnum, CampaignDraftSendingDtoStatusEnum, CartItem, CartProvider, CartScreen, CheckoutScreen, CreateAddressDtoAddressTypeEnum, CreateDiscountDtoStateEnum, CreateDiscountDtoTypeEnum, CreateDiscountDtoValueTypeEnum, CreateStoreAddressDtoAddressTypeEnum, CreateUserDtoCustomerTypeEnum, CreateUserDtoRoleEnum, CurrentOrdersScreen, DiscountStateEnum, DiscountTypeEnum, DiscountValueTypeEnum, EcommerceProvider, EditProfileScreen, EmptyState, Footer, ForgotPasswordScreen, Header, Input, LoginScreen, ManualDiscountDtoValueTypeEnum, ManualOrderDTOOrderStatusEnum, ManualOrderDTOPaymentMethodEnum, ManualOrderDTOPaymentStatusEnum, Modal, NewAddressPage as NewAddressScreen, NotificationBell, NotificationCard, NotificationCenterProvider, NotificationDrawer, NotificationSettingsScreen, OrderCard, OrderCardSkeleton, OrderOrderTypeEnum, OrderReviewsScreen, OrderTimeLineDTOTypeEnum, OrderTypeEnum, OrdersScreen, PaymentPaymentMethodEnum, PaymentPaymentStatusEnum, PaymentTimeLineDTOTitleEnum, PopulatedDiscountStateEnum, PopulatedDiscountTypeEnum, PopulatedDiscountValueTypeEnum, PopulatedOrderOrderTypeEnum, PopulatedOrderTypeEnum, PreferenceUpdateItemTypeEnum, ProductCard, ProductCardSkeleton, ProductDetailScreen, ProductReviewsSection, ProductVariantInventoryStatusEnum, AccountPage as ProfileScreen, RatingDistribution, RegisterScreen, ReorderProductsDtoContainerTypeEnum, ResetPasswordScreen, ReviewCard, ReviewForm, ReviewPromptBanner, ReviewsList, SearchPage as SearchResultsScreen, ShipmentDetailsDtoStatusEnum, ShippingInfoStatusEnum, ShopScreen, SingleProductMediaTypeEnum, Skeleton, StarRating, ThemeProvider, UpdateAddressDtoAddressTypeEnum, UpdateDiscountDtoStateEnum, UpdateDiscountDtoTypeEnum, UpdateDiscountDtoValueTypeEnum, UpdateManualShipmentStatusDtoStatusEnum, UpdateUserDtoCustomerTypeEnum, UpdateUserDtoRoleEnum, UserEntityCustomerTypeEnum, UserEntityRoleEnum, UserWithNoIdCustomerTypeEnum, UserWithNoIdRoleEnum, WishlistProvider, WishlistScreen, formatDate, formatPrice, generateColorShades, getApiConfiguration, getInitials, hexToRgb, initializeApiAdapter, truncate, useAddresses, useAuth, useBasePath, useCart, useCategories, useCreateReview, useCurrentOrders, useDeleteReview, useNotificationCenter, useOrder, useOrders, useProduct, useProductReviews, useProducts, useReviewStats, useReviewsByRating, useStoreCapabilities, useTheme, useUpdateReview, useUserReviews, useWishlist };
22325
+ export { AccountReviewsTab, AddressAddressTypeEnum, AddressCreatedRequestAddressTypeEnum, AddressesScreen, ApiKeyInfoDtoKeyTypeEnum, AuthProvider, Badge, BulkChannelToggleDtoCategoryEnum, Button, CampaignDraftDtoStatusEnum, CampaignDraftScheduleDtoStatusEnum, CampaignDraftSendingDtoStatusEnum, CartItem, CartProvider, CartScreen, ChangePasswordScreen, CheckoutScreen, CreateAddressDtoAddressTypeEnum, CreateDiscountDtoStateEnum, CreateDiscountDtoTypeEnum, CreateDiscountDtoValueTypeEnum, CreateStoreAddressDtoAddressTypeEnum, CreateUserDtoCustomerTypeEnum, CreateUserDtoRoleEnum, CurrentOrdersScreen, DiscountStateEnum, DiscountTypeEnum, DiscountValueTypeEnum, EcommerceProvider, EditProfileScreen, EmptyState, Footer, ForgotPasswordScreen, Header, Input, LoginScreen, ManualDiscountDtoValueTypeEnum, ManualOrderDTOOrderStatusEnum, ManualOrderDTOPaymentMethodEnum, ManualOrderDTOPaymentStatusEnum, Modal, NewAddressPage as NewAddressScreen, NotificationBell, NotificationCard, NotificationCenterProvider, NotificationDrawer, NotificationSettingsScreen, OrderCard, OrderCardSkeleton, OrderDetailScreen, OrderOrderTypeEnum, OrderReviewsScreen, OrderTimeLineDTOTypeEnum, OrderTypeEnum, OrdersScreen, PaymentPaymentMethodEnum, PaymentPaymentStatusEnum, PaymentTimeLineDTOTitleEnum, PopulatedDiscountStateEnum, PopulatedDiscountTypeEnum, PopulatedDiscountValueTypeEnum, PopulatedOrderOrderTypeEnum, PopulatedOrderTypeEnum, PreferenceUpdateItemTypeEnum, ProductCard, ProductCardSkeleton, ProductDetailScreen, ProductReviewsSection, ProductVariantInventoryStatusEnum, AccountPage as ProfileScreen, RatingDistribution, RegisterScreen, ReorderProductsDtoContainerTypeEnum, ResetPasswordScreen, ReviewCard, ReviewForm, ReviewPromptBanner, ReviewsList, SearchPage as SearchResultsScreen, ShipmentDetailsDtoStatusEnum, ShippingInfoStatusEnum, ShopScreen, SingleProductMediaTypeEnum, Skeleton, StarRating, ThemeProvider, UpdateAddressDtoAddressTypeEnum, UpdateDiscountDtoStateEnum, UpdateDiscountDtoTypeEnum, UpdateDiscountDtoValueTypeEnum, UpdateManualShipmentStatusDtoStatusEnum, UpdateUserDtoCustomerTypeEnum, UpdateUserDtoRoleEnum, UserEntityCustomerTypeEnum, UserEntityRoleEnum, UserWithNoIdCustomerTypeEnum, UserWithNoIdRoleEnum, WishlistProvider, WishlistScreen, formatDate, formatPrice, generateColorShades, getApiConfiguration, getInitials, hexToRgb, initializeApiAdapter, truncate, useAddresses, useAuth, useBasePath, useCart, useCategories, useCreateReview, useCurrentOrders, useDeleteReview, useNotificationCenter, useOrder, useOrders, useProduct, useProductReviews, useProducts, useReviewStats, useReviewsByRating, useStoreCapabilities, useTheme, useUpdateReview, useUserReviews, useWishlist };
21983
22326
  //# sourceMappingURL=index.mjs.map
21984
22327
  //# sourceMappingURL=index.mjs.map