@burdenoff/microfe-hookmovies 2026.626.2 → 2026.628.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.
Files changed (150) hide show
  1. package/dist/hookmovies/HookMoviesRoot.js +70 -118
  2. package/dist/hookmovies/HookMoviesRoot.js.map +1 -1
  3. package/dist/hookmovies/HookMoviesRoutes.js +63 -183
  4. package/dist/hookmovies/HookMoviesRoutes.js.map +1 -1
  5. package/dist/hookmovies/components/MetricsCard.js.map +1 -1
  6. package/dist/hookmovies/components/Pagination.js +36 -0
  7. package/dist/hookmovies/components/Pagination.js.map +1 -0
  8. package/dist/hookmovies/components/StateViews.js +36 -0
  9. package/dist/hookmovies/components/StateViews.js.map +1 -0
  10. package/dist/hookmovies/components/StatusBadge.js +26 -14
  11. package/dist/hookmovies/components/StatusBadge.js.map +1 -1
  12. package/dist/hookmovies/context/HookMoviesContext.js +22 -30
  13. package/dist/hookmovies/context/HookMoviesContext.js.map +1 -1
  14. package/dist/hookmovies/hooks/index.js +1 -0
  15. package/dist/hookmovies/hooks/useHookMoviesApi.js +463 -169
  16. package/dist/hookmovies/hooks/useHookMoviesApi.js.map +1 -1
  17. package/dist/hookmovies/index.js +2 -2
  18. package/dist/hookmovies/pages/HomePage.js +206 -885
  19. package/dist/hookmovies/pages/HomePage.js.map +1 -1
  20. package/dist/hookmovies/pages/auditions/AuditionCreatePage.js +206 -0
  21. package/dist/hookmovies/pages/auditions/AuditionCreatePage.js.map +1 -0
  22. package/dist/hookmovies/pages/auditions/AuditionDetailPage.js +266 -0
  23. package/dist/hookmovies/pages/auditions/AuditionDetailPage.js.map +1 -0
  24. package/dist/hookmovies/pages/auditions/AuditionsPage.js +137 -0
  25. package/dist/hookmovies/pages/auditions/AuditionsPage.js.map +1 -0
  26. package/dist/hookmovies/pages/catalog/PeoplePage.js +175 -0
  27. package/dist/hookmovies/pages/catalog/PeoplePage.js.map +1 -0
  28. package/dist/hookmovies/pages/catalog/StudiosPage.js +173 -0
  29. package/dist/hookmovies/pages/catalog/StudiosPage.js.map +1 -0
  30. package/dist/hookmovies/pages/catalog/TitleCreatePage.js +251 -0
  31. package/dist/hookmovies/pages/catalog/TitleCreatePage.js.map +1 -0
  32. package/dist/hookmovies/pages/catalog/TitleDetailPage.js +323 -0
  33. package/dist/hookmovies/pages/catalog/TitleDetailPage.js.map +1 -0
  34. package/dist/hookmovies/pages/catalog/TitlesPage.js +158 -0
  35. package/dist/hookmovies/pages/catalog/TitlesPage.js.map +1 -0
  36. package/dist/hookmovies/pages/distribution/RightsWindowsPage.js +294 -0
  37. package/dist/hookmovies/pages/distribution/RightsWindowsPage.js.map +1 -0
  38. package/dist/hookmovies/pages/engagement/ReviewsPage.js +242 -0
  39. package/dist/hookmovies/pages/engagement/ReviewsPage.js.map +1 -0
  40. package/dist/hookmovies/pages/library/EntitlementsPage.js +90 -0
  41. package/dist/hookmovies/pages/library/EntitlementsPage.js.map +1 -0
  42. package/dist/hookmovies/pages/library/ListsPage.js +209 -0
  43. package/dist/hookmovies/pages/library/ListsPage.js.map +1 -0
  44. package/dist/hookmovies/pages/productions/ProductionCreatePage.js +204 -0
  45. package/dist/hookmovies/pages/productions/ProductionCreatePage.js.map +1 -0
  46. package/dist/hookmovies/pages/productions/ProductionDetailPage.js +234 -0
  47. package/dist/hookmovies/pages/productions/ProductionDetailPage.js.map +1 -0
  48. package/dist/hookmovies/pages/productions/ProductionsPage.js +135 -0
  49. package/dist/hookmovies/pages/productions/ProductionsPage.js.map +1 -0
  50. package/dist/hookmovies/utils/formatters.js +14 -9
  51. package/dist/hookmovies/utils/formatters.js.map +1 -1
  52. package/dist/index.js +4 -4
  53. package/package.json +1 -1
  54. package/dist/hookmovies/components/InvestmentCard.js +0 -97
  55. package/dist/hookmovies/components/InvestmentCard.js.map +0 -1
  56. package/dist/hookmovies/mocks/data.js +0 -1517
  57. package/dist/hookmovies/mocks/data.js.map +0 -1
  58. package/dist/hookmovies/mocks/users.js +0 -34
  59. package/dist/hookmovies/mocks/users.js.map +0 -1
  60. package/dist/hookmovies/pages/admin/AdminAnalyticsPage.js +0 -646
  61. package/dist/hookmovies/pages/admin/AdminAnalyticsPage.js.map +0 -1
  62. package/dist/hookmovies/pages/admin/AdminDashboard.js +0 -671
  63. package/dist/hookmovies/pages/admin/AdminDashboard.js.map +0 -1
  64. package/dist/hookmovies/pages/admin/AdminFinancialPage.js +0 -422
  65. package/dist/hookmovies/pages/admin/AdminFinancialPage.js.map +0 -1
  66. package/dist/hookmovies/pages/admin/AdminOrdersPage.js +0 -661
  67. package/dist/hookmovies/pages/admin/AdminOrdersPage.js.map +0 -1
  68. package/dist/hookmovies/pages/admin/AdminProfilePage.js +0 -262
  69. package/dist/hookmovies/pages/admin/AdminProfilePage.js.map +0 -1
  70. package/dist/hookmovies/pages/admin/AdminSettingsPage.js +0 -650
  71. package/dist/hookmovies/pages/admin/AdminSettingsPage.js.map +0 -1
  72. package/dist/hookmovies/pages/admin/CartManagementPage.js +0 -869
  73. package/dist/hookmovies/pages/admin/CartManagementPage.js.map +0 -1
  74. package/dist/hookmovies/pages/admin/UserManagementPage.js +0 -893
  75. package/dist/hookmovies/pages/admin/UserManagementPage.js.map +0 -1
  76. package/dist/hookmovies/pages/cart-owner/AnalyticsDashboard.js +0 -836
  77. package/dist/hookmovies/pages/cart-owner/AnalyticsDashboard.js.map +0 -1
  78. package/dist/hookmovies/pages/cart-owner/BusinessSettingsPage.js +0 -704
  79. package/dist/hookmovies/pages/cart-owner/BusinessSettingsPage.js.map +0 -1
  80. package/dist/hookmovies/pages/cart-owner/CartOwnerDashboard.js +0 -801
  81. package/dist/hookmovies/pages/cart-owner/CartOwnerDashboard.js.map +0 -1
  82. package/dist/hookmovies/pages/cart-owner/CartOwnerProfilePage.js +0 -888
  83. package/dist/hookmovies/pages/cart-owner/CartOwnerProfilePage.js.map +0 -1
  84. package/dist/hookmovies/pages/cart-owner/CartServiceConfigPage.js +0 -635
  85. package/dist/hookmovies/pages/cart-owner/CartServiceConfigPage.js.map +0 -1
  86. package/dist/hookmovies/pages/cart-owner/InventoryManagementPage.js +0 -912
  87. package/dist/hookmovies/pages/cart-owner/InventoryManagementPage.js.map +0 -1
  88. package/dist/hookmovies/pages/cart-owner/OrderManagementPage.js +0 -913
  89. package/dist/hookmovies/pages/cart-owner/OrderManagementPage.js.map +0 -1
  90. package/dist/hookmovies/pages/cart-owner/StaffManagementPage.js +0 -832
  91. package/dist/hookmovies/pages/cart-owner/StaffManagementPage.js.map +0 -1
  92. package/dist/hookmovies/pages/common/HelpSupportPage.js +0 -1321
  93. package/dist/hookmovies/pages/common/HelpSupportPage.js.map +0 -1
  94. package/dist/hookmovies/pages/common/NotificationCenterPage.js +0 -666
  95. package/dist/hookmovies/pages/common/NotificationCenterPage.js.map +0 -1
  96. package/dist/hookmovies/pages/common/SettingsPage.js +0 -965
  97. package/dist/hookmovies/pages/common/SettingsPage.js.map +0 -1
  98. package/dist/hookmovies/pages/customer/BookingDetailsPage.js +0 -622
  99. package/dist/hookmovies/pages/customer/BookingDetailsPage.js.map +0 -1
  100. package/dist/hookmovies/pages/customer/CartDetailPage.js +0 -653
  101. package/dist/hookmovies/pages/customer/CartDetailPage.js.map +0 -1
  102. package/dist/hookmovies/pages/customer/CartDiscoveryPage.js +0 -557
  103. package/dist/hookmovies/pages/customer/CartDiscoveryPage.js.map +0 -1
  104. package/dist/hookmovies/pages/customer/CheckoutPage.js +0 -526
  105. package/dist/hookmovies/pages/customer/CheckoutPage.js.map +0 -1
  106. package/dist/hookmovies/pages/customer/CustomerDashboard.js +0 -537
  107. package/dist/hookmovies/pages/customer/CustomerDashboard.js.map +0 -1
  108. package/dist/hookmovies/pages/customer/CustomerProfilePage.js +0 -623
  109. package/dist/hookmovies/pages/customer/CustomerProfilePage.js.map +0 -1
  110. package/dist/hookmovies/pages/customer/DirectServiceBookingPage.js +0 -627
  111. package/dist/hookmovies/pages/customer/DirectServiceBookingPage.js.map +0 -1
  112. package/dist/hookmovies/pages/customer/FavoritesPage.js +0 -479
  113. package/dist/hookmovies/pages/customer/FavoritesPage.js.map +0 -1
  114. package/dist/hookmovies/pages/customer/OrderHistoryPage.js +0 -442
  115. package/dist/hookmovies/pages/customer/OrderHistoryPage.js.map +0 -1
  116. package/dist/hookmovies/pages/customer/OrderTrackingPage.js +0 -390
  117. package/dist/hookmovies/pages/customer/OrderTrackingPage.js.map +0 -1
  118. package/dist/hookmovies/pages/customer/PaymentMethodsPage.js +0 -490
  119. package/dist/hookmovies/pages/customer/PaymentMethodsPage.js.map +0 -1
  120. package/dist/hookmovies/pages/customer/ReviewsPage.js +0 -607
  121. package/dist/hookmovies/pages/customer/ReviewsPage.js.map +0 -1
  122. package/dist/hookmovies/pages/customer/SavedAddressesPage.js +0 -450
  123. package/dist/hookmovies/pages/customer/SavedAddressesPage.js.map +0 -1
  124. package/dist/hookmovies/pages/investor/InvestmentDetailsPage.js +0 -880
  125. package/dist/hookmovies/pages/investor/InvestmentDetailsPage.js.map +0 -1
  126. package/dist/hookmovies/pages/investor/InvestmentOpportunitiesPage.js +0 -940
  127. package/dist/hookmovies/pages/investor/InvestmentOpportunitiesPage.js.map +0 -1
  128. package/dist/hookmovies/pages/investor/InvestorAnalyticsPage.js +0 -683
  129. package/dist/hookmovies/pages/investor/InvestorAnalyticsPage.js.map +0 -1
  130. package/dist/hookmovies/pages/investor/InvestorDashboard.js +0 -457
  131. package/dist/hookmovies/pages/investor/InvestorDashboard.js.map +0 -1
  132. package/dist/hookmovies/pages/investor/InvestorInvestmentsPage.js +0 -401
  133. package/dist/hookmovies/pages/investor/InvestorInvestmentsPage.js.map +0 -1
  134. package/dist/hookmovies/pages/investor/InvestorPortfolioPage.js +0 -571
  135. package/dist/hookmovies/pages/investor/InvestorPortfolioPage.js.map +0 -1
  136. package/dist/hookmovies/pages/investor/InvestorProfilePage.js +0 -1067
  137. package/dist/hookmovies/pages/investor/InvestorProfilePage.js.map +0 -1
  138. package/dist/hookmovies/pages/worker/TaskDetailsPage.js +0 -528
  139. package/dist/hookmovies/pages/worker/TaskDetailsPage.js.map +0 -1
  140. package/dist/hookmovies/pages/worker/WorkerDashboard.js +0 -670
  141. package/dist/hookmovies/pages/worker/WorkerDashboard.js.map +0 -1
  142. package/dist/hookmovies/pages/worker/WorkerOrdersPage.js +0 -676
  143. package/dist/hookmovies/pages/worker/WorkerOrdersPage.js.map +0 -1
  144. package/dist/hookmovies/pages/worker/WorkerProfilePage.js +0 -689
  145. package/dist/hookmovies/pages/worker/WorkerProfilePage.js.map +0 -1
  146. package/dist/hookmovies/pages/worker/WorkerSchedulePage.js +0 -579
  147. package/dist/hookmovies/pages/worker/WorkerSchedulePage.js.map +0 -1
  148. package/dist/hookmovies/store/hookmoviesStore.js +0 -38
  149. package/dist/hookmovies/store/hookmoviesStore.js.map +0 -1
  150. package/dist/hookmovies/store/index.js +0 -1
