@burdenoff/microfe-atheletebridge 2026.624.1 → 2026.625.2
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/atheletebridge/components/EmptyState.js +18 -11
- package/dist/atheletebridge/components/EmptyState.js.map +1 -1
- package/dist/atheletebridge/components/InvestmentCard.js +7 -7
- package/dist/atheletebridge/components/InvestmentCard.js.map +1 -1
- package/dist/atheletebridge/components/MetricsCard.js +20 -14
- package/dist/atheletebridge/components/MetricsCard.js.map +1 -1
- package/dist/atheletebridge/components/PageLayout.js +30 -19
- package/dist/atheletebridge/components/PageLayout.js.map +1 -1
- package/dist/atheletebridge/pages/HomePage.js +210 -195
- package/dist/atheletebridge/pages/HomePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
- package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
- package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
- package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
- package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js +100 -91
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
- package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +365 -356
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDetailPage.js +277 -241
- package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +261 -250
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
- package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +524 -512
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/FavoritesPage.js +84 -75
- package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +117 -108
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +66 -61
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +81 -75
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/ReviewsPage.js +81 -72
- package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +63 -55
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +90 -84
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +38 -32
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +353 -319
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +134 -128
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -342
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -3,41 +3,42 @@ import { cn as t } from "../utils/cn.js";
|
|
|
3
3
|
import { PageLayout as n } from "../components/PageLayout.js";
|
|
4
4
|
import { MetricsCard as r } from "../components/MetricsCard.js";
|
|
5
5
|
import { StatusBadge as i } from "../components/StatusBadge.js";
|
|
6
|
-
import { EmptyState as
|
|
7
|
-
import { useAthleteBridgeApi as
|
|
8
|
-
import { formatCurrency as
|
|
9
|
-
import { useCallback as
|
|
10
|
-
import { useI18n as
|
|
11
|
-
import { Activity as
|
|
12
|
-
import { jsx as q, jsxs as J } from "react/jsx-runtime";
|
|
6
|
+
import { EmptyState as ee } from "../components/EmptyState.js";
|
|
7
|
+
import { useAthleteBridgeApi as a } from "../hooks/useAthleteBridgeApi.js";
|
|
8
|
+
import { formatCurrency as o, formatDistance as s, formatRelativeTime as c } from "../utils/formatters.js";
|
|
9
|
+
import { useCallback as l, useMemo as u, useState as d } from "react";
|
|
10
|
+
import { useI18n as f } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
11
|
+
import { Activity as p, AlertCircle as m, ArrowRight as h, BadgeCheck as g, BarChart3 as _, CheckCircle2 as v, ChefHat as y, ClipboardList as b, Clock as x, FileText as S, GraduationCap as C, HandCoins as w, Heart as T, Home as E, IndianRupee as D, LayoutDashboard as O, Loader2 as k, MapPin as A, Package as j, Scissors as M, Search as N, Settings as P, Shirt as F, ShoppingBag as I, ShoppingCart as L, Sparkles as R, Star as z, Store as B, TrendingUp as V, Truck as H, Users as U, Wallet as W, Wrench as G } from "lucide-react";
|
|
12
|
+
import { Fragment as K, jsx as q, jsxs as J } from "react/jsx-runtime";
|
|
13
|
+
import { EmphasisPanel as Y, GradientText as X, PagePurpose as Z, ShowMore as Q } from "@burdenoff/fe-libs/ui";
|
|
13
14
|
//#region src/atheletebridge/pages/HomePage.tsx
|
|
14
|
-
var
|
|
15
|
+
var $ = {
|
|
15
16
|
customer: [
|
|
16
17
|
{
|
|
17
18
|
label: "Discover Services",
|
|
18
19
|
description: "Browse carts near you",
|
|
19
|
-
icon: /* @__PURE__ */ q(
|
|
20
|
+
icon: /* @__PURE__ */ q(N, { className: "h-5 w-5" }),
|
|
20
21
|
path: "/customer/carts",
|
|
21
22
|
color: "bg-blue-500/10 text-blue-600 dark:text-blue-400"
|
|
22
23
|
},
|
|
23
24
|
{
|
|
24
25
|
label: "My Orders",
|
|
25
26
|
description: "Track your orders",
|
|
26
|
-
icon: /* @__PURE__ */ q(
|
|
27
|
+
icon: /* @__PURE__ */ q(I, { className: "h-5 w-5" }),
|
|
27
28
|
path: "/customer/orders",
|
|
28
29
|
color: "bg-green-500/10 text-green-600 dark:text-green-400"
|
|
29
30
|
},
|
|
30
31
|
{
|
|
31
32
|
label: "Favorites",
|
|
32
33
|
description: "Your saved carts",
|
|
33
|
-
icon: /* @__PURE__ */ q(
|
|
34
|
+
icon: /* @__PURE__ */ q(T, { className: "h-5 w-5" }),
|
|
34
35
|
path: "/customer/favorites",
|
|
35
36
|
color: "bg-pink-500/10 text-pink-600 dark:text-pink-400"
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
39
|
label: "Settings",
|
|
39
40
|
description: "Manage preferences",
|
|
40
|
-
icon: /* @__PURE__ */ q(
|
|
41
|
+
icon: /* @__PURE__ */ q(P, { className: "h-5 w-5" }),
|
|
41
42
|
path: "/settings",
|
|
42
43
|
color: "bg-bg-sunken text-text-secondary"
|
|
43
44
|
}
|
|
@@ -46,28 +47,28 @@ var Y = {
|
|
|
46
47
|
{
|
|
47
48
|
label: "My Cart",
|
|
48
49
|
description: "Manage your cart",
|
|
49
|
-
icon: /* @__PURE__ */ q(
|
|
50
|
+
icon: /* @__PURE__ */ q(B, { className: "h-5 w-5" }),
|
|
50
51
|
path: "/owner/dashboard",
|
|
51
52
|
color: "bg-purple-500/10 text-purple-600 dark:text-purple-400"
|
|
52
53
|
},
|
|
53
54
|
{
|
|
54
55
|
label: "Orders",
|
|
55
56
|
description: "Incoming orders",
|
|
56
|
-
icon: /* @__PURE__ */ q(
|
|
57
|
+
icon: /* @__PURE__ */ q(I, { className: "h-5 w-5" }),
|
|
57
58
|
path: "/owner/orders",
|
|
58
59
|
color: "bg-blue-500/10 text-blue-600 dark:text-blue-400"
|
|
59
60
|
},
|
|
60
61
|
{
|
|
61
62
|
label: "Analytics",
|
|
62
63
|
description: "Revenue & insights",
|
|
63
|
-
icon: /* @__PURE__ */ q(
|
|
64
|
+
icon: /* @__PURE__ */ q(_, { className: "h-5 w-5" }),
|
|
64
65
|
path: "/owner/analytics",
|
|
65
66
|
color: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"
|
|
66
67
|
},
|
|
67
68
|
{
|
|
68
69
|
label: "Staff",
|
|
69
70
|
description: "Manage workers",
|
|
70
|
-
icon: /* @__PURE__ */ q(
|
|
71
|
+
icon: /* @__PURE__ */ q(U, { className: "h-5 w-5" }),
|
|
71
72
|
path: "/owner/staff",
|
|
72
73
|
color: "bg-orange-500/10 text-orange-600 dark:text-orange-400"
|
|
73
74
|
}
|
|
@@ -76,28 +77,28 @@ var Y = {
|
|
|
76
77
|
{
|
|
77
78
|
label: "My Tasks",
|
|
78
79
|
description: "View assigned tasks",
|
|
79
|
-
icon: /* @__PURE__ */ q(
|
|
80
|
+
icon: /* @__PURE__ */ q(b, { className: "h-5 w-5" }),
|
|
80
81
|
path: "/worker/dashboard",
|
|
81
82
|
color: "bg-orange-500/10 text-orange-600 dark:text-orange-400"
|
|
82
83
|
},
|
|
83
84
|
{
|
|
84
85
|
label: "Schedule",
|
|
85
86
|
description: "View shifts",
|
|
86
|
-
icon: /* @__PURE__ */ q(
|
|
87
|
+
icon: /* @__PURE__ */ q(x, { className: "h-5 w-5" }),
|
|
87
88
|
path: "/worker/schedule",
|
|
88
89
|
color: "bg-blue-500/10 text-blue-600 dark:text-blue-400"
|
|
89
90
|
},
|
|
90
91
|
{
|
|
91
92
|
label: "Earnings",
|
|
92
93
|
description: "Track pay",
|
|
93
|
-
icon: /* @__PURE__ */ q(
|
|
94
|
+
icon: /* @__PURE__ */ q(W, { className: "h-5 w-5" }),
|
|
94
95
|
path: "/worker/earnings",
|
|
95
96
|
color: "bg-green-500/10 text-green-600 dark:text-green-400"
|
|
96
97
|
},
|
|
97
98
|
{
|
|
98
99
|
label: "Performance",
|
|
99
100
|
description: "Ratings & stats",
|
|
100
|
-
icon: /* @__PURE__ */ q(
|
|
101
|
+
icon: /* @__PURE__ */ q(z, { className: "h-5 w-5" }),
|
|
101
102
|
path: "/worker/performance",
|
|
102
103
|
color: "bg-yellow-500/10 text-yellow-600 dark:text-yellow-400"
|
|
103
104
|
}
|
|
@@ -106,28 +107,28 @@ var Y = {
|
|
|
106
107
|
{
|
|
107
108
|
label: "Portfolio",
|
|
108
109
|
description: "Your investments",
|
|
109
|
-
icon: /* @__PURE__ */ q(
|
|
110
|
+
icon: /* @__PURE__ */ q(V, { className: "h-5 w-5" }),
|
|
110
111
|
path: "/investor/dashboard",
|
|
111
112
|
color: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"
|
|
112
113
|
},
|
|
113
114
|
{
|
|
114
115
|
label: "Opportunities",
|
|
115
116
|
description: "New investments",
|
|
116
|
-
icon: /* @__PURE__ */ q(
|
|
117
|
+
icon: /* @__PURE__ */ q(w, { className: "h-5 w-5" }),
|
|
117
118
|
path: "/investor/opportunities",
|
|
118
119
|
color: "bg-blue-500/10 text-blue-600 dark:text-blue-400"
|
|
119
120
|
},
|
|
120
121
|
{
|
|
121
122
|
label: "Returns",
|
|
122
123
|
description: "Earnings history",
|
|
123
|
-
icon: /* @__PURE__ */ q(
|
|
124
|
+
icon: /* @__PURE__ */ q(D, { className: "h-5 w-5" }),
|
|
124
125
|
path: "/investor/returns",
|
|
125
126
|
color: "bg-green-500/10 text-green-600 dark:text-green-400"
|
|
126
127
|
},
|
|
127
128
|
{
|
|
128
129
|
label: "Reports",
|
|
129
130
|
description: "Performance reports",
|
|
130
|
-
icon: /* @__PURE__ */ q(
|
|
131
|
+
icon: /* @__PURE__ */ q(S, { className: "h-5 w-5" }),
|
|
131
132
|
path: "/investor/reports",
|
|
132
133
|
color: "bg-purple-500/10 text-purple-600 dark:text-purple-400"
|
|
133
134
|
}
|
|
@@ -136,60 +137,60 @@ var Y = {
|
|
|
136
137
|
{
|
|
137
138
|
label: "Dashboard",
|
|
138
139
|
description: "Platform overview",
|
|
139
|
-
icon: /* @__PURE__ */ q(
|
|
140
|
+
icon: /* @__PURE__ */ q(O, { className: "h-5 w-5" }),
|
|
140
141
|
path: "/admin/dashboard",
|
|
141
142
|
color: "bg-red-500/10 text-red-600 dark:text-red-400"
|
|
142
143
|
},
|
|
143
144
|
{
|
|
144
145
|
label: "Users",
|
|
145
146
|
description: "Manage accounts",
|
|
146
|
-
icon: /* @__PURE__ */ q(
|
|
147
|
+
icon: /* @__PURE__ */ q(U, { className: "h-5 w-5" }),
|
|
147
148
|
path: "/admin/users",
|
|
148
149
|
color: "bg-blue-500/10 text-blue-600 dark:text-blue-400"
|
|
149
150
|
},
|
|
150
151
|
{
|
|
151
152
|
label: "Carts",
|
|
152
153
|
description: "Approve & manage",
|
|
153
|
-
icon: /* @__PURE__ */ q(
|
|
154
|
+
icon: /* @__PURE__ */ q(B, { className: "h-5 w-5" }),
|
|
154
155
|
path: "/admin/carts",
|
|
155
156
|
color: "bg-purple-500/10 text-purple-600 dark:text-purple-400"
|
|
156
157
|
},
|
|
157
158
|
{
|
|
158
159
|
label: "Analytics",
|
|
159
160
|
description: "Revenue reports",
|
|
160
|
-
icon: /* @__PURE__ */ q(
|
|
161
|
+
icon: /* @__PURE__ */ q(_, { className: "h-5 w-5" }),
|
|
161
162
|
path: "/admin/analytics",
|
|
162
163
|
color: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"
|
|
163
164
|
}
|
|
164
165
|
]
|
|
165
166
|
};
|
|
166
|
-
function
|
|
167
|
+
function te(e, t, n) {
|
|
167
168
|
switch (e) {
|
|
168
169
|
case "customer": return [
|
|
169
170
|
{
|
|
170
|
-
icon: /* @__PURE__ */ q(
|
|
171
|
+
icon: /* @__PURE__ */ q(I, { className: "h-5 w-5" }),
|
|
171
172
|
value: t.length.toString(),
|
|
172
173
|
label: "Total Orders",
|
|
173
174
|
trend: "up",
|
|
174
175
|
trendValue: "+2 this week"
|
|
175
176
|
},
|
|
176
177
|
{
|
|
177
|
-
icon: /* @__PURE__ */ q(
|
|
178
|
+
icon: /* @__PURE__ */ q(B, { className: "h-5 w-5" }),
|
|
178
179
|
value: (n?.activeProviders ?? 0).toString(),
|
|
179
180
|
label: "Nearby Providers",
|
|
180
181
|
trend: "up",
|
|
181
182
|
trendValue: "+3"
|
|
182
183
|
},
|
|
183
184
|
{
|
|
184
|
-
icon: /* @__PURE__ */ q(
|
|
185
|
+
icon: /* @__PURE__ */ q(z, { className: "h-5 w-5" }),
|
|
185
186
|
value: (n?.avgRating ?? 0).toFixed(1),
|
|
186
187
|
label: "Avg. Rating",
|
|
187
188
|
trend: "up",
|
|
188
189
|
trendValue: "+0.1"
|
|
189
190
|
},
|
|
190
191
|
{
|
|
191
|
-
icon: /* @__PURE__ */ q(
|
|
192
|
-
value:
|
|
192
|
+
icon: /* @__PURE__ */ q(D, { className: "h-5 w-5" }),
|
|
193
|
+
value: o(t.reduce((e, t) => e + t.total, 0), { minimumFractionDigits: 0 }),
|
|
193
194
|
label: "Total Spent",
|
|
194
195
|
trend: "neutral",
|
|
195
196
|
trendValue: ""
|
|
@@ -197,28 +198,28 @@ function X(e, t, n) {
|
|
|
197
198
|
];
|
|
198
199
|
case "cart_owner": return [
|
|
199
200
|
{
|
|
200
|
-
icon: /* @__PURE__ */ q(
|
|
201
|
+
icon: /* @__PURE__ */ q(I, { className: "h-5 w-5" }),
|
|
201
202
|
value: "48",
|
|
202
203
|
label: "Orders Today",
|
|
203
204
|
trend: "up",
|
|
204
205
|
trendValue: "+12%"
|
|
205
206
|
},
|
|
206
207
|
{
|
|
207
|
-
icon: /* @__PURE__ */ q(
|
|
208
|
-
value:
|
|
208
|
+
icon: /* @__PURE__ */ q(D, { className: "h-5 w-5" }),
|
|
209
|
+
value: o(12850, { minimumFractionDigits: 0 }),
|
|
209
210
|
label: "Today's Revenue",
|
|
210
211
|
trend: "up",
|
|
211
212
|
trendValue: "+8%"
|
|
212
213
|
},
|
|
213
214
|
{
|
|
214
|
-
icon: /* @__PURE__ */ q(
|
|
215
|
+
icon: /* @__PURE__ */ q(z, { className: "h-5 w-5" }),
|
|
215
216
|
value: "4.6",
|
|
216
217
|
label: "Cart Rating",
|
|
217
218
|
trend: "up",
|
|
218
219
|
trendValue: "+0.2"
|
|
219
220
|
},
|
|
220
221
|
{
|
|
221
|
-
icon: /* @__PURE__ */ q(
|
|
222
|
+
icon: /* @__PURE__ */ q(U, { className: "h-5 w-5" }),
|
|
222
223
|
value: "5",
|
|
223
224
|
label: "Active Staff",
|
|
224
225
|
trend: "neutral",
|
|
@@ -227,28 +228,28 @@ function X(e, t, n) {
|
|
|
227
228
|
];
|
|
228
229
|
case "worker": return [
|
|
229
230
|
{
|
|
230
|
-
icon: /* @__PURE__ */ q(
|
|
231
|
+
icon: /* @__PURE__ */ q(b, { className: "h-5 w-5" }),
|
|
231
232
|
value: "5",
|
|
232
233
|
label: "Tasks Today",
|
|
233
234
|
trend: "up",
|
|
234
235
|
trendValue: "+2"
|
|
235
236
|
},
|
|
236
237
|
{
|
|
237
|
-
icon: /* @__PURE__ */ q(
|
|
238
|
-
value:
|
|
238
|
+
icon: /* @__PURE__ */ q(D, { className: "h-5 w-5" }),
|
|
239
|
+
value: o(425, { minimumFractionDigits: 0 }),
|
|
239
240
|
label: "Today's Earnings",
|
|
240
241
|
trend: "up",
|
|
241
242
|
trendValue: "+15%"
|
|
242
243
|
},
|
|
243
244
|
{
|
|
244
|
-
icon: /* @__PURE__ */ q(
|
|
245
|
+
icon: /* @__PURE__ */ q(z, { className: "h-5 w-5" }),
|
|
245
246
|
value: "4.7",
|
|
246
247
|
label: "Rating",
|
|
247
248
|
trend: "up",
|
|
248
249
|
trendValue: "+0.1"
|
|
249
250
|
},
|
|
250
251
|
{
|
|
251
|
-
icon: /* @__PURE__ */ q(
|
|
252
|
+
icon: /* @__PURE__ */ q(v, { className: "h-5 w-5" }),
|
|
252
253
|
value: "96.8%",
|
|
253
254
|
label: "Completion Rate",
|
|
254
255
|
trend: "up",
|
|
@@ -257,29 +258,29 @@ function X(e, t, n) {
|
|
|
257
258
|
];
|
|
258
259
|
case "investor": return [
|
|
259
260
|
{
|
|
260
|
-
icon: /* @__PURE__ */ q(
|
|
261
|
+
icon: /* @__PURE__ */ q(V, { className: "h-5 w-5" }),
|
|
261
262
|
value: "3",
|
|
262
263
|
label: "Active Investments",
|
|
263
264
|
trend: "up",
|
|
264
265
|
trendValue: "+1"
|
|
265
266
|
},
|
|
266
267
|
{
|
|
267
|
-
icon: /* @__PURE__ */ q(
|
|
268
|
-
value:
|
|
268
|
+
icon: /* @__PURE__ */ q(D, { className: "h-5 w-5" }),
|
|
269
|
+
value: o(45e4, { minimumFractionDigits: 0 }),
|
|
269
270
|
label: "Total Invested",
|
|
270
271
|
trend: "up",
|
|
271
272
|
trendValue: ""
|
|
272
273
|
},
|
|
273
274
|
{
|
|
274
|
-
icon: /* @__PURE__ */ q(
|
|
275
|
+
icon: /* @__PURE__ */ q(w, { className: "h-5 w-5" }),
|
|
275
276
|
value: "16.5%",
|
|
276
277
|
label: "Avg. Returns",
|
|
277
278
|
trend: "up",
|
|
278
279
|
trendValue: "+2.1%"
|
|
279
280
|
},
|
|
280
281
|
{
|
|
281
|
-
icon: /* @__PURE__ */ q(
|
|
282
|
-
value:
|
|
282
|
+
icon: /* @__PURE__ */ q(_, { className: "h-5 w-5" }),
|
|
283
|
+
value: o(74250, { minimumFractionDigits: 0 }),
|
|
283
284
|
label: "Total Returns",
|
|
284
285
|
trend: "up",
|
|
285
286
|
trendValue: "+8.5%"
|
|
@@ -287,29 +288,29 @@ function X(e, t, n) {
|
|
|
287
288
|
];
|
|
288
289
|
default: return [
|
|
289
290
|
{
|
|
290
|
-
icon: /* @__PURE__ */ q(
|
|
291
|
+
icon: /* @__PURE__ */ q(U, { className: "h-5 w-5" }),
|
|
291
292
|
value: (n?.activeCustomers ?? 0).toLocaleString("en-IN"),
|
|
292
293
|
label: "Active Customers",
|
|
293
294
|
trend: "up",
|
|
294
295
|
trendValue: "+50"
|
|
295
296
|
},
|
|
296
297
|
{
|
|
297
|
-
icon: /* @__PURE__ */ q(
|
|
298
|
+
icon: /* @__PURE__ */ q(B, { className: "h-5 w-5" }),
|
|
298
299
|
value: (n?.activeProviders ?? 0).toString(),
|
|
299
300
|
label: "Service Providers",
|
|
300
301
|
trend: "up",
|
|
301
302
|
trendValue: "+3"
|
|
302
303
|
},
|
|
303
304
|
{
|
|
304
|
-
icon: /* @__PURE__ */ q(
|
|
305
|
+
icon: /* @__PURE__ */ q(I, { className: "h-5 w-5" }),
|
|
305
306
|
value: (n?.totalOrders ?? 0).toLocaleString("en-IN"),
|
|
306
307
|
label: "Total Orders",
|
|
307
308
|
trend: "up",
|
|
308
309
|
trendValue: "+12%"
|
|
309
310
|
},
|
|
310
311
|
{
|
|
311
|
-
icon: /* @__PURE__ */ q(
|
|
312
|
-
value:
|
|
312
|
+
icon: /* @__PURE__ */ q(D, { className: "h-5 w-5" }),
|
|
313
|
+
value: o(n?.totalRevenue ?? 0, { minimumFractionDigits: 0 }),
|
|
313
314
|
label: "Total Revenue",
|
|
314
315
|
trend: "up",
|
|
315
316
|
trendValue: "+8.5%"
|
|
@@ -317,78 +318,78 @@ function X(e, t, n) {
|
|
|
317
318
|
];
|
|
318
319
|
}
|
|
319
320
|
}
|
|
320
|
-
var
|
|
321
|
+
var ne = [
|
|
321
322
|
{
|
|
322
323
|
label: "Food & Beverage",
|
|
323
|
-
icon: /* @__PURE__ */ q(
|
|
324
|
+
icon: /* @__PURE__ */ q(y, { className: "h-6 w-6" }),
|
|
324
325
|
color: "bg-orange-500/10 text-orange-600 dark:text-orange-400"
|
|
325
326
|
},
|
|
326
327
|
{
|
|
327
328
|
label: "Personal Care & Beauty",
|
|
328
|
-
icon: /* @__PURE__ */ q(
|
|
329
|
+
icon: /* @__PURE__ */ q(M, { className: "h-6 w-6" }),
|
|
329
330
|
color: "bg-pink-500/10 text-pink-600 dark:text-pink-400"
|
|
330
331
|
},
|
|
331
332
|
{
|
|
332
333
|
label: "Repair & Maintenance",
|
|
333
|
-
icon: /* @__PURE__ */ q(
|
|
334
|
+
icon: /* @__PURE__ */ q(G, { className: "h-6 w-6" }),
|
|
334
335
|
color: "bg-blue-500/10 text-blue-600 dark:text-blue-400"
|
|
335
336
|
},
|
|
336
337
|
{
|
|
337
338
|
label: "Home Services",
|
|
338
|
-
icon: /* @__PURE__ */ q(
|
|
339
|
+
icon: /* @__PURE__ */ q(E, { className: "h-6 w-6" }),
|
|
339
340
|
color: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"
|
|
340
341
|
},
|
|
341
342
|
{
|
|
342
343
|
label: "Clothing & Fashion",
|
|
343
|
-
icon: /* @__PURE__ */ q(
|
|
344
|
+
icon: /* @__PURE__ */ q(F, { className: "h-6 w-6" }),
|
|
344
345
|
color: "bg-purple-500/10 text-purple-600 dark:text-purple-400"
|
|
345
346
|
},
|
|
346
347
|
{
|
|
347
348
|
label: "Health & Wellness",
|
|
348
|
-
icon: /* @__PURE__ */ q(
|
|
349
|
+
icon: /* @__PURE__ */ q(T, { className: "h-6 w-6" }),
|
|
349
350
|
color: "bg-red-500/10 text-red-600 dark:text-red-400"
|
|
350
351
|
},
|
|
351
352
|
{
|
|
352
353
|
label: "Education & Skills",
|
|
353
|
-
icon: /* @__PURE__ */ q(
|
|
354
|
+
icon: /* @__PURE__ */ q(C, { className: "h-6 w-6" }),
|
|
354
355
|
color: "bg-yellow-500/10 text-yellow-600 dark:text-yellow-400"
|
|
355
356
|
},
|
|
356
357
|
{
|
|
357
358
|
label: "Retail & Merchandise",
|
|
358
|
-
icon: /* @__PURE__ */ q(
|
|
359
|
+
icon: /* @__PURE__ */ q(j, { className: "h-6 w-6" }),
|
|
359
360
|
color: "bg-indigo-500/10 text-indigo-600 dark:text-indigo-400"
|
|
360
361
|
},
|
|
361
362
|
{
|
|
362
363
|
label: "Grocery & Essentials",
|
|
363
|
-
icon: /* @__PURE__ */ q(
|
|
364
|
+
icon: /* @__PURE__ */ q(L, { className: "h-6 w-6" }),
|
|
364
365
|
color: "bg-green-500/10 text-green-600 dark:text-green-400"
|
|
365
366
|
}
|
|
366
|
-
],
|
|
367
|
+
], re = [
|
|
367
368
|
{
|
|
368
369
|
step: 1,
|
|
369
370
|
title: "Browse Services",
|
|
370
371
|
description: "Discover local service providers and carts near you.",
|
|
371
|
-
icon: /* @__PURE__ */ q(
|
|
372
|
+
icon: /* @__PURE__ */ q(N, { className: "h-6 w-6" })
|
|
372
373
|
},
|
|
373
374
|
{
|
|
374
375
|
step: 2,
|
|
375
376
|
title: "Place an Order",
|
|
376
377
|
description: "Select items or services and place your order seamlessly.",
|
|
377
|
-
icon: /* @__PURE__ */ q(
|
|
378
|
+
icon: /* @__PURE__ */ q(I, { className: "h-6 w-6" })
|
|
378
379
|
},
|
|
379
380
|
{
|
|
380
381
|
step: 3,
|
|
381
382
|
title: "Track in Real-time",
|
|
382
383
|
description: "Get live updates on your order from confirmation to delivery.",
|
|
383
|
-
icon: /* @__PURE__ */ q(
|
|
384
|
+
icon: /* @__PURE__ */ q(H, { className: "h-6 w-6" })
|
|
384
385
|
},
|
|
385
386
|
{
|
|
386
387
|
step: 4,
|
|
387
388
|
title: "Rate & Review",
|
|
388
389
|
description: "Share your experience and help others find great services.",
|
|
389
|
-
icon: /* @__PURE__ */ q(
|
|
390
|
+
icon: /* @__PURE__ */ q(z, { className: "h-6 w-6" })
|
|
390
391
|
}
|
|
391
|
-
],
|
|
392
|
+
], ie = [
|
|
392
393
|
{
|
|
393
394
|
id: "ha-1",
|
|
394
395
|
description: "New order placed at Dosa Express",
|
|
@@ -419,113 +420,123 @@ var Z = [
|
|
|
419
420
|
time: "5 hours ago",
|
|
420
421
|
type: "order"
|
|
421
422
|
}
|
|
422
|
-
],
|
|
423
|
+
], ae = [
|
|
423
424
|
{
|
|
424
425
|
label: "Service Providers",
|
|
425
426
|
value: "21+",
|
|
426
|
-
icon: /* @__PURE__ */ q(
|
|
427
|
+
icon: /* @__PURE__ */ q(B, { className: "h-5 w-5" })
|
|
427
428
|
},
|
|
428
429
|
{
|
|
429
430
|
label: "Categories",
|
|
430
431
|
value: "9",
|
|
431
|
-
icon: /* @__PURE__ */ q(
|
|
432
|
+
icon: /* @__PURE__ */ q(j, { className: "h-5 w-5" })
|
|
432
433
|
},
|
|
433
434
|
{
|
|
434
435
|
label: "Happy Customers",
|
|
435
436
|
value: "534+",
|
|
436
|
-
icon: /* @__PURE__ */ q(
|
|
437
|
+
icon: /* @__PURE__ */ q(U, { className: "h-5 w-5" })
|
|
437
438
|
},
|
|
438
439
|
{
|
|
439
440
|
label: "Orders Completed",
|
|
440
441
|
value: "1,247+",
|
|
441
|
-
icon: /* @__PURE__ */ q(
|
|
442
|
+
icon: /* @__PURE__ */ q(v, { className: "h-5 w-5" })
|
|
442
443
|
}
|
|
443
444
|
];
|
|
444
|
-
function
|
|
445
|
-
let { navigateTo:
|
|
446
|
-
let n =
|
|
445
|
+
function oe() {
|
|
446
|
+
let { navigateTo: _, currentUser: v } = e(), { t: y } = f(), [b, S] = d(""), { providers: C, orders: w, dashboardStats: T } = a(), E = l((e, t) => {
|
|
447
|
+
let n = y(e);
|
|
447
448
|
return n === e ? t : n;
|
|
448
|
-
}, [
|
|
449
|
-
customer:
|
|
450
|
-
cart_owner:
|
|
451
|
-
worker:
|
|
452
|
-
investor:
|
|
453
|
-
admin:
|
|
454
|
-
},
|
|
455
|
-
customer:
|
|
456
|
-
cart_owner:
|
|
457
|
-
worker:
|
|
458
|
-
investor:
|
|
459
|
-
admin:
|
|
460
|
-
},
|
|
461
|
-
let e = (
|
|
462
|
-
if (
|
|
463
|
-
let t =
|
|
449
|
+
}, [y]), O = v?.firstName ?? v?.name ?? "there", j = v?.role ?? "customer", M = {
|
|
450
|
+
customer: E("atheletebridge.home.role.customer", "Customer"),
|
|
451
|
+
cart_owner: E("atheletebridge.home.role.cartOwner", "Cart Owner"),
|
|
452
|
+
worker: E("atheletebridge.home.role.worker", "Worker"),
|
|
453
|
+
investor: E("atheletebridge.home.role.investor", "Investor"),
|
|
454
|
+
admin: E("atheletebridge.home.role.admin", "Administrator")
|
|
455
|
+
}, P = {
|
|
456
|
+
customer: E("atheletebridge.home.greeting.customer", "Discover amazing services near you"),
|
|
457
|
+
cart_owner: E("atheletebridge.home.greeting.cartOwner", "Manage your business and grow"),
|
|
458
|
+
worker: E("atheletebridge.home.greeting.worker", "Check your tasks and earnings"),
|
|
459
|
+
investor: E("atheletebridge.home.greeting.investor", "Track your investments and returns"),
|
|
460
|
+
admin: E("atheletebridge.home.greeting.admin", "Monitor and manage the platform")
|
|
461
|
+
}, F = $[j] ?? $.customer, I = te(j, w.data ?? [], T.data), L = u(() => {
|
|
462
|
+
let e = (C.data ?? []).filter((e) => e.isOpen);
|
|
463
|
+
if (b) {
|
|
464
|
+
let t = b.toLowerCase();
|
|
464
465
|
e = e.filter((e) => e.name.toLowerCase().includes(t) || e.category.toLowerCase().includes(t));
|
|
465
466
|
}
|
|
466
467
|
return e.sort((e, t) => t.rating - e.rating).slice(0, 6);
|
|
467
|
-
}, [
|
|
468
|
+
}, [C.data, b]), B = u(() => [...w.data ?? []].sort((e, t) => new Date(t.orderDate).getTime() - new Date(e.orderDate).getTime()).slice(0, 3), [w.data]), V = {
|
|
468
469
|
order: "text-blue-600 dark:text-blue-400",
|
|
469
470
|
review: "text-yellow-600 dark:text-yellow-400",
|
|
470
471
|
investment: "text-green-600 dark:text-green-400",
|
|
471
472
|
cart: "text-purple-600 dark:text-purple-400"
|
|
472
|
-
},
|
|
473
|
-
return
|
|
474
|
-
title:
|
|
473
|
+
}, H = (w.data ?? []).length === 0 && !w.isLoading, U = C.isLoading || w.isLoading || T.isLoading, W = C.isError || w.isError || T.isError;
|
|
474
|
+
return U ? /* @__PURE__ */ q(n, {
|
|
475
|
+
title: E("atheletebridge.common.loading", "Loading..."),
|
|
475
476
|
children: /* @__PURE__ */ q("div", {
|
|
476
477
|
className: "flex h-[60vh] items-center justify-center",
|
|
477
|
-
children: /* @__PURE__ */ q(
|
|
478
|
+
children: /* @__PURE__ */ q(k, { className: "h-8 w-8 animate-spin text-primary" })
|
|
478
479
|
})
|
|
479
|
-
}) :
|
|
480
|
-
title:
|
|
480
|
+
}) : W ? /* @__PURE__ */ q(n, {
|
|
481
|
+
title: E("atheletebridge.common.error", "Error"),
|
|
481
482
|
children: /* @__PURE__ */ J("div", {
|
|
482
483
|
className: "flex h-[60vh] flex-col items-center justify-center gap-4",
|
|
483
484
|
children: [
|
|
484
|
-
/* @__PURE__ */ q(
|
|
485
|
+
/* @__PURE__ */ q(m, { className: "h-12 w-12 text-status-error-text" }),
|
|
485
486
|
/* @__PURE__ */ q("h2", {
|
|
486
487
|
className: "text-xl font-semibold",
|
|
487
|
-
children:
|
|
488
|
+
children: E("atheletebridge.common.errorLoading", "Error loading data")
|
|
488
489
|
}),
|
|
489
490
|
/* @__PURE__ */ q("p", {
|
|
490
491
|
className: "text-text-secondary",
|
|
491
|
-
children:
|
|
492
|
+
children: E("atheletebridge.common.tryAgain", "Please try again later.")
|
|
492
493
|
})
|
|
493
494
|
]
|
|
494
495
|
})
|
|
495
496
|
}) : /* @__PURE__ */ J(n, {
|
|
496
|
-
|
|
497
|
-
|
|
497
|
+
hero: !0,
|
|
498
|
+
title: /* @__PURE__ */ J(K, { children: [
|
|
499
|
+
E("atheletebridge.home.hello", "Hello"),
|
|
500
|
+
", ",
|
|
501
|
+
/* @__PURE__ */ q(X, { children: O }),
|
|
502
|
+
"!"
|
|
503
|
+
] }),
|
|
504
|
+
description: P[j],
|
|
498
505
|
children: [
|
|
499
|
-
|
|
506
|
+
/* @__PURE__ */ q(Z, {
|
|
507
|
+
className: "mb-6",
|
|
508
|
+
children: E("atheletebridge.home.purpose", "Your home base on AthleteBridge. See your key numbers at a glance, jump straight to what you do most with quick actions, and discover services, carts and categories near you. Start here, then dive into whatever you came to do.")
|
|
509
|
+
}),
|
|
510
|
+
H && /* @__PURE__ */ q("section", {
|
|
500
511
|
className: "mb-6 rounded-xl border border-border-subtle bg-gradient-to-r from-primary/5 via-primary/10 to-primary/5 p-6",
|
|
501
512
|
children: /* @__PURE__ */ J("div", {
|
|
502
513
|
className: "flex items-start gap-4",
|
|
503
514
|
children: [/* @__PURE__ */ q("div", {
|
|
504
515
|
className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-action-primary-bg/10",
|
|
505
|
-
children: /* @__PURE__ */ q(
|
|
516
|
+
children: /* @__PURE__ */ q(R, { className: "h-6 w-6 text-primary" })
|
|
506
517
|
}), /* @__PURE__ */ J("div", {
|
|
507
518
|
className: "flex-1",
|
|
508
519
|
children: [
|
|
509
520
|
/* @__PURE__ */ q("h2", {
|
|
510
521
|
className: "text-lg font-semibold text-text-primary",
|
|
511
|
-
children:
|
|
522
|
+
children: E("atheletebridge.home.welcomeTitle", "Welcome to AthleteBridge!")
|
|
512
523
|
}),
|
|
513
524
|
/* @__PURE__ */ q("p", {
|
|
514
525
|
className: "mt-1 text-sm text-text-secondary",
|
|
515
|
-
children:
|
|
526
|
+
children: E("atheletebridge.home.welcomeDescription", "Your local services marketplace. Start by exploring service providers near you or browse categories to find what you need.")
|
|
516
527
|
}),
|
|
517
528
|
/* @__PURE__ */ J("button", {
|
|
518
529
|
type: "button",
|
|
519
|
-
onClick: () =>
|
|
530
|
+
onClick: () => _("/customer/carts"),
|
|
520
531
|
className: "mt-3 inline-flex items-center gap-1.5 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
|
|
521
|
-
children: [/* @__PURE__ */ q(
|
|
532
|
+
children: [/* @__PURE__ */ q(N, { className: "h-4 w-4" }), E("atheletebridge.home.exploreServices", "Explore Services")]
|
|
522
533
|
})
|
|
523
534
|
]
|
|
524
535
|
})]
|
|
525
536
|
})
|
|
526
537
|
}),
|
|
527
|
-
/* @__PURE__ */ q(
|
|
528
|
-
className: "mb-6
|
|
538
|
+
/* @__PURE__ */ q(Y, {
|
|
539
|
+
className: "mb-6",
|
|
529
540
|
children: /* @__PURE__ */ J("div", {
|
|
530
541
|
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
531
542
|
children: [/* @__PURE__ */ J("div", { children: [
|
|
@@ -533,30 +544,30 @@ function te() {
|
|
|
533
544
|
className: "flex items-center gap-2 mb-1",
|
|
534
545
|
children: /* @__PURE__ */ J("span", {
|
|
535
546
|
className: "inline-flex items-center rounded-full bg-action-primary-bg/10 px-2.5 py-0.5 text-xs font-medium text-primary",
|
|
536
|
-
children: [/* @__PURE__ */ q(
|
|
547
|
+
children: [/* @__PURE__ */ q(g, { className: "mr-1 h-3 w-3" }), M[j]]
|
|
537
548
|
})
|
|
538
549
|
}),
|
|
539
550
|
/* @__PURE__ */ J("h2", {
|
|
540
551
|
className: "text-xl font-bold text-text-primary",
|
|
541
552
|
children: [
|
|
542
|
-
|
|
553
|
+
E("atheletebridge.home.good", "Good"),
|
|
543
554
|
" ",
|
|
544
|
-
(/* @__PURE__ */ new Date()).getHours() < 12 ?
|
|
555
|
+
(/* @__PURE__ */ new Date()).getHours() < 12 ? E("atheletebridge.home.time.morning", "morning") : (/* @__PURE__ */ new Date()).getHours() < 17 ? E("atheletebridge.home.time.afternoon", "afternoon") : E("atheletebridge.home.time.evening", "evening"),
|
|
545
556
|
", ",
|
|
546
|
-
|
|
557
|
+
O
|
|
547
558
|
]
|
|
548
559
|
}),
|
|
549
560
|
/* @__PURE__ */ q("p", {
|
|
550
561
|
className: "mt-1 text-sm text-text-secondary",
|
|
551
|
-
children:
|
|
562
|
+
children: P[j]
|
|
552
563
|
})
|
|
553
564
|
] }), /* @__PURE__ */ J("div", {
|
|
554
565
|
className: "relative w-full sm:w-72",
|
|
555
|
-
children: [/* @__PURE__ */ q(
|
|
566
|
+
children: [/* @__PURE__ */ q(N, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ q("input", {
|
|
556
567
|
type: "text",
|
|
557
|
-
placeholder:
|
|
558
|
-
value:
|
|
559
|
-
onChange: (e) =>
|
|
568
|
+
placeholder: E("atheletebridge.home.searchPlaceholder", "Search services, carts..."),
|
|
569
|
+
value: b,
|
|
570
|
+
onChange: (e) => S(e.target.value),
|
|
560
571
|
className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2.5 pl-10 pr-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
561
572
|
})]
|
|
562
573
|
})]
|
|
@@ -566,15 +577,16 @@ function te() {
|
|
|
566
577
|
className: "mb-8",
|
|
567
578
|
children: [/* @__PURE__ */ q("h2", {
|
|
568
579
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
569
|
-
children:
|
|
580
|
+
children: E("atheletebridge.home.quickStats", "Quick Stats")
|
|
570
581
|
}), /* @__PURE__ */ q("div", {
|
|
571
582
|
className: "grid grid-cols-2 gap-4 lg:grid-cols-4",
|
|
572
|
-
children:
|
|
583
|
+
children: I.map((e, t) => /* @__PURE__ */ q(r, {
|
|
573
584
|
icon: e.icon,
|
|
574
585
|
value: e.value,
|
|
575
586
|
label: e.label,
|
|
576
587
|
trend: e.trend,
|
|
577
|
-
trendValue: e.trendValue
|
|
588
|
+
trendValue: e.trendValue,
|
|
589
|
+
featured: t === 0
|
|
578
590
|
}, e.label))
|
|
579
591
|
})]
|
|
580
592
|
}),
|
|
@@ -582,12 +594,12 @@ function te() {
|
|
|
582
594
|
className: "mb-8",
|
|
583
595
|
children: [/* @__PURE__ */ q("h2", {
|
|
584
596
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
585
|
-
children:
|
|
597
|
+
children: E("atheletebridge.home.quickActions", "Quick Actions")
|
|
586
598
|
}), /* @__PURE__ */ q("div", {
|
|
587
599
|
className: "grid grid-cols-2 gap-4 lg:grid-cols-4",
|
|
588
|
-
children:
|
|
600
|
+
children: F.map((e) => /* @__PURE__ */ J("button", {
|
|
589
601
|
type: "button",
|
|
590
|
-
onClick: () =>
|
|
602
|
+
onClick: () => _(e.path),
|
|
591
603
|
className: t("flex items-start gap-3 rounded-lg border border-border-subtle bg-bg-surface p-4 text-left shadow-sm transition-all", "hover:border-accent-foreground/20 hover:shadow-md"),
|
|
592
604
|
children: [
|
|
593
605
|
/* @__PURE__ */ q("div", {
|
|
@@ -604,7 +616,7 @@ function te() {
|
|
|
604
616
|
children: e.description
|
|
605
617
|
})]
|
|
606
618
|
}),
|
|
607
|
-
/* @__PURE__ */ q(
|
|
619
|
+
/* @__PURE__ */ q(h, { className: "h-4 w-4 text-text-secondary shrink-0 mt-1" })
|
|
608
620
|
]
|
|
609
621
|
}, e.label))
|
|
610
622
|
})]
|
|
@@ -615,35 +627,35 @@ function te() {
|
|
|
615
627
|
className: "flex items-center justify-between mb-4",
|
|
616
628
|
children: [/* @__PURE__ */ q("h2", {
|
|
617
629
|
className: "text-lg font-semibold text-text-primary",
|
|
618
|
-
children:
|
|
630
|
+
children: b ? E("atheletebridge.home.searchResults", "Search Results") : E("atheletebridge.home.featuredCarts", "Featured Carts")
|
|
619
631
|
}), /* @__PURE__ */ J("button", {
|
|
620
632
|
type: "button",
|
|
621
|
-
onClick: () =>
|
|
633
|
+
onClick: () => _("/customer/carts"),
|
|
622
634
|
className: "flex items-center gap-1 text-sm font-medium text-primary hover:underline",
|
|
623
635
|
children: [
|
|
624
|
-
|
|
636
|
+
E("atheletebridge.common.viewAll", "View All"),
|
|
625
637
|
" ",
|
|
626
|
-
/* @__PURE__ */ q(
|
|
638
|
+
/* @__PURE__ */ q(h, { className: "h-3.5 w-3.5" })
|
|
627
639
|
]
|
|
628
640
|
})]
|
|
629
|
-
}),
|
|
630
|
-
|
|
631
|
-
title:
|
|
632
|
-
description:
|
|
641
|
+
}), L.length === 0 ? /* @__PURE__ */ q(ee, {
|
|
642
|
+
illustration: "empty-search",
|
|
643
|
+
title: E("atheletebridge.home.noCartsFound", "No carts found"),
|
|
644
|
+
description: E("atheletebridge.home.noCartsDescription", "Try adjusting your search or browse all categories"),
|
|
633
645
|
action: /* @__PURE__ */ q("button", {
|
|
634
646
|
type: "button",
|
|
635
|
-
onClick: () =>
|
|
647
|
+
onClick: () => S(""),
|
|
636
648
|
className: "rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
637
|
-
children:
|
|
649
|
+
children: E("atheletebridge.home.clearSearch", "Clear Search")
|
|
638
650
|
})
|
|
639
651
|
}) : /* @__PURE__ */ q("div", {
|
|
640
652
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
641
|
-
children:
|
|
653
|
+
children: L.map((e) => /* @__PURE__ */ J("div", {
|
|
642
654
|
role: "button",
|
|
643
655
|
tabIndex: 0,
|
|
644
|
-
onClick: () =>
|
|
656
|
+
onClick: () => _(`/customer/cart/${e.id}`),
|
|
645
657
|
onKeyDown: (t) => {
|
|
646
|
-
(t.key === "Enter" || t.key === " ") && (t.preventDefault(),
|
|
658
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), _(`/customer/cart/${e.id}`));
|
|
647
659
|
},
|
|
648
660
|
className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm overflow-hidden transition-all hover:shadow-md hover:border-accent-foreground/20 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
649
661
|
children: [/* @__PURE__ */ J("div", {
|
|
@@ -664,9 +676,9 @@ function te() {
|
|
|
664
676
|
children: /* @__PURE__ */ J("span", {
|
|
665
677
|
className: "inline-flex items-center gap-1 rounded-full bg-blue-500/90 px-2 py-0.5 text-xs font-medium text-white backdrop-blur-sm",
|
|
666
678
|
children: [
|
|
667
|
-
/* @__PURE__ */ q(
|
|
679
|
+
/* @__PURE__ */ q(g, { className: "h-3 w-3" }),
|
|
668
680
|
" ",
|
|
669
|
-
|
|
681
|
+
E("atheletebridge.home.verified", "Verified")
|
|
670
682
|
]
|
|
671
683
|
})
|
|
672
684
|
}),
|
|
@@ -675,7 +687,7 @@ function te() {
|
|
|
675
687
|
children: /* @__PURE__ */ J("span", {
|
|
676
688
|
className: "inline-flex items-center gap-1 rounded-full bg-black/60 px-2 py-0.5 text-xs text-white backdrop-blur-sm",
|
|
677
689
|
children: [
|
|
678
|
-
/* @__PURE__ */ q(
|
|
690
|
+
/* @__PURE__ */ q(x, { className: "h-3 w-3" }),
|
|
679
691
|
" ",
|
|
680
692
|
e.estimatedTime,
|
|
681
693
|
" min"
|
|
@@ -699,7 +711,7 @@ function te() {
|
|
|
699
711
|
})]
|
|
700
712
|
}), /* @__PURE__ */ J("div", {
|
|
701
713
|
className: "flex items-center gap-1 rounded bg-green-600 px-1.5 py-0.5 ml-2 shrink-0",
|
|
702
|
-
children: [/* @__PURE__ */ q(
|
|
714
|
+
children: [/* @__PURE__ */ q(z, { className: "h-3 w-3 fill-white text-white" }), /* @__PURE__ */ q("span", {
|
|
703
715
|
className: "text-xs font-bold text-white",
|
|
704
716
|
children: e.rating
|
|
705
717
|
})]
|
|
@@ -711,29 +723,29 @@ function te() {
|
|
|
711
723
|
/* @__PURE__ */ J("span", {
|
|
712
724
|
className: "flex items-center gap-1",
|
|
713
725
|
children: [
|
|
714
|
-
/* @__PURE__ */ q(
|
|
726
|
+
/* @__PURE__ */ q(A, { className: "h-3 w-3" }),
|
|
715
727
|
" ",
|
|
716
|
-
|
|
728
|
+
s(e.distance)
|
|
717
729
|
]
|
|
718
730
|
}),
|
|
719
731
|
/* @__PURE__ */ J("span", {
|
|
720
732
|
className: "flex items-center gap-1",
|
|
721
733
|
children: [
|
|
722
|
-
/* @__PURE__ */ q(
|
|
734
|
+
/* @__PURE__ */ q(z, { className: "h-3 w-3" }),
|
|
723
735
|
" ",
|
|
724
736
|
e.totalRatings,
|
|
725
737
|
" ",
|
|
726
|
-
|
|
738
|
+
E("atheletebridge.home.reviews", "reviews")
|
|
727
739
|
]
|
|
728
740
|
}),
|
|
729
741
|
e.averageOrderValue && /* @__PURE__ */ J("span", {
|
|
730
742
|
className: "flex items-center gap-1",
|
|
731
743
|
children: [
|
|
732
|
-
/* @__PURE__ */ q(
|
|
744
|
+
/* @__PURE__ */ q(D, { className: "h-3 w-3" }),
|
|
733
745
|
" ",
|
|
734
|
-
|
|
746
|
+
E("atheletebridge.home.average", "Avg."),
|
|
735
747
|
" ",
|
|
736
|
-
|
|
748
|
+
o(e.averageOrderValue, { minimumFractionDigits: 0 })
|
|
737
749
|
]
|
|
738
750
|
})
|
|
739
751
|
]
|
|
@@ -750,31 +762,31 @@ function te() {
|
|
|
750
762
|
}, e.id))
|
|
751
763
|
})]
|
|
752
764
|
}),
|
|
753
|
-
|
|
765
|
+
B.length > 0 && /* @__PURE__ */ J("section", {
|
|
754
766
|
className: "mb-8",
|
|
755
767
|
children: [/* @__PURE__ */ J("div", {
|
|
756
768
|
className: "flex items-center justify-between mb-4",
|
|
757
769
|
children: [/* @__PURE__ */ q("h2", {
|
|
758
770
|
className: "text-lg font-semibold text-text-primary",
|
|
759
|
-
children:
|
|
771
|
+
children: E("atheletebridge.home.recentOrders", "Recent Orders")
|
|
760
772
|
}), /* @__PURE__ */ J("button", {
|
|
761
773
|
type: "button",
|
|
762
|
-
onClick: () =>
|
|
774
|
+
onClick: () => _("/customer/orders"),
|
|
763
775
|
className: "flex items-center gap-1 text-sm font-medium text-primary hover:underline",
|
|
764
776
|
children: [
|
|
765
|
-
|
|
777
|
+
E("atheletebridge.common.viewAll", "View All"),
|
|
766
778
|
" ",
|
|
767
|
-
/* @__PURE__ */ q(
|
|
779
|
+
/* @__PURE__ */ q(h, { className: "h-3.5 w-3.5" })
|
|
768
780
|
]
|
|
769
781
|
})]
|
|
770
782
|
}), /* @__PURE__ */ q("div", {
|
|
771
783
|
className: "rounded-lg border border-border-subtle bg-bg-surface divide-y divide-border",
|
|
772
|
-
children:
|
|
784
|
+
children: B.map((e) => /* @__PURE__ */ J("div", {
|
|
773
785
|
role: "button",
|
|
774
786
|
tabIndex: 0,
|
|
775
|
-
onClick: () =>
|
|
787
|
+
onClick: () => _(`/customer/order/${e.id}`),
|
|
776
788
|
onKeyDown: (t) => {
|
|
777
|
-
(t.key === "Enter" || t.key === " ") && (t.preventDefault(),
|
|
789
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), _(`/customer/order/${e.id}`));
|
|
778
790
|
},
|
|
779
791
|
className: "flex items-center gap-4 px-4 py-3 hover:bg-accent/50 transition-colors cursor-pointer",
|
|
780
792
|
children: [
|
|
@@ -800,10 +812,10 @@ function te() {
|
|
|
800
812
|
className: "text-right shrink-0",
|
|
801
813
|
children: [/* @__PURE__ */ q("p", {
|
|
802
814
|
className: "text-sm font-semibold text-text-primary",
|
|
803
|
-
children:
|
|
815
|
+
children: o(e.total, { minimumFractionDigits: 0 })
|
|
804
816
|
}), /* @__PURE__ */ q("p", {
|
|
805
817
|
className: "text-xs text-text-secondary",
|
|
806
|
-
children:
|
|
818
|
+
children: c(e.orderDate)
|
|
807
819
|
})]
|
|
808
820
|
})
|
|
809
821
|
]
|
|
@@ -814,10 +826,10 @@ function te() {
|
|
|
814
826
|
className: "mb-8",
|
|
815
827
|
children: [/* @__PURE__ */ q("h2", {
|
|
816
828
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
817
|
-
children:
|
|
829
|
+
children: E("atheletebridge.home.howItWorks", "How It Works")
|
|
818
830
|
}), /* @__PURE__ */ q("div", {
|
|
819
831
|
className: "grid grid-cols-2 gap-4 lg:grid-cols-4",
|
|
820
|
-
children:
|
|
832
|
+
children: re.map((e) => /* @__PURE__ */ J("div", {
|
|
821
833
|
className: "relative rounded-lg border border-border-subtle bg-bg-surface p-5 text-center",
|
|
822
834
|
children: [
|
|
823
835
|
/* @__PURE__ */ q("div", {
|
|
@@ -847,12 +859,12 @@ function te() {
|
|
|
847
859
|
className: "mb-8",
|
|
848
860
|
children: [/* @__PURE__ */ q("h2", {
|
|
849
861
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
850
|
-
children:
|
|
862
|
+
children: E("atheletebridge.home.browseByCategory", "Browse by Category")
|
|
851
863
|
}), /* @__PURE__ */ q("div", {
|
|
852
864
|
className: "grid grid-cols-3 gap-3 sm:grid-cols-4 lg:grid-cols-5",
|
|
853
|
-
children:
|
|
865
|
+
children: ne.map((e) => /* @__PURE__ */ J("button", {
|
|
854
866
|
type: "button",
|
|
855
|
-
onClick: () =>
|
|
867
|
+
onClick: () => _(`/customer/carts?category=${encodeURIComponent(e.label)}`),
|
|
856
868
|
className: "flex flex-col items-center gap-2 rounded-lg border border-border-subtle bg-bg-surface p-4 text-center hover:shadow-sm hover:border-accent-foreground/20 transition-all",
|
|
857
869
|
children: [/* @__PURE__ */ q("div", {
|
|
858
870
|
className: t("flex h-12 w-12 items-center justify-center rounded-full", e.color),
|
|
@@ -868,10 +880,10 @@ function te() {
|
|
|
868
880
|
className: "mb-8",
|
|
869
881
|
children: [/* @__PURE__ */ q("h2", {
|
|
870
882
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
871
|
-
children:
|
|
883
|
+
children: E("atheletebridge.home.platformStats", "Platform Stats")
|
|
872
884
|
}), /* @__PURE__ */ q("div", {
|
|
873
885
|
className: "grid grid-cols-2 gap-4 lg:grid-cols-4",
|
|
874
|
-
children:
|
|
886
|
+
children: ae.map((e) => /* @__PURE__ */ J("div", {
|
|
875
887
|
className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface p-4",
|
|
876
888
|
children: [/* @__PURE__ */ q("div", {
|
|
877
889
|
className: "flex h-10 w-10 items-center justify-center rounded-full bg-action-primary-bg/10 text-primary shrink-0",
|
|
@@ -888,34 +900,37 @@ function te() {
|
|
|
888
900
|
}),
|
|
889
901
|
/* @__PURE__ */ J("section", { children: [/* @__PURE__ */ q("h2", {
|
|
890
902
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
891
|
-
children:
|
|
892
|
-
}), /* @__PURE__ */ q(
|
|
893
|
-
|
|
894
|
-
children:
|
|
895
|
-
className: "
|
|
896
|
-
children:
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
className: "
|
|
905
|
-
children:
|
|
903
|
+
children: E("atheletebridge.home.recentActivity", "Recent Activity")
|
|
904
|
+
}), /* @__PURE__ */ q(Q, {
|
|
905
|
+
collapsedHeight: 180,
|
|
906
|
+
children: /* @__PURE__ */ q("div", {
|
|
907
|
+
className: "rounded-card border border-border-seam bg-bg-surface divide-y divide-border",
|
|
908
|
+
children: ie.map((e) => /* @__PURE__ */ J("div", {
|
|
909
|
+
className: "flex items-center gap-3 px-4 py-3",
|
|
910
|
+
children: [
|
|
911
|
+
/* @__PURE__ */ q("div", {
|
|
912
|
+
className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken",
|
|
913
|
+
children: /* @__PURE__ */ q(p, { className: t("h-4 w-4", V[e.type] ?? "text-text-secondary") })
|
|
914
|
+
}),
|
|
915
|
+
/* @__PURE__ */ q("div", {
|
|
916
|
+
className: "flex-1 min-w-0",
|
|
917
|
+
children: /* @__PURE__ */ q("p", {
|
|
918
|
+
className: "text-sm text-text-primary truncate",
|
|
919
|
+
children: e.description
|
|
920
|
+
})
|
|
921
|
+
}),
|
|
922
|
+
/* @__PURE__ */ q("span", {
|
|
923
|
+
className: "text-xs text-text-secondary whitespace-nowrap",
|
|
924
|
+
children: e.time
|
|
906
925
|
})
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
children: e.time
|
|
911
|
-
})
|
|
912
|
-
]
|
|
913
|
-
}, e.id))
|
|
926
|
+
]
|
|
927
|
+
}, e.id))
|
|
928
|
+
})
|
|
914
929
|
})] })
|
|
915
930
|
]
|
|
916
931
|
});
|
|
917
932
|
}
|
|
918
933
|
//#endregion
|
|
919
|
-
export {
|
|
934
|
+
export { oe as HomePage };
|
|
920
935
|
|
|
921
936
|
//# sourceMappingURL=HomePage.js.map
|