@burdenoff/microfe-atheletebridge 2026.626.1 → 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 (162) hide show
  1. package/dist/atheletebridge/AthleteBridgeRoot.js +49 -129
  2. package/dist/atheletebridge/AthleteBridgeRoot.js.map +1 -1
  3. package/dist/atheletebridge/AthleteBridgeRoutes.js +65 -184
  4. package/dist/atheletebridge/AthleteBridgeRoutes.js.map +1 -1
  5. package/dist/atheletebridge/components/CursorPager.js +34 -0
  6. package/dist/atheletebridge/components/CursorPager.js.map +1 -0
  7. package/dist/atheletebridge/components/FilterSelect.js +22 -0
  8. package/dist/atheletebridge/components/FilterSelect.js.map +1 -0
  9. package/dist/atheletebridge/components/FixtureCard.js +76 -0
  10. package/dist/atheletebridge/components/FixtureCard.js.map +1 -0
  11. package/dist/atheletebridge/components/LoadingState.js +36 -0
  12. package/dist/atheletebridge/components/LoadingState.js.map +1 -0
  13. package/dist/atheletebridge/components/ProgramCard.js +69 -0
  14. package/dist/atheletebridge/components/ProgramCard.js.map +1 -0
  15. package/dist/atheletebridge/components/SessionCard.js +76 -0
  16. package/dist/atheletebridge/components/SessionCard.js.map +1 -0
  17. package/dist/atheletebridge/components/StatusBadge.js +44 -35
  18. package/dist/atheletebridge/components/StatusBadge.js.map +1 -1
  19. package/dist/atheletebridge/components/TeamCard.js +81 -0
  20. package/dist/atheletebridge/components/TeamCard.js.map +1 -0
  21. package/dist/atheletebridge/components/domain.js +47 -0
  22. package/dist/atheletebridge/components/domain.js.map +1 -0
  23. package/dist/atheletebridge/components/form.js +29 -0
  24. package/dist/atheletebridge/components/form.js.map +1 -0
  25. package/dist/atheletebridge/context/AthleteBridgeContext.js +6 -6
  26. package/dist/atheletebridge/context/AthleteBridgeContext.js.map +1 -1
  27. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +342 -165
  28. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
  29. package/dist/atheletebridge/index.js +1 -1
  30. package/dist/atheletebridge/pages/DashboardPage.js +169 -0
  31. package/dist/atheletebridge/pages/DashboardPage.js.map +1 -0
  32. package/dist/atheletebridge/pages/StandingsPage.js +166 -0
  33. package/dist/atheletebridge/pages/StandingsPage.js.map +1 -0
  34. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js +201 -0
  35. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js.map +1 -0
  36. package/dist/atheletebridge/pages/fixtures/FixtureFormPage.js +205 -0
  37. package/dist/atheletebridge/pages/fixtures/FixtureFormPage.js.map +1 -0
  38. package/dist/atheletebridge/pages/fixtures/FixturesListPage.js +92 -0
  39. package/dist/atheletebridge/pages/fixtures/FixturesListPage.js.map +1 -0
  40. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js +374 -0
  41. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js.map +1 -0
  42. package/dist/atheletebridge/pages/programs/ProgramFormPage.js +207 -0
  43. package/dist/atheletebridge/pages/programs/ProgramFormPage.js.map +1 -0
  44. package/dist/atheletebridge/pages/programs/ProgramsListPage.js +113 -0
  45. package/dist/atheletebridge/pages/programs/ProgramsListPage.js.map +1 -0
  46. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js +224 -0
  47. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js.map +1 -0
  48. package/dist/atheletebridge/pages/sessions/SessionFormPage.js +206 -0
  49. package/dist/atheletebridge/pages/sessions/SessionFormPage.js.map +1 -0
  50. package/dist/atheletebridge/pages/sessions/SessionsListPage.js +92 -0
  51. package/dist/atheletebridge/pages/sessions/SessionsListPage.js.map +1 -0
  52. package/dist/atheletebridge/pages/teams/TeamDetailPage.js +350 -0
  53. package/dist/atheletebridge/pages/teams/TeamDetailPage.js.map +1 -0
  54. package/dist/atheletebridge/pages/teams/TeamFormPage.js +222 -0
  55. package/dist/atheletebridge/pages/teams/TeamFormPage.js.map +1 -0
  56. package/dist/atheletebridge/pages/teams/TeamsListPage.js +101 -0
  57. package/dist/atheletebridge/pages/teams/TeamsListPage.js.map +1 -0
  58. package/dist/atheletebridge/store/atheletebridgeStore.js +2 -13
  59. package/dist/atheletebridge/store/atheletebridgeStore.js.map +1 -1
  60. package/dist/atheletebridge/utils/datetime.js +10 -0
  61. package/dist/atheletebridge/utils/datetime.js.map +1 -0
  62. package/dist/atheletebridge/utils/formatters.js +1 -4
  63. package/dist/atheletebridge/utils/formatters.js.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/atheletebridge/components/InvestmentCard.js +0 -96
  66. package/dist/atheletebridge/components/InvestmentCard.js.map +0 -1
  67. package/dist/atheletebridge/components/RatingDisplay.js +0 -35
  68. package/dist/atheletebridge/components/RatingDisplay.js.map +0 -1
  69. package/dist/atheletebridge/mocks/data.js +0 -1517
  70. package/dist/atheletebridge/mocks/data.js.map +0 -1
  71. package/dist/atheletebridge/mocks/users.js +0 -34
  72. package/dist/atheletebridge/mocks/users.js.map +0 -1
  73. package/dist/atheletebridge/pages/HomePage.js +0 -936
  74. package/dist/atheletebridge/pages/HomePage.js.map +0 -1
  75. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +0 -653
  76. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +0 -1
  77. package/dist/atheletebridge/pages/admin/AdminDashboard.js +0 -671
  78. package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +0 -1
  79. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +0 -429
  80. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +0 -1
  81. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +0 -667
  82. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +0 -1
  83. package/dist/atheletebridge/pages/admin/AdminProfilePage.js +0 -261
  84. package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +0 -1
  85. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +0 -653
  86. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +0 -1
  87. package/dist/atheletebridge/pages/admin/CartManagementPage.js +0 -876
  88. package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +0 -1
  89. package/dist/atheletebridge/pages/admin/UserManagementPage.js +0 -900
  90. package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +0 -1
  91. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +0 -839
  92. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +0 -1
  93. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +0 -704
  94. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +0 -1
  95. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +0 -792
  96. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +0 -1
  97. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +0 -891
  98. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +0 -1
  99. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +0 -633
  100. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +0 -1
  101. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +0 -913
  102. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +0 -1
  103. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +0 -881
  104. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +0 -1
  105. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +0 -841
  106. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +0 -1
  107. package/dist/atheletebridge/pages/common/HelpSupportPage.js +0 -1319
  108. package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +0 -1
  109. package/dist/atheletebridge/pages/common/NotificationCenterPage.js +0 -674
  110. package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +0 -1
  111. package/dist/atheletebridge/pages/common/SettingsPage.js +0 -972
  112. package/dist/atheletebridge/pages/common/SettingsPage.js.map +0 -1
  113. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +0 -602
  114. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +0 -1
  115. package/dist/atheletebridge/pages/customer/CartDetailPage.js +0 -656
  116. package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +0 -1
  117. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +0 -558
  118. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +0 -1
  119. package/dist/atheletebridge/pages/customer/CheckoutPage.js +0 -536
  120. package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +0 -1
  121. package/dist/atheletebridge/pages/customer/CustomerDashboard.js +0 -539
  122. package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +0 -1
  123. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +0 -657
  124. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +0 -1
  125. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +0 -635
  126. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +0 -1
  127. package/dist/atheletebridge/pages/customer/FavoritesPage.js +0 -486
  128. package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +0 -1
  129. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +0 -447
  130. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +0 -1
  131. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +0 -393
  132. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +0 -1
  133. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +0 -494
  134. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +0 -1
  135. package/dist/atheletebridge/pages/customer/ReviewsPage.js +0 -615
  136. package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +0 -1
  137. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +0 -451
  138. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +0 -1
  139. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +0 -881
  140. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +0 -1
  141. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +0 -945
  142. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +0 -1
  143. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +0 -686
  144. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +0 -1
  145. package/dist/atheletebridge/pages/investor/InvestorDashboard.js +0 -453
  146. package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +0 -1
  147. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +0 -405
  148. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +0 -1
  149. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +0 -577
  150. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +0 -1
  151. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +0 -1069
  152. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +0 -1
  153. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +0 -530
  154. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +0 -1
  155. package/dist/atheletebridge/pages/worker/WorkerDashboard.js +0 -669
  156. package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +0 -1
  157. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +0 -681
  158. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +0 -1
  159. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +0 -691
  160. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +0 -1
  161. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +0 -588
  162. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +0 -1