@@ -1,801 +0,0 @@
1
- import { useHookMovies as e } from "../../context/HookMoviesContext.js";
2
- import { cn as t } from "../../utils/cn.js";
3
- import { PageLayout as n } from "../../components/PageLayout.js";
4
- import { formatCurrency as r } from "../../utils/formatters.js";
5
- import { mockAdminAnalytics as i } from "../../mocks/data.js";
6
- import { useState as a } from "react";
7
- import { Activity as o, AlertCircle as s, ArrowRight as c, BarChart3 as l, Bell as u, CheckCircle as d, ChevronRight as f, Clock as p, Edit as m, Eye as h, Flame as g, IndianRupee as _, MapPin as v, Package as y, Plus as b, Settings as x, ShoppingCart as S, Star as C, TrendingDown as w, TrendingUp as T, UserCheck as E, Users as D } from "lucide-react";
8
- import { jsx as O, jsxs as k } from "react/jsx-runtime";
9
- import { CTAOverflowMenu as A, EmphasisPanel as j, GradientText as M, NextSteps as N } from "@burdenoff/fe-libs/ui";
10
- //#region src/hookmovies/pages/cart-owner/CartOwnerDashboard.tsx
11
- var P = {
12
- totalRevenue: 45230,
13
- dailyRevenue: 1850,
14
- ordersToday: 23,
15
- totalOrders: 1247,
16
- activeOfferings: 68,
17
- averageOrderValue: 80,
18
- customerCount: 342,
19
- rating: 4.2
20
- }, F = [
21
- {
22
- id: "ORD-001",
23
- customerName: "Rahul Sharma",
24
- items: [
25
- "Masala Dosa",
26
- "Filter Coffee",
27
- "Vada"
28
- ],
29
- total: 180,
30
- status: "preparing",
31
- timestamp: "10 mins ago",
32
- priority: "urgent"
33
- },
34
- {
35
- id: "ORD-002",
36
- customerName: "Priya Patel",
37
- items: ["Idli Sambar (2)", "Coconut Chutney"],
38
- total: 80,
39
- status: "ready",
40
- timestamp: "15 mins ago",
41
- priority: "normal"
42
- },
43
- {
44
- id: "ORD-003",
45
- customerName: "Amit Kumar",
46
- items: [
47
- "Rava Dosa",
48
- "Sambar",
49
- "Coffee"
50
- ],
51
- total: 160,
52
- status: "delivered",
53
- timestamp: "25 mins ago",
54
- priority: "normal"
55
- },
56
- {
57
- id: "ORD-004",
58
- customerName: "Sneha Singh",
59
- items: ["Upma", "Coffee"],
60
- total: 60,
61
- status: "pending",
62
- timestamp: "2 mins ago",
63
- priority: "urgent"
64
- }
65
- ], I = [
66
- {
67
- name: "Masala Dosa",
68
- quantity: 245,
69
- revenue: 19600
70
- },
71
- {
72
- name: "Filter Coffee",
73
- quantity: 312,
74
- revenue: 9360
75
- },
76
- {
77
- name: "Idli Sambar",
78
- quantity: 189,
79
- revenue: 7560
80
- },
81
- {
82
- name: "Vada",
83
- quantity: 156,
84
- revenue: 4680
85
- },
86
- {
87
- name: "Rava Dosa",
88
- quantity: 98,
89
- revenue: 8820
90
- }
91
- ], L = [
92
- {
93
- name: "Ramesh Kumar",
94
- role: "Chef",
95
- status: "active"
96
- },
97
- {
98
- name: "Priya Sharma",
99
- role: "Server",
100
- status: "active"
101
- },
102
- {
103
- name: "Amit Patel",
104
- role: "Delivery",
105
- status: "on-break"
106
- },
107
- {
108
- name: "Sneha Reddy",
109
- role: "Manager",
110
- status: "active"
111
- }
112
- ], R = [
113
- {
114
- id: "1",
115
- message: "New order #ORD-004 received",
116
- type: "info",
117
- time: "2 min ago"
118
- },
119
- {
120
- id: "2",
121
- message: "Low stock alert: Vada batter running low",
122
- type: "warning",
123
- time: "15 min ago"
124
- },
125
- {
126
- id: "3",
127
- message: "Order #ORD-003 delivered successfully",
128
- type: "success",
129
- time: "25 min ago"
130
- },
131
- {
132
- id: "4",
133
- message: "New 5-star review from Priya Patel",
134
- type: "success",
135
- time: "1 hr ago"
136
- },
137
- {
138
- id: "5",
139
- message: "Peak hours approaching (12-2 PM)",
140
- type: "warning",
141
- time: "1 hr ago"
142
- }
143
- ], z = i.orderTrends.slice(0, 7), B = () => {
144
- let e = (/* @__PURE__ */ new Date()).getHours();
145
- return e < 12 ? "Good Morning" : e < 17 ? "Good Afternoon" : "Good Evening";
146
- }, V = {
147
- pending: "bg-status-error-bg/15 text-status-error-text",
148
- preparing: "bg-status-warning-bg/15 text-status-warning-text",
149
- ready: "bg-status-info-bg/15 text-status-info-text",
150
- delivered: "bg-status-success-bg/15 text-status-success-text",
151
- cancelled: "bg-bg-sunken text-text-secondary"
152
- }, H = {
153
- active: "bg-status-success-bg",
154
- "on-break": "bg-status-warning-bg",
155
- "off-duty": "bg-muted-foreground"
156
- }, U = {
157
- info: "text-status-info-text",
158
- warning: "text-status-warning-text",
159
- success: "text-status-success-text"
160
- }, W = () => {
161
- let { navigateTo: i } = e(), [W, G] = a(F), [K, q] = a({
162
- isOpen: !0,
163
- currentLocation: "Koramangala 5th Block, Near BDA Complex",
164
- lastUpdate: (/* @__PURE__ */ new Date()).toLocaleTimeString(),
165
- operatingHours: "9:00 AM - 9:00 PM"
166
- }), J = (e) => {
167
- G((t) => t.map((t) => t.id === e ? {
168
- ...t,
169
- status: "preparing"
170
- } : t));
171
- }, Y = (e) => {
172
- G((t) => t.map((t) => t.id === e ? {
173
- ...t,
174
- status: "ready"
175
- } : t));
176
- }, X = () => {
177
- q((e) => e && {
178
- ...e,
179
- isOpen: !e.isOpen
180
- });
181
- };
182
- return /* @__PURE__ */ O(n, {
183
- hero: !0,
184
- title: /* @__PURE__ */ k("span", { children: [
185
- /* @__PURE__ */ O(M, { children: B() }),
186
- ",",
187
- " ",
188
- /* @__PURE__ */ O("span", {
189
- className: "text-text-secondary font-normal",
190
- children: "Rajesh"
191
- })
192
- ] }),
193
- description: "Manage your service provider operations",
194
- purpose: "Run your cart business from one screen: open or close service, accept and fulfil incoming orders, watch today's revenue and your best-selling items, and keep your menu and staff up to date. Start by setting your service status, then work through new orders.",
195
- actions: /* @__PURE__ */ O(A, {
196
- primary: {
197
- label: "View All Orders",
198
- onSelect: () => i("/cart-owner/orders"),
199
- icon: /* @__PURE__ */ O(c, { className: "h-4 w-4" })
200
- },
201
- actions: [{
202
- label: "Analytics",
203
- onSelect: () => i("/cart-owner/analytics"),
204
- icon: /* @__PURE__ */ O(l, { className: "h-4 w-4" })
205
- }, {
206
- label: "Staff",
207
- onSelect: () => i("/cart-owner/staff"),
208
- icon: /* @__PURE__ */ O(D, { className: "h-4 w-4" })
209
- }]
210
- }),
211
- children: /* @__PURE__ */ k("div", {
212
- className: "space-y-6",
213
- children: [
214
- /* @__PURE__ */ O(N, {
215
- storageKey: "hookmovies-cartowner-dashboard",
216
- steps: [
217
- {
218
- id: "status",
219
- label: K.isOpen ? "Your service is open" : "Open your service",
220
- description: K.isOpen ? "Customers can place orders right now." : "Set yourself open so customers can order.",
221
- icon: /* @__PURE__ */ O(v, { className: "h-4 w-4" }),
222
- onClick: X,
223
- done: K.isOpen
224
- },
225
- {
226
- id: "menu",
227
- label: "Update your offerings",
228
- description: "Keep your menu and prices current.",
229
- icon: /* @__PURE__ */ O(y, { className: "h-4 w-4" }),
230
- onClick: () => i("/cart-owner/inventory")
231
- },
232
- {
233
- id: "orders",
234
- label: "Work your incoming orders",
235
- description: "Accept and mark orders ready as they arrive.",
236
- icon: /* @__PURE__ */ O(S, { className: "h-4 w-4" }),
237
- onClick: () => i("/cart-owner/orders")
238
- }
239
- ]
240
- }),
241
- /* @__PURE__ */ O(j, {
242
- className: "p-4",
243
- children: /* @__PURE__ */ k("div", {
244
- className: "flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4",
245
- children: [/* @__PURE__ */ k("div", {
246
- className: "flex items-start gap-3",
247
- children: [/* @__PURE__ */ O("div", { className: t("w-3 h-3 rounded-full mt-1 shrink-0", K.isOpen ? "bg-status-success-bg motion-safe:animate-vc-glow-pulse" : "bg-status-error-bg") }), /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ k("h3", {
248
- className: "font-semibold text-text-primary text-sm",
249
- children: ["Service Status: ", K.isOpen ? "Open" : "Closed"]
250
- }), /* @__PURE__ */ k("div", {
251
- className: "flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-4 mt-1 text-xs text-text-secondary",
252
- children: [/* @__PURE__ */ k("span", {
253
- className: "flex items-center gap-1",
254
- children: [/* @__PURE__ */ O(v, { className: "h-3 w-3 shrink-0" }), K.currentLocation]
255
- }), /* @__PURE__ */ k("span", {
256
- className: "flex items-center gap-1",
257
- children: [/* @__PURE__ */ O(p, { className: "h-3 w-3 shrink-0" }), K.operatingHours]
258
- })]
259
- })] })]
260
- }), /* @__PURE__ */ k("div", {
261
- className: "flex gap-2",
262
- children: [/* @__PURE__ */ k("button", {
263
- type: "button",
264
- onClick: () => i("/cart-owner/settings"),
265
- className: "inline-flex items-center gap-1 rounded-md border border-border-subtle px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
266
- children: [/* @__PURE__ */ O(v, { className: "h-3 w-3" }), "Update Location"]
267
- }), /* @__PURE__ */ O("button", {
268
- type: "button",
269
- onClick: X,
270
- className: t("inline-flex items-center gap-1 rounded-md px-3 py-1.5 text-xs font-medium transition-colors", K.isOpen ? "bg-status-error-bg/10 text-status-error-text hover:bg-status-error-bg/20 dark:text-status-error-text" : "bg-status-success-bg/10 text-status-success-text hover:bg-status-success-bg/20 dark:text-status-success-text"),
271
- children: K.isOpen ? "Close Service" : "Open Service"
272
- })]
273
- })]
274
- })
275
- }),
276
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("h2", {
277
- className: "text-base font-semibold text-text-primary mb-3",
278
- children: "Today's Performance"
279
- }), /* @__PURE__ */ O("div", {
280
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
281
- children: [
282
- {
283
- label: "Daily Revenue",
284
- value: r(P.dailyRevenue, { minimumFractionDigits: 0 }),
285
- icon: _,
286
- trend: "+15.2% vs yesterday",
287
- trendUp: !0
288
- },
289
- {
290
- label: "Orders Today",
291
- value: String(P.ordersToday),
292
- icon: S,
293
- trend: "+8.5% vs yesterday",
294
- trendUp: !0
295
- },
296
- {
297
- label: "Avg Order Value",
298
- value: r(P.averageOrderValue, { minimumFractionDigits: 0 }),
299
- icon: T,
300
- trend: "+3.2% vs last week",
301
- trendUp: !0
302
- },
303
- {
304
- label: "Service Rating",
305
- value: P.rating.toFixed(1),
306
- icon: C,
307
- trend: "Based on 342 reviews",
308
- trendUp: !0
309
- }
310
- ].map((e) => {
311
- let t = e.icon;
312
- return /* @__PURE__ */ k("div", {
313
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
314
- children: [
315
- /* @__PURE__ */ k("div", {
316
- className: "flex items-center justify-between",
317
- children: [/* @__PURE__ */ O("div", {
318
- className: "rounded-md bg-accent p-2",
319
- children: /* @__PURE__ */ O(t, { className: "h-5 w-5 text-text-secondary" })
320
- }), /* @__PURE__ */ k("div", {
321
- className: "flex items-center gap-1 text-xs text-text-secondary",
322
- children: [e.trendUp ? /* @__PURE__ */ O(T, { className: "h-3 w-3 text-status-success-text" }) : /* @__PURE__ */ O(w, { className: "h-3 w-3 text-status-error-text" }), /* @__PURE__ */ O("span", { children: e.trend })]
323
- })]
324
- }),
325
- /* @__PURE__ */ O("p", {
326
- className: "mt-3 text-2xl font-bold text-text-primary",
327
- children: e.value
328
- }),
329
- /* @__PURE__ */ O("p", {
330
- className: "mt-1 text-sm text-text-secondary",
331
- children: e.label
332
- })
333
- ]
334
- }, e.label);
335
- })
336
- })] }),
337
- /* @__PURE__ */ k("div", {
338
- className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
339
- children: [/* @__PURE__ */ k("div", {
340
- className: "lg:col-span-2 space-y-6",
341
- children: [
342
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("h3", {
343
- className: "text-base font-semibold mb-3 text-text-primary",
344
- children: "Quick Actions"
345
- }), /* @__PURE__ */ O("div", {
346
- className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-3",
347
- children: [
348
- {
349
- label: "Service Config",
350
- icon: x,
351
- color: "bg-status-warning-bg-subtle text-status-warning-text",
352
- path: "/cart-owner/service-config"
353
- },
354
- {
355
- label: "Manage Offerings",
356
- icon: y,
357
- color: "bg-status-info-bg-subtle text-status-info-text",
358
- path: "/cart-owner/inventory"
359
- },
360
- {
361
- label: "View Orders",
362
- icon: S,
363
- color: "bg-status-success-bg-subtle text-status-success-text",
364
- path: "/cart-owner/orders"
365
- },
366
- {
367
- label: "Analytics",
368
- icon: l,
369
- color: "bg-[var(--color-accent-soft)] text-text-link",
370
- path: "/cart-owner/analytics"
371
- },
372
- {
373
- label: "Staff",
374
- icon: E,
375
- color: "bg-[var(--color-accent-soft)] text-text-link",
376
- path: "/cart-owner/staff"
377
- }
378
- ].map((e) => {
379
- let n = e.icon;
380
- return /* @__PURE__ */ k("button", {
381
- type: "button",
382
- onClick: () => i(e.path),
383
- className: t("flex flex-col items-center gap-2 rounded-lg p-4 transition-colors hover:opacity-80", e.color),
384
- children: [/* @__PURE__ */ O(n, { className: "h-5 w-5" }), /* @__PURE__ */ O("span", {
385
- className: "text-xs font-medium text-center",
386
- children: e.label
387
- })]
388
- }, e.label);
389
- })
390
- })] }),
391
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ k("div", {
392
- className: "flex items-center justify-between mb-3",
393
- children: [/* @__PURE__ */ O("h3", {
394
- className: "text-base font-semibold text-text-primary",
395
- children: "Recent Orders"
396
- }), /* @__PURE__ */ O("button", {
397
- type: "button",
398
- onClick: () => i("/cart-owner/orders"),
399
- className: "text-xs text-text-secondary hover:text-text-primary transition-colors",
400
- children: "View All Orders"
401
- })]
402
- }), /* @__PURE__ */ O("div", {
403
- className: "space-y-3",
404
- children: W.map((e) => /* @__PURE__ */ O("div", {
405
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
406
- children: /* @__PURE__ */ k("div", {
407
- className: "flex flex-col lg:flex-row lg:items-start lg:justify-between gap-3",
408
- children: [/* @__PURE__ */ k("div", {
409
- className: "flex-1 min-w-0",
410
- children: [
411
- /* @__PURE__ */ k("div", {
412
- className: "flex flex-wrap items-center gap-2 mb-1",
413
- children: [
414
- /* @__PURE__ */ k("h4", {
415
- className: "font-semibold text-text-primary text-sm",
416
- children: ["#", e.id]
417
- }),
418
- /* @__PURE__ */ O("span", {
419
- className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize", V[e.status] || "bg-bg-sunken text-text-secondary"),
420
- children: e.status
421
- }),
422
- e.priority === "urgent" && /* @__PURE__ */ O(s, { className: "h-4 w-4 text-status-error-text" })
423
- ]
424
- }),
425
- /* @__PURE__ */ k("p", {
426
- className: "text-xs text-text-secondary mb-1",
427
- children: ["Customer: ", e.customerName]
428
- }),
429
- /* @__PURE__ */ k("p", {
430
- className: "text-xs text-text-secondary mb-1 truncate",
431
- children: ["Items: ", e.items.join(", ")]
432
- }),
433
- /* @__PURE__ */ k("div", {
434
- className: "flex flex-wrap items-center gap-3 text-xs text-text-secondary",
435
- children: [/* @__PURE__ */ O("span", {
436
- className: "font-semibold text-text-primary",
437
- children: r(e.total, { minimumFractionDigits: 0 })
438
- }), /* @__PURE__ */ k("span", {
439
- className: "flex items-center gap-1",
440
- children: [/* @__PURE__ */ O(p, { className: "h-3 w-3" }), e.timestamp]
441
- })]
442
- })
443
- ]
444
- }), /* @__PURE__ */ k("div", {
445
- className: "flex gap-2",
446
- children: [
447
- /* @__PURE__ */ k("button", {
448
- type: "button",
449
- onClick: () => i("/cart-owner/orders"),
450
- className: "inline-flex items-center gap-1 rounded-md border border-border-subtle px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
451
- children: [/* @__PURE__ */ O(h, { className: "h-3 w-3" }), "View"]
452
- }),
453
- e.status === "pending" && /* @__PURE__ */ k("button", {
454
- type: "button",
455
- onClick: () => J(e.id),
456
- className: "inline-flex items-center gap-1 rounded-md bg-status-success-bg/10 px-3 py-1.5 text-xs font-medium text-status-success-text hover:bg-status-success-bg/20 dark:text-status-success-text transition-colors",
457
- children: [/* @__PURE__ */ O(d, { className: "h-3 w-3" }), "Accept"]
458
- }),
459
- e.status === "preparing" && /* @__PURE__ */ k("button", {
460
- type: "button",
461
- onClick: () => Y(e.id),
462
- className: "inline-flex items-center gap-1 rounded-md bg-status-info-bg/10 px-3 py-1.5 text-xs font-medium text-status-info-text hover:bg-status-info-bg/20 dark:text-status-info-text transition-colors",
463
- children: [/* @__PURE__ */ O(d, { className: "h-3 w-3" }), "Mark Ready"]
464
- })
465
- ]
466
- })]
467
- })
468
- }, e.id))
469
- })] }),
470
- /* @__PURE__ */ k("div", {
471
- className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm",
472
- children: [/* @__PURE__ */ k("div", {
473
- className: "flex items-center justify-between border-b border-border-subtle px-5 py-4",
474
- children: [/* @__PURE__ */ O("h3", {
475
- className: "text-base font-semibold text-text-primary",
476
- children: "Revenue (Last 7 Days)"
477
- }), /* @__PURE__ */ O("button", {
478
- type: "button",
479
- onClick: () => i("/cart-owner/analytics"),
480
- className: "text-xs text-text-secondary hover:text-text-primary transition-colors",
481
- children: "View Analytics"
482
- })]
483
- }), /* @__PURE__ */ O("div", {
484
- className: "overflow-x-auto",
485
- children: /* @__PURE__ */ k("table", {
486
- className: "w-full text-sm",
487
- children: [/* @__PURE__ */ O("thead", { children: /* @__PURE__ */ k("tr", {
488
- className: "border-b border-border-subtle",
489
- children: [
490
- /* @__PURE__ */ O("th", {
491
- className: "px-5 py-3 text-left font-medium text-text-secondary",
492
- children: "Date"
493
- }),
494
- /* @__PURE__ */ O("th", {
495
- className: "px-5 py-3 text-right font-medium text-text-secondary",
496
- children: "Orders"
497
- }),
498
- /* @__PURE__ */ O("th", {
499
- className: "px-5 py-3 text-right font-medium text-text-secondary",
500
- children: "Revenue"
501
- }),
502
- /* @__PURE__ */ O("th", {
503
- className: "px-5 py-3 text-left font-medium text-text-secondary",
504
- children: "Trend"
505
- })
506
- ]
507
- }) }), /* @__PURE__ */ O("tbody", { children: z.map((e, t) => {
508
- let n = Math.max(...z.map((e) => e.revenue)), i = e.revenue / n * 100;
509
- return /* @__PURE__ */ k("tr", {
510
- className: "border-b border-border-subtle last:border-0",
511
- children: [
512
- /* @__PURE__ */ O("td", {
513
- className: "px-5 py-3 text-text-primary text-xs",
514
- children: new Date(e.date).toLocaleDateString("en-IN", {
515
- day: "2-digit",
516
- month: "short",
517
- weekday: "short"
518
- })
519
- }),
520
- /* @__PURE__ */ O("td", {
521
- className: "px-5 py-3 text-right text-text-primary",
522
- children: e.orders
523
- }),
524
- /* @__PURE__ */ O("td", {
525
- className: "px-5 py-3 text-right font-medium text-text-primary",
526
- children: r(e.revenue, { minimumFractionDigits: 0 })
527
- }),
528
- /* @__PURE__ */ O("td", {
529
- className: "px-5 py-3 w-40",
530
- children: /* @__PURE__ */ O("div", {
531
- className: "h-4 rounded bg-bg-sunken overflow-hidden",
532
- children: /* @__PURE__ */ O("div", {
533
- className: "h-full rounded bg-status-info-bg/60",
534
- style: { width: `${i}%` }
535
- })
536
- })
537
- })
538
- ]
539
- }, e.date);
540
- }) })]
541
- })
542
- })]
543
- }),
544
- /* @__PURE__ */ k("div", {
545
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
546
- children: [/* @__PURE__ */ O("h3", {
547
- className: "text-base font-semibold text-text-primary mb-4",
548
- children: "This Month Summary"
549
- }), /* @__PURE__ */ k("div", {
550
- className: "grid grid-cols-1 sm:grid-cols-3 gap-4",
551
- children: [
552
- /* @__PURE__ */ k("div", {
553
- className: "text-center p-3 rounded-lg bg-bg-sunken/50",
554
- children: [/* @__PURE__ */ O("div", {
555
- className: "text-xl font-bold text-text-primary",
556
- children: r(P.totalRevenue, { minimumFractionDigits: 0 })
557
- }), /* @__PURE__ */ O("div", {
558
- className: "text-xs text-text-secondary mt-1",
559
- children: "Total Revenue"
560
- })]
561
- }),
562
- /* @__PURE__ */ k("div", {
563
- className: "text-center p-3 rounded-lg bg-bg-sunken/50",
564
- children: [/* @__PURE__ */ O("div", {
565
- className: "text-xl font-bold text-text-primary",
566
- children: P.totalOrders
567
- }), /* @__PURE__ */ O("div", {
568
- className: "text-xs text-text-secondary mt-1",
569
- children: "Total Orders"
570
- })]
571
- }),
572
- /* @__PURE__ */ k("div", {
573
- className: "text-center p-3 rounded-lg bg-bg-sunken/50",
574
- children: [/* @__PURE__ */ O("div", {
575
- className: "text-xl font-bold text-text-primary",
576
- children: P.customerCount
577
- }), /* @__PURE__ */ O("div", {
578
- className: "text-xs text-text-secondary mt-1",
579
- children: "Unique Customers"
580
- })]
581
- })
582
- ]
583
- })]
584
- })
585
- ]
586
- }), /* @__PURE__ */ k("div", {
587
- className: "space-y-6",
588
- children: [
589
- /* @__PURE__ */ k("div", {
590
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
591
- children: [/* @__PURE__ */ k("div", {
592
- className: "flex items-center justify-between mb-4",
593
- children: [/* @__PURE__ */ k("h3", {
594
- className: "text-base font-semibold text-text-primary flex items-center gap-2",
595
- children: [/* @__PURE__ */ O(u, { className: "h-4 w-4" }), "Notifications"]
596
- }), /* @__PURE__ */ O("span", {
597
- className: "inline-flex items-center justify-center rounded-full bg-status-error-bg text-action-primary-text text-[10px] font-bold h-5 w-5",
598
- children: R.length
599
- })]
600
- }), /* @__PURE__ */ O("div", {
601
- className: "space-y-3",
602
- children: R.map((e) => /* @__PURE__ */ k("div", {
603
- className: "flex items-start gap-2",
604
- children: [/* @__PURE__ */ O(o, { className: t("h-4 w-4 mt-0.5 shrink-0", U[e.type]) }), /* @__PURE__ */ k("div", {
605
- className: "min-w-0",
606
- children: [/* @__PURE__ */ O("p", {
607
- className: "text-xs text-text-primary leading-tight",
608
- children: e.message
609
- }), /* @__PURE__ */ O("p", {
610
- className: "text-[10px] text-text-secondary mt-0.5",
611
- children: e.time
612
- })]
613
- })]
614
- }, e.id))
615
- })]
616
- }),
617
- /* @__PURE__ */ k("div", {
618
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
619
- children: [/* @__PURE__ */ k("h3", {
620
- className: "text-base font-semibold text-text-primary mb-4 flex items-center gap-2",
621
- children: [/* @__PURE__ */ O(g, { className: "h-4 w-4 text-status-warning-text" }), "Top Selling Items"]
622
- }), /* @__PURE__ */ O("div", {
623
- className: "space-y-3",
624
- children: I.map((e, t) => /* @__PURE__ */ k("div", {
625
- className: "flex items-center justify-between",
626
- children: [/* @__PURE__ */ k("div", {
627
- className: "flex items-center gap-2 min-w-0",
628
- children: [/* @__PURE__ */ O("span", {
629
- className: "text-sm font-bold text-text-secondary w-5",
630
- children: t + 1
631
- }), /* @__PURE__ */ k("div", {
632
- className: "min-w-0",
633
- children: [/* @__PURE__ */ O("p", {
634
- className: "text-xs font-medium text-text-primary truncate",
635
- children: e.name
636
- }), /* @__PURE__ */ k("p", {
637
- className: "text-[10px] text-text-secondary",
638
- children: [e.quantity, " sold"]
639
- })]
640
- })]
641
- }), /* @__PURE__ */ O("span", {
642
- className: "text-xs font-semibold text-text-primary",
643
- children: r(e.revenue, { minimumFractionDigits: 0 })
644
- })]
645
- }, e.name))
646
- })]
647
- }),
648
- /* @__PURE__ */ k("div", {
649
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
650
- children: [/* @__PURE__ */ k("div", {
651
- className: "flex items-center justify-between mb-4",
652
- children: [/* @__PURE__ */ k("h3", {
653
- className: "text-base font-semibold text-text-primary flex items-center gap-2",
654
- children: [/* @__PURE__ */ O(D, { className: "h-4 w-4" }), "Staff Overview"]
655
- }), /* @__PURE__ */ O("button", {
656
- type: "button",
657
- onClick: () => i("/cart-owner/staff"),
658
- className: "text-xs text-text-secondary hover:text-text-primary transition-colors",
659
- children: "Manage"
660
- })]
661
- }), /* @__PURE__ */ O("div", {
662
- className: "space-y-3",
663
- children: L.map((e) => /* @__PURE__ */ k("div", {
664
- className: "flex items-center justify-between",
665
- children: [/* @__PURE__ */ k("div", {
666
- className: "flex items-center gap-2",
667
- children: [/* @__PURE__ */ O("div", { className: t("w-2 h-2 rounded-full", H[e.status]) }), /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("p", {
668
- className: "text-xs font-medium text-text-primary",
669
- children: e.name
670
- }), /* @__PURE__ */ O("p", {
671
- className: "text-[10px] text-text-secondary",
672
- children: e.role
673
- })] })]
674
- }), /* @__PURE__ */ O("span", {
675
- className: "text-[10px] capitalize text-text-secondary",
676
- children: e.status.replace("-", " ")
677
- })]
678
- }, e.name))
679
- })]
680
- }),
681
- /* @__PURE__ */ k("div", {
682
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
683
- children: [/* @__PURE__ */ O("h3", {
684
- className: "text-base font-semibold text-text-primary mb-4",
685
- children: "Quick Stats"
686
- }), /* @__PURE__ */ k("div", {
687
- className: "space-y-3",
688
- children: [
689
- /* @__PURE__ */ k("div", {
690
- className: "flex items-center justify-between",
691
- children: [/* @__PURE__ */ O("span", {
692
- className: "text-xs text-text-secondary",
693
- children: "Active Offerings"
694
- }), /* @__PURE__ */ O("span", {
695
- className: "text-sm font-semibold text-text-primary",
696
- children: P.activeOfferings
697
- })]
698
- }),
699
- /* @__PURE__ */ k("div", {
700
- className: "flex items-center justify-between",
701
- children: [/* @__PURE__ */ O("span", {
702
- className: "text-xs text-text-secondary",
703
- children: "Customer Rating"
704
- }), /* @__PURE__ */ k("span", {
705
- className: "text-sm font-semibold text-text-primary flex items-center gap-1",
706
- children: [/* @__PURE__ */ O(C, { className: "h-3 w-3 text-status-warning-text fill-status-warning-text" }), P.rating]
707
- })]
708
- }),
709
- /* @__PURE__ */ k("div", {
710
- className: "flex items-center justify-between",
711
- children: [/* @__PURE__ */ O("span", {
712
- className: "text-xs text-text-secondary",
713
- children: "Total Customers"
714
- }), /* @__PURE__ */ O("span", {
715
- className: "text-sm font-semibold text-text-primary",
716
- children: P.customerCount
717
- })]
718
- })
719
- ]
720
- })]
721
- }),
722
- /* @__PURE__ */ k("div", {
723
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
724
- children: [/* @__PURE__ */ O("h3", {
725
- className: "text-base font-semibold text-text-primary mb-3",
726
- children: "Business Settings"
727
- }), /* @__PURE__ */ O("div", {
728
- className: "space-y-2",
729
- children: [
730
- {
731
- label: "Service Settings",
732
- icon: x,
733
- path: "/cart-owner/settings"
734
- },
735
- {
736
- label: "Business Profile",
737
- icon: m,
738
- path: "/cart-owner/profile"
739
- },
740
- {
741
- label: "Add Offerings",
742
- icon: b,
743
- path: "/cart-owner/inventory"
744
- }
745
- ].map((e) => {
746
- let t = e.icon;
747
- return /* @__PURE__ */ k("button", {
748
- type: "button",
749
- onClick: () => i(e.path),
750
- className: "w-full flex items-center justify-between rounded-md border border-border-subtle px-3 py-2 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
751
- children: [/* @__PURE__ */ k("span", {
752
- className: "flex items-center gap-2",
753
- children: [/* @__PURE__ */ O(t, { className: "h-3.5 w-3.5" }), e.label]
754
- }), /* @__PURE__ */ O(f, { className: "h-3 w-3 text-text-secondary" })]
755
- }, e.label);
756
- })
757
- })]
758
- }),
759
- /* @__PURE__ */ k("div", {
760
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 shadow-sm",
761
- children: [/* @__PURE__ */ O("h3", {
762
- className: "text-base font-semibold text-text-primary mb-3",
763
- children: "Recent Activity"
764
- }), /* @__PURE__ */ k("div", {
765
- className: "space-y-2 text-xs",
766
- children: [
767
- /* @__PURE__ */ k("div", {
768
- className: "flex items-center gap-2",
769
- children: [/* @__PURE__ */ O(o, { className: "h-3.5 w-3.5 text-status-success-text" }), /* @__PURE__ */ O("span", {
770
- className: "text-text-secondary",
771
- children: "Order #ORD-003 delivered"
772
- })]
773
- }),
774
- /* @__PURE__ */ k("div", {
775
- className: "flex items-center gap-2",
776
- children: [/* @__PURE__ */ O(o, { className: "h-3.5 w-3.5 text-status-info-text" }), /* @__PURE__ */ O("span", {
777
- className: "text-text-secondary",
778
- children: "Inventory updated"
779
- })]
780
- }),
781
- /* @__PURE__ */ k("div", {
782
- className: "flex items-center gap-2",
783
- children: [/* @__PURE__ */ O(o, { className: "h-3.5 w-3.5 text-status-warning-text" }), /* @__PURE__ */ O("span", {
784
- className: "text-text-secondary",
785
- children: "New customer review"
786
- })]
787
- })
788
- ]
789
- })]
790
- })
791
- ]
792
- })]
793
- })
794
- ]
795
- })
796
- });
797
- };
798
- //#endregion
799
- export { W as CartOwnerDashboard };
800
-
801
- //# sourceMappingURL=CartOwnerDashboard.js.map