@burdenoff/microfe-coolandlovely 2026.614.1
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/README.md +12 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.d.ts +5 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.d.ts.map +1 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.js +177 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.js.map +1 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts +4 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts.map +1 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.js +215 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.js.map +1 -0
- package/dist/coolandlovely/components/CartCard.d.ts +18 -0
- package/dist/coolandlovely/components/CartCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/EmptyState.d.ts +12 -0
- package/dist/coolandlovely/components/EmptyState.d.ts.map +1 -0
- package/dist/coolandlovely/components/EmptyState.js +28 -0
- package/dist/coolandlovely/components/EmptyState.js.map +1 -0
- package/dist/coolandlovely/components/InvestmentCard.d.ts +18 -0
- package/dist/coolandlovely/components/InvestmentCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/InvestmentCard.js +96 -0
- package/dist/coolandlovely/components/InvestmentCard.js.map +1 -0
- package/dist/coolandlovely/components/MetricsCard.d.ts +14 -0
- package/dist/coolandlovely/components/MetricsCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/MetricsCard.js +46 -0
- package/dist/coolandlovely/components/MetricsCard.js.map +1 -0
- package/dist/coolandlovely/components/OrderCard.d.ts +18 -0
- package/dist/coolandlovely/components/OrderCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/PageLayout.d.ts +12 -0
- package/dist/coolandlovely/components/PageLayout.d.ts.map +1 -0
- package/dist/coolandlovely/components/PageLayout.js +26 -0
- package/dist/coolandlovely/components/PageLayout.js.map +1 -0
- package/dist/coolandlovely/components/RatingDisplay.d.ts +12 -0
- package/dist/coolandlovely/components/RatingDisplay.d.ts.map +1 -0
- package/dist/coolandlovely/components/RatingDisplay.js +35 -0
- package/dist/coolandlovely/components/RatingDisplay.js.map +1 -0
- package/dist/coolandlovely/components/StatusBadge.d.ts +9 -0
- package/dist/coolandlovely/components/StatusBadge.d.ts.map +1 -0
- package/dist/coolandlovely/components/StatusBadge.js +45 -0
- package/dist/coolandlovely/components/StatusBadge.js.map +1 -0
- package/dist/coolandlovely/components/index.d.ts +13 -0
- package/dist/coolandlovely/components/index.d.ts.map +1 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts +16 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts.map +1 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.js +93 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.js.map +1 -0
- package/dist/coolandlovely/context/index.d.ts +6 -0
- package/dist/coolandlovely/context/index.d.ts.map +1 -0
- package/dist/coolandlovely/context/index.js +1 -0
- package/dist/coolandlovely/hooks/index.d.ts +2 -0
- package/dist/coolandlovely/hooks/index.d.ts.map +1 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts +44 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts.map +1 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js +223 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js.map +1 -0
- package/dist/coolandlovely/index.d.ts +11 -0
- package/dist/coolandlovely/index.d.ts.map +1 -0
- package/dist/coolandlovely/index.js +7 -0
- package/dist/coolandlovely/mocks/data.d.ts +61 -0
- package/dist/coolandlovely/mocks/data.d.ts.map +1 -0
- package/dist/coolandlovely/mocks/data.js +1517 -0
- package/dist/coolandlovely/mocks/data.js.map +1 -0
- package/dist/coolandlovely/mocks/index.d.ts +7 -0
- package/dist/coolandlovely/mocks/index.d.ts.map +1 -0
- package/dist/coolandlovely/mocks/users.d.ts +18 -0
- package/dist/coolandlovely/mocks/users.d.ts.map +1 -0
- package/dist/coolandlovely/mocks/users.js +34 -0
- package/dist/coolandlovely/mocks/users.js.map +1 -0
- package/dist/coolandlovely/pages/HomePage.d.ts +10 -0
- package/dist/coolandlovely/pages/HomePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/HomePage.js +921 -0
- package/dist/coolandlovely/pages/HomePage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +645 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.js +639 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.d.ts +11 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +421 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +660 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js +259 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +649 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.js +869 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.js +893 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.d.ts +12 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +834 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +700 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +760 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.d.ts +12 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +886 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +631 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +913 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.d.ts +10 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +881 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +833 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.d.ts +11 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.js +1325 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +1 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.d.ts +11 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js +665 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +1 -0
- package/dist/coolandlovely/pages/common/SettingsPage.d.ts +9 -0
- package/dist/coolandlovely/pages/common/SettingsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/common/SettingsPage.js +964 -0
- package/dist/coolandlovely/pages/common/SettingsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.d.ts +12 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +593 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.d.ts +13 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.js +620 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +547 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.d.ts +9 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.js +532 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.d.ts +10 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js +496 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.d.ts +10 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +621 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.d.ts +12 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +623 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.js +477 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.d.ts +9 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +438 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.d.ts +9 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +388 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +488 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.js +606 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.d.ts +10 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +443 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +849 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +939 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +681 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.d.ts +9 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js +419 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +399 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +569 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.d.ts +12 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +1065 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.d.ts +22 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +496 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.d.ts +18 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js +634 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.d.ts +18 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +675 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.d.ts +18 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +687 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.d.ts +17 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +578 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js.map +1 -0
- package/dist/coolandlovely/store/coolandlovelyStore.d.ts +60 -0
- package/dist/coolandlovely/store/coolandlovelyStore.d.ts.map +1 -0
- package/dist/coolandlovely/store/coolandlovelyStore.js +38 -0
- package/dist/coolandlovely/store/coolandlovelyStore.js.map +1 -0
- package/dist/coolandlovely/store/index.d.ts +6 -0
- package/dist/coolandlovely/store/index.d.ts.map +1 -0
- package/dist/coolandlovely/store/index.js +1 -0
- package/dist/coolandlovely/types/index.d.ts +458 -0
- package/dist/coolandlovely/types/index.d.ts.map +1 -0
- package/dist/coolandlovely/utils/cn.d.ts +4 -0
- package/dist/coolandlovely/utils/cn.d.ts.map +1 -0
- package/dist/coolandlovely/utils/cn.js +10 -0
- package/dist/coolandlovely/utils/cn.js.map +1 -0
- package/dist/coolandlovely/utils/formatters.d.ts +78 -0
- package/dist/coolandlovely/utils/formatters.d.ts.map +1 -0
- package/dist/coolandlovely/utils/formatters.js +51 -0
- package/dist/coolandlovely/utils/formatters.js.map +1 -0
- package/dist/coolandlovely/utils/index.d.ts +8 -0
- package/dist/coolandlovely/utils/index.d.ts.map +1 -0
- package/dist/coolandlovely/utils/navigation.d.ts +20 -0
- package/dist/coolandlovely/utils/navigation.d.ts.map +1 -0
- package/dist/coolandlovely/utils/navigation.js +9 -0
- package/dist/coolandlovely/utils/navigation.js.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +23527 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +57851 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
- package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { useCoolAndLovely as e } from "../../context/CoolAndLovelyContext.js";
|
|
2
|
+
import { cn as t } from "../../utils/cn.js";
|
|
3
|
+
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
+
import { StatusBadge as r } from "../../components/StatusBadge.js";
|
|
5
|
+
import { EmptyState as i } from "../../components/EmptyState.js";
|
|
6
|
+
import { formatCurrency as a, formatDate as o } from "../../utils/formatters.js";
|
|
7
|
+
import { getOrderById as s } from "../../mocks/data.js";
|
|
8
|
+
import { useMemo as c, useState as l } from "react";
|
|
9
|
+
import { ArrowLeft as u, CheckCircle2 as d, ChefHat as f, Circle as p, Clock as m, MapPin as h, MessageCircle as g, Package as _, Phone as v, ShoppingBag as y, Star as b, Truck as x, XCircle as S } from "lucide-react";
|
|
10
|
+
import { useParams as C } from "react-router-dom";
|
|
11
|
+
import { jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
12
|
+
//#region src/coolandlovely/pages/customer/OrderTrackingPage.tsx
|
|
13
|
+
var E = {
|
|
14
|
+
pending: m,
|
|
15
|
+
confirmed: d,
|
|
16
|
+
preparing: f,
|
|
17
|
+
ready: _,
|
|
18
|
+
picked_up: _,
|
|
19
|
+
out_for_delivery: x,
|
|
20
|
+
delivered: d,
|
|
21
|
+
cancelled: S
|
|
22
|
+
}, D = [
|
|
23
|
+
"pending",
|
|
24
|
+
"confirmed",
|
|
25
|
+
"preparing",
|
|
26
|
+
"ready",
|
|
27
|
+
"out_for_delivery",
|
|
28
|
+
"delivered"
|
|
29
|
+
], O = {
|
|
30
|
+
pending: "Order Placed",
|
|
31
|
+
confirmed: "Confirmed",
|
|
32
|
+
preparing: "Preparing",
|
|
33
|
+
ready: "Ready",
|
|
34
|
+
out_for_delivery: "Out for Delivery",
|
|
35
|
+
delivered: "Delivered"
|
|
36
|
+
}, k = {
|
|
37
|
+
pending: "Your order has been received",
|
|
38
|
+
confirmed: "Cart has accepted your order",
|
|
39
|
+
preparing: "Your food is being prepared",
|
|
40
|
+
ready: "Order is ready for pickup/delivery",
|
|
41
|
+
out_for_delivery: "Your order is on the way",
|
|
42
|
+
delivered: "Order has been delivered"
|
|
43
|
+
};
|
|
44
|
+
function A() {
|
|
45
|
+
let { orderId: f } = C(), { navigateTo: _ } = e(), [x, A] = l(!0);
|
|
46
|
+
c(() => {
|
|
47
|
+
let e = setTimeout(() => A(!1), 800);
|
|
48
|
+
return () => clearTimeout(e);
|
|
49
|
+
}, []);
|
|
50
|
+
let j = c(() => f ? s(f) : void 0, [f]);
|
|
51
|
+
if (x) return /* @__PURE__ */ w(n, {
|
|
52
|
+
title: "Track Order",
|
|
53
|
+
children: /* @__PURE__ */ T("div", {
|
|
54
|
+
className: "flex flex-col items-center justify-center py-16 text-center",
|
|
55
|
+
children: [/* @__PURE__ */ w("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-foreground mx-auto mb-4" }), /* @__PURE__ */ w("p", {
|
|
56
|
+
className: "text-sm text-muted-foreground",
|
|
57
|
+
children: "Loading order details..."
|
|
58
|
+
})]
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
if (!j) return /* @__PURE__ */ w(n, {
|
|
62
|
+
title: "Order Not Found",
|
|
63
|
+
children: /* @__PURE__ */ w(i, {
|
|
64
|
+
icon: /* @__PURE__ */ w(y, { className: "h-12 w-12" }),
|
|
65
|
+
title: "Order not found",
|
|
66
|
+
description: "The order you're looking for doesn't exist.",
|
|
67
|
+
action: /* @__PURE__ */ w("button", {
|
|
68
|
+
type: "button",
|
|
69
|
+
onClick: () => _("/customer/orders"),
|
|
70
|
+
className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|
|
71
|
+
children: "View All Orders"
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
let M = D.indexOf(j.status), N = j.status === "cancelled", P = j.status === "delivered", F = (e) => D.indexOf(e) <= M, I = (e) => e === j.status;
|
|
76
|
+
return /* @__PURE__ */ w(n, {
|
|
77
|
+
title: /* @__PURE__ */ T("div", {
|
|
78
|
+
className: "flex items-center gap-3",
|
|
79
|
+
children: [/* @__PURE__ */ w("button", {
|
|
80
|
+
type: "button",
|
|
81
|
+
onClick: () => _("/customer/orders"),
|
|
82
|
+
className: "rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",
|
|
83
|
+
children: /* @__PURE__ */ w(u, { className: "h-5 w-5" })
|
|
84
|
+
}), /* @__PURE__ */ w("span", { children: "Track Order" })]
|
|
85
|
+
}),
|
|
86
|
+
actions: /* @__PURE__ */ w(r, { status: j.status }),
|
|
87
|
+
children: /* @__PURE__ */ T("div", {
|
|
88
|
+
className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
89
|
+
children: [/* @__PURE__ */ T("div", {
|
|
90
|
+
className: "lg:col-span-2 space-y-6",
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ T("div", {
|
|
93
|
+
className: "rounded-lg border border-border bg-card p-5",
|
|
94
|
+
children: [/* @__PURE__ */ T("div", {
|
|
95
|
+
className: "flex flex-col sm:flex-row sm:justify-between sm:items-start gap-3",
|
|
96
|
+
children: [/* @__PURE__ */ T("div", {
|
|
97
|
+
className: "flex-1",
|
|
98
|
+
children: [
|
|
99
|
+
/* @__PURE__ */ T("h2", {
|
|
100
|
+
className: "text-lg font-semibold text-foreground",
|
|
101
|
+
children: ["Order #", j.id]
|
|
102
|
+
}),
|
|
103
|
+
/* @__PURE__ */ w("p", {
|
|
104
|
+
className: "text-sm text-muted-foreground",
|
|
105
|
+
children: j.cartName
|
|
106
|
+
}),
|
|
107
|
+
/* @__PURE__ */ w("p", {
|
|
108
|
+
className: "text-xs text-muted-foreground mt-0.5",
|
|
109
|
+
children: o(j.orderDate)
|
|
110
|
+
})
|
|
111
|
+
]
|
|
112
|
+
}), /* @__PURE__ */ T("div", {
|
|
113
|
+
className: "text-left sm:text-right",
|
|
114
|
+
children: [/* @__PURE__ */ w("p", {
|
|
115
|
+
className: "text-xl font-bold text-foreground",
|
|
116
|
+
children: a(j.total, { minimumFractionDigits: 0 })
|
|
117
|
+
}), /* @__PURE__ */ w("p", {
|
|
118
|
+
className: "text-xs text-muted-foreground uppercase",
|
|
119
|
+
children: j.paymentMethod
|
|
120
|
+
})]
|
|
121
|
+
})]
|
|
122
|
+
}), N ? /* @__PURE__ */ T("div", {
|
|
123
|
+
className: "mt-4 flex items-start gap-3 rounded-lg bg-destructive/10 p-4 border border-destructive/20",
|
|
124
|
+
children: [/* @__PURE__ */ w(S, { className: "h-5 w-5 text-destructive mt-0.5 shrink-0" }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
125
|
+
className: "font-medium text-destructive",
|
|
126
|
+
children: "Order Cancelled"
|
|
127
|
+
}), j.cancellationReason && /* @__PURE__ */ w("p", {
|
|
128
|
+
className: "text-sm text-destructive/80 mt-0.5",
|
|
129
|
+
children: j.cancellationReason
|
|
130
|
+
})] })]
|
|
131
|
+
}) : /* @__PURE__ */ T("div", {
|
|
132
|
+
className: t("mt-4 flex items-start gap-3 rounded-lg p-4 border", P ? "bg-green-500/10 border-green-500/20" : "bg-blue-500/10 border-blue-500/20"),
|
|
133
|
+
children: [P ? /* @__PURE__ */ w(d, { className: "h-5 w-5 text-green-600 dark:text-green-400 mt-0.5 shrink-0" }) : /* @__PURE__ */ w(m, { className: "h-5 w-5 text-blue-600 dark:text-blue-400 mt-0.5 shrink-0" }), /* @__PURE__ */ w("p", {
|
|
134
|
+
className: t("text-sm font-medium", P ? "text-green-600 dark:text-green-400" : "text-blue-600 dark:text-blue-400"),
|
|
135
|
+
children: P ? `Delivered at ${o(j.actualDeliveryTime)}` : j.estimatedDeliveryTime ? `Estimated delivery by ${o(j.estimatedDeliveryTime)}` : "Estimated delivery time: TBD"
|
|
136
|
+
})]
|
|
137
|
+
})]
|
|
138
|
+
}),
|
|
139
|
+
!N && /* @__PURE__ */ T("div", {
|
|
140
|
+
className: "rounded-lg border border-border bg-card p-5",
|
|
141
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
142
|
+
className: "text-base font-semibold text-foreground mb-5",
|
|
143
|
+
children: "Order Status"
|
|
144
|
+
}), /* @__PURE__ */ w("div", {
|
|
145
|
+
className: "relative space-y-0",
|
|
146
|
+
children: D.map((e, n) => {
|
|
147
|
+
let r = F(e), i = I(e), a = n === D.length - 1, o = E[e] ?? p;
|
|
148
|
+
return /* @__PURE__ */ T("div", {
|
|
149
|
+
className: "flex items-start relative",
|
|
150
|
+
children: [
|
|
151
|
+
!a && /* @__PURE__ */ w("div", { className: t("absolute left-5 top-10 w-0.5 h-8 z-0", r ? "bg-green-500" : "bg-border") }),
|
|
152
|
+
/* @__PURE__ */ w("div", {
|
|
153
|
+
className: t("relative z-10 flex h-10 w-10 shrink-0 items-center justify-center rounded-full", r ? "bg-green-500/10 border-2 border-green-500 text-green-600 dark:text-green-400" : "bg-muted border-2 border-border text-muted-foreground", i && "ring-4 ring-green-500/20"),
|
|
154
|
+
children: /* @__PURE__ */ w(o, { className: "h-4 w-4" })
|
|
155
|
+
}),
|
|
156
|
+
/* @__PURE__ */ T("div", {
|
|
157
|
+
className: "ml-4 flex-1 pb-8",
|
|
158
|
+
children: [
|
|
159
|
+
/* @__PURE__ */ w("h4", {
|
|
160
|
+
className: t("text-sm font-semibold", r ? "text-foreground" : "text-muted-foreground"),
|
|
161
|
+
children: O[e]
|
|
162
|
+
}),
|
|
163
|
+
/* @__PURE__ */ w("p", {
|
|
164
|
+
className: t("text-xs", r ? "text-muted-foreground" : "text-muted-foreground/50"),
|
|
165
|
+
children: k[e]
|
|
166
|
+
}),
|
|
167
|
+
i && j.assignedWorker && /* @__PURE__ */ T("div", {
|
|
168
|
+
className: "mt-1.5 text-xs text-blue-600 dark:text-blue-400",
|
|
169
|
+
children: [/* @__PURE__ */ T("p", { children: ["Driver: ", j.assignedWorker.name] }), /* @__PURE__ */ T("p", { children: ["Contact: ", j.assignedWorker.phone] })]
|
|
170
|
+
})
|
|
171
|
+
]
|
|
172
|
+
})
|
|
173
|
+
]
|
|
174
|
+
}, e);
|
|
175
|
+
})
|
|
176
|
+
})]
|
|
177
|
+
}),
|
|
178
|
+
/* @__PURE__ */ T("div", {
|
|
179
|
+
className: "rounded-lg border border-border bg-card p-5",
|
|
180
|
+
children: [
|
|
181
|
+
/* @__PURE__ */ w("h3", {
|
|
182
|
+
className: "text-base font-semibold text-foreground mb-3",
|
|
183
|
+
children: "Order Items"
|
|
184
|
+
}),
|
|
185
|
+
/* @__PURE__ */ w("div", {
|
|
186
|
+
className: "space-y-2",
|
|
187
|
+
children: j.items.map((e, t) => /* @__PURE__ */ T("div", {
|
|
188
|
+
className: "flex justify-between items-start pb-2 border-b border-border last:border-b-0",
|
|
189
|
+
children: [/* @__PURE__ */ T("div", {
|
|
190
|
+
className: "flex-1 pr-2",
|
|
191
|
+
children: [
|
|
192
|
+
/* @__PURE__ */ w("p", {
|
|
193
|
+
className: "text-sm font-medium text-foreground",
|
|
194
|
+
children: e.name
|
|
195
|
+
}),
|
|
196
|
+
e.customizations && e.customizations.length > 0 && /* @__PURE__ */ w("p", {
|
|
197
|
+
className: "text-xs text-muted-foreground",
|
|
198
|
+
children: e.customizations.join(", ")
|
|
199
|
+
}),
|
|
200
|
+
/* @__PURE__ */ T("p", {
|
|
201
|
+
className: "text-xs text-muted-foreground",
|
|
202
|
+
children: [
|
|
203
|
+
a(e.price, { minimumFractionDigits: 0 }),
|
|
204
|
+
" x ",
|
|
205
|
+
e.quantity
|
|
206
|
+
]
|
|
207
|
+
})
|
|
208
|
+
]
|
|
209
|
+
}), /* @__PURE__ */ w("p", {
|
|
210
|
+
className: "text-sm font-medium text-foreground",
|
|
211
|
+
children: a(e.price * e.quantity, { minimumFractionDigits: 0 })
|
|
212
|
+
})]
|
|
213
|
+
}, t))
|
|
214
|
+
}),
|
|
215
|
+
/* @__PURE__ */ T("div", {
|
|
216
|
+
className: "mt-4 pt-4 border-t border-border space-y-2 text-sm",
|
|
217
|
+
children: [
|
|
218
|
+
/* @__PURE__ */ T("div", {
|
|
219
|
+
className: "flex justify-between text-muted-foreground",
|
|
220
|
+
children: [/* @__PURE__ */ w("span", { children: "Subtotal" }), /* @__PURE__ */ w("span", { children: a(j.subtotal, { minimumFractionDigits: 0 }) })]
|
|
221
|
+
}),
|
|
222
|
+
/* @__PURE__ */ T("div", {
|
|
223
|
+
className: "flex justify-between text-muted-foreground",
|
|
224
|
+
children: [/* @__PURE__ */ w("span", { children: "Delivery Fee" }), /* @__PURE__ */ w("span", { children: j.deliveryFee === 0 ? "FREE" : a(j.deliveryFee, { minimumFractionDigits: 0 }) })]
|
|
225
|
+
}),
|
|
226
|
+
/* @__PURE__ */ T("div", {
|
|
227
|
+
className: "flex justify-between text-muted-foreground",
|
|
228
|
+
children: [/* @__PURE__ */ w("span", { children: "Tax" }), /* @__PURE__ */ w("span", { children: a(j.taxes, { minimumFractionDigits: 0 }) })]
|
|
229
|
+
}),
|
|
230
|
+
j.discount && j.discount > 0 && /* @__PURE__ */ T("div", {
|
|
231
|
+
className: "flex justify-between text-green-600 dark:text-green-400",
|
|
232
|
+
children: [/* @__PURE__ */ w("span", { children: "Discount" }), /* @__PURE__ */ T("span", { children: ["-", a(j.discount, { minimumFractionDigits: 0 })] })]
|
|
233
|
+
}),
|
|
234
|
+
/* @__PURE__ */ T("div", {
|
|
235
|
+
className: "flex justify-between font-semibold pt-2 border-t border-border text-foreground",
|
|
236
|
+
children: [/* @__PURE__ */ w("span", { children: "Total" }), /* @__PURE__ */ w("span", { children: a(j.total, { minimumFractionDigits: 0 }) })]
|
|
237
|
+
})
|
|
238
|
+
]
|
|
239
|
+
})
|
|
240
|
+
]
|
|
241
|
+
})
|
|
242
|
+
]
|
|
243
|
+
}), /* @__PURE__ */ T("div", {
|
|
244
|
+
className: "lg:col-span-1 space-y-6",
|
|
245
|
+
children: [
|
|
246
|
+
/* @__PURE__ */ T("div", {
|
|
247
|
+
className: "rounded-lg border border-border bg-card p-5",
|
|
248
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
249
|
+
className: "text-base font-semibold text-foreground mb-3",
|
|
250
|
+
children: "Delivery Details"
|
|
251
|
+
}), /* @__PURE__ */ T("div", {
|
|
252
|
+
className: "space-y-3",
|
|
253
|
+
children: [
|
|
254
|
+
/* @__PURE__ */ T("div", {
|
|
255
|
+
className: "flex items-start gap-2",
|
|
256
|
+
children: [/* @__PURE__ */ w(h, { className: "mt-0.5 h-4 w-4 shrink-0 text-muted-foreground" }), /* @__PURE__ */ T("div", { children: [
|
|
257
|
+
/* @__PURE__ */ w("p", {
|
|
258
|
+
className: "text-xs text-muted-foreground",
|
|
259
|
+
children: "Delivery Address"
|
|
260
|
+
}),
|
|
261
|
+
/* @__PURE__ */ w("p", {
|
|
262
|
+
className: "text-sm font-medium text-foreground",
|
|
263
|
+
children: j.deliveryAddress.street
|
|
264
|
+
}),
|
|
265
|
+
/* @__PURE__ */ w("p", {
|
|
266
|
+
className: "text-sm text-muted-foreground",
|
|
267
|
+
children: j.deliveryAddress.area
|
|
268
|
+
}),
|
|
269
|
+
/* @__PURE__ */ T("p", {
|
|
270
|
+
className: "text-sm text-muted-foreground",
|
|
271
|
+
children: [
|
|
272
|
+
j.deliveryAddress.city,
|
|
273
|
+
", ",
|
|
274
|
+
j.deliveryAddress.pincode
|
|
275
|
+
]
|
|
276
|
+
}),
|
|
277
|
+
j.deliveryAddress.landmark && /* @__PURE__ */ T("p", {
|
|
278
|
+
className: "text-xs text-muted-foreground mt-0.5",
|
|
279
|
+
children: ["Landmark: ", j.deliveryAddress.landmark]
|
|
280
|
+
})
|
|
281
|
+
] })]
|
|
282
|
+
}),
|
|
283
|
+
j.customerNotes && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
284
|
+
className: "text-xs text-muted-foreground",
|
|
285
|
+
children: "Customer Notes"
|
|
286
|
+
}), /* @__PURE__ */ w("p", {
|
|
287
|
+
className: "text-sm text-foreground",
|
|
288
|
+
children: j.customerNotes
|
|
289
|
+
})] }),
|
|
290
|
+
/* @__PURE__ */ T("div", { children: [
|
|
291
|
+
/* @__PURE__ */ w("p", {
|
|
292
|
+
className: "text-xs text-muted-foreground",
|
|
293
|
+
children: "Payment Method"
|
|
294
|
+
}),
|
|
295
|
+
/* @__PURE__ */ w("p", {
|
|
296
|
+
className: "text-sm font-medium text-foreground capitalize",
|
|
297
|
+
children: j.paymentMethod
|
|
298
|
+
}),
|
|
299
|
+
/* @__PURE__ */ w("p", {
|
|
300
|
+
className: "text-xs text-muted-foreground",
|
|
301
|
+
children: j.paymentStatus === "completed" ? "Paid" : "Payment Pending"
|
|
302
|
+
})
|
|
303
|
+
] })
|
|
304
|
+
]
|
|
305
|
+
})]
|
|
306
|
+
}),
|
|
307
|
+
j.assignedWorker && /* @__PURE__ */ T("div", {
|
|
308
|
+
className: "rounded-lg border border-border bg-card p-5",
|
|
309
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
310
|
+
className: "text-base font-semibold text-foreground mb-3",
|
|
311
|
+
children: "Delivery Partner"
|
|
312
|
+
}), /* @__PURE__ */ T("div", {
|
|
313
|
+
className: "space-y-3",
|
|
314
|
+
children: [/* @__PURE__ */ T("div", {
|
|
315
|
+
className: "flex items-center gap-3",
|
|
316
|
+
children: [
|
|
317
|
+
/* @__PURE__ */ w("div", {
|
|
318
|
+
className: "flex h-10 w-10 items-center justify-center rounded-full bg-muted text-muted-foreground",
|
|
319
|
+
children: /* @__PURE__ */ w("span", {
|
|
320
|
+
className: "text-sm font-semibold",
|
|
321
|
+
children: j.assignedWorker.name.charAt(0)
|
|
322
|
+
})
|
|
323
|
+
}),
|
|
324
|
+
/* @__PURE__ */ T("div", {
|
|
325
|
+
className: "flex-1 min-w-0",
|
|
326
|
+
children: [/* @__PURE__ */ w("p", {
|
|
327
|
+
className: "text-sm font-medium text-foreground",
|
|
328
|
+
children: j.assignedWorker.name
|
|
329
|
+
}), /* @__PURE__ */ T("div", {
|
|
330
|
+
className: "flex items-center gap-1.5 mt-0.5",
|
|
331
|
+
children: [/* @__PURE__ */ w(b, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }), /* @__PURE__ */ T("span", {
|
|
332
|
+
className: "text-xs text-muted-foreground",
|
|
333
|
+
children: [j.assignedWorker.rating, "/5"]
|
|
334
|
+
})]
|
|
335
|
+
})]
|
|
336
|
+
}),
|
|
337
|
+
/* @__PURE__ */ w("a", {
|
|
338
|
+
href: `tel:${j.assignedWorker.phone}`,
|
|
339
|
+
className: "flex h-9 w-9 items-center justify-center rounded-full bg-muted text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",
|
|
340
|
+
children: /* @__PURE__ */ w(v, { className: "h-4 w-4" })
|
|
341
|
+
})
|
|
342
|
+
]
|
|
343
|
+
}), /* @__PURE__ */ T("button", {
|
|
344
|
+
type: "button",
|
|
345
|
+
onClick: () => window.location.href = `tel:${j.assignedWorker.phone}`,
|
|
346
|
+
className: "w-full flex items-center justify-center gap-2 rounded-lg border border-border px-3 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
347
|
+
children: [/* @__PURE__ */ w(v, { className: "h-4 w-4" }), "Call Driver"]
|
|
348
|
+
})]
|
|
349
|
+
})]
|
|
350
|
+
}),
|
|
351
|
+
/* @__PURE__ */ T("div", {
|
|
352
|
+
className: "rounded-lg border border-border bg-card p-5",
|
|
353
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
354
|
+
className: "text-base font-semibold text-foreground mb-3",
|
|
355
|
+
children: "Need Help?"
|
|
356
|
+
}), /* @__PURE__ */ T("div", {
|
|
357
|
+
className: "space-y-2",
|
|
358
|
+
children: [
|
|
359
|
+
/* @__PURE__ */ T("button", {
|
|
360
|
+
type: "button",
|
|
361
|
+
onClick: () => alert("Chat support coming soon!"),
|
|
362
|
+
className: "w-full flex items-center justify-center gap-2 rounded-lg border border-border px-3 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
363
|
+
children: [/* @__PURE__ */ w(g, { className: "h-4 w-4" }), "Chat Support"]
|
|
364
|
+
}),
|
|
365
|
+
/* @__PURE__ */ T("button", {
|
|
366
|
+
type: "button",
|
|
367
|
+
onClick: () => window.location.href = "tel:7012270561",
|
|
368
|
+
className: "w-full flex items-center justify-center gap-2 rounded-lg border border-border px-3 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
369
|
+
children: [/* @__PURE__ */ w(v, { className: "h-4 w-4" }), "Call Support"]
|
|
370
|
+
}),
|
|
371
|
+
P && !j.rating && /* @__PURE__ */ T("button", {
|
|
372
|
+
type: "button",
|
|
373
|
+
onClick: () => _(`/customer/orders/${j.id}/rate`),
|
|
374
|
+
className: "w-full flex items-center justify-center gap-2 rounded-lg bg-foreground px-3 py-2.5 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|
|
375
|
+
children: [/* @__PURE__ */ w(b, { className: "h-4 w-4" }), "Rate Order"]
|
|
376
|
+
})
|
|
377
|
+
]
|
|
378
|
+
})]
|
|
379
|
+
})
|
|
380
|
+
]
|
|
381
|
+
})]
|
|
382
|
+
})
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
//#endregion
|
|
386
|
+
export { A as OrderTrackingPage };
|
|
387
|
+
|
|
388
|
+
//# sourceMappingURL=OrderTrackingPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderTrackingPage.js","names":[],"sources":["../../../../src/coolandlovely/pages/customer/OrderTrackingPage.tsx"],"sourcesContent":["/**\n * Order Tracking Page\n * @module coolandlovely/pages/customer\n *\n * Real-time order tracking with status timeline, delivery partner info,\n * price breakdown, Need Help sidebar, and rate order functionality.\n */\n\nimport { useState, useMemo } from 'react';\nimport { useParams } from 'react-router-dom';\nimport {\n ArrowLeft,\n CheckCircle2,\n Circle,\n Clock,\n MapPin,\n Phone,\n Star,\n Package,\n Truck,\n ChefHat,\n ShoppingBag,\n XCircle,\n MessageCircle,\n AlertTriangle,\n} from 'lucide-react';\nimport { PageLayout } from '../../components/PageLayout';\nimport { StatusBadge } from '../../components/StatusBadge';\nimport { EmptyState } from '../../components/EmptyState';\nimport { useCoolAndLovely } from '../../context/CoolAndLovelyContext';\nimport { getOrderById } from '../../mocks/data';\nimport { cn } from '../../utils/cn';\nimport { formatCurrency, formatDate } from '../../utils/formatters';\nimport type { OrderStatus } from '../../types';\n\nconst statusIcons: Record<string, typeof Package> = {\n pending: Clock,\n confirmed: CheckCircle2,\n preparing: ChefHat,\n ready: Package,\n picked_up: Package,\n out_for_delivery: Truck,\n delivered: CheckCircle2,\n cancelled: XCircle,\n};\n\nconst statusOrder: OrderStatus[] = [\n 'pending',\n 'confirmed',\n 'preparing',\n 'ready',\n 'out_for_delivery',\n 'delivered',\n];\n\nconst statusLabels: Record<string, string> = {\n pending: 'Order Placed',\n confirmed: 'Confirmed',\n preparing: 'Preparing',\n ready: 'Ready',\n out_for_delivery: 'Out for Delivery',\n delivered: 'Delivered',\n};\n\nconst statusDescriptions: Record<string, string> = {\n pending: 'Your order has been received',\n confirmed: 'Cart has accepted your order',\n preparing: 'Your food is being prepared',\n ready: 'Order is ready for pickup/delivery',\n out_for_delivery: 'Your order is on the way',\n delivered: 'Order has been delivered',\n};\n\nexport function OrderTrackingPage() {\n const { orderId } = useParams<{ orderId: string }>();\n const { navigateTo } = useCoolAndLovely();\n const [isLoading, setIsLoading] = useState(true);\n\n // Simulate loading\n useMemo(() => {\n const timer = setTimeout(() => setIsLoading(false), 800);\n return () => clearTimeout(timer);\n }, []);\n\n const order = useMemo(() => (orderId ? getOrderById(orderId) : undefined), [orderId]);\n\n if (isLoading) {\n return (\n <PageLayout title=\"Track Order\">\n <div className=\"flex flex-col items-center justify-center py-16 text-center\">\n <div className=\"animate-spin rounded-full h-12 w-12 border-b-2 border-foreground mx-auto mb-4\" />\n <p className=\"text-sm text-muted-foreground\">Loading order details...</p>\n </div>\n </PageLayout>\n );\n }\n\n if (!order) {\n return (\n <PageLayout title=\"Order Not Found\">\n <EmptyState\n icon={<ShoppingBag className=\"h-12 w-12\" />}\n title=\"Order not found\"\n description={`The order you're looking for doesn't exist.`}\n action={\n <button\n type=\"button\"\n onClick={() => navigateTo('/customer/orders')}\n className=\"rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity\"\n >\n View All Orders\n </button>\n }\n />\n </PageLayout>\n );\n }\n\n const currentStatusIndex = statusOrder.indexOf(order.status);\n const isCancelled = order.status === 'cancelled';\n const isDelivered = order.status === 'delivered';\n\n const isStepCompleted = (stepStatus: string): boolean => {\n const stepIndex = statusOrder.indexOf(stepStatus as OrderStatus);\n return stepIndex <= currentStatusIndex;\n };\n\n const isCurrentStep = (stepStatus: string): boolean => {\n return stepStatus === order.status;\n };\n\n return (\n <PageLayout\n title={\n <div className=\"flex items-center gap-3\">\n <button\n type=\"button\"\n onClick={() => navigateTo('/customer/orders')}\n className=\"rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground transition-colors\"\n >\n <ArrowLeft className=\"h-5 w-5\" />\n </button>\n <span>Track Order</span>\n </div>\n }\n actions={<StatusBadge status={order.status} />}\n >\n <div className=\"grid grid-cols-1 gap-6 lg:grid-cols-3\">\n {/* Left: Order Details & Timeline */}\n <div className=\"lg:col-span-2 space-y-6\">\n {/* Order Header */}\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <div className=\"flex flex-col sm:flex-row sm:justify-between sm:items-start gap-3\">\n <div className=\"flex-1\">\n <h2 className=\"text-lg font-semibold text-foreground\">Order #{order.id}</h2>\n <p className=\"text-sm text-muted-foreground\">{order.cartName}</p>\n <p className=\"text-xs text-muted-foreground mt-0.5\">\n {formatDate(order.orderDate)}\n </p>\n </div>\n <div className=\"text-left sm:text-right\">\n <p className=\"text-xl font-bold text-foreground\">\n {formatCurrency(order.total, { minimumFractionDigits: 0 })}\n </p>\n <p className=\"text-xs text-muted-foreground uppercase\">{order.paymentMethod}</p>\n </div>\n </div>\n\n {/* Status Banner */}\n {isCancelled ? (\n <div className=\"mt-4 flex items-start gap-3 rounded-lg bg-destructive/10 p-4 border border-destructive/20\">\n <XCircle className=\"h-5 w-5 text-destructive mt-0.5 shrink-0\" />\n <div>\n <p className=\"font-medium text-destructive\">Order Cancelled</p>\n {order.cancellationReason && (\n <p className=\"text-sm text-destructive/80 mt-0.5\">{order.cancellationReason}</p>\n )}\n </div>\n </div>\n ) : (\n <div\n className={cn(\n 'mt-4 flex items-start gap-3 rounded-lg p-4 border',\n isDelivered\n ? 'bg-green-500/10 border-green-500/20'\n : 'bg-blue-500/10 border-blue-500/20'\n )}\n >\n {isDelivered ? (\n <CheckCircle2 className=\"h-5 w-5 text-green-600 dark:text-green-400 mt-0.5 shrink-0\" />\n ) : (\n <Clock className=\"h-5 w-5 text-blue-600 dark:text-blue-400 mt-0.5 shrink-0\" />\n )}\n <p\n className={cn(\n 'text-sm font-medium',\n isDelivered\n ? 'text-green-600 dark:text-green-400'\n : 'text-blue-600 dark:text-blue-400'\n )}\n >\n {isDelivered\n ? `Delivered at ${formatDate(order.actualDeliveryTime!)}`\n : order.estimatedDeliveryTime\n ? `Estimated delivery by ${formatDate(order.estimatedDeliveryTime)}`\n : 'Estimated delivery time: TBD'}\n </p>\n </div>\n )}\n </div>\n\n {/* Tracking Progress Timeline */}\n {!isCancelled && (\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"text-base font-semibold text-foreground mb-5\">Order Status</h3>\n <div className=\"relative space-y-0\">\n {statusOrder.map((stepStatus, index) => {\n const completed = isStepCompleted(stepStatus);\n const current = isCurrentStep(stepStatus);\n const isLast = index === statusOrder.length - 1;\n const StepIcon = statusIcons[stepStatus] ?? Circle;\n\n return (\n <div key={stepStatus} className=\"flex items-start relative\">\n {/* Connecting line */}\n {!isLast && (\n <div\n className={cn(\n 'absolute left-5 top-10 w-0.5 h-8 z-0',\n completed ? 'bg-green-500' : 'bg-border'\n )}\n />\n )}\n\n {/* Step circle */}\n <div\n className={cn(\n 'relative z-10 flex h-10 w-10 shrink-0 items-center justify-center rounded-full',\n completed\n ? 'bg-green-500/10 border-2 border-green-500 text-green-600 dark:text-green-400'\n : 'bg-muted border-2 border-border text-muted-foreground',\n current && 'ring-4 ring-green-500/20'\n )}\n >\n <StepIcon className=\"h-4 w-4\" />\n </div>\n\n {/* Step content */}\n <div className=\"ml-4 flex-1 pb-8\">\n <h4\n className={cn(\n 'text-sm font-semibold',\n completed ? 'text-foreground' : 'text-muted-foreground'\n )}\n >\n {statusLabels[stepStatus]}\n </h4>\n <p\n className={cn(\n 'text-xs',\n completed ? 'text-muted-foreground' : 'text-muted-foreground/50'\n )}\n >\n {statusDescriptions[stepStatus]}\n </p>\n {/* Show driver info at current step */}\n {current && order.assignedWorker && (\n <div className=\"mt-1.5 text-xs text-blue-600 dark:text-blue-400\">\n <p>Driver: {order.assignedWorker.name}</p>\n <p>Contact: {order.assignedWorker.phone}</p>\n </div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n\n {/* Order Items & Price Breakdown */}\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"text-base font-semibold text-foreground mb-3\">Order Items</h3>\n <div className=\"space-y-2\">\n {order.items.map((item, index) => (\n <div\n key={index}\n className=\"flex justify-between items-start pb-2 border-b border-border last:border-b-0\"\n >\n <div className=\"flex-1 pr-2\">\n <p className=\"text-sm font-medium text-foreground\">{item.name}</p>\n {item.customizations && item.customizations.length > 0 && (\n <p className=\"text-xs text-muted-foreground\">\n {item.customizations.join(', ')}\n </p>\n )}\n <p className=\"text-xs text-muted-foreground\">\n {formatCurrency(item.price, { minimumFractionDigits: 0 })} x {item.quantity}\n </p>\n </div>\n <p className=\"text-sm font-medium text-foreground\">\n {formatCurrency(item.price * item.quantity, { minimumFractionDigits: 0 })}\n </p>\n </div>\n ))}\n </div>\n\n {/* Price Breakdown */}\n <div className=\"mt-4 pt-4 border-t border-border space-y-2 text-sm\">\n <div className=\"flex justify-between text-muted-foreground\">\n <span>Subtotal</span>\n <span>{formatCurrency(order.subtotal, { minimumFractionDigits: 0 })}</span>\n </div>\n <div className=\"flex justify-between text-muted-foreground\">\n <span>Delivery Fee</span>\n <span>\n {order.deliveryFee === 0\n ? 'FREE'\n : formatCurrency(order.deliveryFee, { minimumFractionDigits: 0 })}\n </span>\n </div>\n <div className=\"flex justify-between text-muted-foreground\">\n <span>Tax</span>\n <span>{formatCurrency(order.taxes, { minimumFractionDigits: 0 })}</span>\n </div>\n {order.discount && order.discount > 0 && (\n <div className=\"flex justify-between text-green-600 dark:text-green-400\">\n <span>Discount</span>\n <span>-{formatCurrency(order.discount, { minimumFractionDigits: 0 })}</span>\n </div>\n )}\n <div className=\"flex justify-between font-semibold pt-2 border-t border-border text-foreground\">\n <span>Total</span>\n <span>{formatCurrency(order.total, { minimumFractionDigits: 0 })}</span>\n </div>\n </div>\n </div>\n </div>\n\n {/* Right: Sidebar */}\n <div className=\"lg:col-span-1 space-y-6\">\n {/* Delivery Details */}\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"text-base font-semibold text-foreground mb-3\">Delivery Details</h3>\n <div className=\"space-y-3\">\n <div className=\"flex items-start gap-2\">\n <MapPin className=\"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground\" />\n <div>\n <p className=\"text-xs text-muted-foreground\">Delivery Address</p>\n <p className=\"text-sm font-medium text-foreground\">\n {order.deliveryAddress.street}\n </p>\n <p className=\"text-sm text-muted-foreground\">{order.deliveryAddress.area}</p>\n <p className=\"text-sm text-muted-foreground\">\n {order.deliveryAddress.city}, {order.deliveryAddress.pincode}\n </p>\n {order.deliveryAddress.landmark && (\n <p className=\"text-xs text-muted-foreground mt-0.5\">\n Landmark: {order.deliveryAddress.landmark}\n </p>\n )}\n </div>\n </div>\n\n {/* Customer Notes */}\n {order.customerNotes && (\n <div>\n <p className=\"text-xs text-muted-foreground\">Customer Notes</p>\n <p className=\"text-sm text-foreground\">{order.customerNotes}</p>\n </div>\n )}\n\n {/* Payment */}\n <div>\n <p className=\"text-xs text-muted-foreground\">Payment Method</p>\n <p className=\"text-sm font-medium text-foreground capitalize\">\n {order.paymentMethod}\n </p>\n <p className=\"text-xs text-muted-foreground\">\n {order.paymentStatus === 'completed' ? 'Paid' : 'Payment Pending'}\n </p>\n </div>\n </div>\n </div>\n\n {/* Delivery Partner */}\n {order.assignedWorker && (\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"text-base font-semibold text-foreground mb-3\">Delivery Partner</h3>\n <div className=\"space-y-3\">\n <div className=\"flex items-center gap-3\">\n <div className=\"flex h-10 w-10 items-center justify-center rounded-full bg-muted text-muted-foreground\">\n <span className=\"text-sm font-semibold\">\n {order.assignedWorker.name.charAt(0)}\n </span>\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium text-foreground\">\n {order.assignedWorker.name}\n </p>\n <div className=\"flex items-center gap-1.5 mt-0.5\">\n <Star className=\"h-3 w-3 fill-yellow-400 text-yellow-400\" />\n <span className=\"text-xs text-muted-foreground\">\n {order.assignedWorker.rating}/5\n </span>\n </div>\n </div>\n <a\n href={`tel:${order.assignedWorker.phone}`}\n className=\"flex h-9 w-9 items-center justify-center rounded-full bg-muted text-muted-foreground hover:bg-accent hover:text-foreground transition-colors\"\n >\n <Phone className=\"h-4 w-4\" />\n </a>\n </div>\n <button\n type=\"button\"\n onClick={() => (window.location.href = `tel:${order.assignedWorker!.phone}`)}\n className=\"w-full flex items-center justify-center gap-2 rounded-lg border border-border px-3 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors\"\n >\n <Phone className=\"h-4 w-4\" />\n Call Driver\n </button>\n </div>\n </div>\n )}\n\n {/* Need Help */}\n <div className=\"rounded-lg border border-border bg-card p-5\">\n <h3 className=\"text-base font-semibold text-foreground mb-3\">Need Help?</h3>\n <div className=\"space-y-2\">\n <button\n type=\"button\"\n onClick={() => alert('Chat support coming soon!')}\n className=\"w-full flex items-center justify-center gap-2 rounded-lg border border-border px-3 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors\"\n >\n <MessageCircle className=\"h-4 w-4\" />\n Chat Support\n </button>\n <button\n type=\"button\"\n onClick={() => (window.location.href = 'tel:7012270561')}\n className=\"w-full flex items-center justify-center gap-2 rounded-lg border border-border px-3 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors\"\n >\n <Phone className=\"h-4 w-4\" />\n Call Support\n </button>\n {isDelivered && !order.rating && (\n <button\n type=\"button\"\n onClick={() => navigateTo(`/customer/orders/${order.id}/rate`)}\n className=\"w-full flex items-center justify-center gap-2 rounded-lg bg-foreground px-3 py-2.5 text-sm font-medium text-background hover:opacity-90 transition-opacity\"\n >\n <Star className=\"h-4 w-4\" />\n Rate Order\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n </PageLayout>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payment Methods Page
|
|
3
|
+
* @module coolandlovely/pages/customer
|
|
4
|
+
*
|
|
5
|
+
* Manage saved payment methods: UPI IDs, credit/debit cards, wallets.
|
|
6
|
+
* Add Payment Method modal with type selection (Card/UPI/Wallet),
|
|
7
|
+
* conditional forms, Quick Pay Options section (Cash on Delivery,
|
|
8
|
+
* Pay at Cart), form state management, grouped display, security badge.
|
|
9
|
+
*/
|
|
10
|
+
export declare function PaymentMethodsPage(): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=PaymentMethodsPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentMethodsPage.d.ts","sourceRoot":"","sources":["../../../../src/coolandlovely/pages/customer/PaymentMethodsPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmKH,wBAAgB,kBAAkB,4CAicjC"}
|