hey-pharmacist-ecommerce 1.1.12 → 1.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -10216,29 +10216,43 @@ function ProfileScreen() {
10216
10216
  )))));
10217
10217
  }
10218
10218
  function OrderCard({ order }) {
10219
- const { buildPath } = useBasePath();
10220
10219
  const config = order.orderStatus;
10220
+ const itemCount = order.items?.length || 0;
10221
+ const showPriceBreakdown = order.shippingCost && order.shippingCost > 0 || order.tax && order.tax > 0 || order.discountedAmount && order.discountedAmount > 0;
10221
10222
  return /* @__PURE__ */ React21__default.default.createElement(
10222
10223
  framerMotion.motion.div,
10223
10224
  {
10224
10225
  initial: { opacity: 0, y: 20 },
10225
10226
  animate: { opacity: 1, y: 0 },
10226
- whileHover: { y: -4 },
10227
- className: "bg-white rounded-2xl p-6 shadow-sm hover:shadow-xl transition-all duration-300 border border-gray-100"
10227
+ className: "rounded-lg border border-slate-200 bg-white p-4 shadow-sm hover:shadow-md transition-shadow"
10228
10228
  },
10229
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex justify-between items-start mb-4" }, /* @__PURE__ */ React21__default.default.createElement("div", null, /* @__PURE__ */ React21__default.default.createElement("h3", { className: "text-lg font-bold text-gray-900 flex items-center gap-2" }, /* @__PURE__ */ React21__default.default.createElement(lucideReact.Package, { className: "w-5 h-5 text-primary-600" }), "Order #", order?._id?.slice(0, 6) || ""), /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-sm text-gray-500 mt-1 flex items-center gap-2" }, /* @__PURE__ */ React21__default.default.createElement(lucideReact.Calendar, { className: "w-4 h-4" }), formatDate(order.createdAt || /* @__PURE__ */ new Date(), "long"))), /* @__PURE__ */ React21__default.default.createElement(Badge, { variant: config }, config)),
10230
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "space-y-2 mb-4" }, order.items?.slice(0, 2).map((item) => /* @__PURE__ */ React21__default.default.createElement("div", { key: item.productVariantId, className: "flex items-center gap-3 text-sm" }, /* @__PURE__ */ React21__default.default.createElement(Image3__default.default, { 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__default.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21__default.default.createElement("p", { className: "font-medium text-gray-900 truncate" }, item.productVariantData.name), /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-gray-500" }, "Qty: ", item.quantity)), /* @__PURE__ */ React21__default.default.createElement("p", { className: "font-semibold text-gray-900" }, formatPrice(item.productVariantData.finalPrice)))), order.items?.length && order.items?.length > 2 && /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-sm text-gray-500 pl-15" }, "+", order.items.length - 2, " more item", order.items.length - 2 > 1 ? "s" : "")),
10231
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex justify-between items-center pt-4 border-t border-gray-200" }, /* @__PURE__ */ React21__default.default.createElement("div", null, /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-sm text-gray-500" }, "Total Amount"), /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-2xl font-bold text-gray-900" }, formatPrice(order.grandTotal || 0))), /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex gap-2" }, order.payment.paymentStatus !== "Paid" /* Paid */ && order.payment.paymentMethod === "Card" /* Card */ && /* @__PURE__ */ React21__default.default.createElement(
10232
- "a",
10229
+ /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex items-center justify-between mb-4 pb-4 border-b border-gray-200" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React21__default.default.createElement("h3", { className: "text-base font-bold text-slate-900" }, "Order #", order?._id?.slice(0, 8) || ""), /* @__PURE__ */ React21__default.default.createElement(Badge, { variant: config }, config), /* @__PURE__ */ React21__default.default.createElement("span", { className: "text-xs text-gray-500" }, formatDate(order.createdAt || /* @__PURE__ */ new Date(), "short"))), /* @__PURE__ */ React21__default.default.createElement("div", { className: "text-right" }, /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-lg font-bold text-slate-900" }, formatPrice(order.grandTotal || 0)), itemCount > 0 && /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-xs text-gray-500" }, itemCount, " ", itemCount === 1 ? "item" : "items"))),
10230
+ /* @__PURE__ */ React21__default.default.createElement("div", { className: "space-y-2 mb-4" }, order.items && order.items.length > 0 ? order.items.slice(0, 3).map((item) => {
10231
+ const itemPrice = item.productVariantData?.finalPrice || 0;
10232
+ const itemTotal = itemPrice * item.quantity;
10233
+ return /* @__PURE__ */ React21__default.default.createElement("div", { key: item.productVariantId || item._id, className: "flex items-center gap-2 text-sm" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "relative w-12 h-12 rounded bg-gray-100 flex-shrink-0 overflow-hidden" }, /* @__PURE__ */ React21__default.default.createElement(
10234
+ Image3__default.default,
10235
+ {
10236
+ src: item?.productVariantData?.productMedia?.[0]?.file || "/placeholder-product.jpg",
10237
+ alt: item?.productVariantData?.name || "Product image",
10238
+ fill: true,
10239
+ className: "object-cover",
10240
+ sizes: "48px"
10241
+ }
10242
+ )), /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21__default.default.createElement("p", { className: "font-medium text-slate-900 truncate text-sm" }, item.productVariantData?.name || "Unknown Product"), /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-xs text-gray-500" }, "Qty: ", item.quantity)), /* @__PURE__ */ React21__default.default.createElement("p", { className: "font-semibold text-slate-900 text-sm" }, formatPrice(itemTotal)));
10243
+ }) : /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-sm text-gray-500 text-center py-2" }, "No items found"), order.items && order.items.length > 3 && /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-xs text-gray-500 text-center pt-1" }, "+", order.items.length - 3, " more ", order.items.length - 3 === 1 ? "item" : "items")),
10244
+ showPriceBreakdown && /* @__PURE__ */ React21__default.default.createElement("div", { className: "mb-4 pb-4 border-b border-gray-200 space-y-1 text-xs" }, order.shippingCost !== void 0 && order.shippingCost > 0 && /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex justify-between text-gray-600" }, /* @__PURE__ */ React21__default.default.createElement("span", null, "Shipping"), /* @__PURE__ */ React21__default.default.createElement("span", null, formatPrice(order.shippingCost))), order.tax !== void 0 && order.tax > 0 && /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex justify-between text-gray-600" }, /* @__PURE__ */ React21__default.default.createElement("span", null, "Tax"), /* @__PURE__ */ React21__default.default.createElement("span", null, formatPrice(order.tax))), order.discountedAmount !== void 0 && order.discountedAmount > 0 && /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex justify-between text-green-600" }, /* @__PURE__ */ React21__default.default.createElement("span", null, "Discount"), /* @__PURE__ */ React21__default.default.createElement("span", null, "-", formatPrice(order.discountedAmount)))),
10245
+ order.payment?.paymentStatus !== "Paid" /* Paid */ && order.payment?.paymentMethod === "Card" /* Card */ && /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex justify-end" }, /* @__PURE__ */ React21__default.default.createElement(
10246
+ "button",
10233
10247
  {
10234
- href: order?.payment?.paymentIntent?.hostedInvoiceUrl || "",
10235
- target: "_blank",
10236
- rel: "noopener noreferrer",
10237
- className: "inline-flex items-center gap-2 px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors"
10248
+ onClick: () => {
10249
+ window.open(order?.payment?.hostedInvoiceUrl || "", "_blank");
10250
+ },
10251
+ className: "inline-flex items-center gap-2 rounded-full border-2 border-primary-500 bg-primary-500 hover:bg-primary-600 text-white px-4 py-2 text-sm font-medium transition-colors"
10238
10252
  },
