@burdenoff/microfe-adaptercloud 2026.614.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +12 -0
  2. package/dist/adaptercloud/AdapterCloudRoot.js +177 -0
  3. package/dist/adaptercloud/AdapterCloudRoot.js.map +1 -0
  4. package/dist/adaptercloud/AdapterCloudRoutes.js +215 -0
  5. package/dist/adaptercloud/AdapterCloudRoutes.js.map +1 -0
  6. package/dist/adaptercloud/components/EmptyState.js +28 -0
  7. package/dist/adaptercloud/components/EmptyState.js.map +1 -0
  8. package/dist/adaptercloud/components/InvestmentCard.js +96 -0
  9. package/dist/adaptercloud/components/InvestmentCard.js.map +1 -0
  10. package/dist/adaptercloud/components/MetricsCard.js +46 -0
  11. package/dist/adaptercloud/components/MetricsCard.js.map +1 -0
  12. package/dist/adaptercloud/components/PageLayout.js +26 -0
  13. package/dist/adaptercloud/components/PageLayout.js.map +1 -0
  14. package/dist/adaptercloud/components/RatingDisplay.js +35 -0
  15. package/dist/adaptercloud/components/RatingDisplay.js.map +1 -0
  16. package/dist/adaptercloud/components/StatusBadge.js +45 -0
  17. package/dist/adaptercloud/components/StatusBadge.js.map +1 -0
  18. package/dist/adaptercloud/context/AdapterCloudContext.js +93 -0
  19. package/dist/adaptercloud/context/AdapterCloudContext.js.map +1 -0
  20. package/dist/adaptercloud/context/index.js +1 -0
  21. package/dist/adaptercloud/hooks/useAdapterCloudApi.js +223 -0
  22. package/dist/adaptercloud/hooks/useAdapterCloudApi.js.map +1 -0
  23. package/dist/adaptercloud/index.js +7 -0
  24. package/dist/adaptercloud/mocks/data.js +1517 -0
  25. package/dist/adaptercloud/mocks/data.js.map +1 -0
  26. package/dist/adaptercloud/mocks/users.js +34 -0
  27. package/dist/adaptercloud/mocks/users.js.map +1 -0
  28. package/dist/adaptercloud/pages/HomePage.js +921 -0
  29. package/dist/adaptercloud/pages/HomePage.js.map +1 -0
  30. package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js +645 -0
  31. package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js.map +1 -0
  32. package/dist/adaptercloud/pages/admin/AdminDashboard.js +639 -0
  33. package/dist/adaptercloud/pages/admin/AdminDashboard.js.map +1 -0
  34. package/dist/adaptercloud/pages/admin/AdminFinancialPage.js +421 -0
  35. package/dist/adaptercloud/pages/admin/AdminFinancialPage.js.map +1 -0
  36. package/dist/adaptercloud/pages/admin/AdminOrdersPage.js +660 -0
  37. package/dist/adaptercloud/pages/admin/AdminOrdersPage.js.map +1 -0
  38. package/dist/adaptercloud/pages/admin/AdminProfilePage.js +259 -0
  39. package/dist/adaptercloud/pages/admin/AdminProfilePage.js.map +1 -0
  40. package/dist/adaptercloud/pages/admin/AdminSettingsPage.js +649 -0
  41. package/dist/adaptercloud/pages/admin/AdminSettingsPage.js.map +1 -0
  42. package/dist/adaptercloud/pages/admin/CartManagementPage.js +869 -0
  43. package/dist/adaptercloud/pages/admin/CartManagementPage.js.map +1 -0
  44. package/dist/adaptercloud/pages/admin/UserManagementPage.js +893 -0
  45. package/dist/adaptercloud/pages/admin/UserManagementPage.js.map +1 -0
  46. package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js +834 -0
  47. package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js.map +1 -0
  48. package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js +700 -0
  49. package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js.map +1 -0
  50. package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js +760 -0
  51. package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js.map +1 -0
  52. package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js +886 -0
  53. package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js.map +1 -0
  54. package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js +631 -0
  55. package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js.map +1 -0
  56. package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js +913 -0
  57. package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js.map +1 -0
  58. package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js +881 -0
  59. package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js.map +1 -0
  60. package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js +833 -0
  61. package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js.map +1 -0
  62. package/dist/adaptercloud/pages/common/HelpSupportPage.js +1325 -0
  63. package/dist/adaptercloud/pages/common/HelpSupportPage.js.map +1 -0
  64. package/dist/adaptercloud/pages/common/NotificationCenterPage.js +665 -0
  65. package/dist/adaptercloud/pages/common/NotificationCenterPage.js.map +1 -0
  66. package/dist/adaptercloud/pages/common/SettingsPage.js +964 -0
  67. package/dist/adaptercloud/pages/common/SettingsPage.js.map +1 -0
  68. package/dist/adaptercloud/pages/customer/BookingDetailsPage.js +593 -0
  69. package/dist/adaptercloud/pages/customer/BookingDetailsPage.js.map +1 -0
  70. package/dist/adaptercloud/pages/customer/CartDetailPage.js +620 -0
  71. package/dist/adaptercloud/pages/customer/CartDetailPage.js.map +1 -0
  72. package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js +547 -0
  73. package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js.map +1 -0
  74. package/dist/adaptercloud/pages/customer/CheckoutPage.js +532 -0
  75. package/dist/adaptercloud/pages/customer/CheckoutPage.js.map +1 -0
  76. package/dist/adaptercloud/pages/customer/CustomerDashboard.js +496 -0
  77. package/dist/adaptercloud/pages/customer/CustomerDashboard.js.map +1 -0
  78. package/dist/adaptercloud/pages/customer/CustomerProfilePage.js +621 -0
  79. package/dist/adaptercloud/pages/customer/CustomerProfilePage.js.map +1 -0
  80. package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js +623 -0
  81. package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js.map +1 -0
  82. package/dist/adaptercloud/pages/customer/FavoritesPage.js +477 -0
  83. package/dist/adaptercloud/pages/customer/FavoritesPage.js.map +1 -0
  84. package/dist/adaptercloud/pages/customer/OrderHistoryPage.js +438 -0
  85. package/dist/adaptercloud/pages/customer/OrderHistoryPage.js.map +1 -0
  86. package/dist/adaptercloud/pages/customer/OrderTrackingPage.js +388 -0
  87. package/dist/adaptercloud/pages/customer/OrderTrackingPage.js.map +1 -0
  88. package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js +488 -0
  89. package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js.map +1 -0
  90. package/dist/adaptercloud/pages/customer/ReviewsPage.js +606 -0
  91. package/dist/adaptercloud/pages/customer/ReviewsPage.js.map +1 -0
  92. package/dist/adaptercloud/pages/customer/SavedAddressesPage.js +443 -0
  93. package/dist/adaptercloud/pages/customer/SavedAddressesPage.js.map +1 -0
  94. package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js +849 -0
  95. package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js.map +1 -0
  96. package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js +939 -0
  97. package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js.map +1 -0
  98. package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js +681 -0
  99. package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js.map +1 -0
  100. package/dist/adaptercloud/pages/investor/InvestorDashboard.js +419 -0
  101. package/dist/adaptercloud/pages/investor/InvestorDashboard.js.map +1 -0
  102. package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js +399 -0
  103. package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js.map +1 -0
  104. package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js +569 -0
  105. package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js.map +1 -0
  106. package/dist/adaptercloud/pages/investor/InvestorProfilePage.js +1065 -0
  107. package/dist/adaptercloud/pages/investor/InvestorProfilePage.js.map +1 -0
  108. package/dist/adaptercloud/pages/worker/TaskDetailsPage.js +496 -0
  109. package/dist/adaptercloud/pages/worker/TaskDetailsPage.js.map +1 -0
  110. package/dist/adaptercloud/pages/worker/WorkerDashboard.js +634 -0
  111. package/dist/adaptercloud/pages/worker/WorkerDashboard.js.map +1 -0
  112. package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js +675 -0
  113. package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js.map +1 -0
  114. package/dist/adaptercloud/pages/worker/WorkerProfilePage.js +687 -0
  115. package/dist/adaptercloud/pages/worker/WorkerProfilePage.js.map +1 -0
  116. package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js +578 -0
  117. package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js.map +1 -0
  118. package/dist/adaptercloud/store/adaptercloudStore.js +38 -0
  119. package/dist/adaptercloud/store/adaptercloudStore.js.map +1 -0
  120. package/dist/adaptercloud/store/index.js +1 -0
  121. package/dist/adaptercloud/utils/cn.js +10 -0
  122. package/dist/adaptercloud/utils/cn.js.map +1 -0
  123. package/dist/adaptercloud/utils/formatters.js +51 -0
  124. package/dist/adaptercloud/utils/formatters.js.map +1 -0
  125. package/dist/adaptercloud/utils/navigation.js +9 -0
  126. package/dist/adaptercloud/utils/navigation.js.map +1 -0
  127. package/dist/index.js +7 -0
  128. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +18 -0
  129. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -0
  130. package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
  131. package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  132. package/package.json +106 -0
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # microfe-adaptercloud
2
+
3
+ Part of the [Burdenoff](https://burdenoff.com) platform by
4
+ [AlgoShred](https://github.com/algoshred).
5
+
6
+ ## Getting Started
7
+
8
+ See `AGENTS.md` for development commands and architecture details.
9
+
10
+ ## License
11
+
12
+ Proprietary — Copyright Burdenoff Consultancy Services Pvt. Ltd.
@@ -0,0 +1,177 @@
1
+ import { AdapterCloudProvider as e } from "./context/AdapterCloudContext.js";
2
+ import { AdapterCloudRoutes as t } from "./AdapterCloudRoutes.js";
3
+ import { useCallback as n, useEffect as r } from "react";
4
+ import { QueryClient as i, QueryClientProvider as a } from "@tanstack/react-query";
5
+ import { useI18n as o } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
+ import { BarChart3 as s, ClipboardList as c, FileText as l, Heart as u, Home as d, LineChart as f, Package as p, PieChart as m, Search as h, Settings as g, ShoppingBag as _, ShoppingCart as v, Store as y, TrendingUp as b, Users as x, Wallet as S } from "lucide-react";
7
+ import { jsx as C } from "react/jsx-runtime";
8
+ import { FeatureFlagProvider as w } from "@burdenoff/fe-libs/shared/feature-flags";
9
+ //#region src/adaptercloud/AdapterCloudRoot.tsx
10
+ var T = new i({ defaultOptions: { queries: {
11
+ staleTime: 300 * 1e3,
12
+ retry: 1
13
+ } } }), E = (i) => {
14
+ let { registerNavItems: E, registerFooterItems: D, basePath: O = "/" } = i, { t: k } = o(), A = n((e, t) => {
15
+ let n = k(e);
16
+ return n === e ? t : n;
17
+ }, [k]), j = (e, t) => (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
18
+ return r(() => {
19
+ if (E) return E([
20
+ {
21
+ id: "adaptercloud-home",
22
+ label: A("adaptercloud.nav.home", "Home"),
23
+ path: j(O, ""),
24
+ icon: /* @__PURE__ */ C(d, { size: 20 }),
25
+ order: 1,
26
+ group: "main"
27
+ },
28
+ {
29
+ id: "adaptercloud-discover",
30
+ label: A("adaptercloud.nav.discover", "Discover"),
31
+ path: j(O, "customer/discover"),
32
+ icon: /* @__PURE__ */ C(h, { size: 20 }),
33
+ order: 10,
34
+ group: "customer"
35
+ },
36
+ {
37
+ id: "adaptercloud-orders",
38
+ label: A("adaptercloud.nav.myOrders", "My Orders"),
39
+ path: j(O, "customer/orders"),
40
+ icon: /* @__PURE__ */ C(_, { size: 20 }),
41
+ order: 11,
42
+ group: "customer"
43
+ },
44
+ {
45
+ id: "adaptercloud-favorites",
46
+ label: A("adaptercloud.nav.favorites", "Favorites"),
47
+ path: j(O, "customer/favorites"),
48
+ icon: /* @__PURE__ */ C(u, { size: 20 }),
49
+ order: 12,
50
+ group: "customer"
51
+ },
52
+ {
53
+ id: "adaptercloud-my-cart",
54
+ label: A("adaptercloud.nav.myCart", "My Cart"),
55
+ path: j(O, "cart-owner/dashboard"),
56
+ icon: /* @__PURE__ */ C(y, { size: 20 }),
57
+ order: 20,
58
+ group: "cart-owner"
59
+ },
60
+ {
61
+ id: "adaptercloud-inventory",
62
+ label: A("adaptercloud.nav.inventory", "Inventory"),
63
+ path: j(O, "cart-owner/inventory"),
64
+ icon: /* @__PURE__ */ C(p, { size: 20 }),
65
+ order: 21,
66
+ group: "cart-owner"
67
+ },
68
+ {
69
+ id: "adaptercloud-cart-orders",
70
+ label: A("adaptercloud.nav.cartOrders", "Cart Orders"),
71
+ path: j(O, "cart-owner/orders"),
72
+ icon: /* @__PURE__ */ C(v, { size: 20 }),
73
+ order: 22,
74
+ group: "cart-owner"
75
+ },
76
+ {
77
+ id: "adaptercloud-tasks",
78
+ label: A("adaptercloud.nav.myTasks", "My Tasks"),
79
+ path: j(O, "worker/dashboard"),
80
+ icon: /* @__PURE__ */ C(c, { size: 20 }),
81
+ order: 30,
82
+ group: "worker"
83
+ },
84
+ {
85
+ id: "adaptercloud-investments",
86
+ label: A("adaptercloud.nav.investments", "Investments"),
87
+ path: j(O, "investor/dashboard"),
88
+ icon: /* @__PURE__ */ C(b, { size: 20 }),
89
+ order: 40,
90
+ group: "investor"
91
+ },
92
+ {
93
+ id: "adaptercloud-portfolio",
94
+ label: A("adaptercloud.nav.portfolio", "Portfolio"),
95
+ path: j(O, "investor/portfolio"),
96
+ icon: /* @__PURE__ */ C(m, { size: 20 }),
97
+ order: 41,
98
+ group: "investor"
99
+ },
100
+ {
101
+ id: "adaptercloud-opportunities",
102
+ label: A("adaptercloud.nav.opportunities", "Opportunities"),
103
+ path: j(O, "investor/opportunities"),
104
+ icon: /* @__PURE__ */ C(f, { size: 20 }),
105
+ order: 42,
106
+ group: "investor"
107
+ },
108
+ {
109
+ id: "adaptercloud-admin",
110
+ label: A("adaptercloud.nav.adminPanel", "Admin Panel"),
111
+ path: j(O, "admin/dashboard"),
112
+ icon: /* @__PURE__ */ C(g, { size: 20 }),
113
+ order: 50,
114
+ group: "admin"
115
+ },
116
+ {
117
+ id: "adaptercloud-users",
118
+ label: A("adaptercloud.nav.users", "Users"),
119
+ path: j(O, "admin/users"),
120
+ icon: /* @__PURE__ */ C(x, { size: 20 }),
121
+ order: 51,
122
+ group: "admin"
123
+ },
124
+ {
125
+ id: "adaptercloud-analytics",
126
+ label: A("adaptercloud.nav.analytics", "Analytics"),
127
+ path: j(O, "admin/analytics"),
128
+ icon: /* @__PURE__ */ C(s, { size: 20 }),
129
+ order: 52,
130
+ group: "admin"
131
+ },
132
+ {
133
+ id: "adaptercloud-financial",
134
+ label: A("adaptercloud.nav.financial", "Financial"),
135
+ path: j(O, "admin/financial"),
136
+ icon: /* @__PURE__ */ C(S, { size: 20 }),
137
+ order: 53,
138
+ group: "admin"
139
+ },
140
+ {
141
+ id: "adaptercloud-settings",
142
+ label: A("adaptercloud.nav.settings", "Settings"),
143
+ path: j(O, "settings"),
144
+ icon: /* @__PURE__ */ C(l, { size: 20 }),
145
+ order: 100,
146
+ group: "system"
147
+ }
148
+ ]);
149
+ }, [
150
+ E,
151
+ O,
152
+ A
153
+ ]), r(() => {
154
+ if (D) return D([{
155
+ id: "adaptercloud-status",
156
+ label: A("adaptercloud.footer.ready", "AdapterCloud Ready"),
157
+ type: "status",
158
+ order: 10,
159
+ section: "left"
160
+ }]);
161
+ }, [D, A]), /* @__PURE__ */ C(a, {
162
+ client: T,
163
+ children: /* @__PURE__ */ C(w, {
164
+ workspaceId: null,
165
+ gateway: "global",
166
+ defaultEnabled: !0,
167
+ children: /* @__PURE__ */ C(e, {
168
+ ...i,
169
+ children: /* @__PURE__ */ C(t, {})
170
+ })
171
+ })
172
+ });
173
+ };
174
+ //#endregion
175
+ export { E as AdapterCloudRoot };
176
+
177
+ //# sourceMappingURL=AdapterCloudRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdapterCloudRoot.js","names":[],"sources":["../../src/adaptercloud/AdapterCloudRoot.tsx"],"sourcesContent":["/**\n * AdapterCloud Root Component\n * @module adaptercloud\n */\n\nimport type { FC } from 'react';\nimport { useCallback, useEffect } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n Home,\n Search,\n ShoppingBag,\n Heart,\n Store,\n Package,\n ClipboardList,\n TrendingUp,\n PieChart,\n BarChart3,\n Settings,\n Users,\n ShoppingCart,\n LineChart,\n Wallet,\n FileText,\n} from 'lucide-react';\nimport { AdapterCloudProvider } from './context/AdapterCloudContext';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { AdapterCloudRoutes } from './AdapterCloudRoutes';\nimport type { AdapterCloudRootProps, NavItem } from './types';\n\n// Create a query client for this microfrontend\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n },\n },\n});\n\nexport const AdapterCloudRoot: FC<AdapterCloudRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t: translate } = useI18n();\n const t = useCallback(\n (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n },\n [translate]\n );\n\n // Helper to join paths correctly\n const joinPath = (base: string, path: string): string => {\n const cleanBase = base.endsWith('/') ? base.slice(0, -1) : base;\n const cleanPath = path.startsWith('/') ? path : `/${path}`;\n return cleanBase + cleanPath;\n };\n\n // Register navigation items with shell on mount\n useEffect(() => {\n if (!registerNavItems) return;\n\n const navItems: NavItem[] = [\n // Main\n {\n id: 'adaptercloud-home',\n label: t('adaptercloud.nav.home', 'Home'),\n path: joinPath(basePath, ''),\n icon: <Home size={20} />,\n order: 1,\n group: 'main',\n },\n\n // Customer Section\n {\n id: 'adaptercloud-discover',\n label: t('adaptercloud.nav.discover', 'Discover'),\n path: joinPath(basePath, 'customer/discover'),\n icon: <Search size={20} />,\n order: 10,\n group: 'customer',\n },\n {\n id: 'adaptercloud-orders',\n label: t('adaptercloud.nav.myOrders', 'My Orders'),\n path: joinPath(basePath, 'customer/orders'),\n icon: <ShoppingBag size={20} />,\n order: 11,\n group: 'customer',\n },\n {\n id: 'adaptercloud-favorites',\n label: t('adaptercloud.nav.favorites', 'Favorites'),\n path: joinPath(basePath, 'customer/favorites'),\n icon: <Heart size={20} />,\n order: 12,\n group: 'customer',\n },\n\n // Cart Owner Section\n {\n id: 'adaptercloud-my-cart',\n label: t('adaptercloud.nav.myCart', 'My Cart'),\n path: joinPath(basePath, 'cart-owner/dashboard'),\n icon: <Store size={20} />,\n order: 20,\n group: 'cart-owner',\n },\n {\n id: 'adaptercloud-inventory',\n label: t('adaptercloud.nav.inventory', 'Inventory'),\n path: joinPath(basePath, 'cart-owner/inventory'),\n icon: <Package size={20} />,\n order: 21,\n group: 'cart-owner',\n },\n {\n id: 'adaptercloud-cart-orders',\n label: t('adaptercloud.nav.cartOrders', 'Cart Orders'),\n path: joinPath(basePath, 'cart-owner/orders'),\n icon: <ShoppingCart size={20} />,\n order: 22,\n group: 'cart-owner',\n },\n\n // Worker Section\n {\n id: 'adaptercloud-tasks',\n label: t('adaptercloud.nav.myTasks', 'My Tasks'),\n path: joinPath(basePath, 'worker/dashboard'),\n icon: <ClipboardList size={20} />,\n order: 30,\n group: 'worker',\n },\n\n // Investor Section\n {\n id: 'adaptercloud-investments',\n label: t('adaptercloud.nav.investments', 'Investments'),\n path: joinPath(basePath, 'investor/dashboard'),\n icon: <TrendingUp size={20} />,\n order: 40,\n group: 'investor',\n },\n {\n id: 'adaptercloud-portfolio',\n label: t('adaptercloud.nav.portfolio', 'Portfolio'),\n path: joinPath(basePath, 'investor/portfolio'),\n icon: <PieChart size={20} />,\n order: 41,\n group: 'investor',\n },\n {\n id: 'adaptercloud-opportunities',\n label: t('adaptercloud.nav.opportunities', 'Opportunities'),\n path: joinPath(basePath, 'investor/opportunities'),\n icon: <LineChart size={20} />,\n order: 42,\n group: 'investor',\n },\n\n // Admin Section\n {\n id: 'adaptercloud-admin',\n label: t('adaptercloud.nav.adminPanel', 'Admin Panel'),\n path: joinPath(basePath, 'admin/dashboard'),\n icon: <Settings size={20} />,\n order: 50,\n group: 'admin',\n },\n {\n id: 'adaptercloud-users',\n label: t('adaptercloud.nav.users', 'Users'),\n path: joinPath(basePath, 'admin/users'),\n icon: <Users size={20} />,\n order: 51,\n group: 'admin',\n },\n {\n id: 'adaptercloud-analytics',\n label: t('adaptercloud.nav.analytics', 'Analytics'),\n path: joinPath(basePath, 'admin/analytics'),\n icon: <BarChart3 size={20} />,\n order: 52,\n group: 'admin',\n },\n {\n id: 'adaptercloud-financial',\n label: t('adaptercloud.nav.financial', 'Financial'),\n path: joinPath(basePath, 'admin/financial'),\n icon: <Wallet size={20} />,\n order: 53,\n group: 'admin',\n },\n\n // System\n {\n id: 'adaptercloud-settings',\n label: t('adaptercloud.nav.settings', 'Settings'),\n path: joinPath(basePath, 'settings'),\n icon: <FileText size={20} />,\n order: 100,\n group: 'system',\n },\n ];\n\n const cleanup = registerNavItems(navItems);\n return cleanup;\n }, [registerNavItems, basePath, t]);\n\n // Register footer items\n useEffect(() => {\n if (!registerFooterItems) return;\n\n const footerItems = [\n {\n id: 'adaptercloud-status',\n label: t('adaptercloud.footer.ready', 'AdapterCloud Ready'),\n type: 'status' as const,\n order: 10,\n section: 'left' as const,\n },\n ];\n\n const cleanup = registerFooterItems(footerItems);\n return cleanup;\n }, [registerFooterItems, t]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <AdapterCloudProvider {...props}>\n <AdapterCloudRoutes />\n </AdapterCloudProvider>\n </FeatureFlagProvider>\n </QueryClientProvider>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ import { useAdapterCloud as e } from "./context/AdapterCloudContext.js";
2
+ import { HomePage as t } from "./pages/HomePage.js";
3
+ import { Suspense as n, lazy as r } from "react";
4
+ import { Navigate as ee, Route as i, Routes as a, useLocation as te } from "react-router-dom";
5
+ import { jsx as o, jsxs as ne } from "react/jsx-runtime";
6
+ //#region src/adaptercloud/AdapterCloudRoutes.tsx
7
+ var s = r(() => import("./pages/customer/CustomerDashboard.js").then((e) => ({ default: e.CustomerDashboard }))), c = r(() => import("./pages/customer/CartDiscoveryPage.js").then((e) => ({ default: e.CartDiscoveryPage }))), l = r(() => import("./pages/customer/CartDetailPage.js").then((e) => ({ default: e.CartDetailPage }))), u = r(() => import("./pages/customer/CheckoutPage.js").then((e) => ({ default: e.CheckoutPage }))), d = r(() => import("./pages/customer/OrderTrackingPage.js").then((e) => ({ default: e.OrderTrackingPage }))), f = r(() => import("./pages/customer/OrderHistoryPage.js").then((e) => ({ default: e.OrderHistoryPage }))), p = r(() => import("./pages/customer/CustomerProfilePage.js").then((e) => ({ default: e.CustomerProfilePage }))), m = r(() => import("./pages/customer/SavedAddressesPage.js").then((e) => ({ default: e.SavedAddressesPage }))), h = r(() => import("./pages/customer/FavoritesPage.js").then((e) => ({ default: e.FavoritesPage }))), g = r(() => import("./pages/customer/ReviewsPage.js").then((e) => ({ default: e.ReviewsPage }))), _ = r(() => import("./pages/customer/PaymentMethodsPage.js").then((e) => ({ default: e.PaymentMethodsPage }))), v = r(() => import("./pages/customer/DirectServiceBookingPage.js").then((e) => ({ default: e.DirectServiceBookingPage }))), y = r(() => import("./pages/customer/BookingDetailsPage.js").then((e) => ({ default: e.BookingDetailsPage }))), b = r(() => import("./pages/cart-owner/CartOwnerDashboard.js").then((e) => ({ default: e.CartOwnerDashboard }))), x = r(() => import("./pages/cart-owner/CartServiceConfigPage.js").then((e) => ({ default: e.CartServiceConfigPage }))), S = r(() => import("./pages/cart-owner/InventoryManagementPage.js").then((e) => ({ default: e.InventoryManagementPage }))), C = r(() => import("./pages/cart-owner/OrderManagementPage.js").then((e) => ({ default: e.OrderManagementPage }))), w = r(() => import("./pages/cart-owner/AnalyticsDashboard.js").then((e) => ({ default: e.AnalyticsDashboard }))), T = r(() => import("./pages/cart-owner/StaffManagementPage.js").then((e) => ({ default: e.StaffManagementPage }))), E = r(() => import("./pages/cart-owner/BusinessSettingsPage.js").then((e) => ({ default: e.BusinessSettingsPage }))), D = r(() => import("./pages/cart-owner/CartOwnerProfilePage.js").then((e) => ({ default: e.CartOwnerProfilePage }))), O = r(() => import("./pages/worker/WorkerDashboard.js").then((e) => ({ default: e.WorkerDashboard }))), k = r(() => import("./pages/worker/WorkerOrdersPage.js").then((e) => ({ default: e.WorkerOrdersPage }))), re = r(() => import("./pages/worker/WorkerSchedulePage.js").then((e) => ({ default: e.WorkerSchedulePage }))), A = r(() => import("./pages/worker/WorkerProfilePage.js").then((e) => ({ default: e.WorkerProfilePage }))), j = r(() => import("./pages/worker/TaskDetailsPage.js").then((e) => ({ default: e.TaskDetailsPage }))), M = r(() => import("./pages/investor/InvestorDashboard.js").then((e) => ({ default: e.InvestorDashboard }))), N = r(() => import("./pages/investor/InvestorPortfolioPage.js").then((e) => ({ default: e.InvestorPortfolioPage }))), P = r(() => import("./pages/investor/InvestmentOpportunitiesPage.js").then((e) => ({ default: e.InvestmentOpportunitiesPage }))), F = r(() => import("./pages/investor/InvestmentDetailsPage.js").then((e) => ({ default: e.InvestmentDetailsPage }))), I = r(() => import("./pages/investor/InvestorInvestmentsPage.js").then((e) => ({ default: e.InvestorInvestmentsPage }))), L = r(() => import("./pages/investor/InvestorAnalyticsPage.js").then((e) => ({ default: e.InvestorAnalyticsPage }))), R = r(() => import("./pages/investor/InvestorProfilePage.js").then((e) => ({ default: e.InvestorProfilePage }))), z = r(() => import("./pages/admin/AdminDashboard.js").then((e) => ({ default: e.AdminDashboard }))), B = r(() => import("./pages/admin/UserManagementPage.js").then((e) => ({ default: e.UserManagementPage }))), V = r(() => import("./pages/admin/CartManagementPage.js").then((e) => ({ default: e.CartManagementPage }))), H = r(() => import("./pages/admin/AdminAnalyticsPage.js").then((e) => ({ default: e.AdminAnalyticsPage }))), U = r(() => import("./pages/admin/AdminOrdersPage.js").then((e) => ({ default: e.AdminOrdersPage }))), W = r(() => import("./pages/admin/AdminProfilePage.js").then((e) => ({ default: e.AdminProfilePage }))), G = r(() => import("./pages/admin/AdminSettingsPage.js").then((e) => ({ default: e.AdminSettingsPage }))), K = r(() => import("./pages/admin/AdminFinancialPage.js").then((e) => ({ default: e.AdminFinancialPage }))), q = r(() => import("./pages/common/NotificationCenterPage.js").then((e) => ({ default: e.NotificationCenterPage }))), J = r(() => import("./pages/common/SettingsPage.js").then((e) => ({ default: e.SettingsPage }))), Y = r(() => import("./pages/common/HelpSupportPage.js").then((e) => ({ default: e.HelpSupportPage }))), X = () => /* @__PURE__ */ o("div", {
8
+ className: "flex items-center justify-center min-h-[400px]",
9
+ children: /* @__PURE__ */ o("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-primary" })
10
+ }), Z = () => {
11
+ let { basePath: r, isStandalone: Z } = e(), Q = te(), $ = r === "/" ? "" : (r ?? "").replace(/\/$/, "");
12
+ return $ && !Z && !(Q.pathname === $ || Q.pathname.startsWith($ + "/")) ? null : /* @__PURE__ */ o("div", {
13
+ className: "flex flex-col min-h-full",
14
+ children: /* @__PURE__ */ o(n, {
15
+ fallback: /* @__PURE__ */ o(X, {}),
16
+ children: /* @__PURE__ */ ne(a, { children: [
17
+ /* @__PURE__ */ o(i, {
18
+ index: !0,
19
+ element: /* @__PURE__ */ o(t, {})
20
+ }),
21
+ /* @__PURE__ */ o(i, {
22
+ path: "customer/dashboard",
23
+ element: /* @__PURE__ */ o(s, {})
24
+ }),
25
+ /* @__PURE__ */ o(i, {
26
+ path: "customer/discover",
27
+ element: /* @__PURE__ */ o(c, {})
28
+ }),
29
+ /* @__PURE__ */ o(i, {
30
+ path: "customer/cart/:cartId",
31
+ element: /* @__PURE__ */ o(l, {})
32
+ }),
33
+ /* @__PURE__ */ o(i, {
34
+ path: "customer/cart/:cartId/direct-service",
35
+ element: /* @__PURE__ */ o(v, {})
36
+ }),
37
+ /* @__PURE__ */ o(i, {
38
+ path: "customer/checkout",
39
+ element: /* @__PURE__ */ o(u, {})
40
+ }),
41
+ /* @__PURE__ */ o(i, {
42
+ path: "customer/orders/:orderId/track",
43
+ element: /* @__PURE__ */ o(d, {})
44
+ }),
45
+ /* @__PURE__ */ o(i, {
46
+ path: "customer/orders",
47
+ element: /* @__PURE__ */ o(f, {})
48
+ }),
49
+ /* @__PURE__ */ o(i, {
50
+ path: "customer/profile",
51
+ element: /* @__PURE__ */ o(p, {})
52
+ }),
53
+ /* @__PURE__ */ o(i, {
54
+ path: "customer/addresses",
55
+ element: /* @__PURE__ */ o(m, {})
56
+ }),
57
+ /* @__PURE__ */ o(i, {
58
+ path: "customer/favorites",
59
+ element: /* @__PURE__ */ o(h, {})
60
+ }),
61
+ /* @__PURE__ */ o(i, {
62
+ path: "customer/reviews",
63
+ element: /* @__PURE__ */ o(g, {})
64
+ }),
65
+ /* @__PURE__ */ o(i, {
66
+ path: "customer/payment-methods",
67
+ element: /* @__PURE__ */ o(_, {})
68
+ }),
69
+ /* @__PURE__ */ o(i, {
70
+ path: "customer/booking/:bookingId",
71
+ element: /* @__PURE__ */ o(y, {})
72
+ }),
73
+ /* @__PURE__ */ o(i, {
74
+ path: "cart-owner/dashboard",
75
+ element: /* @__PURE__ */ o(b, {})
76
+ }),
77
+ /* @__PURE__ */ o(i, {
78
+ path: "cart-owner/service-config",
79
+ element: /* @__PURE__ */ o(x, {})
80
+ }),
81
+ /* @__PURE__ */ o(i, {
82
+ path: "cart-owner/inventory",
83
+ element: /* @__PURE__ */ o(S, {})
84
+ }),
85
+ /* @__PURE__ */ o(i, {
86
+ path: "cart-owner/orders",
87
+ element: /* @__PURE__ */ o(C, {})
88
+ }),
89
+ /* @__PURE__ */ o(i, {
90
+ path: "cart-owner/analytics",
91
+ element: /* @__PURE__ */ o(w, {})
92
+ }),
93
+ /* @__PURE__ */ o(i, {
94
+ path: "cart-owner/staff",
95
+ element: /* @__PURE__ */ o(T, {})
96
+ }),
97
+ /* @__PURE__ */ o(i, {
98
+ path: "cart-owner/settings",
99
+ element: /* @__PURE__ */ o(E, {})
100
+ }),
101
+ /* @__PURE__ */ o(i, {
102
+ path: "cart-owner/profile",
103
+ element: /* @__PURE__ */ o(D, {})
104
+ }),
105
+ /* @__PURE__ */ o(i, {
106
+ path: "worker/dashboard",
107
+ element: /* @__PURE__ */ o(O, {})
108
+ }),
109
+ /* @__PURE__ */ o(i, {
110
+ path: "worker/orders",
111
+ element: /* @__PURE__ */ o(k, {})
112
+ }),
113
+ /* @__PURE__ */ o(i, {
114
+ path: "worker/schedule",
115
+ element: /* @__PURE__ */ o(re, {})
116
+ }),
117
+ /* @__PURE__ */ o(i, {
118
+ path: "worker/profile",
119
+ element: /* @__PURE__ */ o(A, {})
120
+ }),
121
+ /* @__PURE__ */ o(i, {
122
+ path: "worker/task/:taskId",
123
+ element: /* @__PURE__ */ o(j, {})
124
+ }),
125
+ /* @__PURE__ */ o(i, {
126
+ path: "investor/dashboard",
127
+ element: /* @__PURE__ */ o(M, {})
128
+ }),
129
+ /* @__PURE__ */ o(i, {
130
+ path: "investor/portfolio",
131
+ element: /* @__PURE__ */ o(N, {})
132
+ }),
133
+ /* @__PURE__ */ o(i, {
134
+ path: "investor/opportunities",
135
+ element: /* @__PURE__ */ o(P, {})
136
+ }),
137
+ /* @__PURE__ */ o(i, {
138
+ path: "investor/opportunity/:id",
139
+ element: /* @__PURE__ */ o(F, {})
140
+ }),
141
+ /* @__PURE__ */ o(i, {
142
+ path: "investor/investments/:id",
143
+ element: /* @__PURE__ */ o(F, {})
144
+ }),
145
+ /* @__PURE__ */ o(i, {
146
+ path: "investor/investments",
147
+ element: /* @__PURE__ */ o(I, {})
148
+ }),
149
+ /* @__PURE__ */ o(i, {
150
+ path: "investor/analytics",
151
+ element: /* @__PURE__ */ o(L, {})
152
+ }),
153
+ /* @__PURE__ */ o(i, {
154
+ path: "investor/profile",
155
+ element: /* @__PURE__ */ o(R, {})
156
+ }),
157
+ /* @__PURE__ */ o(i, {
158
+ path: "admin/dashboard",
159
+ element: /* @__PURE__ */ o(z, {})
160
+ }),
161
+ /* @__PURE__ */ o(i, {
162
+ path: "admin/users",
163
+ element: /* @__PURE__ */ o(B, {})
164
+ }),
165
+ /* @__PURE__ */ o(i, {
166
+ path: "admin/carts",
167
+ element: /* @__PURE__ */ o(V, {})
168
+ }),
169
+ /* @__PURE__ */ o(i, {
170
+ path: "admin/analytics",
171
+ element: /* @__PURE__ */ o(H, {})
172
+ }),
173
+ /* @__PURE__ */ o(i, {
174
+ path: "admin/orders",
175
+ element: /* @__PURE__ */ o(U, {})
176
+ }),
177
+ /* @__PURE__ */ o(i, {
178
+ path: "admin/profile",
179
+ element: /* @__PURE__ */ o(W, {})
180
+ }),
181
+ /* @__PURE__ */ o(i, {
182
+ path: "admin/settings",
183
+ element: /* @__PURE__ */ o(G, {})
184
+ }),
185
+ /* @__PURE__ */ o(i, {
186
+ path: "admin/financial",
187
+ element: /* @__PURE__ */ o(K, {})
188
+ }),
189
+ /* @__PURE__ */ o(i, {
190
+ path: "notifications",
191
+ element: /* @__PURE__ */ o(q, {})
192
+ }),
193
+ /* @__PURE__ */ o(i, {
194
+ path: "settings",
195
+ element: /* @__PURE__ */ o(J, {})
196
+ }),
197
+ /* @__PURE__ */ o(i, {
198
+ path: "help",
199
+ element: /* @__PURE__ */ o(Y, {})
200
+ }),
201
+ /* @__PURE__ */ o(i, {
202
+ path: "*",
203
+ element: /* @__PURE__ */ o(ee, {
204
+ to: "/",
205
+ replace: !0
206
+ })
207
+ })
208
+ ] })
209
+ })
210
+ });
211
+ };
212
+ //#endregion
213
+ export { Z as AdapterCloudRoutes };
214
+
215
+ //# sourceMappingURL=AdapterCloudRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdapterCloudRoutes.js","names":[],"sources":["../../src/adaptercloud/AdapterCloudRoutes.tsx"],"sourcesContent":["/**\n * AdapterCloud Routes\n * @module adaptercloud\n */\n\nimport { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { useAdapterCloud } from './context/AdapterCloudContext';\n\n// Eager load - HomePage (primary landing page)\nimport { HomePage } from './pages/HomePage';\n\n// Lazy loaded pages - Customer\nconst CustomerDashboard = lazy(() =>\n import('./pages/customer/CustomerDashboard').then((m) => ({ default: m.CustomerDashboard }))\n);\nconst CartDiscoveryPage = lazy(() =>\n import('./pages/customer/CartDiscoveryPage').then((m) => ({ default: m.CartDiscoveryPage }))\n);\nconst CartDetailPage = lazy(() =>\n import('./pages/customer/CartDetailPage').then((m) => ({ default: m.CartDetailPage }))\n);\nconst CheckoutPage = lazy(() =>\n import('./pages/customer/CheckoutPage').then((m) => ({ default: m.CheckoutPage }))\n);\nconst OrderTrackingPage = lazy(() =>\n import('./pages/customer/OrderTrackingPage').then((m) => ({ default: m.OrderTrackingPage }))\n);\nconst OrderHistoryPage = lazy(() =>\n import('./pages/customer/OrderHistoryPage').then((m) => ({ default: m.OrderHistoryPage }))\n);\nconst CustomerProfilePage = lazy(() =>\n import('./pages/customer/CustomerProfilePage').then((m) => ({ default: m.CustomerProfilePage }))\n);\nconst SavedAddressesPage = lazy(() =>\n import('./pages/customer/SavedAddressesPage').then((m) => ({ default: m.SavedAddressesPage }))\n);\nconst FavoritesPage = lazy(() =>\n import('./pages/customer/FavoritesPage').then((m) => ({ default: m.FavoritesPage }))\n);\nconst ReviewsPage = lazy(() =>\n import('./pages/customer/ReviewsPage').then((m) => ({ default: m.ReviewsPage }))\n);\nconst PaymentMethodsPage = lazy(() =>\n import('./pages/customer/PaymentMethodsPage').then((m) => ({ default: m.PaymentMethodsPage }))\n);\nconst DirectServiceBookingPage = lazy(() =>\n import('./pages/customer/DirectServiceBookingPage').then((m) => ({\n default: m.DirectServiceBookingPage,\n }))\n);\nconst BookingDetailsPage = lazy(() =>\n import('./pages/customer/BookingDetailsPage').then((m) => ({ default: m.BookingDetailsPage }))\n);\n\n// Lazy loaded pages - Cart Owner\nconst CartOwnerDashboard = lazy(() =>\n import('./pages/cart-owner/CartOwnerDashboard').then((m) => ({ default: m.CartOwnerDashboard }))\n);\nconst CartServiceConfigPage = lazy(() =>\n import('./pages/cart-owner/CartServiceConfigPage').then((m) => ({\n default: m.CartServiceConfigPage,\n }))\n);\nconst InventoryManagementPage = lazy(() =>\n import('./pages/cart-owner/InventoryManagementPage').then((m) => ({\n default: m.InventoryManagementPage,\n }))\n);\nconst OrderManagementPage = lazy(() =>\n import('./pages/cart-owner/OrderManagementPage').then((m) => ({\n default: m.OrderManagementPage,\n }))\n);\nconst AnalyticsDashboard = lazy(() =>\n import('./pages/cart-owner/AnalyticsDashboard').then((m) => ({ default: m.AnalyticsDashboard }))\n);\nconst StaffManagementPage = lazy(() =>\n import('./pages/cart-owner/StaffManagementPage').then((m) => ({\n default: m.StaffManagementPage,\n }))\n);\nconst BusinessSettingsPage = lazy(() =>\n import('./pages/cart-owner/BusinessSettingsPage').then((m) => ({\n default: m.BusinessSettingsPage,\n }))\n);\nconst CartOwnerProfilePage = lazy(() =>\n import('./pages/cart-owner/CartOwnerProfilePage').then((m) => ({\n default: m.CartOwnerProfilePage,\n }))\n);\n\n// Lazy loaded pages - Worker\nconst WorkerDashboard = lazy(() =>\n import('./pages/worker/WorkerDashboard').then((m) => ({ default: m.WorkerDashboard }))\n);\nconst WorkerOrdersPage = lazy(() =>\n import('./pages/worker/WorkerOrdersPage').then((m) => ({ default: m.WorkerOrdersPage }))\n);\nconst WorkerSchedulePage = lazy(() =>\n import('./pages/worker/WorkerSchedulePage').then((m) => ({ default: m.WorkerSchedulePage }))\n);\nconst WorkerProfilePage = lazy(() =>\n import('./pages/worker/WorkerProfilePage').then((m) => ({ default: m.WorkerProfilePage }))\n);\nconst TaskDetailsPage = lazy(() =>\n import('./pages/worker/TaskDetailsPage').then((m) => ({ default: m.TaskDetailsPage }))\n);\n\n// Lazy loaded pages - Investor\nconst InvestorDashboard = lazy(() =>\n import('./pages/investor/InvestorDashboard').then((m) => ({ default: m.InvestorDashboard }))\n);\nconst InvestorPortfolioPage = lazy(() =>\n import('./pages/investor/InvestorPortfolioPage').then((m) => ({\n default: m.InvestorPortfolioPage,\n }))\n);\nconst InvestmentOpportunitiesPage = lazy(() =>\n import('./pages/investor/InvestmentOpportunitiesPage').then((m) => ({\n default: m.InvestmentOpportunitiesPage,\n }))\n);\nconst InvestmentDetailsPage = lazy(() =>\n import('./pages/investor/InvestmentDetailsPage').then((m) => ({\n default: m.InvestmentDetailsPage,\n }))\n);\nconst InvestorInvestmentsPage = lazy(() =>\n import('./pages/investor/InvestorInvestmentsPage').then((m) => ({\n default: m.InvestorInvestmentsPage,\n }))\n);\nconst InvestorAnalyticsPage = lazy(() =>\n import('./pages/investor/InvestorAnalyticsPage').then((m) => ({\n default: m.InvestorAnalyticsPage,\n }))\n);\nconst InvestorProfilePage = lazy(() =>\n import('./pages/investor/InvestorProfilePage').then((m) => ({\n default: m.InvestorProfilePage,\n }))\n);\n\n// Lazy loaded pages - Admin\nconst AdminDashboard = lazy(() =>\n import('./pages/admin/AdminDashboard').then((m) => ({ default: m.AdminDashboard }))\n);\nconst UserManagementPage = lazy(() =>\n import('./pages/admin/UserManagementPage').then((m) => ({ default: m.UserManagementPage }))\n);\nconst CartManagementPage = lazy(() =>\n import('./pages/admin/CartManagementPage').then((m) => ({ default: m.CartManagementPage }))\n);\nconst AdminAnalyticsPage = lazy(() =>\n import('./pages/admin/AdminAnalyticsPage').then((m) => ({ default: m.AdminAnalyticsPage }))\n);\nconst AdminOrdersPage = lazy(() =>\n import('./pages/admin/AdminOrdersPage').then((m) => ({ default: m.AdminOrdersPage }))\n);\nconst AdminProfilePage = lazy(() =>\n import('./pages/admin/AdminProfilePage').then((m) => ({ default: m.AdminProfilePage }))\n);\nconst AdminSettingsPage = lazy(() =>\n import('./pages/admin/AdminSettingsPage').then((m) => ({ default: m.AdminSettingsPage }))\n);\nconst AdminFinancialPage = lazy(() =>\n import('./pages/admin/AdminFinancialPage').then((m) => ({ default: m.AdminFinancialPage }))\n);\n\n// Lazy loaded pages - Common\nconst NotificationCenterPage = lazy(() =>\n import('./pages/common/NotificationCenterPage').then((m) => ({\n default: m.NotificationCenterPage,\n }))\n);\nconst SettingsPage = lazy(() =>\n import('./pages/common/SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\nconst HelpSupportPage = lazy(() =>\n import('./pages/common/HelpSupportPage').then((m) => ({ default: m.HelpSupportPage }))\n);\n\n// Loading fallback component\nconst PageLoader: FC = () => (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-primary\" />\n </div>\n);\n\nexport const AdapterCloudRoutes: FC = () => {\n const { basePath, isStandalone } = useAdapterCloud();\n const location = useLocation();\n\n // Normalize base path\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: Only render if path matches basePath (when integrated)\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex flex-col min-h-full\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n {/* Home - Eager loaded */}\n <Route index element={<HomePage />} />\n\n {/* Customer Routes */}\n <Route path=\"customer/dashboard\" element={<CustomerDashboard />} />\n <Route path=\"customer/discover\" element={<CartDiscoveryPage />} />\n <Route path=\"customer/cart/:cartId\" element={<CartDetailPage />} />\n <Route\n path=\"customer/cart/:cartId/direct-service\"\n element={<DirectServiceBookingPage />}\n />\n <Route path=\"customer/checkout\" element={<CheckoutPage />} />\n <Route path=\"customer/orders/:orderId/track\" element={<OrderTrackingPage />} />\n <Route path=\"customer/orders\" element={<OrderHistoryPage />} />\n <Route path=\"customer/profile\" element={<CustomerProfilePage />} />\n <Route path=\"customer/addresses\" element={<SavedAddressesPage />} />\n <Route path=\"customer/favorites\" element={<FavoritesPage />} />\n <Route path=\"customer/reviews\" element={<ReviewsPage />} />\n <Route path=\"customer/payment-methods\" element={<PaymentMethodsPage />} />\n <Route path=\"customer/booking/:bookingId\" element={<BookingDetailsPage />} />\n\n {/* Cart Owner Routes */}\n <Route path=\"cart-owner/dashboard\" element={<CartOwnerDashboard />} />\n <Route path=\"cart-owner/service-config\" element={<CartServiceConfigPage />} />\n <Route path=\"cart-owner/inventory\" element={<InventoryManagementPage />} />\n <Route path=\"cart-owner/orders\" element={<OrderManagementPage />} />\n <Route path=\"cart-owner/analytics\" element={<AnalyticsDashboard />} />\n <Route path=\"cart-owner/staff\" element={<StaffManagementPage />} />\n <Route path=\"cart-owner/settings\" element={<BusinessSettingsPage />} />\n <Route path=\"cart-owner/profile\" element={<CartOwnerProfilePage />} />\n\n {/* Worker Routes */}\n <Route path=\"worker/dashboard\" element={<WorkerDashboard />} />\n <Route path=\"worker/orders\" element={<WorkerOrdersPage />} />\n <Route path=\"worker/schedule\" element={<WorkerSchedulePage />} />\n <Route path=\"worker/profile\" element={<WorkerProfilePage />} />\n <Route path=\"worker/task/:taskId\" element={<TaskDetailsPage />} />\n\n {/* Investor Routes */}\n <Route path=\"investor/dashboard\" element={<InvestorDashboard />} />\n <Route path=\"investor/portfolio\" element={<InvestorPortfolioPage />} />\n <Route path=\"investor/opportunities\" element={<InvestmentOpportunitiesPage />} />\n <Route path=\"investor/opportunity/:id\" element={<InvestmentDetailsPage />} />\n <Route path=\"investor/investments/:id\" element={<InvestmentDetailsPage />} />\n <Route path=\"investor/investments\" element={<InvestorInvestmentsPage />} />\n <Route path=\"investor/analytics\" element={<InvestorAnalyticsPage />} />\n <Route path=\"investor/profile\" element={<InvestorProfilePage />} />\n\n {/* Admin Routes */}\n <Route path=\"admin/dashboard\" element={<AdminDashboard />} />\n <Route path=\"admin/users\" element={<UserManagementPage />} />\n <Route path=\"admin/carts\" element={<CartManagementPage />} />\n <Route path=\"admin/analytics\" element={<AdminAnalyticsPage />} />\n <Route path=\"admin/orders\" element={<AdminOrdersPage />} />\n <Route path=\"admin/profile\" element={<AdminProfilePage />} />\n <Route path=\"admin/settings\" element={<AdminSettingsPage />} />\n <Route path=\"admin/financial\" element={<AdminFinancialPage />} />\n\n {/* Common Routes */}\n <Route path=\"notifications\" element={<NotificationCenterPage />} />\n <Route path=\"settings\" element={<SettingsPage />} />\n <Route path=\"help\" element={<HelpSupportPage />} />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\"/\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":";;;;;;AAaA,IAAM,IAAoB,QACxB,OAAO,yCAAsC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC7F,EACK,IAAoB,QACxB,OAAO,yCAAsC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC7F,EACK,IAAiB,QACrB,OAAO,sCAAmC,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CACvF,EACK,IAAe,QACnB,OAAO,oCAAiC,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CACnF,EACK,IAAoB,QACxB,OAAO,yCAAsC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC7F,EACK,IAAmB,QACvB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAC3F,EACK,IAAsB,QAC1B,OAAO,2CAAwC,MAAM,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACjG,EACK,IAAqB,QACzB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC/F,EACK,IAAgB,QACpB,OAAO,qCAAkC,MAAM,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CACrF,EACK,IAAc,QAClB,OAAO,mCAAgC,MAAM,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CACjF,EACK,IAAqB,QACzB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC/F,EACK,IAA2B,QAC/B,OAAO,gDAA6C,MAAM,OAAO,EAC/D,SAAS,EAAE,0BACZ,EAAE,CACJ,EACK,IAAqB,QACzB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC/F,EAGK,IAAqB,QACzB,OAAO,4CAAyC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CACjG,EACK,IAAwB,QAC5B,OAAO,+CAA4C,MAAM,OAAO,EAC9D,SAAS,EAAE,uBACZ,EAAE,CACJ,EACK,IAA0B,QAC9B,OAAO,iDAA8C,MAAM,OAAO,EAChE,SAAS,EAAE,yBACZ,EAAE,CACJ,EACK,IAAsB,QAC1B,OAAO,6CAA0C,MAAM,OAAO,EAC5D,SAAS,EAAE,qBACZ,EAAE,CACJ,EACK,IAAqB,QACzB,OAAO,4CAAyC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CACjG,EACK,IAAsB,QAC1B,OAAO,6CAA0C,MAAM,OAAO,EAC5D,SAAS,EAAE,qBACZ,EAAE,CACJ,EACK,IAAuB,QAC3B,OAAO,8CAA2C,MAAM,OAAO,EAC7D,SAAS,EAAE,sBACZ,EAAE,CACJ,EACK,IAAuB,QAC3B,OAAO,8CAA2C,MAAM,OAAO,EAC7D,SAAS,EAAE,sBACZ,EAAE,CACJ,EAGK,IAAkB,QACtB,OAAO,qCAAkC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CACvF,EACK,IAAmB,QACvB,OAAO,sCAAmC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CACzF,EACK,KAAqB,QACzB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC7F,EACK,IAAoB,QACxB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC3F,EACK,IAAkB,QACtB,OAAO,qCAAkC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CACvF,EAGK,IAAoB,QACxB,OAAO,yCAAsC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC7F,EACK,IAAwB,QAC5B,OAAO,6CAA0C,MAAM,OAAO,EAC5D,SAAS,EAAE,uBACZ,EAAE,CACJ,EACK,IAA8B,QAClC,OAAO,mDAAgD,MAAM,OAAO,EAClE,SAAS,EAAE,6BACZ,EAAE,CACJ,EACK,IAAwB,QAC5B,OAAO,6CAA0C,MAAM,OAAO,EAC5D,SAAS,EAAE,uBACZ,EAAE,CACJ,EACK,IAA0B,QAC9B,OAAO,+CAA4C,MAAM,OAAO,EAC9D,SAAS,EAAE,yBACZ,EAAE,CACJ,EACK,IAAwB,QAC5B,OAAO,6CAA0C,MAAM,OAAO,EAC5D,SAAS,EAAE,uBACZ,EAAE,CACJ,EACK,IAAsB,QAC1B,OAAO,2CAAwC,MAAM,OAAO,EAC1D,SAAS,EAAE,qBACZ,EAAE,CACJ,EAGK,IAAiB,QACrB,OAAO,mCAAgC,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CACpF,EACK,IAAqB,QACzB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC5F,EACK,IAAqB,QACzB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC5F,EACK,IAAqB,QACzB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC5F,EACK,IAAkB,QACtB,OAAO,oCAAiC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CACtF,EACK,IAAmB,QACvB,OAAO,qCAAkC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CACxF,EACK,IAAoB,QACxB,OAAO,sCAAmC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC1F,EACK,IAAqB,QACzB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAC5F,EAGK,IAAyB,QAC7B,OAAO,4CAAyC,MAAM,OAAO,EAC3D,SAAS,EAAE,wBACZ,EAAE,CACJ,EACK,IAAe,QACnB,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CACjF,EACK,IAAkB,QACtB,OAAO,qCAAkC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CACvF,EAGK,UACJ,kBAAC,OAAD;CAAK,WAAU;WACb,kBAAC,OAAD,EAAK,WAAU,+DAAgE,CAAA;CAC3E,CAAA,EAGK,UAA+B;CAC1C,IAAM,EAAE,aAAU,oBAAiB,GAAiB,EAC9C,IAAW,IAAa,EAGxB,IAAqB,MAAa,MAAM,MAAM,KAAY,IAAI,QAAQ,OAAO,GAAG;AAatF,QAVI,KAAsB,CAAC,KAKrB,EAHF,EAAS,aAAa,KACtB,EAAS,SAAS,WAAW,IAAqB,IAAI,IAG/C,OAKT,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GAAU,UAAU,kBAAC,GAAD,EAAc,CAAA;aAChC,mBAAC,GAAD,EAAA,UAAA;IAEE,kBAAC,GAAD;KAAO,OAAA;KAAM,SAAS,kBAAC,GAAD,EAAY,CAAA;KAAI,CAAA;IAGtC,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IACnE,kBAAC,GAAD;KAAO,MAAK;KAAoB,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IAClE,kBAAC,GAAD;KAAO,MAAK;KAAwB,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IACnE,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,kBAAC,GAAD,EAA4B,CAAA;KACrC,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAoB,SAAS,kBAAC,GAAD,EAAgB,CAAA;KAAI,CAAA;IAC7D,kBAAC,GAAD;KAAO,MAAK;KAAiC,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IAC/E,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAC/D,kBAAC,GAAD;KAAO,MAAK;KAAmB,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IACnE,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IACpE,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAiB,CAAA;KAAI,CAAA;IAC/D,kBAAC,GAAD;KAAO,MAAK;KAAmB,SAAS,kBAAC,GAAD,EAAe,CAAA;KAAI,CAAA;IAC3D,kBAAC,GAAD;KAAO,MAAK;KAA2B,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAC1E,kBAAC,GAAD;KAAO,MAAK;KAA8B,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAG7E,kBAAC,GAAD;KAAO,MAAK;KAAuB,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IACtE,kBAAC,GAAD;KAAO,MAAK;KAA4B,SAAS,kBAAC,GAAD,EAAyB,CAAA;KAAI,CAAA;IAC9E,kBAAC,GAAD;KAAO,MAAK;KAAuB,SAAS,kBAAC,GAAD,EAA2B,CAAA;KAAI,CAAA;IAC3E,kBAAC,GAAD;KAAO,MAAK;KAAoB,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IACpE,kBAAC,GAAD;KAAO,MAAK;KAAuB,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IACtE,kBAAC,GAAD;KAAO,MAAK;KAAmB,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IACnE,kBAAC,GAAD;KAAO,MAAK;KAAsB,SAAS,kBAAC,GAAD,EAAwB,CAAA;KAAI,CAAA;IACvE,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAwB,CAAA;KAAI,CAAA;IAGtE,kBAAC,GAAD;KAAO,MAAK;KAAmB,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAC/D,kBAAC,GAAD;KAAO,MAAK;KAAgB,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAC7D,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,IAAD,EAAsB,CAAA;KAAI,CAAA;IACjE,kBAAC,GAAD;KAAO,MAAK;KAAiB,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IAC/D,kBAAC,GAAD;KAAO,MAAK;KAAsB,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAGlE,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IACnE,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAyB,CAAA;KAAI,CAAA;IACvE,kBAAC,GAAD;KAAO,MAAK;KAAyB,SAAS,kBAAC,GAAD,EAA+B,CAAA;KAAI,CAAA;IACjF,kBAAC,GAAD;KAAO,MAAK;KAA2B,SAAS,kBAAC,GAAD,EAAyB,CAAA;KAAI,CAAA;IAC7E,kBAAC,GAAD;KAAO,MAAK;KAA2B,SAAS,kBAAC,GAAD,EAAyB,CAAA;KAAI,CAAA;IAC7E,kBAAC,GAAD;KAAO,MAAK;KAAuB,SAAS,kBAAC,GAAD,EAA2B,CAAA;KAAI,CAAA;IAC3E,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAyB,CAAA;KAAI,CAAA;IACvE,kBAAC,GAAD;KAAO,MAAK;KAAmB,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IAGnE,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IAC7D,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAC7D,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAC7D,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IACjE,kBAAC,GAAD;KAAO,MAAK;KAAe,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAC3D,kBAAC,GAAD;KAAO,MAAK;KAAgB,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAC7D,kBAAC,GAAD;KAAO,MAAK;KAAiB,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IAC/D,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAGjE,kBAAC,GAAD;KAAO,MAAK;KAAgB,SAAS,kBAAC,GAAD,EAA0B,CAAA;KAAI,CAAA;IACnE,kBAAC,GAAD;KAAO,MAAK;KAAW,SAAS,kBAAC,GAAD,EAAgB,CAAA;KAAI,CAAA;IACpD,kBAAC,GAAD;KAAO,MAAK;KAAO,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAGnD,kBAAC,GAAD;KAAO,MAAK;KAAI,SAAS,kBAAC,IAAD;MAAU,IAAG;MAAI,SAAA;MAAU,CAAA;KAAI,CAAA;IACjD,EAAA,CAAA;GACA,CAAA;EACP,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ //#region src/adaptercloud/components/EmptyState.tsx
4
+ var r = ({ icon: r, title: i, description: a, action: o, className: s }) => /* @__PURE__ */ n("div", {
5
+ className: e("flex flex-col items-center justify-center py-12 px-4 text-center", s),
6
+ children: [
7
+ r && /* @__PURE__ */ t("div", {
8
+ className: "mb-4 text-muted-foreground opacity-50",
9
+ children: r
10
+ }),
11
+ /* @__PURE__ */ t("h3", {
12
+ className: "text-lg font-medium text-foreground",
13
+ children: i
14
+ }),
15
+ a && /* @__PURE__ */ t("p", {
16
+ className: "mt-2 text-sm text-muted-foreground max-w-sm",
17
+ children: a
18
+ }),
19
+ o && /* @__PURE__ */ t("div", {
20
+ className: "mt-6",
21
+ children: o
22
+ })
23
+ ]
24
+ });
25
+ //#endregion
26
+ export { r as EmptyState };
27
+
28
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.js","names":[],"sources":["../../../src/adaptercloud/components/EmptyState.tsx"],"sourcesContent":["/**\n * Empty State Component\n * @module adaptercloud/components\n */\n\nimport type { FC, ReactNode } from 'react';\nimport { cn } from '../utils/cn';\n\ninterface EmptyStateProps {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n className?: string;\n}\n\nexport const EmptyState: FC<EmptyStateProps> = ({\n icon,\n title,\n description,\n action,\n className,\n}) => {\n return (\n <div\n className={cn('flex flex-col items-center justify-center py-12 px-4 text-center', className)}\n >\n {icon && <div className=\"mb-4 text-muted-foreground opacity-50\">{icon}</div>}\n <h3 className=\"text-lg font-medium text-foreground\">{title}</h3>\n {description && <p className=\"mt-2 text-sm text-muted-foreground max-w-sm\">{description}</p>}\n {action && <div className=\"mt-6\">{action}</div>}\n </div>\n );\n};\n"],"mappings":";;;AAgBA,IAAa,KAAmC,EAC9C,SACA,UACA,gBACA,WACA,mBAGE,kBAAC,OAAD;CACE,WAAW,EAAG,oEAAoE,EAAU;WAD9F;EAGG,KAAQ,kBAAC,OAAD;GAAK,WAAU;aAAyC;GAAW,CAAA;EAC5E,kBAAC,MAAD;GAAI,WAAU;aAAuC;GAAW,CAAA;EAC/D,KAAe,kBAAC,KAAD;GAAG,WAAU;aAA+C;GAAgB,CAAA;EAC3F,KAAU,kBAAC,OAAD;GAAK,WAAU;aAAQ;GAAa,CAAA;EAC3C"}
@@ -0,0 +1,96 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { StatusBadge as t } from "./StatusBadge.js";
3
+ import { AlertTriangle as n, Shield as r, TrendingUp as i } from "lucide-react";
4
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
+ //#region src/adaptercloud/components/InvestmentCard.tsx
6
+ var s = {
7
+ low: {
8
+ label: "Low Risk",
9
+ icon: r,
10
+ color: "text-green-600 dark:text-green-400"
11
+ },
12
+ medium: {
13
+ label: "Medium Risk",
14
+ icon: n,
15
+ color: "text-yellow-600 dark:text-yellow-400"
16
+ },
17
+ high: {
18
+ label: "High Risk",
19
+ icon: n,
20
+ color: "text-red-600 dark:text-red-400"
21
+ }
22
+ }, c = ({ id: n, cartName: r, targetAmount: c, raisedAmount: l, currency: u = "INR", expectedReturns: d, riskLevel: f, status: p, onClick: m, className: h }) => {
23
+ let g = c > 0 ? Math.min(l / c * 100, 100) : 0, _ = s[f], v = _.icon, y = (e) => new Intl.NumberFormat(void 0, {
24
+ style: "currency",
25
+ currency: u,
26
+ maximumFractionDigits: 0
27
+ }).format(e);
28
+ return /* @__PURE__ */ o("div", {
29
+ role: "button",
30
+ tabIndex: 0,
31
+ onClick: () => m?.(n),
32
+ onKeyDown: (e) => {
33
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), m?.(n));
34
+ },
35
+ className: e("rounded-lg border border-border bg-card p-4 shadow-sm transition-colors", "hover:border-accent-foreground/20 hover:shadow-md cursor-pointer", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", h),
36
+ children: [
37
+ /* @__PURE__ */ o("div", {
38
+ className: "flex items-start justify-between",
39
+ children: [/* @__PURE__ */ a("h3", {
40
+ className: "text-base font-semibold text-foreground truncate",
41
+ children: r
42
+ }), /* @__PURE__ */ a(t, { status: p })]
43
+ }),
44
+ /* @__PURE__ */ o("div", {
45
+ className: "mt-4",
46
+ children: [
47
+ /* @__PURE__ */ o("div", {
48
+ className: "flex items-center justify-between text-sm",
49
+ children: [/* @__PURE__ */ a("span", {
50
+ className: "text-muted-foreground",
51
+ children: "Raised"
52
+ }), /* @__PURE__ */ o("span", {
53
+ className: "font-medium text-foreground",
54
+ children: [Math.round(g), "%"]
55
+ })]
56
+ }),
57
+ /* @__PURE__ */ a("div", {
58
+ className: "mt-1.5 h-2 w-full rounded-full bg-muted overflow-hidden",
59
+ children: /* @__PURE__ */ a("div", {
60
+ className: "h-full rounded-full bg-primary transition-all duration-300",
61
+ style: { width: `${g}%` }
62
+ })
63
+ }),
64
+ /* @__PURE__ */ o("div", {
65
+ className: "mt-1.5 flex items-center justify-between text-xs text-muted-foreground",
66
+ children: [/* @__PURE__ */ a("span", { children: y(l) }), /* @__PURE__ */ a("span", { children: y(c) })]
67
+ })
68
+ ]
69
+ }),
70
+ /* @__PURE__ */ o("div", {
71
+ className: "mt-4 flex items-center justify-between",
72
+ children: [/* @__PURE__ */ o("div", {
73
+ className: "flex items-center gap-1.5 text-sm",
74
+ children: [
75
+ /* @__PURE__ */ a(i, { className: "h-3.5 w-3.5 text-green-600 dark:text-green-400" }),
76
+ /* @__PURE__ */ a("span", {
77
+ className: "font-medium text-foreground",
78
+ children: d
79
+ }),
80
+ /* @__PURE__ */ a("span", {
81
+ className: "text-muted-foreground",
82
+ children: "returns"
83
+ })
84
+ ]
85
+ }), /* @__PURE__ */ o("div", {
86
+ className: e("flex items-center gap-1 text-xs font-medium", _.color),
87
+ children: [/* @__PURE__ */ a(v, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ a("span", { children: _.label })]
88
+ })]
89
+ })
90
+ ]
91
+ });
92
+ };
93
+ //#endregion
94
+ export { c as InvestmentCard };
95
+
96
+ //# sourceMappingURL=InvestmentCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvestmentCard.js","names":[],"sources":["../../../src/adaptercloud/components/InvestmentCard.tsx"],"sourcesContent":["/**\n * Investment Card Component\n * @module adaptercloud/components\n *\n * Displays an investment opportunity with cart name, target/raised amounts,\n * progress bar, expected returns, risk level, and status.\n */\n\nimport type { FC } from 'react';\nimport { TrendingUp, AlertTriangle, Shield } from 'lucide-react';\nimport { cn } from '../utils/cn';\nimport { StatusBadge } from './StatusBadge';\nimport type { InvestmentStatus, RiskLevel } from '../types';\n\ninterface InvestmentCardProps {\n id: string;\n cartName: string;\n targetAmount: number;\n raisedAmount: number;\n currency?: string;\n expectedReturns: string;\n riskLevel: RiskLevel;\n status: InvestmentStatus;\n onClick?: (id: string) => void;\n className?: string;\n}\n\nconst riskConfig: Record<RiskLevel, { label: string; icon: typeof Shield; color: string }> = {\n low: {\n label: 'Low Risk',\n icon: Shield,\n color: 'text-green-600 dark:text-green-400',\n },\n medium: {\n label: 'Medium Risk',\n icon: AlertTriangle,\n color: 'text-yellow-600 dark:text-yellow-400',\n },\n high: {\n label: 'High Risk',\n icon: AlertTriangle,\n color: 'text-red-600 dark:text-red-400',\n },\n};\n\nexport const InvestmentCard: FC<InvestmentCardProps> = ({\n id,\n cartName,\n targetAmount,\n raisedAmount,\n currency = 'INR',\n expectedReturns,\n riskLevel,\n status,\n onClick,\n className,\n}) => {\n const progress = targetAmount > 0 ? Math.min((raisedAmount / targetAmount) * 100, 100) : 0;\n const risk = riskConfig[riskLevel];\n const RiskIcon = risk.icon;\n\n const formatAmount = (amount: number) =>\n new Intl.NumberFormat(undefined, {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(amount);\n\n return (\n <div\n role=\"button\"\n tabIndex={0}\n onClick={() => onClick?.(id)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick?.(id);\n }\n }}\n className={cn(\n 'rounded-lg border border-border bg-card p-4 shadow-sm transition-colors',\n 'hover:border-accent-foreground/20 hover:shadow-md cursor-pointer',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n className\n )}\n >\n {/* Header */}\n <div className=\"flex items-start justify-between\">\n <h3 className=\"text-base font-semibold text-foreground truncate\">{cartName}</h3>\n <StatusBadge status={status} />\n </div>\n\n {/* Progress Bar */}\n <div className=\"mt-4\">\n <div className=\"flex items-center justify-between text-sm\">\n <span className=\"text-muted-foreground\">Raised</span>\n <span className=\"font-medium text-foreground\">{Math.round(progress)}%</span>\n </div>\n <div className=\"mt-1.5 h-2 w-full rounded-full bg-muted overflow-hidden\">\n <div\n className=\"h-full rounded-full bg-primary transition-all duration-300\"\n style={{ width: `${progress}%` }}\n />\n </div>\n <div className=\"mt-1.5 flex items-center justify-between text-xs text-muted-foreground\">\n <span>{formatAmount(raisedAmount)}</span>\n <span>{formatAmount(targetAmount)}</span>\n </div>\n </div>\n\n {/* Details */}\n <div className=\"mt-4 flex items-center justify-between\">\n <div className=\"flex items-center gap-1.5 text-sm\">\n <TrendingUp className=\"h-3.5 w-3.5 text-green-600 dark:text-green-400\" />\n <span className=\"font-medium text-foreground\">{expectedReturns}</span>\n <span className=\"text-muted-foreground\">returns</span>\n </div>\n <div className={cn('flex items-center gap-1 text-xs font-medium', risk.color)}>\n <RiskIcon className=\"h-3.5 w-3.5\" />\n <span>{risk.label}</span>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;AA2BA,IAAM,IAAuF;CAC3F,KAAK;EACH,OAAO;EACP,MAAM;EACN,OAAO;EACR;CACD,QAAQ;EACN,OAAO;EACP,MAAM;EACN,OAAO;EACR;CACD,MAAM;EACJ,OAAO;EACP,MAAM;EACN,OAAO;EACR;CACF,EAEY,KAA2C,EACtD,OACA,aACA,iBACA,iBACA,cAAW,OACX,oBACA,cACA,WACA,YACA,mBACI;CACJ,IAAM,IAAW,IAAe,IAAI,KAAK,IAAK,IAAe,IAAgB,KAAK,IAAI,GAAG,GACnF,IAAO,EAAW,IAClB,IAAW,EAAK,MAEhB,KAAgB,MACpB,IAAI,KAAK,aAAa,KAAA,GAAW;EAC/B,OAAO;EACP;EACA,uBAAuB;EACxB,CAAC,CAAC,OAAO,EAAO;AAEnB,QACE,kBAAC,OAAD;EACE,MAAK;EACL,UAAU;EACV,eAAe,IAAU,EAAG;EAC5B,YAAY,MAAM;AAChB,IAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,gBAAgB,EAClB,IAAU,EAAG;;EAGjB,WAAW,EACT,2EACA,oEACA,2EACA,EACD;YAfH;GAkBE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,MAAD;KAAI,WAAU;eAAoD;KAAc,CAAA,EAChF,kBAAC,GAAD,EAAqB,WAAU,CAAA,CAC3B;;GAGN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,QAAD;OAAM,WAAU;iBAAwB;OAAa,CAAA,EACrD,kBAAC,QAAD;OAAM,WAAU;iBAAhB,CAA+C,KAAK,MAAM,EAAS,EAAC,IAAQ;SACxE;;KACN,kBAAC,OAAD;MAAK,WAAU;gBACb,kBAAC,OAAD;OACE,WAAU;OACV,OAAO,EAAE,OAAO,GAAG,EAAS,IAAI;OAChC,CAAA;MACE,CAAA;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,QAAD,EAAA,UAAO,EAAa,EAAa,EAAQ,CAAA,EACzC,kBAAC,QAAD,EAAA,UAAO,EAAa,EAAa,EAAQ,CAAA,CACrC;;KACF;;GAGN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,GAAD,EAAY,WAAU,kDAAmD,CAAA;MACzE,kBAAC,QAAD;OAAM,WAAU;iBAA+B;OAAuB,CAAA;MACtE,kBAAC,QAAD;OAAM,WAAU;iBAAwB;OAAc,CAAA;MAClD;QACN,kBAAC,OAAD;KAAK,WAAW,EAAG,+CAA+C,EAAK,MAAM;eAA7E,CACE,kBAAC,GAAD,EAAU,WAAU,eAAgB,CAAA,EACpC,kBAAC,QAAD,EAAA,UAAO,EAAK,OAAa,CAAA,CACrB;OACF;;GACF"}