@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.
- package/README.md +12 -0
- package/dist/adaptercloud/AdapterCloudRoot.js +177 -0
- package/dist/adaptercloud/AdapterCloudRoot.js.map +1 -0
- package/dist/adaptercloud/AdapterCloudRoutes.js +215 -0
- package/dist/adaptercloud/AdapterCloudRoutes.js.map +1 -0
- package/dist/adaptercloud/components/EmptyState.js +28 -0
- package/dist/adaptercloud/components/EmptyState.js.map +1 -0
- package/dist/adaptercloud/components/InvestmentCard.js +96 -0
- package/dist/adaptercloud/components/InvestmentCard.js.map +1 -0
- package/dist/adaptercloud/components/MetricsCard.js +46 -0
- package/dist/adaptercloud/components/MetricsCard.js.map +1 -0
- package/dist/adaptercloud/components/PageLayout.js +26 -0
- package/dist/adaptercloud/components/PageLayout.js.map +1 -0
- package/dist/adaptercloud/components/RatingDisplay.js +35 -0
- package/dist/adaptercloud/components/RatingDisplay.js.map +1 -0
- package/dist/adaptercloud/components/StatusBadge.js +45 -0
- package/dist/adaptercloud/components/StatusBadge.js.map +1 -0
- package/dist/adaptercloud/context/AdapterCloudContext.js +93 -0
- package/dist/adaptercloud/context/AdapterCloudContext.js.map +1 -0
- package/dist/adaptercloud/context/index.js +1 -0
- package/dist/adaptercloud/hooks/useAdapterCloudApi.js +223 -0
- package/dist/adaptercloud/hooks/useAdapterCloudApi.js.map +1 -0
- package/dist/adaptercloud/index.js +7 -0
- package/dist/adaptercloud/mocks/data.js +1517 -0
- package/dist/adaptercloud/mocks/data.js.map +1 -0
- package/dist/adaptercloud/mocks/users.js +34 -0
- package/dist/adaptercloud/mocks/users.js.map +1 -0
- package/dist/adaptercloud/pages/HomePage.js +921 -0
- package/dist/adaptercloud/pages/HomePage.js.map +1 -0
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js +645 -0
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js.map +1 -0
- package/dist/adaptercloud/pages/admin/AdminDashboard.js +639 -0
- package/dist/adaptercloud/pages/admin/AdminDashboard.js.map +1 -0
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js +421 -0
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js.map +1 -0
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js +660 -0
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js.map +1 -0
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js +259 -0
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js.map +1 -0
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js +649 -0
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js.map +1 -0
- package/dist/adaptercloud/pages/admin/CartManagementPage.js +869 -0
- package/dist/adaptercloud/pages/admin/CartManagementPage.js.map +1 -0
- package/dist/adaptercloud/pages/admin/UserManagementPage.js +893 -0
- package/dist/adaptercloud/pages/admin/UserManagementPage.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js +834 -0
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js +700 -0
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js +760 -0
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js +886 -0
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js +631 -0
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js +913 -0
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js +881 -0
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js.map +1 -0
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js +833 -0
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js.map +1 -0
- package/dist/adaptercloud/pages/common/HelpSupportPage.js +1325 -0
- package/dist/adaptercloud/pages/common/HelpSupportPage.js.map +1 -0
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js +665 -0
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js.map +1 -0
- package/dist/adaptercloud/pages/common/SettingsPage.js +964 -0
- package/dist/adaptercloud/pages/common/SettingsPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js +593 -0
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/CartDetailPage.js +620 -0
- package/dist/adaptercloud/pages/customer/CartDetailPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js +547 -0
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/CheckoutPage.js +532 -0
- package/dist/adaptercloud/pages/customer/CheckoutPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js +496 -0
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js.map +1 -0
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js +621 -0
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js +623 -0
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/FavoritesPage.js +477 -0
- package/dist/adaptercloud/pages/customer/FavoritesPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js +438 -0
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js +388 -0
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js +488 -0
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/ReviewsPage.js +606 -0
- package/dist/adaptercloud/pages/customer/ReviewsPage.js.map +1 -0
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js +443 -0
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js.map +1 -0
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js +849 -0
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js.map +1 -0
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js +939 -0
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js.map +1 -0
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js +681 -0
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js.map +1 -0
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js +419 -0
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js.map +1 -0
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js +399 -0
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js.map +1 -0
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js +569 -0
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js.map +1 -0
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js +1065 -0
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js.map +1 -0
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js +496 -0
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js.map +1 -0
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js +634 -0
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js.map +1 -0
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js +675 -0
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js.map +1 -0
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js +687 -0
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js.map +1 -0
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js +578 -0
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js.map +1 -0
- package/dist/adaptercloud/store/adaptercloudStore.js +38 -0
- package/dist/adaptercloud/store/adaptercloudStore.js.map +1 -0
- package/dist/adaptercloud/store/index.js +1 -0
- package/dist/adaptercloud/utils/cn.js +10 -0
- package/dist/adaptercloud/utils/cn.js.map +1 -0
- package/dist/adaptercloud/utils/formatters.js +51 -0
- package/dist/adaptercloud/utils/formatters.js.map +1 -0
- package/dist/adaptercloud/utils/navigation.js +9 -0
- package/dist/adaptercloud/utils/navigation.js.map +1 -0
- package/dist/index.js +7 -0
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
- package/dist/node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,849 @@
|
|
|
1
|
+
import { useAdapterCloud as e } from "../../context/AdapterCloudContext.js";
|
|
2
|
+
import { cn as t } from "../../utils/cn.js";
|
|
3
|
+
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
+
import { formatCurrency as r, formatDate as i } from "../../utils/formatters.js";
|
|
5
|
+
import { useEffect as a, useState as o } from "react";
|
|
6
|
+
import { Activity as s, AlertCircle as c, ArrowLeft as l, BarChart3 as u, Building2 as d, CheckCircle2 as f, Clock as p, Download as m, FileText as h, IndianRupee as g, Package as _, PieChart as v, Star as y, TrendingUp as b, Users as x, X as S } from "lucide-react";
|
|
7
|
+
import { jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
8
|
+
//#region src/adaptercloud/pages/investor/InvestmentDetailsPage.tsx
|
|
9
|
+
var T = {
|
|
10
|
+
id: "INV-001",
|
|
11
|
+
cartName: "Dosa Express - Koramangala",
|
|
12
|
+
cartOwner: "Suresh Rao",
|
|
13
|
+
location: "Koramangala 6th Block, Bangalore",
|
|
14
|
+
businessType: "South Indian Cuisine",
|
|
15
|
+
establishedDate: "2022-06-15",
|
|
16
|
+
investmentAmount: 5e5,
|
|
17
|
+
investmentDate: "2023-03-10",
|
|
18
|
+
equityPercentage: 15,
|
|
19
|
+
valuationAtInvestment: 3333333,
|
|
20
|
+
currentValuation: 4333333,
|
|
21
|
+
investmentType: "Equity Investment",
|
|
22
|
+
monthlyRevenue: 28e4,
|
|
23
|
+
monthlyOrders: 1850,
|
|
24
|
+
averageOrderValue: 151,
|
|
25
|
+
customerRating: 4.6,
|
|
26
|
+
activeCustomers: 450,
|
|
27
|
+
revenueGrowth: 18.5,
|
|
28
|
+
profitMargin: 22,
|
|
29
|
+
returnOnInvestment: 30,
|
|
30
|
+
paybackPeriod: "2.5 years",
|
|
31
|
+
documents: [
|
|
32
|
+
{
|
|
33
|
+
type: "Investment Agreement",
|
|
34
|
+
name: "investment_agreement_dosa_express.pdf",
|
|
35
|
+
uploadDate: "2023-03-10",
|
|
36
|
+
status: "verified"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: "Financial Statement",
|
|
40
|
+
name: "financial_statement_q4_2023.pdf",
|
|
41
|
+
uploadDate: "2024-01-05",
|
|
42
|
+
status: "verified"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: "Tax Returns",
|
|
46
|
+
name: "tax_returns_2023.pdf",
|
|
47
|
+
uploadDate: "2024-01-10",
|
|
48
|
+
status: "pending"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
type: "Business License",
|
|
52
|
+
name: "fssai_license.pdf",
|
|
53
|
+
uploadDate: "2023-03-08",
|
|
54
|
+
status: "verified"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
recentUpdates: [
|
|
58
|
+
{
|
|
59
|
+
date: "2024-01-12",
|
|
60
|
+
type: "Performance",
|
|
61
|
+
description: "Monthly revenue exceeded target by 15%"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
date: "2024-01-08",
|
|
65
|
+
type: "Operations",
|
|
66
|
+
description: "Expanded menu with 5 new items"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
date: "2024-01-01",
|
|
70
|
+
type: "Financial",
|
|
71
|
+
description: "Q4 2023 profit distribution completed"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
date: "2023-12-20",
|
|
75
|
+
type: "Growth",
|
|
76
|
+
description: "Opened second location in BTM Layout"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
};
|
|
80
|
+
function E(e) {
|
|
81
|
+
switch (e) {
|
|
82
|
+
case "verified": return {
|
|
83
|
+
color: "text-green-600 dark:text-green-400",
|
|
84
|
+
Icon: f,
|
|
85
|
+
label: "Verified"
|
|
86
|
+
};
|
|
87
|
+
case "pending": return {
|
|
88
|
+
color: "text-yellow-600 dark:text-yellow-400",
|
|
89
|
+
Icon: p,
|
|
90
|
+
label: "Pending"
|
|
91
|
+
};
|
|
92
|
+
case "rejected": return {
|
|
93
|
+
color: "text-red-600 dark:text-red-400",
|
|
94
|
+
Icon: c,
|
|
95
|
+
label: "Rejected"
|
|
96
|
+
};
|
|
97
|
+
default: return {
|
|
98
|
+
color: "text-muted-foreground",
|
|
99
|
+
Icon: c,
|
|
100
|
+
label: e
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function D() {
|
|
105
|
+
let { navigateTo: f } = e(), [p, D] = o("overview"), [O, k] = o(!0), [A, j] = o(!1), [M, N] = o(null);
|
|
106
|
+
a(() => {
|
|
107
|
+
let e = setTimeout(() => {
|
|
108
|
+
N(T), k(!1);
|
|
109
|
+
}, 600);
|
|
110
|
+
return () => clearTimeout(e);
|
|
111
|
+
}, []);
|
|
112
|
+
let P = [
|
|
113
|
+
{
|
|
114
|
+
id: "overview",
|
|
115
|
+
label: "Overview",
|
|
116
|
+
Icon: u
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: "financials",
|
|
120
|
+
label: "Financials",
|
|
121
|
+
Icon: g
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: "documents",
|
|
125
|
+
label: "Documents",
|
|
126
|
+
Icon: h
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: "updates",
|
|
130
|
+
label: "Updates",
|
|
131
|
+
Icon: s
|
|
132
|
+
}
|
|
133
|
+
];
|
|
134
|
+
if (O) return /* @__PURE__ */ C(n, {
|
|
135
|
+
title: "Investment Details",
|
|
136
|
+
description: "Loading...",
|
|
137
|
+
children: /* @__PURE__ */ C("div", {
|
|
138
|
+
className: "flex items-center justify-center py-20",
|
|
139
|
+
children: /* @__PURE__ */ w("div", {
|
|
140
|
+
className: "text-center",
|
|
141
|
+
children: [/* @__PURE__ */ C("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ C("p", {
|
|
142
|
+
className: "text-sm text-muted-foreground",
|
|
143
|
+
children: "Loading investment details..."
|
|
144
|
+
})]
|
|
145
|
+
})
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
if (!M) return /* @__PURE__ */ C(n, {
|
|
149
|
+
title: "Investment Not Found",
|
|
150
|
+
children: /* @__PURE__ */ w("div", {
|
|
151
|
+
className: "flex flex-col items-center justify-center py-12",
|
|
152
|
+
children: [/* @__PURE__ */ C(c, { className: "mb-4 h-12 w-12 text-red-500" }), /* @__PURE__ */ C("p", {
|
|
153
|
+
className: "text-foreground",
|
|
154
|
+
children: "Investment not found"
|
|
155
|
+
})]
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
let F = M.currentValuation * (M.equityPercentage / 100) - M.investmentAmount, I = F / M.investmentAmount * 100;
|
|
159
|
+
return /* @__PURE__ */ w(n, {
|
|
160
|
+
title: M.cartName,
|
|
161
|
+
description: "Investment Details & Performance",
|
|
162
|
+
actions: /* @__PURE__ */ w("div", {
|
|
163
|
+
className: "flex items-center gap-2",
|
|
164
|
+
children: [
|
|
165
|
+
/* @__PURE__ */ w("button", {
|
|
166
|
+
type: "button",
|
|
167
|
+
onClick: () => f("/investor/portfolio"),
|
|
168
|
+
className: "flex items-center gap-1.5 rounded-lg border border-border px-3 py-2 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
169
|
+
children: [
|
|
170
|
+
/* @__PURE__ */ C(l, { className: "h-4 w-4" }),
|
|
171
|
+
/* @__PURE__ */ C("span", {
|
|
172
|
+
className: "hidden sm:inline",
|
|
173
|
+
children: "Back to Portfolio"
|
|
174
|
+
}),
|
|
175
|
+
/* @__PURE__ */ C("span", {
|
|
176
|
+
className: "sm:hidden",
|
|
177
|
+
children: "Back"
|
|
178
|
+
})
|
|
179
|
+
]
|
|
180
|
+
}),
|
|
181
|
+
/* @__PURE__ */ w("button", {
|
|
182
|
+
type: "button",
|
|
183
|
+
onClick: () => alert("Report export initiated"),
|
|
184
|
+
className: "flex items-center gap-1.5 rounded-lg border border-border px-3 py-2 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
185
|
+
children: [
|
|
186
|
+
/* @__PURE__ */ C(m, { className: "h-4 w-4" }),
|
|
187
|
+
/* @__PURE__ */ C("span", {
|
|
188
|
+
className: "hidden sm:inline",
|
|
189
|
+
children: "Export Report"
|
|
190
|
+
}),
|
|
191
|
+
/* @__PURE__ */ C("span", {
|
|
192
|
+
className: "sm:hidden",
|
|
193
|
+
children: "Export"
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
}),
|
|
197
|
+
/* @__PURE__ */ w("button", {
|
|
198
|
+
type: "button",
|
|
199
|
+
onClick: () => j(!0),
|
|
200
|
+
className: "rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",
|
|
201
|
+
children: [/* @__PURE__ */ C("span", {
|
|
202
|
+
className: "hidden sm:inline",
|
|
203
|
+
children: "Manage Investment"
|
|
204
|
+
}), /* @__PURE__ */ C("span", {
|
|
205
|
+
className: "sm:hidden",
|
|
206
|
+
children: "Manage"
|
|
207
|
+
})]
|
|
208
|
+
})
|
|
209
|
+
]
|
|
210
|
+
}),
|
|
211
|
+
children: [
|
|
212
|
+
/* @__PURE__ */ w("div", {
|
|
213
|
+
className: "grid grid-cols-2 gap-4 lg:grid-cols-4",
|
|
214
|
+
children: [
|
|
215
|
+
/* @__PURE__ */ w("div", {
|
|
216
|
+
className: "rounded-lg border border-border bg-card p-4 text-center",
|
|
217
|
+
children: [
|
|
218
|
+
/* @__PURE__ */ C(g, { className: "mx-auto mb-2 h-6 w-6 text-primary sm:h-8 sm:w-8" }),
|
|
219
|
+
/* @__PURE__ */ C("div", {
|
|
220
|
+
className: "text-lg font-bold text-foreground sm:text-2xl",
|
|
221
|
+
children: r(M.investmentAmount, { minimumFractionDigits: 0 })
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ C("div", {
|
|
224
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
225
|
+
children: "Your Investment"
|
|
226
|
+
})
|
|
227
|
+
]
|
|
228
|
+
}),
|
|
229
|
+
/* @__PURE__ */ w("div", {
|
|
230
|
+
className: "rounded-lg border border-border bg-card p-4 text-center",
|
|
231
|
+
children: [
|
|
232
|
+
/* @__PURE__ */ C(b, { className: "mx-auto mb-2 h-6 w-6 text-green-600 sm:h-8 sm:w-8" }),
|
|
233
|
+
/* @__PURE__ */ w("div", {
|
|
234
|
+
className: "text-lg font-bold text-green-600 dark:text-green-400 sm:text-2xl",
|
|
235
|
+
children: [
|
|
236
|
+
I > 0 ? "+" : "",
|
|
237
|
+
I.toFixed(1),
|
|
238
|
+
"%"
|
|
239
|
+
]
|
|
240
|
+
}),
|
|
241
|
+
/* @__PURE__ */ C("div", {
|
|
242
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
243
|
+
children: "Returns"
|
|
244
|
+
})
|
|
245
|
+
]
|
|
246
|
+
}),
|
|
247
|
+
/* @__PURE__ */ w("div", {
|
|
248
|
+
className: "rounded-lg border border-border bg-card p-4 text-center",
|
|
249
|
+
children: [
|
|
250
|
+
/* @__PURE__ */ C(v, { className: "mx-auto mb-2 h-6 w-6 text-blue-600 sm:h-8 sm:w-8" }),
|
|
251
|
+
/* @__PURE__ */ w("div", {
|
|
252
|
+
className: "text-lg font-bold text-foreground sm:text-2xl",
|
|
253
|
+
children: [M.equityPercentage, "%"]
|
|
254
|
+
}),
|
|
255
|
+
/* @__PURE__ */ C("div", {
|
|
256
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
257
|
+
children: "Equity Stake"
|
|
258
|
+
})
|
|
259
|
+
]
|
|
260
|
+
}),
|
|
261
|
+
/* @__PURE__ */ w("div", {
|
|
262
|
+
className: "rounded-lg border border-border bg-card p-4 text-center",
|
|
263
|
+
children: [
|
|
264
|
+
/* @__PURE__ */ C(d, { className: "mx-auto mb-2 h-6 w-6 text-purple-600 sm:h-8 sm:w-8" }),
|
|
265
|
+
/* @__PURE__ */ C("div", {
|
|
266
|
+
className: "text-lg font-bold text-foreground sm:text-2xl",
|
|
267
|
+
children: r(M.currentValuation * (M.equityPercentage / 100), { minimumFractionDigits: 0 })
|
|
268
|
+
}),
|
|
269
|
+
/* @__PURE__ */ C("div", {
|
|
270
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
271
|
+
children: "Current Value"
|
|
272
|
+
})
|
|
273
|
+
]
|
|
274
|
+
})
|
|
275
|
+
]
|
|
276
|
+
}),
|
|
277
|
+
/* @__PURE__ */ C("div", {
|
|
278
|
+
className: "mt-6 flex gap-2 overflow-x-auto pb-2",
|
|
279
|
+
children: P.map((e) => /* @__PURE__ */ w("button", {
|
|
280
|
+
type: "button",
|
|
281
|
+
onClick: () => D(e.id),
|
|
282
|
+
className: t("flex items-center gap-2 whitespace-nowrap rounded-lg px-3 py-2 text-sm font-medium transition-colors sm:px-4 sm:py-3", p === e.id ? "bg-primary text-primary-foreground" : "bg-card text-foreground hover:bg-muted"),
|
|
283
|
+
children: [
|
|
284
|
+
/* @__PURE__ */ C(e.Icon, { className: "h-4 w-4 flex-shrink-0" }),
|
|
285
|
+
/* @__PURE__ */ C("span", {
|
|
286
|
+
className: "hidden sm:inline",
|
|
287
|
+
children: e.label
|
|
288
|
+
}),
|
|
289
|
+
/* @__PURE__ */ C("span", {
|
|
290
|
+
className: "sm:hidden",
|
|
291
|
+
children: e.label.split(" ")[0]
|
|
292
|
+
})
|
|
293
|
+
]
|
|
294
|
+
}, e.id))
|
|
295
|
+
}),
|
|
296
|
+
/* @__PURE__ */ w("div", {
|
|
297
|
+
className: "mt-6",
|
|
298
|
+
children: [
|
|
299
|
+
p === "overview" && /* @__PURE__ */ w("div", {
|
|
300
|
+
className: "grid gap-6 lg:grid-cols-3",
|
|
301
|
+
children: [/* @__PURE__ */ w("div", {
|
|
302
|
+
className: "space-y-6 lg:col-span-2",
|
|
303
|
+
children: [/* @__PURE__ */ w("div", {
|
|
304
|
+
className: "rounded-lg border border-border bg-card p-4 sm:p-6",
|
|
305
|
+
children: [/* @__PURE__ */ C("h2", {
|
|
306
|
+
className: "mb-4 text-lg font-semibold text-foreground sm:mb-6",
|
|
307
|
+
children: "Business Information"
|
|
308
|
+
}), /* @__PURE__ */ w("div", {
|
|
309
|
+
className: "grid gap-4 sm:grid-cols-2 sm:gap-6",
|
|
310
|
+
children: [
|
|
311
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
312
|
+
className: "text-sm text-muted-foreground",
|
|
313
|
+
children: "Owner"
|
|
314
|
+
}), /* @__PURE__ */ C("p", {
|
|
315
|
+
className: "font-medium text-foreground",
|
|
316
|
+
children: M.cartOwner
|
|
317
|
+
})] }),
|
|
318
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
319
|
+
className: "text-sm text-muted-foreground",
|
|
320
|
+
children: "Business Type"
|
|
321
|
+
}), /* @__PURE__ */ C("p", {
|
|
322
|
+
className: "font-medium text-foreground",
|
|
323
|
+
children: M.businessType
|
|
324
|
+
})] }),
|
|
325
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
326
|
+
className: "text-sm text-muted-foreground",
|
|
327
|
+
children: "Location"
|
|
328
|
+
}), /* @__PURE__ */ C("p", {
|
|
329
|
+
className: "font-medium text-foreground",
|
|
330
|
+
children: M.location
|
|
331
|
+
})] }),
|
|
332
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
333
|
+
className: "text-sm text-muted-foreground",
|
|
334
|
+
children: "Established"
|
|
335
|
+
}), /* @__PURE__ */ C("p", {
|
|
336
|
+
className: "font-medium text-foreground",
|
|
337
|
+
children: i(M.establishedDate, {
|
|
338
|
+
hour: void 0,
|
|
339
|
+
minute: void 0
|
|
340
|
+
})
|
|
341
|
+
})] })
|
|
342
|
+
]
|
|
343
|
+
})]
|
|
344
|
+
}), /* @__PURE__ */ w("div", {
|
|
345
|
+
className: "rounded-lg border border-border bg-card p-4 sm:p-6",
|
|
346
|
+
children: [
|
|
347
|
+
/* @__PURE__ */ C("h2", {
|
|
348
|
+
className: "mb-4 text-lg font-semibold text-foreground sm:mb-6",
|
|
349
|
+
children: "Performance Metrics"
|
|
350
|
+
}),
|
|
351
|
+
/* @__PURE__ */ w("div", {
|
|
352
|
+
className: "grid grid-cols-1 gap-4 text-center sm:grid-cols-3 sm:gap-6",
|
|
353
|
+
children: [
|
|
354
|
+
/* @__PURE__ */ w("div", { children: [
|
|
355
|
+
/* @__PURE__ */ C(_, { className: "mx-auto mb-2 h-6 w-6 text-primary sm:h-8 sm:w-8" }),
|
|
356
|
+
/* @__PURE__ */ C("div", {
|
|
357
|
+
className: "text-xl font-bold text-foreground sm:text-2xl",
|
|
358
|
+
children: M.monthlyOrders
|
|
359
|
+
}),
|
|
360
|
+
/* @__PURE__ */ C("div", {
|
|
361
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
362
|
+
children: "Monthly Orders"
|
|
363
|
+
})
|
|
364
|
+
] }),
|
|
365
|
+
/* @__PURE__ */ w("div", { children: [
|
|
366
|
+
/* @__PURE__ */ C(g, { className: "mx-auto mb-2 h-6 w-6 text-green-600 sm:h-8 sm:w-8" }),
|
|
367
|
+
/* @__PURE__ */ C("div", {
|
|
368
|
+
className: "text-xl font-bold text-foreground sm:text-2xl",
|
|
369
|
+
children: r(M.monthlyRevenue, { minimumFractionDigits: 0 })
|
|
370
|
+
}),
|
|
371
|
+
/* @__PURE__ */ C("div", {
|
|
372
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
373
|
+
children: "Monthly Revenue"
|
|
374
|
+
})
|
|
375
|
+
] }),
|
|
376
|
+
/* @__PURE__ */ w("div", { children: [
|
|
377
|
+
/* @__PURE__ */ C(x, { className: "mx-auto mb-2 h-6 w-6 text-blue-600 sm:h-8 sm:w-8" }),
|
|
378
|
+
/* @__PURE__ */ C("div", {
|
|
379
|
+
className: "text-xl font-bold text-foreground sm:text-2xl",
|
|
380
|
+
children: M.activeCustomers
|
|
381
|
+
}),
|
|
382
|
+
/* @__PURE__ */ C("div", {
|
|
383
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
384
|
+
children: "Active Customers"
|
|
385
|
+
})
|
|
386
|
+
] })
|
|
387
|
+
]
|
|
388
|
+
}),
|
|
389
|
+
/* @__PURE__ */ w("div", {
|
|
390
|
+
className: "mt-4 flex flex-col items-start justify-between gap-4 border-t border-border pt-4 sm:mt-6 sm:flex-row sm:items-center sm:pt-6",
|
|
391
|
+
children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
392
|
+
className: "text-sm text-muted-foreground",
|
|
393
|
+
children: "Customer Rating"
|
|
394
|
+
}), /* @__PURE__ */ w("div", {
|
|
395
|
+
className: "mt-1 flex items-center gap-1",
|
|
396
|
+
children: [Array.from({ length: 5 }, (e, n) => /* @__PURE__ */ C(y, { className: t("h-4 w-4", n < Math.floor(M.customerRating) ? "fill-yellow-400 text-yellow-400" : "fill-none text-muted-foreground/40") }, n)), /* @__PURE__ */ C("span", {
|
|
397
|
+
className: "ml-1 text-sm font-medium text-foreground",
|
|
398
|
+
children: M.customerRating
|
|
399
|
+
})]
|
|
400
|
+
})] }), /* @__PURE__ */ w("div", {
|
|
401
|
+
className: "text-left sm:text-right",
|
|
402
|
+
children: [/* @__PURE__ */ C("p", {
|
|
403
|
+
className: "text-sm text-muted-foreground",
|
|
404
|
+
children: "Avg Order Value"
|
|
405
|
+
}), /* @__PURE__ */ C("p", {
|
|
406
|
+
className: "text-lg font-semibold text-foreground",
|
|
407
|
+
children: r(M.averageOrderValue, { minimumFractionDigits: 0 })
|
|
408
|
+
})]
|
|
409
|
+
})]
|
|
410
|
+
})
|
|
411
|
+
]
|
|
412
|
+
})]
|
|
413
|
+
}), /* @__PURE__ */ w("div", {
|
|
414
|
+
className: "space-y-6",
|
|
415
|
+
children: [/* @__PURE__ */ w("div", {
|
|
416
|
+
className: "rounded-lg border border-border bg-card p-4 sm:p-6",
|
|
417
|
+
children: [/* @__PURE__ */ C("h2", {
|
|
418
|
+
className: "mb-4 text-lg font-semibold text-foreground sm:mb-6",
|
|
419
|
+
children: "Investment Summary"
|
|
420
|
+
}), /* @__PURE__ */ w("div", {
|
|
421
|
+
className: "space-y-4",
|
|
422
|
+
children: [
|
|
423
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
424
|
+
className: "text-sm text-muted-foreground",
|
|
425
|
+
children: "Investment Date"
|
|
426
|
+
}), /* @__PURE__ */ C("p", {
|
|
427
|
+
className: "font-medium text-foreground",
|
|
428
|
+
children: i(M.investmentDate, {
|
|
429
|
+
hour: void 0,
|
|
430
|
+
minute: void 0
|
|
431
|
+
})
|
|
432
|
+
})] }),
|
|
433
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
434
|
+
className: "text-sm text-muted-foreground",
|
|
435
|
+
children: "Investment Type"
|
|
436
|
+
}), /* @__PURE__ */ C("p", {
|
|
437
|
+
className: "font-medium text-foreground",
|
|
438
|
+
children: M.investmentType
|
|
439
|
+
})] }),
|
|
440
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
441
|
+
className: "text-sm text-muted-foreground",
|
|
442
|
+
children: "Initial Valuation"
|
|
443
|
+
}), /* @__PURE__ */ C("p", {
|
|
444
|
+
className: "font-medium text-foreground",
|
|
445
|
+
children: r(M.valuationAtInvestment, { minimumFractionDigits: 0 })
|
|
446
|
+
})] }),
|
|
447
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
448
|
+
className: "text-sm text-muted-foreground",
|
|
449
|
+
children: "Current Valuation"
|
|
450
|
+
}), /* @__PURE__ */ C("p", {
|
|
451
|
+
className: "text-lg font-medium text-foreground",
|
|
452
|
+
children: r(M.currentValuation, { minimumFractionDigits: 0 })
|
|
453
|
+
})] }),
|
|
454
|
+
/* @__PURE__ */ C("div", {
|
|
455
|
+
className: "border-t border-border pt-4",
|
|
456
|
+
children: /* @__PURE__ */ w("div", {
|
|
457
|
+
className: "flex items-center justify-between",
|
|
458
|
+
children: [/* @__PURE__ */ C("span", {
|
|
459
|
+
className: "text-sm text-muted-foreground",
|
|
460
|
+
children: "Your Returns"
|
|
461
|
+
}), /* @__PURE__ */ w("span", {
|
|
462
|
+
className: t("text-lg font-semibold", F > 0 ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400"),
|
|
463
|
+
children: [F > 0 ? "+" : "", r(F, { minimumFractionDigits: 0 })]
|
|
464
|
+
})]
|
|
465
|
+
})
|
|
466
|
+
})
|
|
467
|
+
]
|
|
468
|
+
})]
|
|
469
|
+
}), /* @__PURE__ */ w("div", {
|
|
470
|
+
className: "rounded-lg border border-border bg-card p-4 sm:p-6",
|
|
471
|
+
children: [/* @__PURE__ */ C("h2", {
|
|
472
|
+
className: "mb-4 text-lg font-semibold text-foreground sm:mb-6",
|
|
473
|
+
children: "Growth Indicators"
|
|
474
|
+
}), /* @__PURE__ */ w("div", {
|
|
475
|
+
className: "space-y-4",
|
|
476
|
+
children: [
|
|
477
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
|
|
478
|
+
className: "mb-2 flex items-center justify-between",
|
|
479
|
+
children: [/* @__PURE__ */ C("span", {
|
|
480
|
+
className: "text-sm text-muted-foreground",
|
|
481
|
+
children: "Revenue Growth"
|
|
482
|
+
}), /* @__PURE__ */ w("span", {
|
|
483
|
+
className: "text-sm font-medium text-green-600 dark:text-green-400",
|
|
484
|
+
children: [
|
|
485
|
+
"+",
|
|
486
|
+
M.revenueGrowth,
|
|
487
|
+
"%"
|
|
488
|
+
]
|
|
489
|
+
})]
|
|
490
|
+
}), /* @__PURE__ */ C("div", {
|
|
491
|
+
className: "h-2 w-full overflow-hidden rounded-full bg-muted",
|
|
492
|
+
children: /* @__PURE__ */ C("div", {
|
|
493
|
+
className: "h-full rounded-full bg-green-600",
|
|
494
|
+
style: { width: `${Math.min(M.revenueGrowth, 100)}%` }
|
|
495
|
+
})
|
|
496
|
+
})] }),
|
|
497
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
|
|
498
|
+
className: "mb-2 flex items-center justify-between",
|
|
499
|
+
children: [/* @__PURE__ */ C("span", {
|
|
500
|
+
className: "text-sm text-muted-foreground",
|
|
501
|
+
children: "Profit Margin"
|
|
502
|
+
}), /* @__PURE__ */ w("span", {
|
|
503
|
+
className: "text-sm font-medium text-foreground",
|
|
504
|
+
children: [M.profitMargin, "%"]
|
|
505
|
+
})]
|
|
506
|
+
}), /* @__PURE__ */ C("div", {
|
|
507
|
+
className: "h-2 w-full overflow-hidden rounded-full bg-muted",
|
|
508
|
+
children: /* @__PURE__ */ C("div", {
|
|
509
|
+
className: "h-full rounded-full bg-blue-600",
|
|
510
|
+
style: { width: `${M.profitMargin}%` }
|
|
511
|
+
})
|
|
512
|
+
})] }),
|
|
513
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
|
|
514
|
+
className: "mb-2 flex items-center justify-between",
|
|
515
|
+
children: [/* @__PURE__ */ C("span", {
|
|
516
|
+
className: "text-sm text-muted-foreground",
|
|
517
|
+
children: "ROI"
|
|
518
|
+
}), /* @__PURE__ */ w("span", {
|
|
519
|
+
className: "text-sm font-medium text-green-600 dark:text-green-400",
|
|
520
|
+
children: [
|
|
521
|
+
"+",
|
|
522
|
+
M.returnOnInvestment,
|
|
523
|
+
"%"
|
|
524
|
+
]
|
|
525
|
+
})]
|
|
526
|
+
}), /* @__PURE__ */ C("div", {
|
|
527
|
+
className: "h-2 w-full overflow-hidden rounded-full bg-muted",
|
|
528
|
+
children: /* @__PURE__ */ C("div", {
|
|
529
|
+
className: "h-full rounded-full bg-green-500",
|
|
530
|
+
style: { width: `${Math.min(M.returnOnInvestment, 100)}%` }
|
|
531
|
+
})
|
|
532
|
+
})] }),
|
|
533
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
534
|
+
className: "text-sm text-muted-foreground",
|
|
535
|
+
children: "Expected Payback"
|
|
536
|
+
}), /* @__PURE__ */ C("p", {
|
|
537
|
+
className: "font-medium text-foreground",
|
|
538
|
+
children: M.paybackPeriod
|
|
539
|
+
})] })
|
|
540
|
+
]
|
|
541
|
+
})]
|
|
542
|
+
})]
|
|
543
|
+
})]
|
|
544
|
+
}),
|
|
545
|
+
p === "financials" && /* @__PURE__ */ w("div", {
|
|
546
|
+
className: "rounded-lg border border-border bg-card p-4 sm:p-6",
|
|
547
|
+
children: [
|
|
548
|
+
/* @__PURE__ */ C("h2", {
|
|
549
|
+
className: "mb-4 text-lg font-semibold text-foreground sm:mb-6",
|
|
550
|
+
children: "Financial Performance"
|
|
551
|
+
}),
|
|
552
|
+
/* @__PURE__ */ w("div", {
|
|
553
|
+
className: "mb-6 grid grid-cols-2 gap-4 lg:grid-cols-4",
|
|
554
|
+
children: [
|
|
555
|
+
/* @__PURE__ */ w("div", {
|
|
556
|
+
className: "rounded-lg bg-muted/50 p-3",
|
|
557
|
+
children: [/* @__PURE__ */ C("p", {
|
|
558
|
+
className: "text-xs text-muted-foreground",
|
|
559
|
+
children: "Monthly Revenue"
|
|
560
|
+
}), /* @__PURE__ */ C("p", {
|
|
561
|
+
className: "mt-1 text-lg font-bold text-foreground",
|
|
562
|
+
children: r(M.monthlyRevenue, { minimumFractionDigits: 0 })
|
|
563
|
+
})]
|
|
564
|
+
}),
|
|
565
|
+
/* @__PURE__ */ w("div", {
|
|
566
|
+
className: "rounded-lg bg-muted/50 p-3",
|
|
567
|
+
children: [/* @__PURE__ */ C("p", {
|
|
568
|
+
className: "text-xs text-muted-foreground",
|
|
569
|
+
children: "Revenue Growth"
|
|
570
|
+
}), /* @__PURE__ */ w("p", {
|
|
571
|
+
className: "mt-1 text-lg font-bold text-green-600 dark:text-green-400",
|
|
572
|
+
children: [
|
|
573
|
+
"+",
|
|
574
|
+
M.revenueGrowth,
|
|
575
|
+
"%"
|
|
576
|
+
]
|
|
577
|
+
})]
|
|
578
|
+
}),
|
|
579
|
+
/* @__PURE__ */ w("div", {
|
|
580
|
+
className: "rounded-lg bg-muted/50 p-3",
|
|
581
|
+
children: [/* @__PURE__ */ C("p", {
|
|
582
|
+
className: "text-xs text-muted-foreground",
|
|
583
|
+
children: "Profit Margin"
|
|
584
|
+
}), /* @__PURE__ */ w("p", {
|
|
585
|
+
className: "mt-1 text-lg font-bold text-foreground",
|
|
586
|
+
children: [M.profitMargin, "%"]
|
|
587
|
+
})]
|
|
588
|
+
}),
|
|
589
|
+
/* @__PURE__ */ w("div", {
|
|
590
|
+
className: "rounded-lg bg-muted/50 p-3",
|
|
591
|
+
children: [/* @__PURE__ */ C("p", {
|
|
592
|
+
className: "text-xs text-muted-foreground",
|
|
593
|
+
children: "Avg Order Value"
|
|
594
|
+
}), /* @__PURE__ */ C("p", {
|
|
595
|
+
className: "mt-1 text-lg font-bold text-foreground",
|
|
596
|
+
children: r(M.averageOrderValue, { minimumFractionDigits: 0 })
|
|
597
|
+
})]
|
|
598
|
+
})
|
|
599
|
+
]
|
|
600
|
+
}),
|
|
601
|
+
/* @__PURE__ */ C("div", {
|
|
602
|
+
className: "overflow-hidden rounded-lg border border-border",
|
|
603
|
+
children: /* @__PURE__ */ w("table", {
|
|
604
|
+
className: "w-full",
|
|
605
|
+
children: [/* @__PURE__ */ C("thead", { children: /* @__PURE__ */ w("tr", {
|
|
606
|
+
className: "bg-muted/50",
|
|
607
|
+
children: [
|
|
608
|
+
/* @__PURE__ */ C("th", {
|
|
609
|
+
className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wider text-muted-foreground",
|
|
610
|
+
children: "Metric"
|
|
611
|
+
}),
|
|
612
|
+
/* @__PURE__ */ C("th", {
|
|
613
|
+
className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wider text-muted-foreground",
|
|
614
|
+
children: "Value"
|
|
615
|
+
}),
|
|
616
|
+
/* @__PURE__ */ C("th", {
|
|
617
|
+
className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wider text-muted-foreground",
|
|
618
|
+
children: "Trend"
|
|
619
|
+
})
|
|
620
|
+
]
|
|
621
|
+
}) }), /* @__PURE__ */ C("tbody", {
|
|
622
|
+
className: "divide-y divide-border",
|
|
623
|
+
children: [
|
|
624
|
+
{
|
|
625
|
+
metric: "Monthly Revenue",
|
|
626
|
+
value: r(M.monthlyRevenue, { minimumFractionDigits: 0 }),
|
|
627
|
+
trend: "+18.5%"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
metric: "Monthly Orders",
|
|
631
|
+
value: String(M.monthlyOrders),
|
|
632
|
+
trend: "+12%"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
metric: "Average Order Value",
|
|
636
|
+
value: r(M.averageOrderValue, { minimumFractionDigits: 0 }),
|
|
637
|
+
trend: "+5.8%"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
metric: "Active Customers",
|
|
641
|
+
value: String(M.activeCustomers),
|
|
642
|
+
trend: "+22%"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
metric: "Profit Margin",
|
|
646
|
+
value: `${M.profitMargin}%`,
|
|
647
|
+
trend: "+2.1%"
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
metric: "Return on Investment",
|
|
651
|
+
value: `${M.returnOnInvestment}%`,
|
|
652
|
+
trend: "+8.5%"
|
|
653
|
+
}
|
|
654
|
+
].map((e) => /* @__PURE__ */ w("tr", {
|
|
655
|
+
className: "hover:bg-accent/50 transition-colors",
|
|
656
|
+
children: [
|
|
657
|
+
/* @__PURE__ */ C("td", {
|
|
658
|
+
className: "px-4 py-3 text-sm font-medium text-foreground",
|
|
659
|
+
children: e.metric
|
|
660
|
+
}),
|
|
661
|
+
/* @__PURE__ */ C("td", {
|
|
662
|
+
className: "px-4 py-3 text-right text-sm text-foreground",
|
|
663
|
+
children: e.value
|
|
664
|
+
}),
|
|
665
|
+
/* @__PURE__ */ C("td", {
|
|
666
|
+
className: "px-4 py-3 text-right text-sm font-medium text-green-600 dark:text-green-400",
|
|
667
|
+
children: e.trend
|
|
668
|
+
})
|
|
669
|
+
]
|
|
670
|
+
}, e.metric))
|
|
671
|
+
})]
|
|
672
|
+
})
|
|
673
|
+
})
|
|
674
|
+
]
|
|
675
|
+
}),
|
|
676
|
+
p === "documents" && /* @__PURE__ */ w("div", {
|
|
677
|
+
className: "rounded-lg border border-border bg-card p-4 sm:p-6",
|
|
678
|
+
children: [/* @__PURE__ */ C("h2", {
|
|
679
|
+
className: "mb-4 text-lg font-semibold text-foreground sm:mb-6",
|
|
680
|
+
children: "Investment Documents"
|
|
681
|
+
}), /* @__PURE__ */ C("div", {
|
|
682
|
+
className: "space-y-4",
|
|
683
|
+
children: M.documents.map((e, n) => {
|
|
684
|
+
let r = E(e.status), a = r.Icon;
|
|
685
|
+
return /* @__PURE__ */ w("div", {
|
|
686
|
+
className: "flex flex-col gap-4 rounded-lg bg-muted/50 p-4 sm:flex-row sm:items-center sm:justify-between",
|
|
687
|
+
children: [/* @__PURE__ */ w("div", {
|
|
688
|
+
className: "flex items-start gap-3 flex-1 min-w-0 sm:items-center sm:gap-4",
|
|
689
|
+
children: [/* @__PURE__ */ C(h, { className: "mt-1 h-6 w-6 flex-shrink-0 text-primary sm:mt-0 sm:h-8 sm:w-8" }), /* @__PURE__ */ w("div", {
|
|
690
|
+
className: "min-w-0 flex-1",
|
|
691
|
+
children: [
|
|
692
|
+
/* @__PURE__ */ C("h4", {
|
|
693
|
+
className: "text-sm font-medium text-foreground sm:text-base",
|
|
694
|
+
children: e.type
|
|
695
|
+
}),
|
|
696
|
+
/* @__PURE__ */ C("p", {
|
|
697
|
+
className: "truncate text-xs text-muted-foreground sm:text-sm",
|
|
698
|
+
children: e.name
|
|
699
|
+
}),
|
|
700
|
+
/* @__PURE__ */ w("p", {
|
|
701
|
+
className: "text-xs text-muted-foreground",
|
|
702
|
+
children: [
|
|
703
|
+
"Uploaded",
|
|
704
|
+
" ",
|
|
705
|
+
i(e.uploadDate, {
|
|
706
|
+
hour: void 0,
|
|
707
|
+
minute: void 0
|
|
708
|
+
})
|
|
709
|
+
]
|
|
710
|
+
})
|
|
711
|
+
]
|
|
712
|
+
})]
|
|
713
|
+
}), /* @__PURE__ */ w("div", {
|
|
714
|
+
className: "flex w-full items-center justify-between gap-3 sm:w-auto sm:justify-end",
|
|
715
|
+
children: [/* @__PURE__ */ w("span", {
|
|
716
|
+
className: t("flex items-center gap-1 text-xs sm:text-sm", r.color),
|
|
717
|
+
children: [/* @__PURE__ */ C(a, { className: "h-3 w-3 sm:h-4 sm:w-4" }), /* @__PURE__ */ C("span", {
|
|
718
|
+
className: "capitalize",
|
|
719
|
+
children: r.label
|
|
720
|
+
})]
|
|
721
|
+
}), /* @__PURE__ */ w("button", {
|
|
722
|
+
type: "button",
|
|
723
|
+
onClick: () => alert(`Downloading ${e.name}`),
|
|
724
|
+
className: "flex items-center gap-1 rounded-lg border border-border px-3 py-1.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
725
|
+
children: [/* @__PURE__ */ C(m, { className: "h-3 w-3 sm:h-4 sm:w-4" }), /* @__PURE__ */ C("span", {
|
|
726
|
+
className: "hidden sm:inline",
|
|
727
|
+
children: "Download"
|
|
728
|
+
})]
|
|
729
|
+
})]
|
|
730
|
+
})]
|
|
731
|
+
}, n);
|
|
732
|
+
})
|
|
733
|
+
})]
|
|
734
|
+
}),
|
|
735
|
+
p === "updates" && /* @__PURE__ */ w("div", {
|
|
736
|
+
className: "rounded-lg border border-border bg-card p-4 sm:p-6",
|
|
737
|
+
children: [/* @__PURE__ */ C("h2", {
|
|
738
|
+
className: "mb-4 text-lg font-semibold text-foreground sm:mb-6",
|
|
739
|
+
children: "Recent Updates"
|
|
740
|
+
}), /* @__PURE__ */ C("div", {
|
|
741
|
+
className: "space-y-4",
|
|
742
|
+
children: M.recentUpdates.map((e, t) => /* @__PURE__ */ w("div", {
|
|
743
|
+
className: "flex gap-3 rounded-lg bg-muted/50 p-4 sm:gap-4",
|
|
744
|
+
children: [/* @__PURE__ */ C("div", {
|
|
745
|
+
className: "flex-shrink-0",
|
|
746
|
+
children: /* @__PURE__ */ C(s, { className: "mt-1 h-4 w-4 text-primary sm:h-5 sm:w-5" })
|
|
747
|
+
}), /* @__PURE__ */ w("div", {
|
|
748
|
+
className: "min-w-0 flex-1",
|
|
749
|
+
children: [/* @__PURE__ */ w("div", {
|
|
750
|
+
className: "mb-1 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between",
|
|
751
|
+
children: [/* @__PURE__ */ C("h4", {
|
|
752
|
+
className: "text-sm font-medium text-foreground sm:text-base",
|
|
753
|
+
children: e.type
|
|
754
|
+
}), /* @__PURE__ */ C("span", {
|
|
755
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
756
|
+
children: i(e.date, {
|
|
757
|
+
hour: void 0,
|
|
758
|
+
minute: void 0
|
|
759
|
+
})
|
|
760
|
+
})]
|
|
761
|
+
}), /* @__PURE__ */ C("p", {
|
|
762
|
+
className: "text-xs text-muted-foreground sm:text-sm",
|
|
763
|
+
children: e.description
|
|
764
|
+
})]
|
|
765
|
+
})]
|
|
766
|
+
}, t))
|
|
767
|
+
})]
|
|
768
|
+
})
|
|
769
|
+
]
|
|
770
|
+
}),
|
|
771
|
+
A && /* @__PURE__ */ C("div", {
|
|
772
|
+
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
773
|
+
children: /* @__PURE__ */ w("div", {
|
|
774
|
+
className: "relative max-h-[90vh] w-full max-w-md overflow-y-auto rounded-lg border border-border bg-card",
|
|
775
|
+
children: [
|
|
776
|
+
/* @__PURE__ */ w("div", {
|
|
777
|
+
className: "border-b border-border p-4 sm:p-6",
|
|
778
|
+
children: [/* @__PURE__ */ C("button", {
|
|
779
|
+
type: "button",
|
|
780
|
+
onClick: () => j(!1),
|
|
781
|
+
className: "absolute right-3 top-3 rounded-lg p-1 text-muted-foreground hover:bg-accent transition-colors",
|
|
782
|
+
children: /* @__PURE__ */ C(S, { className: "h-5 w-5" })
|
|
783
|
+
}), /* @__PURE__ */ C("h2", {
|
|
784
|
+
className: "text-lg font-semibold text-foreground sm:text-xl",
|
|
785
|
+
children: "Manage Investment"
|
|
786
|
+
})]
|
|
787
|
+
}),
|
|
788
|
+
/* @__PURE__ */ w("div", {
|
|
789
|
+
className: "space-y-4 p-4 sm:p-6",
|
|
790
|
+
children: [
|
|
791
|
+
/* @__PURE__ */ w("p", {
|
|
792
|
+
className: "text-sm text-muted-foreground sm:text-base",
|
|
793
|
+
children: [
|
|
794
|
+
"Choose an action for your investment in ",
|
|
795
|
+
M.cartName,
|
|
796
|
+
":"
|
|
797
|
+
]
|
|
798
|
+
}),
|
|
799
|
+
/* @__PURE__ */ w("div", {
|
|
800
|
+
className: "space-y-3",
|
|
801
|
+
children: [
|
|
802
|
+
/* @__PURE__ */ C("button", {
|
|
803
|
+
type: "button",
|
|
804
|
+
onClick: () => alert("Partial withdrawal request submitted"),
|
|
805
|
+
className: "w-full rounded-lg border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
806
|
+
children: "Request Partial Withdrawal"
|
|
807
|
+
}),
|
|
808
|
+
/* @__PURE__ */ C("button", {
|
|
809
|
+
type: "button",
|
|
810
|
+
onClick: () => alert("Transfer ownership feature coming soon"),
|
|
811
|
+
className: "w-full rounded-lg border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
812
|
+
children: "Transfer Ownership"
|
|
813
|
+
}),
|
|
814
|
+
/* @__PURE__ */ C("button", {
|
|
815
|
+
type: "button",
|
|
816
|
+
onClick: () => alert("Exit options will be displayed"),
|
|
817
|
+
className: "w-full rounded-lg border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
818
|
+
children: "View Exit Options"
|
|
819
|
+
})
|
|
820
|
+
]
|
|
821
|
+
}),
|
|
822
|
+
/* @__PURE__ */ C("div", {
|
|
823
|
+
className: "rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-3 sm:p-4",
|
|
824
|
+
children: /* @__PURE__ */ C("p", {
|
|
825
|
+
className: "text-xs text-yellow-800 dark:text-yellow-200 sm:text-sm",
|
|
826
|
+
children: "Any changes to your investment require approval from the business owner and may be subject to terms in your investment agreement."
|
|
827
|
+
})
|
|
828
|
+
})
|
|
829
|
+
]
|
|
830
|
+
}),
|
|
831
|
+
/* @__PURE__ */ C("div", {
|
|
832
|
+
className: "flex justify-end gap-3 border-t border-border p-4 sm:p-6",
|
|
833
|
+
children: /* @__PURE__ */ C("button", {
|
|
834
|
+
type: "button",
|
|
835
|
+
onClick: () => j(!1),
|
|
836
|
+
className: "rounded-lg border border-border px-4 py-2 text-sm font-medium text-foreground hover:bg-accent transition-colors",
|
|
837
|
+
children: "Cancel"
|
|
838
|
+
})
|
|
839
|
+
})
|
|
840
|
+
]
|
|
841
|
+
})
|
|
842
|
+
})
|
|
843
|
+
]
|
|
844
|
+
});
|
|
845
|
+
}
|
|
846
|
+
//#endregion
|
|
847
|
+
export { D as InvestmentDetailsPage };
|
|
848
|
+
|
|
849
|
+
//# sourceMappingURL=InvestmentDetailsPage.js.map
|