10239
10253
  /* @__PURE__ */ React21__default.default.createElement(lucideReact.CreditCard, { className: "w-4 h-4" }),
10240
10254
  "Pay Now"
10241
- )))
10255
+ ))
10242
10256
  );
10243
10257
  }
10244
10258
  function useOrders(page = 1, limit = 10, orderStatus, paymentStatus) {
@@ -10268,6 +10282,7 @@ function useOrders(page = 1, limit = 10, orderStatus, paymentStatus) {
10268
10282
  resolvedUserId
10269
10283
  );
10270
10284
  setOrders(response.data.data || []);
10285
+ console.log(response.data);
10271
10286
  setPagination({
10272
10287
  page: response.data.page || page,
10273
10288
  limit: response.data.limit || limit,
@@ -10345,9 +10360,7 @@ function FilterChips({
10345
10360
  variant = "primary"
10346
10361
  }) {
10347
10362
  const [isOverflowOpen, setIsOverflowOpen] = React21.useState(false);
10348
- const [filterSearchTerm, setFilterSearchTerm] = React21.useState("");
10349
10363
  const overflowMenuRef = React21.useRef(null);
10350
- const color = variant === "primary" ? "primary" : "secondary";
10351
10364
  const { visibleFilters, overflowFilters } = React21.useMemo(() => {
10352
10365
  const basePrimary = filters.slice(0, maxVisible);
10353
10366
  if (basePrimary.includes(selected)) {
@@ -10368,17 +10381,6 @@ function FilterChips({
10368
10381
  overflowFilters: filters.filter((filter) => !uniquePrimary.includes(filter))
10369
10382
  };
10370
10383
  }, [filters, maxVisible, selected]);
10371
- const filteredOverflowFilters = React21.useMemo(() => {
10372
- if (!filterSearchTerm.trim()) return overflowFilters;
10373
- return overflowFilters.filter(
10374
- (filter) => filter.toLowerCase().includes(filterSearchTerm.toLowerCase())
10375
- );
10376
- }, [filterSearchTerm, overflowFilters]);
10377
- React21.useEffect(() => {
10378
- if (!isOverflowOpen) {
10379
- setFilterSearchTerm("");
10380
- }
10381
- }, [isOverflowOpen]);
10382
10384
  React21.useEffect(() => {
10383
10385
  function handleClickOutside(event) {
10384
10386
  if (overflowMenuRef.current && !overflowMenuRef.current.contains(event.target)) {
@@ -10392,69 +10394,63 @@ function FilterChips({
10392
10394
  document.removeEventListener("mousedown", handleClickOutside);
10393
10395
  };
10394
10396
  }, [isOverflowOpen]);
10395
- return /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex flex-col gap-3 md:flex-row md:items-center md:gap-4" }, /* @__PURE__ */ React21__default.default.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__default.default.createElement(Icon, { className: "h-4 w-4" }), label), /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-3" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex flex-wrap gap-2" }, visibleFilters.map((filter) => /* @__PURE__ */ React21__default.default.createElement(
10397
+ const isPrimary = variant === "primary";
10398
+ return /* @__PURE__ */ React21__default.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21__default.default.createElement(Icon, { className: "h-4 w-4 text-slate-500" }), /* @__PURE__ */ React21__default.default.createElement("span", { className: "text-sm font-medium text-slate-700" }, label), selected !== "All" && /* @__PURE__ */ React21__default.default.createElement(
10396
10399
  "button",
10397
10400
  {
10398
- key: filter,
10399
10401
  type: "button",
10400
- onClick: () => onSelect(filter),
10401
- 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`}`
10402
+ onClick: () => onSelect("All"),
10403
+ className: "ml-auto text-xs text-primary-600 hover:text-primary-700 font-medium"
10402
10404
  },
10403
- filter
10404
- ))), overflowFilters.length > 0 && /* @__PURE__ */ React21__default.default.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React21__default.default.createElement(
10405
+ "Clear"
10406
+ )), /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex flex-wrap items-center gap-2" }, visibleFilters.map((filter) => {
10407
+ const isSelected = selected === filter;
10408
+ return /* @__PURE__ */ React21__default.default.createElement(
10409
+ "button",
10410
+ {
10411
+ key: filter,
10412
+ type: "button",
10413
+ onClick: () => onSelect(filter),
10414
+ className: `inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-sm font-medium transition-all whitespace-nowrap ${isSelected ? isPrimary ? "border-primary-500 bg-primary-500 text-white shadow-sm" : "border-secondary-500 bg-secondary-500 text-white shadow-sm" : "border-slate-200 bg-white text-slate-700 hover:border-slate-300 hover:bg-slate-50"}`
10415
+ },
10416
+ filter,
10417
+ isSelected && /* @__PURE__ */ React21__default.default.createElement(lucideReact.X, { className: "h-3.5 w-3.5" })
10418
+ );
10419
+ }), overflowFilters.length > 0 && /* @__PURE__ */ React21__default.default.createElement("div", { className: "relative", ref: overflowMenuRef }, /* @__PURE__ */ React21__default.default.createElement(
10405
10420
  "button",
10406
10421
  {
10407
10422
  type: "button",
10408
10423
  onClick: () => setIsOverflowOpen((prev) => !prev),
10409
- 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"}`
10424
+ className: `inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-sm font-medium transition-all whitespace-nowrap ${overflowFilters.includes(selected) ? isPrimary ? "border-primary-500 bg-primary-50 text-primary-700" : "border-secondary-500 bg-secondary-50 text-secondary-700" : "border-slate-200 bg-white text-slate-700 hover:border-slate-300 hover:bg-slate-50"}`
10410
10425
  },
10411
10426
  /* @__PURE__ */ React21__default.default.createElement("span", null, overflowFilters.includes(selected) ? selected : "More"),
10412
- /* @__PURE__ */ React21__default.default.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)
10427
+ /* @__PURE__ */ React21__default.default.createElement(lucideReact.ChevronDown, { className: `h-3.5 w-3.5 transition-transform ${isOverflowOpen ? "rotate-180" : ""}` })
10413
10428
  ), /* @__PURE__ */ React21__default.default.createElement(framerMotion.AnimatePresence, null, isOverflowOpen && /* @__PURE__ */ React21__default.default.createElement(
10414
10429
  framerMotion.motion.div,
10415
10430
  {
10416
- initial: { opacity: 0, y: 8 },
10417
- animate: { opacity: 1, y: 0 },
10418
- exit: { opacity: 0, y: 8 },
10431
+ initial: { opacity: 0, y: 8, scale: 0.95 },
10432
+ animate: { opacity: 1, y: 0, scale: 1 },
10433
+ exit: { opacity: 0, y: 8, scale: 0.95 },
10419
10434
  transition: { duration: 0.15 },
10420
- className: "absolute right-0 z-50 mt-2 w-64 rounded-2xl border border-slate-100 bg-white shadow-xl shadow-primary-50"
10435
+ className: "absolute left-0 top-full z-50 mt-2 w-56 rounded-lg border border-slate-200 bg-white shadow-lg"
10421
10436
  },
10422
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "border-b border-slate-100 px-4 py-3" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React21__default.default.createElement(lucideReact.Search, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400" }), /* @__PURE__ */ React21__default.default.createElement(
10423
- "input",
10424
- {
10425
- type: "text",
10426
- placeholder: `Search ${label.toLowerCase()}`,
10427
- value: filterSearchTerm,
10428
- onChange: (event) => setFilterSearchTerm(event.target.value),
10429
- 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"
10430
- }
10431
- ))),
10432
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "max-h-60 overflow-y-auto px-2 py-2" }, filteredOverflowFilters.length > 0 ? filteredOverflowFilters.map((filter) => /* @__PURE__ */ React21__default.default.createElement(
10433
- "button",
10434
- {
10435
- key: filter,
10436
- type: "button",
10437
- onClick: () => {
10438
- onSelect(filter);
10439
- setIsOverflowOpen(false);
10440
- },
10441
- 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"}`
10442
- },
10443
- /* @__PURE__ */ React21__default.default.createElement("span", null, filter),
10444
- selected === filter && /* @__PURE__ */ React21__default.default.createElement(lucideReact.Check, { className: "h-4 w-4" })
10445
- )) : /* @__PURE__ */ React21__default.default.createElement("p", { className: "px-3 py-4 text-sm text-slate-500" }, "No items found.")),
10446
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex items-center justify-between gap-2 border-t border-slate-100 px-4 py-3" }, /* @__PURE__ */ React21__default.default.createElement("span", { className: "text-xs font-semibold uppercase tracking-wide text-slate-400" }, "Quick actions"), /* @__PURE__ */ React21__default.default.createElement(
10447
- "button",
10448
- {
10449
- type: "button",
10450
- onClick: () => {
10451
- onSelect("All");
10452
- setIsOverflowOpen(false);
10437
+ /* @__PURE__ */ React21__default.default.createElement("div", { className: "max-h-64 overflow-y-auto p-1.5" }, overflowFilters.map((filter) => {
10438
+ const isSelected = selected === filter;
10439
+ return /* @__PURE__ */ React21__default.default.createElement(
10440
+ "button",
10441
+ {
10442
+ key: filter,
10443
+ type: "button",
10444
+ onClick: () => {
10445
+ onSelect(filter);
10446
+ setIsOverflowOpen(false);
10447
+ },
10448
+ className: `flex w-full items-center justify-between rounded-md px-3 py-2 text-sm font-medium transition ${isSelected ? isPrimary ? "bg-primary-500 text-white" : "bg-secondary-500 text-white" : "text-slate-700 hover:bg-slate-100"}`
10453
10449
  },
10454
- className: "text-xs font-semibold uppercase tracking-wide text-primary-600 hover:text-primary-700"
10455
- },
10456
- "Reset to All"
10457
- ))
10450
+ /* @__PURE__ */ React21__default.default.createElement("span", null, filter),
10451
+ isSelected && /* @__PURE__ */ React21__default.default.createElement(lucideReact.Check, { className: "h-4 w-4" })
10452
+ );
10453
+ }))
10458
10454
  )))));