@@ -1,704 +0,0 @@
1
- import { useAthleteBridge as e } from "../../context/AthleteBridgeContext.js";
2
- import { cn as t } from "../../utils/cn.js";
3
- import { PageLayout as n } from "../../components/PageLayout.js";
4
- import { useState as r } from "react";
5
- import { AlertCircle as i, Bell as a, CheckCircle2 as o, Clock as s, Link2 as c, MapPin as l, Phone as u, Save as d, Shield as f, Store as p } from "lucide-react";
6
- import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
7
- import { EmphasisPanel as _, PagePurpose as v } from "@burdenoff/fe-libs/ui";
8
- //#region src/atheletebridge/pages/cart-owner/BusinessSettingsPage.tsx
9
- var y = [
10
- {
11
- id: "general",
12
- label: "General",
13
- icon: p
14
- },
15
- {
16
- id: "contact",
17
- label: "Contact",
18
- icon: u
19
- },
20
- {
21
- id: "location",
22
- label: "Location",
23
- icon: l
24
- },
25
- {
26
- id: "operating",
27
- label: "Operating",
28
- icon: s
29
- },
30
- {
31
- id: "policies",
32
- label: "Policies",
33
- icon: f
34
- },
35
- {
36
- id: "notifications",
37
- label: "Notifications",
38
- icon: a
39
- },
40
- {
41
- id: "integration",
42
- label: "Integrations",
43
- icon: c
44
- }
45
- ], b = [
46
- "Food & Beverage",
47
- "Personal Care & Beauty",
48
- "Repair & Maintenance",
49
- "Home Services",
50
- "Clothing & Fashion",
51
- "Health & Wellness",
52
- "Education & Skills",
53
- "Retail & Merchandise",
54
- "Grocery & Essentials"
55
- ], x = ({ label: e, value: t, onChange: n, type: r = "text", options: i, placeholder: a, hint: o, rows: s = 3 }) => {
56
- let c = e.toLowerCase().replace(/\s+/g, "-");
57
- return /* @__PURE__ */ g("div", { children: [
58
- /* @__PURE__ */ h("label", {
59
- htmlFor: c,
60
- className: "block text-sm font-medium text-text-primary mb-1.5",
61
- children: e
62
- }),
63
- r === "textarea" ? /* @__PURE__ */ h("textarea", {
64
- id: c,
65
- value: t,
66
- onChange: (e) => n(e.target.value),
67
- rows: s,
68
- placeholder: a,
69
- className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] resize-none"
70
- }) : r === "select" ? /* @__PURE__ */ h("select", {
71
- id: c,
72
- value: t,
73
- onChange: (e) => n(e.target.value),
74
- className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
75
- children: i?.map((e) => /* @__PURE__ */ h("option", {
76
- value: e,
77
- children: e
78
- }, e))
79
- }) : /* @__PURE__ */ h("input", {
80
- id: c,
81
- type: r,
82
- value: t,
83
- onChange: (e) => n(e.target.value),
84
- placeholder: a,
85
- className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
86
- }),
87
- o && /* @__PURE__ */ h("p", {
88
- className: "mt-1 text-xs text-text-secondary",
89
- children: o
90
- })
91
- ] });
92
- }, S = ({ label: e, description: n, checked: r, onChange: i }) => /* @__PURE__ */ g("div", {
93
- className: "flex items-center justify-between py-3",
94
- children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
95
- className: "text-sm font-medium text-text-primary",
96
- children: e
97
- }), n && /* @__PURE__ */ h("p", {
98
- className: "text-xs text-text-secondary mt-0.5",
99
- children: n
100
- })] }), /* @__PURE__ */ h("button", {
101
- type: "button",
102
- onClick: () => i(!r),
103
- className: t("h-6 w-11 rounded-full transition-colors relative", r ? "bg-blue-500" : "bg-muted-foreground/30"),
104
- children: /* @__PURE__ */ h("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", r ? "translate-x-5" : "translate-x-0.5") })
105
- })]
106
- }), C = () => {
107
- let { navigateTo: a } = e(), [s, c] = r("general"), [l, u] = r(!1), [f, p] = r(!1), [C, w] = r({
108
- businessName: "Dosa Express",
109
- description: "Authentic South Indian street food with a modern twist. Serving crispy dosas, filter coffee, and more since 2020.",
110
- category: "Food & Beverage",
111
- gstNumber: "29ABCDE1234F1Z5",
112
- panNumber: "ABCDE1234F",
113
- fssaiLicense: "12345678",
114
- establishedYear: "2020"
115
- }), [T, E] = r({
116
- phone: "+91-9876543210",
117
- email: "ravi@dosaexpress.in",
118
- website: "https://dosaexpress.in",
119
- whatsapp: "+91-9876543210",
120
- instagram: "@dosaexpress",
121
- twitter: "@dosaexpress",
122
- facebook: "dosaexpress"
123
- }), [D, O] = r({
124
- address: "Koramangala 5th Block",
125
- city: "Bangalore",
126
- state: "Karnataka",
127
- pincode: "560034",
128
- latitude: "12.9352",
129
- longitude: "77.6245",
130
- deliveryRadius: 5,
131
- deliveryCharge: 30,
132
- freeDeliveryAbove: 300
133
- }), [k, A] = r({
134
- autoAcceptOrders: !0,
135
- preparationTime: 15,
136
- maxConcurrentOrders: 10,
137
- advanceBookingDays: 3
138
- }), [j, M] = r({
139
- returnPolicy: "Items can be returned within 30 minutes of delivery if there are quality issues. Refund will be processed within 2-3 business days.",
140
- cancellationPolicy: "Orders can be cancelled within 2 minutes of placing. After preparation starts, cancellation is not allowed.",
141
- privacyPolicy: "We collect and process your data in accordance with applicable privacy laws. Your data is never shared with third parties without consent.",
142
- termsOfService: "By using our services, you agree to our terms. All prices are inclusive of taxes unless stated otherwise."
143
- }), [N, P] = r({
144
- newOrderEmail: !0,
145
- newOrderSms: !0,
146
- newOrderPush: !0,
147
- orderUpdateEmail: !0,
148
- orderUpdatePush: !0,
149
- dailySummaryEmail: !0,
150
- weeklySummaryEmail: !1,
151
- lowStockAlert: !0,
152
- reviewNotification: !0,
153
- marketingEmails: !1
154
- }), [F, I] = r({
155
- paymentGateway: "razorpay",
156
- paymentGatewayKey: "rzp_live_xxxxxxxx",
157
- smsProvider: "twilio",
158
- smsApiKey: "",
159
- analyticsId: ""
160
- }), L = () => {
161
- u(!0), setTimeout(() => {
162
- u(!1), p(!0), setTimeout(() => p(!1), 3e3);
163
- }, 1e3);
164
- }, R = (e) => (t) => w((n) => ({
165
- ...n,
166
- [e]: t
167
- })), z = (e) => (t) => E((n) => ({
168
- ...n,
169
- [e]: t
170
- })), B = (e) => (t) => O((n) => ({
171
- ...n,
172
- [e]: e === "deliveryRadius" || e === "deliveryCharge" || e === "freeDeliveryAbove" ? parseInt(t) || 0 : t
173
- })), V = (e) => (t) => M((n) => ({
174
- ...n,
175
- [e]: t
176
- })), H = (e) => (t) => P((n) => ({
177
- ...n,
178
- [e]: t
179
- })), U = (e) => (t) => I((n) => ({
180
- ...n,
181
- [e]: t
182
- }));
183
- return y.find((e) => e.id === s)?.icon, /* @__PURE__ */ g(n, {
184
- title: "Business Settings",
185
- description: "Manage your business profile and configuration",
186
- actions: /* @__PURE__ */ h("button", {
187
- type: "button",
188
- onClick: L,
189
- disabled: l,
190
- className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors", f ? "bg-green-500/10 text-green-600 dark:text-green-400" : l ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
191
- children: l ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), "Saving..."] }) : f ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(o, { className: "h-4 w-4" }), "Saved!"] }) : /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(d, { className: "h-4 w-4" }), "Save Settings"] })
192
- }),
193
- children: [/* @__PURE__ */ h(v, {
194
- className: "mb-6",
195
- children: "Everything that defines your business on the platform. Update your profile, contact details, operating preferences and policies, then save. Keeping these accurate builds trust with customers and keeps your listing looking professional."
196
- }), /* @__PURE__ */ g("div", {
197
- className: "flex flex-col lg:flex-row gap-6",
198
- children: [
199
- /* @__PURE__ */ h("div", {
200
- className: "lg:hidden",
201
- children: /* @__PURE__ */ h("div", {
202
- className: "rounded-lg border border-border-subtle bg-bg-surface p-3 shadow-sm",
203
- children: /* @__PURE__ */ h("div", {
204
- className: "grid grid-cols-4 gap-2",
205
- children: y.map((e) => {
206
- let n = e.icon;
207
- return /* @__PURE__ */ g("button", {
208
- type: "button",
209
- onClick: () => c(e.id),
210
- className: t("flex flex-col items-center gap-1 rounded-md px-2 py-2 text-xs font-medium transition-colors", s === e.id ? "bg-accent text-text-primary" : "text-text-secondary hover:bg-bg-sunken"),
211
- children: [/* @__PURE__ */ h(n, { className: "h-4 w-4" }), /* @__PURE__ */ h("span", {
212
- className: "hidden sm:inline",
213
- children: e.label
214
- })]
215
- }, e.id);
216
- })
217
- })
218
- })
219
- }),
220
- /* @__PURE__ */ h("div", {
221
- className: "hidden lg:block lg:w-56 shrink-0",
222
- children: /* @__PURE__ */ g(_, {
223
- className: "sticky top-24 p-0 overflow-hidden",
224
- children: [/* @__PURE__ */ h("div", {
225
- className: "p-4 border-b border-border-subtle",
226
- children: /* @__PURE__ */ h("h2", {
227
- className: "font-semibold text-text-primary text-sm",
228
- children: "Settings"
229
- })
230
- }), /* @__PURE__ */ h("nav", {
231
- className: "p-2",
232
- children: y.map((e) => {
233
- let n = e.icon;
234
- return /* @__PURE__ */ g("button", {
235
- type: "button",
236
- onClick: () => c(e.id),
237
- className: t("w-full text-left px-3 py-2 rounded-md mb-1 flex items-center gap-3 text-sm transition-colors", s === e.id ? "bg-accent text-text-primary font-medium" : "text-text-secondary hover:bg-bg-sunken hover:text-text-primary"),
238
- children: [/* @__PURE__ */ h(n, { className: "h-4 w-4" }), e.label]
239
- }, e.id);
240
- })
241
- })]
242
- })
243
- }),
244
- /* @__PURE__ */ h("div", {
245
- className: "flex-1 min-w-0",
246
- children: /* @__PURE__ */ g("div", {
247
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5 sm:p-6 shadow-sm",
248
- children: [
249
- s === "general" && /* @__PURE__ */ g("div", {
250
- className: "space-y-5",
251
- children: [
252
- /* @__PURE__ */ h(x, {
253
- label: "Business Name",
254
- value: C.businessName,
255
- onChange: R("businessName")
256
- }),
257
- /* @__PURE__ */ h(x, {
258
- label: "Description",
259
- value: C.description,
260
- onChange: R("description"),
261
- type: "textarea"
262
- }),
263
- /* @__PURE__ */ g("div", {
264
- className: "grid grid-cols-1 sm:grid-cols-2 gap-5",
265
- children: [/* @__PURE__ */ h(x, {
266
- label: "Category",
267
- value: C.category,
268
- onChange: R("category"),
269
- type: "select",
270
- options: b
271
- }), /* @__PURE__ */ h(x, {
272
- label: "Established Year",
273
- value: C.establishedYear,
274
- onChange: R("establishedYear")
275
- })]
276
- }),
277
- /* @__PURE__ */ g("div", {
278
- className: "flex items-start gap-3 rounded-md bg-blue-500/5 border border-blue-500/20 p-3",
279
- children: [/* @__PURE__ */ h(i, { className: "h-4 w-4 text-blue-600 dark:text-blue-400 shrink-0 mt-0.5" }), /* @__PURE__ */ h("p", {
280
- className: "text-xs text-blue-600 dark:text-blue-400",
281
- children: "GST, PAN, and FSSAI details are used for invoicing and compliance. Changes require verification."
282
- })]
283
- }),
284
- /* @__PURE__ */ g("div", {
285
- className: "grid grid-cols-1 sm:grid-cols-3 gap-5",
286
- children: [
287
- /* @__PURE__ */ h(x, {
288
- label: "GST Number",
289
- value: C.gstNumber,
290
- onChange: R("gstNumber"),
291
- hint: "15-digit GST ID"
292
- }),
293
- /* @__PURE__ */ h(x, {
294
- label: "PAN Number",
295
- value: C.panNumber,
296
- onChange: R("panNumber"),
297
- hint: "10-digit PAN"
298
- }),
299
- /* @__PURE__ */ h(x, {
300
- label: "FSSAI License",
301
- value: C.fssaiLicense,
302
- onChange: R("fssaiLicense"),
303
- hint: "FSSAI license number"
304
- })
305
- ]
306
- })
307
- ]
308
- }),
309
- s === "contact" && /* @__PURE__ */ g("div", {
310
- className: "space-y-5",
311
- children: [
312
- /* @__PURE__ */ g("div", {
313
- className: "grid grid-cols-1 sm:grid-cols-2 gap-5",
314
- children: [/* @__PURE__ */ h(x, {
315
- label: "Phone",
316
- value: T.phone,
317
- onChange: z("phone"),
318
- type: "tel"
319
- }), /* @__PURE__ */ h(x, {
320
- label: "Email",
321
- value: T.email,
322
- onChange: z("email"),
323
- type: "email"
324
- })]
325
- }),
326
- /* @__PURE__ */ g("div", {
327
- className: "grid grid-cols-1 sm:grid-cols-2 gap-5",
328
- children: [/* @__PURE__ */ h(x, {
329
- label: "Website",
330
- value: T.website,
331
- onChange: z("website"),
332
- type: "url",
333
- placeholder: "https://"
334
- }), /* @__PURE__ */ h(x, {
335
- label: "WhatsApp",
336
- value: T.whatsapp,
337
- onChange: z("whatsapp"),
338
- type: "tel"
339
- })]
340
- }),
341
- /* @__PURE__ */ h("h3", {
342
- className: "text-sm font-semibold text-text-primary pt-2",
343
- children: "Social Media"
344
- }),
345
- /* @__PURE__ */ g("div", {
346
- className: "grid grid-cols-1 sm:grid-cols-3 gap-5",
347
- children: [
348
- /* @__PURE__ */ h(x, {
349
- label: "Instagram",
350
- value: T.instagram,
351
- onChange: z("instagram"),
352
- placeholder: "@handle"
353
- }),
354
- /* @__PURE__ */ h(x, {
355
- label: "Twitter / X",
356
- value: T.twitter,
357
- onChange: z("twitter"),
358
- placeholder: "@handle"
359
- }),
360
- /* @__PURE__ */ h(x, {
361
- label: "Facebook",
362
- value: T.facebook,
363
- onChange: z("facebook"),
364
- placeholder: "Page name"
365
- })
366
- ]
367
- })
368
- ]
369
- }),
370
- s === "location" && /* @__PURE__ */ g("div", {
371
- className: "space-y-5",
372
- children: [
373
- /* @__PURE__ */ h(x, {
374
- label: "Address",
375
- value: D.address,
376
- onChange: B("address"),
377
- type: "textarea",
378
- rows: 2
379
- }),
380
- /* @__PURE__ */ g("div", {
381
- className: "grid grid-cols-1 sm:grid-cols-3 gap-5",
382
- children: [
383
- /* @__PURE__ */ h(x, {
384
- label: "City",
385
- value: D.city,
386
- onChange: B("city")
387
- }),
388
- /* @__PURE__ */ h(x, {
389
- label: "State",
390
- value: D.state,
391
- onChange: B("state")
392
- }),
393
- /* @__PURE__ */ h(x, {
394
- label: "Pincode",
395
- value: D.pincode,
396
- onChange: B("pincode")
397
- })
398
- ]
399
- }),
400
- /* @__PURE__ */ g("div", {
401
- className: "grid grid-cols-1 sm:grid-cols-2 gap-5",
402
- children: [/* @__PURE__ */ h(x, {
403
- label: "Latitude",
404
- value: D.latitude,
405
- onChange: B("latitude"),
406
- hint: "e.g., 12.9352"
407
- }), /* @__PURE__ */ h(x, {
408
- label: "Longitude",
409
- value: D.longitude,
410
- onChange: B("longitude"),
411
- hint: "e.g., 77.6245"
412
- })]
413
- }),
414
- /* @__PURE__ */ h("h3", {
415
- className: "text-sm font-semibold text-text-primary pt-2",
416
- children: "Delivery Settings"
417
- }),
418
- /* @__PURE__ */ g("div", {
419
- className: "grid grid-cols-1 sm:grid-cols-3 gap-5",
420
- children: [
421
- /* @__PURE__ */ h(x, {
422
- label: "Delivery Radius (km)",
423
- value: D.deliveryRadius,
424
- onChange: B("deliveryRadius"),
425
- type: "number"
426
- }),
427
- /* @__PURE__ */ h(x, {
428
- label: "Delivery Charge (₹)",
429
- value: D.deliveryCharge,
430
- onChange: B("deliveryCharge"),
431
- type: "number"
432
- }),
433
- /* @__PURE__ */ h(x, {
434
- label: "Free Delivery Above (₹)",
435
- value: D.freeDeliveryAbove,
436
- onChange: B("freeDeliveryAbove"),
437
- type: "number"
438
- })
439
- ]
440
- })
441
- ]
442
- }),
443
- s === "operating" && /* @__PURE__ */ g("div", {
444
- className: "space-y-5",
445
- children: [/* @__PURE__ */ h(S, {
446
- label: "Auto-Accept Orders",
447
- description: "Automatically accept incoming orders without manual confirmation",
448
- checked: k.autoAcceptOrders,
449
- onChange: (e) => A((t) => ({
450
- ...t,
451
- autoAcceptOrders: e
452
- }))
453
- }), /* @__PURE__ */ g("div", {
454
- className: "grid grid-cols-1 sm:grid-cols-3 gap-5",
455
- children: [
456
- /* @__PURE__ */ h(x, {
457
- label: "Default Preparation Time (min)",
458
- value: k.preparationTime,
459
- onChange: (e) => A((t) => ({
460
- ...t,
461
- preparationTime: parseInt(e) || 0
462
- })),
463
- type: "number"
464
- }),
465
- /* @__PURE__ */ h(x, {
466
- label: "Max Concurrent Orders",
467
- value: k.maxConcurrentOrders,
468
- onChange: (e) => A((t) => ({
469
- ...t,
470
- maxConcurrentOrders: parseInt(e) || 0
471
- })),
472
- type: "number"
473
- }),
474
- /* @__PURE__ */ h(x, {
475
- label: "Advance Booking (days)",
476
- value: k.advanceBookingDays,
477
- onChange: (e) => A((t) => ({
478
- ...t,
479
- advanceBookingDays: parseInt(e) || 0
480
- })),
481
- type: "number"
482
- })
483
- ]
484
- })]
485
- }),
486
- s === "policies" && /* @__PURE__ */ g("div", {
487
- className: "space-y-5",
488
- children: [
489
- /* @__PURE__ */ h(x, {
490
- label: "Return Policy",
491
- value: j.returnPolicy,
492
- onChange: V("returnPolicy"),
493
- type: "textarea",
494
- rows: 4
495
- }),
496
- /* @__PURE__ */ h(x, {
497
- label: "Cancellation Policy",
498
- value: j.cancellationPolicy,
499
- onChange: V("cancellationPolicy"),
500
- type: "textarea",
501
- rows: 4
502
- }),
503
- /* @__PURE__ */ h(x, {
504
- label: "Privacy Policy",
505
- value: j.privacyPolicy,
506
- onChange: V("privacyPolicy"),
507
- type: "textarea",
508
- rows: 4
509
- }),
510
- /* @__PURE__ */ h(x, {
511
- label: "Terms of Service",
512
- value: j.termsOfService,
513
- onChange: V("termsOfService"),
514
- type: "textarea",
515
- rows: 4
516
- })
517
- ]
518
- }),
519
- s === "notifications" && /* @__PURE__ */ g("div", {
520
- className: "space-y-1 divide-y divide-border",
521
- children: [
522
- /* @__PURE__ */ h("h3", {
523
- className: "text-sm font-semibold text-text-primary pb-2",
524
- children: "New Orders"
525
- }),
526
- /* @__PURE__ */ h(S, {
527
- label: "Email Notification",
528
- description: "Receive email for new orders",
529
- checked: N.newOrderEmail,
530
- onChange: H("newOrderEmail")
531
- }),
532
- /* @__PURE__ */ h(S, {
533
- label: "SMS Notification",
534
- description: "Receive SMS for new orders",
535
- checked: N.newOrderSms,
536
- onChange: H("newOrderSms")
537
- }),
538
- /* @__PURE__ */ h(S, {
539
- label: "Push Notification",
540
- description: "Receive push notifications for new orders",
541
- checked: N.newOrderPush,
542
- onChange: H("newOrderPush")
543
- }),
544
- /* @__PURE__ */ h("h3", {
545
- className: "text-sm font-semibold text-text-primary pt-4 pb-2",
546
- children: "Order Updates"
547
- }),
548
- /* @__PURE__ */ h(S, {
549
- label: "Email Updates",
550
- description: "Get email when order status changes",
551
- checked: N.orderUpdateEmail,
552
- onChange: H("orderUpdateEmail")
553
- }),
554
- /* @__PURE__ */ h(S, {
555
- label: "Push Updates",
556
- description: "Get push notifications for order updates",
557
- checked: N.orderUpdatePush,
558
- onChange: H("orderUpdatePush")
559
- }),
560
- /* @__PURE__ */ h("h3", {
561
- className: "text-sm font-semibold text-text-primary pt-4 pb-2",
562
- children: "Reports & Alerts"
563
- }),
564
- /* @__PURE__ */ h(S, {
565
- label: "Daily Summary",
566
- description: "Receive daily business summary email",
567
- checked: N.dailySummaryEmail,
568
- onChange: H("dailySummaryEmail")
569
- }),
570
- /* @__PURE__ */ h(S, {
571
- label: "Weekly Summary",
572
- description: "Receive weekly performance report",
573
- checked: N.weeklySummaryEmail,
574
- onChange: H("weeklySummaryEmail")
575
- }),
576
- /* @__PURE__ */ h(S, {
577
- label: "Low Stock Alert",
578
- description: "Get alerted when items are low on stock",
579
- checked: N.lowStockAlert,
580
- onChange: H("lowStockAlert")
581
- }),
582
- /* @__PURE__ */ h(S, {
583
- label: "Review Notifications",
584
- description: "Get notified for new customer reviews",
585
- checked: N.reviewNotification,
586
- onChange: H("reviewNotification")
587
- }),
588
- /* @__PURE__ */ h(S, {
589
- label: "Marketing Emails",
590
- description: "Receive tips and promotional content",
591
- checked: N.marketingEmails,
592
- onChange: H("marketingEmails")
593
- })
594
- ]
595
- }),
596
- s === "integration" && /* @__PURE__ */ g("div", {
597
- className: "space-y-5",
598
- children: [
599
- /* @__PURE__ */ h("h3", {
600
- className: "text-sm font-semibold text-text-primary",
601
- children: "Payment Gateway"
602
- }),
603
- /* @__PURE__ */ g("div", {
604
- className: "grid grid-cols-1 sm:grid-cols-2 gap-5",
605
- children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("label", {
606
- className: "block text-sm font-medium text-text-primary mb-1.5",
607
- children: "Provider"
608
- }), /* @__PURE__ */ g("select", {
609
- value: F.paymentGateway,
610
- onChange: (e) => U("paymentGateway")(e.target.value),
611
- className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
612
- children: [
613
- /* @__PURE__ */ h("option", {
614
- value: "razorpay",
615
- children: "Razorpay"
616
- }),
617
- /* @__PURE__ */ h("option", {
618
- value: "paytm",
619
- children: "Paytm"
620
- }),
621
- /* @__PURE__ */ h("option", {
622
- value: "stripe",
623
- children: "Stripe"
624
- }),
625
- /* @__PURE__ */ h("option", {
626
- value: "phonepe",
627
- children: "PhonePe"
628
- })
629
- ]
630
- })] }), /* @__PURE__ */ h(x, {
631
- label: "API Key",
632
- value: F.paymentGatewayKey,
633
- onChange: U("paymentGatewayKey"),
634
- placeholder: "Enter API key",
635
- hint: "Keep this secret"
636
- })]
637
- }),
638
- /* @__PURE__ */ h("h3", {
639
- className: "text-sm font-semibold text-text-primary pt-2",
640
- children: "SMS Provider"
641
- }),
642
- /* @__PURE__ */ g("div", {
643
- className: "grid grid-cols-1 sm:grid-cols-2 gap-5",
644
- children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("label", {
645
- className: "block text-sm font-medium text-text-primary mb-1.5",
646
- children: "Provider"
647
- }), /* @__PURE__ */ g("select", {
648
- value: F.smsProvider,
649
- onChange: (e) => U("smsProvider")(e.target.value),
650
- className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
651
- children: [
652
- /* @__PURE__ */ h("option", {
653
- value: "twilio",
654
- children: "Twilio"
655
- }),
656
- /* @__PURE__ */ h("option", {
657
- value: "msg91",
658
- children: "MSG91"
659
- }),
660
- /* @__PURE__ */ h("option", {
661
- value: "textlocal",
662
- children: "Textlocal"
663
- })
664
- ]
665
- })] }), /* @__PURE__ */ h(x, {
666
- label: "SMS API Key",
667
- value: F.smsApiKey,
668
- onChange: U("smsApiKey"),
669
- placeholder: "Enter SMS API key"
670
- })]
671
- }),
672
- /* @__PURE__ */ h("h3", {
673
- className: "text-sm font-semibold text-text-primary pt-2",
674
- children: "Analytics"
675
- }),
676
- /* @__PURE__ */ h(x, {
677
- label: "Google Analytics ID",
678
- value: F.analyticsId,
679
- onChange: U("analyticsId"),
680
- placeholder: "GA-XXXXXXXXX"
681
- })
682
- ]
683
- }),
684
- /* @__PURE__ */ h("div", {
685
- className: "flex justify-end mt-8 pt-6 border-t border-border-subtle",
686
- children: /* @__PURE__ */ h("button", {
687
- type: "button",
688
- onClick: L,
689
- disabled: l,
690
- className: t("inline-flex items-center gap-2 rounded-md px-6 py-2 text-sm font-medium transition-colors", f ? "bg-green-500/10 text-green-600 dark:text-green-400" : l ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
691
- children: l ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), "Saving..."] }) : f ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(o, { className: "h-4 w-4" }), "Saved!"] }) : /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(d, { className: "h-4 w-4" }), "Save Settings"] })
692
- })
693
- })
694
- ]
695
- })
696
- })
697
- ]
698
- })]
699
- });
700
- };
701
- //#endregion
702
- export { C as BusinessSettingsPage };
703
-
704
- //# sourceMappingURL=BusinessSettingsPage.js.map