10459
10455
  }
10460
10456
  var STATUS_FILTERS = ["All", ...Object.values(ManualOrderDTOOrderStatusEnum)];
@@ -10471,9 +10467,6 @@ function OrdersScreen() {
10471
10467
  selectedFilter,
10472
10468
  selectedPaymentFilter
10473
10469
  );
10474
- const [isOverflowOpen, setIsOverflowOpen] = React21.useState(false);
10475
- const [filterSearchTerm, setFilterSearchTerm] = React21.useState("");
10476
- const overflowMenuRef = React21.useRef(null);
10477
10470
  const filteredOrders = React21.useMemo(() => {
10478
10471
  return orders.filter((order) => {
10479
10472
  const matchesStatus = selectedFilter === "All" || order?.orderStatus?.toLowerCase() === selectedFilter.toLowerCase();
@@ -10483,44 +10476,18 @@ function OrdersScreen() {
10483
10476
  }, [orders, selectedFilter, selectedPaymentFilter]);
10484
10477
  const hasOrders = filteredOrders.length > 0;
10485
10478
  const MAX_VISIBLE_FILTERS = 4;
10486
- React21.useEffect(() => {
10487
- if (!isOverflowOpen) {
10488
- setFilterSearchTerm("");
10489
- }
10490
- }, [isOverflowOpen]);
10491
- React21.useEffect(() => {
10492
- function handleClickOutside(event) {
10493
- if (overflowMenuRef.current && !overflowMenuRef.current.contains(event.target)) {
10494
- setIsOverflowOpen(false);
10495
- }
10496
- }
10497
- if (isOverflowOpen) {
10498
- document.addEventListener("mousedown", handleClickOutside);
10499
- }
10500
- return () => {
10501
- document.removeEventListener("mousedown", handleClickOutside);
10502
- };
10503
- }, [isOverflowOpen]);
10504
- return /* @__PURE__ */ React21__default.default.createElement("div", { className: "min-h-screen bg-slate-50" }, /* @__PURE__ */ React21__default.default.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__default.default.createElement("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.35),_transparent_60%)]" }), /* @__PURE__ */ React21__default.default.createElement("div", { className: "relative container mx-auto px-4 py-16" }, /* @__PURE__ */ React21__default.default.createElement(
10479
+ return /* @__PURE__ */ React21__default.default.createElement("div", { className: "min-h-screen bg-white" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "container mx-auto px-4 py-8 max-w-6xl" }, /* @__PURE__ */ React21__default.default.createElement(
10505
10480
  framerMotion.motion.div,
10506
10481
  {
10507
10482
  initial: { opacity: 0, y: 24 },
10508
10483
  animate: { opacity: 1, y: 0 },
10509
10484
  className: "space-y-6"
10510
10485
  },
10511
- /* @__PURE__ */ React21__default.default.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__default.default.createElement(lucideReact.CalendarDays, { className: "h-4 w-4" }), "Order history"),
10512
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "space-y-4" }, /* @__PURE__ */ React21__default.default.createElement("h1", { className: "text-4xl font-bold md:text-5xl" }, "All of your pharmacy orders"), /* @__PURE__ */ React21__default.default.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__default.default.createElement("div", { className: "rounded-3xl bg-white/15 p-6 backdrop-blur" }, /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-sm font-semibold uppercase tracking-[0.35em] text-white/70" }, "Quick tip"), /* @__PURE__ */ React21__default.default.createElement("p", { className: "mt-3 text-sm text-white/80" }, "Use filters to review previous prescriptions, reorder favorites, or download invoices for insurance claims.")))
10513
- ))), /* @__PURE__ */ React21__default.default.createElement("div", { className: "relative -mt-16 pb-16 container mx-auto px-4" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "container mx-auto px-4" }, /* @__PURE__ */ React21__default.default.createElement(
10514
- framerMotion.motion.div,
10515
- {
10516
- initial: { opacity: 0, y: 24 },
10517
- animate: { opacity: 1, y: 0 },
10518
- className: "rounded-3xl border border-slate-100 bg-white p-6 shadow-lg shadow-primary-50"
10519
- },
10520
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex flex-col gap-4 md:flex-row md:items-center md:justify-between" }, /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex items-center gap-3 text-sm text-slate-500" }, /* @__PURE__ */ React21__default.default.createElement(lucideReact.Sparkles, { className: "h-4 w-4 text-primary-500" }), /* @__PURE__ */ React21__default.default.createElement("span", null, "Explore your complete order archive with pharmacist notes.")), /* @__PURE__ */ React21__default.default.createElement("div", { className: "flex flex-col gap-4 md:items-end" }, /* @__PURE__ */ React21__default.default.createElement(
10486
+ /* @__PURE__ */ React21__default.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React21__default.default.createElement("h1", { className: "text-2xl font-bold text-slate-900" }, "Orders"), /* @__PURE__ */ React21__default.default.createElement("p", { className: "text-sm text-gray-500 mt-1" }, filteredOrders.length, " ", filteredOrders.length === 1 ? "order" : "orders")),
10487
+ /* @__PURE__ */ React21__default.default.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-6" }, /* @__PURE__ */ React21__default.default.createElement(
10521
10488
  FilterChips,
10522
10489
  {
10523
- label: "Status filters",
10490
+ label: "Order Status",
10524
10491
  icon: lucideReact.Filter,
10525
10492
  filters: STATUS_FILTERS,
10526
10493
  selected: selectedFilter,
@@ -10534,7 +10501,7 @@ function OrdersScreen() {
10534
10501
  ), /* @__PURE__ */ React21__default.default.createElement(
10535
10502
  FilterChips,
10536
10503
  {
10537
- label: "Payment status",
10504
+ label: "Payment Status",
10538
10505
  icon: lucideReact.CreditCard,
10539
10506
  filters: PAYMENT_FILTERS,
10540
10507
  selected: selectedPaymentFilter,
@@ -10545,8 +10512,8 @@ function OrdersScreen() {
10545
10512
  maxVisible: MAX_VISIBLE_FILTERS,
10546
10513
  variant: "primary"
10547
10514
  }
10548
- ))),
10549
- /* @__PURE__ */ React21__default.default.createElement("div", { className: "mt-6 space-y-4" }, isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21__default.default.createElement(OrderCardSkeleton, { key: index })) : hasOrders ? filteredOrders.map((order) => /* @__PURE__ */ React21__default.default.createElement(OrderCard, { key: order.id, order })) : /* @__PURE__ */ React21__default.default.createElement(
10515
+ )),
10516
+ /* @__PURE__ */ React21__default.default.createElement("div", { className: "space-y-4" }, isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ React21__default.default.createElement(OrderCardSkeleton, { key: index })) : hasOrders ? filteredOrders.map((order) => /* @__PURE__ */ React21__default.default.createElement(OrderCard, { key: order.id, order })) : /* @__PURE__ */ React21__default.default.createElement(
10550
10517
  EmptyState,
10551
10518
  {
10552
10519
  icon: lucideReact.Package,
@@ -10556,26 +10523,28 @@ function OrdersScreen() {
10556
10523
  onAction: () => router.push(buildPath("/shop"))
10557
10524
  }
10558
10525
  )),
10559
- !isLoading && pagination.totalPages > 1 && hasOrders && /* @__PURE__ */ React21__default.default.createElement("div", { className: "mt-10 flex flex-wrap items-center justify-center gap-4" }, /* @__PURE__ */ React21__default.default.createElement(
10526
+ !isLoading && pagination.totalPages > 1 && hasOrders && /* @__PURE__ */ React21__default.default.createElement("div", { className: "mt-8 flex flex-wrap items-center justify-center gap-4 pt-6 border-t border-gray-200" }, /* @__PURE__ */ React21__default.default.createElement(
10560
10527
  Button,
10561
10528
  {
10562
10529
  variant: "outline",
10563
10530
  onClick: () => setPage((current) => Math.max(1, current - 1)),
10564
- disabled: page === 1
10531
+ disabled: page === 1,
10532
+ className: "rounded-full border-2 border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-700 hover:bg-gray-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed"
10565
10533
  },
10566
- /* @__PURE__ */ React21__default.default.createElement(lucideReact.ChevronLeft, { className: "h-5 w-5" }),
10534
+ /* @__PURE__ */ React21__default.default.createElement(lucideReact.ChevronLeft, { className: "h-4 w-4 mr-2" }),
10567
10535
  "Previous"
10568
- ), /* @__PURE__ */ React21__default.default.createElement("span", { className: "text-sm font-semibold text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React21__default.default.createElement(
10536
+ ), /* @__PURE__ */ React21__default.default.createElement("span", { className: "text-sm font-medium text-slate-600" }, "Page ", page, " of ", pagination.totalPages), /* @__PURE__ */ React21__default.default.createElement(
10569
10537
  Button,
10570
10538
  {
10571
10539
  variant: "outline",
10572
10540
  onClick: () => setPage((current) => Math.min(pagination.totalPages, current + 1)),
10573
- disabled: page === pagination.totalPages
10541
+ disabled: page === pagination.totalPages,
10542
+ className: "rounded-full border-2 border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-700 hover:bg-gray-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed"
10574
10543
  },
10575
10544
  "Next",
10576
- /* @__PURE__ */ React21__default.default.createElement(lucideReact.ChevronRight, { className: "h-5 w-5" })
10545
+ /* @__PURE__ */ React21__default.default.createElement(lucideReact.ChevronRight, { className: "h-4 w-4 ml-2" })
10577
10546
  ))
10578
- ))));
10547
+ )));
10579
10548
  }
10580
10549
  function CurrentOrdersScreen() {
10581
10550
  const router = navigation.useRouter();