@burdenoff/microfe-coolandlovely 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/coolandlovely/CoolAndLovelyRoot.d.ts +5 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.d.ts.map +1 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.js +177 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.js.map +1 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts +4 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts.map +1 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.js +215 -0
- package/dist/coolandlovely/CoolAndLovelyRoutes.js.map +1 -0
- package/dist/coolandlovely/components/CartCard.d.ts +18 -0
- package/dist/coolandlovely/components/CartCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/EmptyState.d.ts +12 -0
- package/dist/coolandlovely/components/EmptyState.d.ts.map +1 -0
- package/dist/coolandlovely/components/EmptyState.js +28 -0
- package/dist/coolandlovely/components/EmptyState.js.map +1 -0
- package/dist/coolandlovely/components/InvestmentCard.d.ts +18 -0
- package/dist/coolandlovely/components/InvestmentCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/InvestmentCard.js +96 -0
- package/dist/coolandlovely/components/InvestmentCard.js.map +1 -0
- package/dist/coolandlovely/components/MetricsCard.d.ts +14 -0
- package/dist/coolandlovely/components/MetricsCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/MetricsCard.js +46 -0
- package/dist/coolandlovely/components/MetricsCard.js.map +1 -0
- package/dist/coolandlovely/components/OrderCard.d.ts +18 -0
- package/dist/coolandlovely/components/OrderCard.d.ts.map +1 -0
- package/dist/coolandlovely/components/PageLayout.d.ts +12 -0
- package/dist/coolandlovely/components/PageLayout.d.ts.map +1 -0
- package/dist/coolandlovely/components/PageLayout.js +26 -0
- package/dist/coolandlovely/components/PageLayout.js.map +1 -0
- package/dist/coolandlovely/components/RatingDisplay.d.ts +12 -0
- package/dist/coolandlovely/components/RatingDisplay.d.ts.map +1 -0
- package/dist/coolandlovely/components/RatingDisplay.js +35 -0
- package/dist/coolandlovely/components/RatingDisplay.js.map +1 -0
- package/dist/coolandlovely/components/StatusBadge.d.ts +9 -0
- package/dist/coolandlovely/components/StatusBadge.d.ts.map +1 -0
- package/dist/coolandlovely/components/StatusBadge.js +45 -0
- package/dist/coolandlovely/components/StatusBadge.js.map +1 -0
- package/dist/coolandlovely/components/index.d.ts +13 -0
- package/dist/coolandlovely/components/index.d.ts.map +1 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts +16 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts.map +1 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.js +93 -0
- package/dist/coolandlovely/context/CoolAndLovelyContext.js.map +1 -0
- package/dist/coolandlovely/context/index.d.ts +6 -0
- package/dist/coolandlovely/context/index.d.ts.map +1 -0
- package/dist/coolandlovely/context/index.js +1 -0
- package/dist/coolandlovely/hooks/index.d.ts +2 -0
- package/dist/coolandlovely/hooks/index.d.ts.map +1 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts +44 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts.map +1 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js +223 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js.map +1 -0
- package/dist/coolandlovely/index.d.ts +11 -0
- package/dist/coolandlovely/index.d.ts.map +1 -0
- package/dist/coolandlovely/index.js +7 -0
- package/dist/coolandlovely/mocks/data.d.ts +61 -0
- package/dist/coolandlovely/mocks/data.d.ts.map +1 -0
- package/dist/coolandlovely/mocks/data.js +1517 -0
- package/dist/coolandlovely/mocks/data.js.map +1 -0
- package/dist/coolandlovely/mocks/index.d.ts +7 -0
- package/dist/coolandlovely/mocks/index.d.ts.map +1 -0
- package/dist/coolandlovely/mocks/users.d.ts +18 -0
- package/dist/coolandlovely/mocks/users.d.ts.map +1 -0
- package/dist/coolandlovely/mocks/users.js +34 -0
- package/dist/coolandlovely/mocks/users.js.map +1 -0
- package/dist/coolandlovely/pages/HomePage.d.ts +10 -0
- package/dist/coolandlovely/pages/HomePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/HomePage.js +921 -0
- package/dist/coolandlovely/pages/HomePage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +645 -0
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.js +639 -0
- package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.d.ts +11 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +421 -0
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +660 -0
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js +259 -0
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +649 -0
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.js +869 -0
- package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.d.ts +10 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.js +893 -0
- package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.d.ts +12 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +834 -0
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +700 -0
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +760 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.d.ts +12 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +886 -0
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +631 -0
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +913 -0
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.d.ts +10 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +881 -0
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.d.ts +11 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +833 -0
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +1 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.d.ts +11 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.js +1325 -0
- package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +1 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.d.ts +11 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js +665 -0
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +1 -0
- package/dist/coolandlovely/pages/common/SettingsPage.d.ts +9 -0
- package/dist/coolandlovely/pages/common/SettingsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/common/SettingsPage.js +964 -0
- package/dist/coolandlovely/pages/common/SettingsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.d.ts +12 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +593 -0
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.d.ts +13 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.js +620 -0
- package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +547 -0
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.d.ts +9 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.js +532 -0
- package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.d.ts +10 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js +496 -0
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.d.ts +10 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +621 -0
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.d.ts +12 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +623 -0
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.js +477 -0
- package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.d.ts +9 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +438 -0
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.d.ts +9 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +388 -0
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +488 -0
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.js +606 -0
- package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +1 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.d.ts +10 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +443 -0
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +849 -0
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +939 -0
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.d.ts +11 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +681 -0
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.d.ts +9 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js +419 -0
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +399 -0
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.d.ts +10 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +569 -0
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.d.ts +12 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +1065 -0
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.d.ts +22 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +496 -0
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.d.ts +18 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js +634 -0
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.d.ts +18 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +675 -0
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.d.ts +18 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +687 -0
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.d.ts +17 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +578 -0
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js.map +1 -0
- package/dist/coolandlovely/store/coolandlovelyStore.d.ts +60 -0
- package/dist/coolandlovely/store/coolandlovelyStore.d.ts.map +1 -0
- package/dist/coolandlovely/store/coolandlovelyStore.js +38 -0
- package/dist/coolandlovely/store/coolandlovelyStore.js.map +1 -0
- package/dist/coolandlovely/store/index.d.ts +6 -0
- package/dist/coolandlovely/store/index.d.ts.map +1 -0
- package/dist/coolandlovely/store/index.js +1 -0
- package/dist/coolandlovely/types/index.d.ts +458 -0
- package/dist/coolandlovely/types/index.d.ts.map +1 -0
- package/dist/coolandlovely/utils/cn.d.ts +4 -0
- package/dist/coolandlovely/utils/cn.d.ts.map +1 -0
- package/dist/coolandlovely/utils/cn.js +10 -0
- package/dist/coolandlovely/utils/cn.js.map +1 -0
- package/dist/coolandlovely/utils/formatters.d.ts +78 -0
- package/dist/coolandlovely/utils/formatters.d.ts.map +1 -0
- package/dist/coolandlovely/utils/formatters.js +51 -0
- package/dist/coolandlovely/utils/formatters.js.map +1 -0
- package/dist/coolandlovely/utils/index.d.ts +8 -0
- package/dist/coolandlovely/utils/index.d.ts.map +1 -0
- package/dist/coolandlovely/utils/navigation.d.ts +20 -0
- package/dist/coolandlovely/utils/navigation.d.ts.map +1 -0
- package/dist/coolandlovely/utils/navigation.js +9 -0
- package/dist/coolandlovely/utils/navigation.js.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +23527 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +57851 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.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 @@
|
|
|
1
|
+
{"version":3,"file":"InvestmentDetailsPage.js","names":[],"sources":["../../../../src/coolandlovely/pages/investor/InvestmentDetailsPage.tsx"],"sourcesContent":["/**\n * Investment Details Page\n * @module coolandlovely/pages/investor\n *\n * 4-tab UI (overview/financials/documents/updates), manage investment modal,\n * growth indicators with progress bars, document status badges\n * (verified/pending/rejected), investment summary sidebar, back navigation.\n */\n\nimport { useState, useMemo, useEffect } from 'react';\nimport {\n ArrowLeft,\n TrendingUp,\n Shield,\n AlertTriangle,\n Users,\n FileText,\n Clock,\n Building2,\n IndianRupee,\n Calendar,\n Download,\n BarChart3,\n PieChart,\n Activity,\n Package,\n Star,\n CheckCircle2,\n AlertCircle,\n X,\n} from 'lucide-react';\nimport { PageLayout } from '../../components/PageLayout';\nimport { StatusBadge } from '../../components/StatusBadge';\nimport { useCoolAndLovely } from '../../context/CoolAndLovelyContext';\nimport { cn } from '../../utils/cn';\nimport { formatCurrency, formatDate } from '../../utils/formatters';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ninterface InvestmentDetails {\n id: string;\n cartName: string;\n cartOwner: string;\n location: string;\n businessType: string;\n establishedDate: string;\n\n investmentAmount: number;\n investmentDate: string;\n equityPercentage: number;\n valuationAtInvestment: number;\n currentValuation: number;\n investmentType: string;\n\n monthlyRevenue: number;\n monthlyOrders: number;\n averageOrderValue: number;\n customerRating: number;\n activeCustomers: number;\n\n revenueGrowth: number;\n profitMargin: number;\n returnOnInvestment: number;\n paybackPeriod: string;\n\n documents: Array<{\n type: string;\n name: string;\n uploadDate: string;\n status: 'verified' | 'pending' | 'rejected';\n }>;\n\n recentUpdates: Array<{\n date: string;\n type: string;\n description: string;\n }>;\n}\n\ntype TabKey = 'overview' | 'financials' | 'documents' | 'updates';\n\n// ---------------------------------------------------------------------------\n// Mock data\n// ---------------------------------------------------------------------------\n\nconst mockInvestmentDetails: InvestmentDetails = {\n id: 'INV-001',\n cartName: 'Dosa Express - Koramangala',\n cartOwner: 'Suresh Rao',\n location: 'Koramangala 6th Block, Bangalore',\n businessType: 'South Indian Cuisine',\n establishedDate: '2022-06-15',\n\n investmentAmount: 500000,\n investmentDate: '2023-03-10',\n equityPercentage: 15,\n valuationAtInvestment: 3333333,\n currentValuation: 4333333,\n investmentType: 'Equity Investment',\n\n monthlyRevenue: 280000,\n monthlyOrders: 1850,\n averageOrderValue: 151,\n customerRating: 4.6,\n activeCustomers: 450,\n\n revenueGrowth: 18.5,\n profitMargin: 22,\n returnOnInvestment: 30,\n paybackPeriod: '2.5 years',\n\n documents: [\n {\n type: 'Investment Agreement',\n name: 'investment_agreement_dosa_express.pdf',\n uploadDate: '2023-03-10',\n status: 'verified',\n },\n {\n type: 'Financial Statement',\n name: 'financial_statement_q4_2023.pdf',\n uploadDate: '2024-01-05',\n status: 'verified',\n },\n {\n type: 'Tax Returns',\n name: 'tax_returns_2023.pdf',\n uploadDate: '2024-01-10',\n status: 'pending',\n },\n {\n type: 'Business License',\n name: 'fssai_license.pdf',\n uploadDate: '2023-03-08',\n status: 'verified',\n },\n ],\n\n recentUpdates: [\n {\n date: '2024-01-12',\n type: 'Performance',\n description: 'Monthly revenue exceeded target by 15%',\n },\n {\n date: '2024-01-08',\n type: 'Operations',\n description: 'Expanded menu with 5 new items',\n },\n {\n date: '2024-01-01',\n type: 'Financial',\n description: 'Q4 2023 profit distribution completed',\n },\n {\n date: '2023-12-20',\n type: 'Growth',\n description: 'Opened second location in BTM Layout',\n },\n ],\n};\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction getDocStatusConfig(status: string) {\n switch (status) {\n case 'verified':\n return {\n color: 'text-green-600 dark:text-green-400',\n Icon: CheckCircle2,\n label: 'Verified',\n };\n case 'pending':\n return {\n color: 'text-yellow-600 dark:text-yellow-400',\n Icon: Clock,\n label: 'Pending',\n };\n case 'rejected':\n return {\n color: 'text-red-600 dark:text-red-400',\n Icon: AlertCircle,\n label: 'Rejected',\n };\n default:\n return {\n color: 'text-muted-foreground',\n Icon: AlertCircle,\n label: status,\n };\n }\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function InvestmentDetailsPage() {\n const { navigateTo } = useCoolAndLovely();\n const [activeTab, setActiveTab] = useState<TabKey>('overview');\n const [isLoading, setIsLoading] = useState(true);\n const [showManageModal, setShowManageModal] = useState(false);\n const [investment, setInvestment] = useState<InvestmentDetails | null>(null);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setInvestment(mockInvestmentDetails);\n setIsLoading(false);\n }, 600);\n return () => clearTimeout(timer);\n }, []);\n\n const tabs: Array<{ id: TabKey; label: string; Icon: typeof BarChart3 }> = [\n { id: 'overview', label: 'Overview', Icon: BarChart3 },\n { id: 'financials', label: 'Financials', Icon: IndianRupee },\n { id: 'documents', label: 'Documents', Icon: FileText },\n { id: 'updates', label: 'Updates', Icon: Activity },\n ];\n\n if (isLoading) {\n return (\n <PageLayout title=\"Investment Details\" description=\"Loading...\">\n <div className=\"flex items-center justify-center py-20\">\n <div className=\"text-center\">\n <div className=\"mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary\" />\n <p className=\"text-sm text-muted-foreground\">Loading investment details...</p>\n </div>\n </div>\n </PageLayout>\n );\n }\n\n if (!investment) {\n return (\n <PageLayout title=\"Investment Not Found\">\n <div className=\"flex flex-col items-center justify-center py-12\">\n <AlertCircle className=\"mb-4 h-12 w-12 text-red-500\" />\n <p className=\"text-foreground\">Investment not found</p>\n </div>\n </PageLayout>\n );\n }\n\n const currentReturns =\n investment.currentValuation * (investment.equityPercentage / 100) - investment.investmentAmount;\n const returnsPercentage = (currentReturns / investment.investmentAmount) * 100;\n\n return (\n <PageLayout\n title={investment.cartName}\n description=\"Investment Details & Performance\"\n actions={\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={() => navigateTo('/investor/portfolio')}\n 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\"\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"hidden sm:inline\">Back to Portfolio</span>\n <span className=\"sm:hidden\">Back</span>\n </button>\n <button\n type=\"button\"\n onClick={() => alert('Report export initiated')}\n 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\"\n >\n <Download className=\"h-4 w-4\" />\n <span className=\"hidden sm:inline\">Export Report</span>\n <span className=\"sm:hidden\">Export</span>\n </button>\n <button\n type=\"button\"\n onClick={() => setShowManageModal(true)}\n className=\"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors\"\n >\n <span className=\"hidden sm:inline\">Manage Investment</span>\n <span className=\"sm:hidden\">Manage</span>\n </button>\n </div>\n }\n >\n {/* Investment Summary Cards */}\n <div className=\"grid grid-cols-2 gap-4 lg:grid-cols-4\">\n <div className=\"rounded-lg border border-border bg-card p-4 text-center\">\n <IndianRupee className=\"mx-auto mb-2 h-6 w-6 text-primary sm:h-8 sm:w-8\" />\n <div className=\"text-lg font-bold text-foreground sm:text-2xl\">\n {formatCurrency(investment.investmentAmount, { minimumFractionDigits: 0 })}\n </div>\n <div className=\"text-xs text-muted-foreground sm:text-sm\">Your Investment</div>\n </div>\n <div className=\"rounded-lg border border-border bg-card p-4 text-center\">\n <TrendingUp className=\"mx-auto mb-2 h-6 w-6 text-green-600 sm:h-8 sm:w-8\" />\n <div className=\"text-lg font-bold text-green-600 dark:text-green-400 sm:text-2xl\">\n {returnsPercentage > 0 ? '+' : ''}\n {returnsPercentage.toFixed(1)}%\n </div>\n <div className=\"text-xs text-muted-foreground sm:text-sm\">Returns</div>\n </div>\n <div className=\"rounded-lg border border-border bg-card p-4 text-center\">\n <PieChart className=\"mx-auto mb-2 h-6 w-6 text-blue-600 sm:h-8 sm:w-8\" />\n <div className=\"text-lg font-bold text-foreground sm:text-2xl\">\n {investment.equityPercentage}%\n </div>\n <div className=\"text-xs text-muted-foreground sm:text-sm\">Equity Stake</div>\n </div>\n <div className=\"rounded-lg border border-border bg-card p-4 text-center\">\n <Building2 className=\"mx-auto mb-2 h-6 w-6 text-purple-600 sm:h-8 sm:w-8\" />\n <div className=\"text-lg font-bold text-foreground sm:text-2xl\">\n {formatCurrency(investment.currentValuation * (investment.equityPercentage / 100), {\n minimumFractionDigits: 0,\n })}\n </div>\n <div className=\"text-xs text-muted-foreground sm:text-sm\">Current Value</div>\n </div>\n </div>\n\n {/* Tabs */}\n <div className=\"mt-6 flex gap-2 overflow-x-auto pb-2\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n type=\"button\"\n onClick={() => setActiveTab(tab.id)}\n className={cn(\n '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',\n activeTab === tab.id\n ? 'bg-primary text-primary-foreground'\n : 'bg-card text-foreground hover:bg-muted'\n )}\n >\n <tab.Icon className=\"h-4 w-4 flex-shrink-0\" />\n <span className=\"hidden sm:inline\">{tab.label}</span>\n <span className=\"sm:hidden\">{tab.label.split(' ')[0]}</span>\n </button>\n ))}\n </div>\n\n {/* Tab Content */}\n <div className=\"mt-6\">\n {/* Overview Tab */}\n {activeTab === 'overview' && (\n <div className=\"grid gap-6 lg:grid-cols-3\">\n {/* Business Details */}\n <div className=\"space-y-6 lg:col-span-2\">\n {/* Business Information */}\n <div className=\"rounded-lg border border-border bg-card p-4 sm:p-6\">\n <h2 className=\"mb-4 text-lg font-semibold text-foreground sm:mb-6\">\n Business Information\n </h2>\n <div className=\"grid gap-4 sm:grid-cols-2 sm:gap-6\">\n <div>\n <p className=\"text-sm text-muted-foreground\">Owner</p>\n <p className=\"font-medium text-foreground\">{investment.cartOwner}</p>\n </div>\n <div>\n <p className=\"text-sm text-muted-foreground\">Business Type</p>\n <p className=\"font-medium text-foreground\">{investment.businessType}</p>\n </div>\n <div>\n <p className=\"text-sm text-muted-foreground\">Location</p>\n <p className=\"font-medium text-foreground\">{investment.location}</p>\n </div>\n <div>\n <p className=\"text-sm text-muted-foreground\">Established</p>\n <p className=\"font-medium text-foreground\">\n {formatDate(investment.establishedDate, {\n hour: undefined,\n minute: undefined,\n })}\n </p>\n </div>\n </div>\n </div>\n\n {/* Performance Metrics */}\n <div className=\"rounded-lg border border-border bg-card p-4 sm:p-6\">\n <h2 className=\"mb-4 text-lg font-semibold text-foreground sm:mb-6\">\n Performance Metrics\n </h2>\n <div className=\"grid grid-cols-1 gap-4 text-center sm:grid-cols-3 sm:gap-6\">\n <div>\n <Package className=\"mx-auto mb-2 h-6 w-6 text-primary sm:h-8 sm:w-8\" />\n <div className=\"text-xl font-bold text-foreground sm:text-2xl\">\n {investment.monthlyOrders}\n </div>\n <div className=\"text-xs text-muted-foreground sm:text-sm\">Monthly Orders</div>\n </div>\n <div>\n <IndianRupee className=\"mx-auto mb-2 h-6 w-6 text-green-600 sm:h-8 sm:w-8\" />\n <div className=\"text-xl font-bold text-foreground sm:text-2xl\">\n {formatCurrency(investment.monthlyRevenue, { minimumFractionDigits: 0 })}\n </div>\n <div className=\"text-xs text-muted-foreground sm:text-sm\">Monthly Revenue</div>\n </div>\n <div>\n <Users className=\"mx-auto mb-2 h-6 w-6 text-blue-600 sm:h-8 sm:w-8\" />\n <div className=\"text-xl font-bold text-foreground sm:text-2xl\">\n {investment.activeCustomers}\n </div>\n <div className=\"text-xs text-muted-foreground sm:text-sm\">Active Customers</div>\n </div>\n </div>\n <div 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\">\n <div>\n <p className=\"text-sm text-muted-foreground\">Customer Rating</p>\n <div className=\"mt-1 flex items-center gap-1\">\n {Array.from({ length: 5 }, (_, i) => (\n <Star\n key={i}\n className={cn(\n 'h-4 w-4',\n i < Math.floor(investment.customerRating)\n ? 'fill-yellow-400 text-yellow-400'\n : 'fill-none text-muted-foreground/40'\n )}\n />\n ))}\n <span className=\"ml-1 text-sm font-medium text-foreground\">\n {investment.customerRating}\n </span>\n </div>\n </div>\n <div className=\"text-left sm:text-right\">\n <p className=\"text-sm text-muted-foreground\">Avg Order Value</p>\n <p className=\"text-lg font-semibold text-foreground\">\n {formatCurrency(investment.averageOrderValue, { minimumFractionDigits: 0 })}\n </p>\n </div>\n </div>\n </div>\n </div>\n\n {/* Sidebar */}\n <div className=\"space-y-6\">\n {/* Investment Summary */}\n <div className=\"rounded-lg border border-border bg-card p-4 sm:p-6\">\n <h2 className=\"mb-4 text-lg font-semibold text-foreground sm:mb-6\">\n Investment Summary\n </h2>\n <div className=\"space-y-4\">\n <div>\n <p className=\"text-sm text-muted-foreground\">Investment Date</p>\n <p className=\"font-medium text-foreground\">\n {formatDate(investment.investmentDate, {\n hour: undefined,\n minute: undefined,\n })}\n </p>\n </div>\n <div>\n <p className=\"text-sm text-muted-foreground\">Investment Type</p>\n <p className=\"font-medium text-foreground\">{investment.investmentType}</p>\n </div>\n <div>\n <p className=\"text-sm text-muted-foreground\">Initial Valuation</p>\n <p className=\"font-medium text-foreground\">\n {formatCurrency(investment.valuationAtInvestment, {\n minimumFractionDigits: 0,\n })}\n </p>\n </div>\n <div>\n <p className=\"text-sm text-muted-foreground\">Current Valuation</p>\n <p className=\"text-lg font-medium text-foreground\">\n {formatCurrency(investment.currentValuation, { minimumFractionDigits: 0 })}\n </p>\n </div>\n <div className=\"border-t border-border pt-4\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-sm text-muted-foreground\">Your Returns</span>\n <span\n className={cn(\n 'text-lg font-semibold',\n currentReturns > 0\n ? 'text-green-600 dark:text-green-400'\n : 'text-red-600 dark:text-red-400'\n )}\n >\n {currentReturns > 0 ? '+' : ''}\n {formatCurrency(currentReturns, { minimumFractionDigits: 0 })}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n {/* Growth Indicators */}\n <div className=\"rounded-lg border border-border bg-card p-4 sm:p-6\">\n <h2 className=\"mb-4 text-lg font-semibold text-foreground sm:mb-6\">\n Growth Indicators\n </h2>\n <div className=\"space-y-4\">\n <div>\n <div className=\"mb-2 flex items-center justify-between\">\n <span className=\"text-sm text-muted-foreground\">Revenue Growth</span>\n <span className=\"text-sm font-medium text-green-600 dark:text-green-400\">\n +{investment.revenueGrowth}%\n </span>\n </div>\n <div className=\"h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className=\"h-full rounded-full bg-green-600\"\n style={{ width: `${Math.min(investment.revenueGrowth, 100)}%` }}\n />\n </div>\n </div>\n <div>\n <div className=\"mb-2 flex items-center justify-between\">\n <span className=\"text-sm text-muted-foreground\">Profit Margin</span>\n <span className=\"text-sm font-medium text-foreground\">\n {investment.profitMargin}%\n </span>\n </div>\n <div className=\"h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className=\"h-full rounded-full bg-blue-600\"\n style={{ width: `${investment.profitMargin}%` }}\n />\n </div>\n </div>\n <div>\n <div className=\"mb-2 flex items-center justify-between\">\n <span className=\"text-sm text-muted-foreground\">ROI</span>\n <span className=\"text-sm font-medium text-green-600 dark:text-green-400\">\n +{investment.returnOnInvestment}%\n </span>\n </div>\n <div className=\"h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className=\"h-full rounded-full bg-green-500\"\n style={{ width: `${Math.min(investment.returnOnInvestment, 100)}%` }}\n />\n </div>\n </div>\n <div>\n <p className=\"text-sm text-muted-foreground\">Expected Payback</p>\n <p className=\"font-medium text-foreground\">{investment.paybackPeriod}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n\n {/* Financials Tab */}\n {activeTab === 'financials' && (\n <div className=\"rounded-lg border border-border bg-card p-4 sm:p-6\">\n <h2 className=\"mb-4 text-lg font-semibold text-foreground sm:mb-6\">\n Financial Performance\n </h2>\n\n {/* Key Financial Metrics */}\n <div className=\"mb-6 grid grid-cols-2 gap-4 lg:grid-cols-4\">\n <div className=\"rounded-lg bg-muted/50 p-3\">\n <p className=\"text-xs text-muted-foreground\">Monthly Revenue</p>\n <p className=\"mt-1 text-lg font-bold text-foreground\">\n {formatCurrency(investment.monthlyRevenue, { minimumFractionDigits: 0 })}\n </p>\n </div>\n <div className=\"rounded-lg bg-muted/50 p-3\">\n <p className=\"text-xs text-muted-foreground\">Revenue Growth</p>\n <p className=\"mt-1 text-lg font-bold text-green-600 dark:text-green-400\">\n +{investment.revenueGrowth}%\n </p>\n </div>\n <div className=\"rounded-lg bg-muted/50 p-3\">\n <p className=\"text-xs text-muted-foreground\">Profit Margin</p>\n <p className=\"mt-1 text-lg font-bold text-foreground\">{investment.profitMargin}%</p>\n </div>\n <div className=\"rounded-lg bg-muted/50 p-3\">\n <p className=\"text-xs text-muted-foreground\">Avg Order Value</p>\n <p className=\"mt-1 text-lg font-bold text-foreground\">\n {formatCurrency(investment.averageOrderValue, { minimumFractionDigits: 0 })}\n </p>\n </div>\n </div>\n\n {/* Financial Details Table */}\n <div className=\"overflow-hidden rounded-lg border border-border\">\n <table className=\"w-full\">\n <thead>\n <tr className=\"bg-muted/50\">\n <th className=\"px-4 py-3 text-left text-xs font-medium uppercase tracking-wider text-muted-foreground\">\n Metric\n </th>\n <th className=\"px-4 py-3 text-right text-xs font-medium uppercase tracking-wider text-muted-foreground\">\n Value\n </th>\n <th className=\"px-4 py-3 text-right text-xs font-medium uppercase tracking-wider text-muted-foreground\">\n Trend\n </th>\n </tr>\n </thead>\n <tbody className=\"divide-y divide-border\">\n {[\n {\n metric: 'Monthly Revenue',\n value: formatCurrency(investment.monthlyRevenue, {\n minimumFractionDigits: 0,\n }),\n trend: '+18.5%',\n },\n {\n metric: 'Monthly Orders',\n value: String(investment.monthlyOrders),\n trend: '+12%',\n },\n {\n metric: 'Average Order Value',\n value: formatCurrency(investment.averageOrderValue, {\n minimumFractionDigits: 0,\n }),\n trend: '+5.8%',\n },\n {\n metric: 'Active Customers',\n value: String(investment.activeCustomers),\n trend: '+22%',\n },\n {\n metric: 'Profit Margin',\n value: `${investment.profitMargin}%`,\n trend: '+2.1%',\n },\n {\n metric: 'Return on Investment',\n value: `${investment.returnOnInvestment}%`,\n trend: '+8.5%',\n },\n ].map((row) => (\n <tr key={row.metric} className=\"hover:bg-accent/50 transition-colors\">\n <td className=\"px-4 py-3 text-sm font-medium text-foreground\">\n {row.metric}\n </td>\n <td className=\"px-4 py-3 text-right text-sm text-foreground\">{row.value}</td>\n <td className=\"px-4 py-3 text-right text-sm font-medium text-green-600 dark:text-green-400\">\n {row.trend}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n )}\n\n {/* Documents Tab */}\n {activeTab === 'documents' && (\n <div className=\"rounded-lg border border-border bg-card p-4 sm:p-6\">\n <h2 className=\"mb-4 text-lg font-semibold text-foreground sm:mb-6\">\n Investment Documents\n </h2>\n <div className=\"space-y-4\">\n {investment.documents.map((doc, index) => {\n const statusConfig = getDocStatusConfig(doc.status);\n const StatusIcon = statusConfig.Icon;\n\n return (\n <div\n key={index}\n className=\"flex flex-col gap-4 rounded-lg bg-muted/50 p-4 sm:flex-row sm:items-center sm:justify-between\"\n >\n <div className=\"flex items-start gap-3 flex-1 min-w-0 sm:items-center sm:gap-4\">\n <FileText className=\"mt-1 h-6 w-6 flex-shrink-0 text-primary sm:mt-0 sm:h-8 sm:w-8\" />\n <div className=\"min-w-0 flex-1\">\n <h4 className=\"text-sm font-medium text-foreground sm:text-base\">\n {doc.type}\n </h4>\n <p className=\"truncate text-xs text-muted-foreground sm:text-sm\">\n {doc.name}\n </p>\n <p className=\"text-xs text-muted-foreground\">\n Uploaded{' '}\n {formatDate(doc.uploadDate, { hour: undefined, minute: undefined })}\n </p>\n </div>\n </div>\n <div className=\"flex w-full items-center justify-between gap-3 sm:w-auto sm:justify-end\">\n <span\n className={cn(\n 'flex items-center gap-1 text-xs sm:text-sm',\n statusConfig.color\n )}\n >\n <StatusIcon className=\"h-3 w-3 sm:h-4 sm:w-4\" />\n <span className=\"capitalize\">{statusConfig.label}</span>\n </span>\n <button\n type=\"button\"\n onClick={() => alert(`Downloading ${doc.name}`)}\n 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\"\n >\n <Download className=\"h-3 w-3 sm:h-4 sm:w-4\" />\n <span className=\"hidden sm:inline\">Download</span>\n </button>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n\n {/* Updates Tab */}\n {activeTab === 'updates' && (\n <div className=\"rounded-lg border border-border bg-card p-4 sm:p-6\">\n <h2 className=\"mb-4 text-lg font-semibold text-foreground sm:mb-6\">Recent Updates</h2>\n <div className=\"space-y-4\">\n {investment.recentUpdates.map((update, index) => (\n <div key={index} className=\"flex gap-3 rounded-lg bg-muted/50 p-4 sm:gap-4\">\n <div className=\"flex-shrink-0\">\n <Activity className=\"mt-1 h-4 w-4 text-primary sm:h-5 sm:w-5\" />\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"mb-1 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between\">\n <h4 className=\"text-sm font-medium text-foreground sm:text-base\">\n {update.type}\n </h4>\n <span className=\"text-xs text-muted-foreground sm:text-sm\">\n {formatDate(update.date, { hour: undefined, minute: undefined })}\n </span>\n </div>\n <p className=\"text-xs text-muted-foreground sm:text-sm\">{update.description}</p>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n\n {/* Manage Investment Modal */}\n {showManageModal && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4\">\n <div className=\"relative max-h-[90vh] w-full max-w-md overflow-y-auto rounded-lg border border-border bg-card\">\n <div className=\"border-b border-border p-4 sm:p-6\">\n <button\n type=\"button\"\n onClick={() => setShowManageModal(false)}\n className=\"absolute right-3 top-3 rounded-lg p-1 text-muted-foreground hover:bg-accent transition-colors\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n <h2 className=\"text-lg font-semibold text-foreground sm:text-xl\">\n Manage Investment\n </h2>\n </div>\n <div className=\"space-y-4 p-4 sm:p-6\">\n <p className=\"text-sm text-muted-foreground sm:text-base\">\n Choose an action for your investment in {investment.cartName}:\n </p>\n <div className=\"space-y-3\">\n <button\n type=\"button\"\n onClick={() => alert('Partial withdrawal request submitted')}\n className=\"w-full rounded-lg border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors\"\n >\n Request Partial Withdrawal\n </button>\n <button\n type=\"button\"\n onClick={() => alert('Transfer ownership feature coming soon')}\n className=\"w-full rounded-lg border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors\"\n >\n Transfer Ownership\n </button>\n <button\n type=\"button\"\n onClick={() => alert('Exit options will be displayed')}\n className=\"w-full rounded-lg border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors\"\n >\n View Exit Options\n </button>\n </div>\n <div className=\"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-3 sm:p-4\">\n <p className=\"text-xs text-yellow-800 dark:text-yellow-200 sm:text-sm\">\n Any changes to your investment require approval from the business owner and may be\n subject to terms in your investment agreement.\n </p>\n </div>\n </div>\n <div className=\"flex justify-end gap-3 border-t border-border p-4 sm:p-6\">\n <button\n type=\"button\"\n onClick={() => setShowManageModal(false)}\n className=\"rounded-lg border border-border px-4 py-2 text-sm font-medium text-foreground hover:bg-accent transition-colors\"\n >\n Cancel\n </button>\n </div>\n </div>\n </div>\n )}\n </PageLayout>\n );\n}\n"],"mappings":";;;;;;;;AAuFA,IAAM,IAA2C;CAC/C,IAAI;CACJ,UAAU;CACV,WAAW;CACX,UAAU;CACV,cAAc;CACd,iBAAiB;CAEjB,kBAAkB;CAClB,gBAAgB;CAChB,kBAAkB;CAClB,uBAAuB;CACvB,kBAAkB;CAClB,gBAAgB;CAEhB,gBAAgB;CAChB,eAAe;CACf,mBAAmB;CACnB,gBAAgB;CAChB,iBAAiB;CAEjB,eAAe;CACf,cAAc;CACd,oBAAoB;CACpB,eAAe;CAEf,WAAW;EACT;GACE,MAAM;GACN,MAAM;GACN,YAAY;GACZ,QAAQ;GACT;EACD;GACE,MAAM;GACN,MAAM;GACN,YAAY;GACZ,QAAQ;GACT;EACD;GACE,MAAM;GACN,MAAM;GACN,YAAY;GACZ,QAAQ;GACT;EACD;GACE,MAAM;GACN,MAAM;GACN,YAAY;GACZ,QAAQ;GACT;EACF;CAED,eAAe;EACb;GACE,MAAM;GACN,MAAM;GACN,aAAa;GACd;EACD;GACE,MAAM;GACN,MAAM;GACN,aAAa;GACd;EACD;GACE,MAAM;GACN,MAAM;GACN,aAAa;GACd;EACD;GACE,MAAM;GACN,MAAM;GACN,aAAa;GACd;EACF;CACF;AAMD,SAAS,EAAmB,GAAgB;AAC1C,SAAQ,GAAR;EACE,KAAK,WACH,QAAO;GACL,OAAO;GACP,MAAM;GACN,OAAO;GACR;EACH,KAAK,UACH,QAAO;GACL,OAAO;GACP,MAAM;GACN,OAAO;GACR;EACH,KAAK,WACH,QAAO;GACL,OAAO;GACP,MAAM;GACN,OAAO;GACR;EACH,QACE,QAAO;GACL,OAAO;GACP,MAAM;GACN,OAAO;GACR;;;AAQP,SAAgB,IAAwB;CACtC,IAAM,EAAE,kBAAe,GAAkB,EACnC,CAAC,GAAW,KAAgB,EAAiB,WAAW,EACxD,CAAC,GAAW,KAAgB,EAAS,GAAK,EAC1C,CAAC,GAAiB,KAAsB,EAAS,GAAM,EACvD,CAAC,GAAY,KAAiB,EAAmC,KAAK;AAE5E,SAAgB;EACd,IAAM,IAAQ,iBAAiB;AAE7B,GADA,EAAc,EAAsB,EACpC,EAAa,GAAM;KAClB,IAAI;AACP,eAAa,aAAa,EAAM;IAC/B,EAAE,CAAC;CAEN,IAAM,IAAqE;EACzE;GAAE,IAAI;GAAY,OAAO;GAAY,MAAM;GAAW;EACtD;GAAE,IAAI;GAAc,OAAO;GAAc,MAAM;GAAa;EAC5D;GAAE,IAAI;GAAa,OAAO;GAAa,MAAM;GAAU;EACvD;GAAE,IAAI;GAAW,OAAO;GAAW,MAAM;GAAU;EACpD;AAED,KAAI,EACF,QACE,kBAAC,GAAD;EAAY,OAAM;EAAqB,aAAY;YACjD,kBAAC,OAAD;GAAK,WAAU;aACb,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD,EAAK,WAAU,8EAA+E,CAAA,EAC9F,kBAAC,KAAD;KAAG,WAAU;eAAgC;KAAiC,CAAA,CAC1E;;GACF,CAAA;EACK,CAAA;AAIjB,KAAI,CAAC,EACH,QACE,kBAAC,GAAD;EAAY,OAAM;YAChB,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,GAAD,EAAa,WAAU,+BAAgC,CAAA,EACvD,kBAAC,KAAD;IAAG,WAAU;cAAkB;IAAwB,CAAA,CACnD;;EACK,CAAA;CAIjB,IAAM,IACJ,EAAW,oBAAoB,EAAW,mBAAmB,OAAO,EAAW,kBAC3E,IAAqB,IAAiB,EAAW,mBAAoB;AAE3E,QACE,kBAAC,GAAD;EACE,OAAO,EAAW;EAClB,aAAY;EACZ,SACE,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,EAAW,sBAAsB;KAChD,WAAU;eAHZ;MAKE,kBAAC,GAAD,EAAW,WAAU,WAAY,CAAA;MACjC,kBAAC,QAAD;OAAM,WAAU;iBAAmB;OAAwB,CAAA;MAC3D,kBAAC,QAAD;OAAM,WAAU;iBAAY;OAAW,CAAA;MAChC;;IACT,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,MAAM,0BAA0B;KAC/C,WAAU;eAHZ;MAKE,kBAAC,GAAD,EAAU,WAAU,WAAY,CAAA;MAChC,kBAAC,QAAD;OAAM,WAAU;iBAAmB;OAAoB,CAAA;MACvD,kBAAC,QAAD;OAAM,WAAU;iBAAY;OAAa,CAAA;MAClC;;IACT,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,EAAmB,GAAK;KACvC,WAAU;eAHZ,CAKE,kBAAC,QAAD;MAAM,WAAU;gBAAmB;MAAwB,CAAA,EAC3D,kBAAC,QAAD;MAAM,WAAU;gBAAY;MAAa,CAAA,CAClC;;IACL;;YA/BV;GAmCE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,GAAD,EAAa,WAAU,mDAAoD,CAAA;OAC3E,kBAAC,OAAD;QAAK,WAAU;kBACZ,EAAe,EAAW,kBAAkB,EAAE,uBAAuB,GAAG,CAAC;QACtE,CAAA;OACN,kBAAC,OAAD;QAAK,WAAU;kBAA2C;QAAqB,CAAA;OAC3E;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,GAAD,EAAY,WAAU,qDAAsD,CAAA;OAC5E,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACG,IAAoB,IAAI,MAAM;SAC9B,EAAkB,QAAQ,EAAE;SAAC;SAC1B;;OACN,kBAAC,OAAD;QAAK,WAAU;kBAA2C;QAAa,CAAA;OACnE;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,GAAD,EAAU,WAAU,oDAAqD,CAAA;OACzE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACG,EAAW,kBAAiB,IACzB;;OACN,kBAAC,OAAD;QAAK,WAAU;kBAA2C;QAAkB,CAAA;OACxE;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,GAAD,EAAW,WAAU,sDAAuD,CAAA;OAC5E,kBAAC,OAAD;QAAK,WAAU;kBACZ,EAAe,EAAW,oBAAoB,EAAW,mBAAmB,MAAM,EACjF,uBAAuB,GACxB,CAAC;QACE,CAAA;OACN,kBAAC,OAAD;QAAK,WAAU;kBAA2C;QAAmB,CAAA;OACzE;;KACF;;GAGN,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAK,KAAK,MACT,kBAAC,UAAD;KAEE,MAAK;KACL,eAAe,EAAa,EAAI,GAAG;KACnC,WAAW,EACT,wHACA,MAAc,EAAI,KACd,uCACA,yCACL;eATH;MAWE,kBAAC,EAAI,MAAL,EAAU,WAAU,yBAA0B,CAAA;MAC9C,kBAAC,QAAD;OAAM,WAAU;iBAAoB,EAAI;OAAa,CAAA;MACrD,kBAAC,QAAD;OAAM,WAAU;iBAAa,EAAI,MAAM,MAAM,IAAI,CAAC;OAAU,CAAA;MACrD;OAbF,EAAI,GAaF,CACT;IACE,CAAA;GAGN,kBAAC,OAAD;IAAK,WAAU;cAAf;KAEG,MAAc,cACb,kBAAC,OAAD;MAAK,WAAU;gBAAf,CAEE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CAEE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,MAAD;SAAI,WAAU;mBAAqD;SAE9D,CAAA,EACL,kBAAC,OAAD;SAAK,WAAU;mBAAf;UACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAS,CAAA,EACtD,kBAAC,KAAD;WAAG,WAAU;qBAA+B,EAAW;WAAc,CAAA,CACjE,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAiB,CAAA,EAC9D,kBAAC,KAAD;WAAG,WAAU;qBAA+B,EAAW;WAAiB,CAAA,CACpE,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAY,CAAA,EACzD,kBAAC,KAAD;WAAG,WAAU;qBAA+B,EAAW;WAAa,CAAA,CAChE,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAe,CAAA,EAC5D,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAW,EAAW,iBAAiB;YACtC,MAAM,KAAA;YACN,QAAQ,KAAA;YACT,CAAC;WACA,CAAA,CACA,EAAA,CAAA;UACF;WACF;WAGN,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,MAAD;UAAI,WAAU;oBAAqD;UAE9D,CAAA;SACL,kBAAC,OAAD;UAAK,WAAU;oBAAf;WACE,kBAAC,OAAD,EAAA,UAAA;YACE,kBAAC,GAAD,EAAS,WAAU,mDAAoD,CAAA;YACvE,kBAAC,OAAD;aAAK,WAAU;uBACZ,EAAW;aACR,CAAA;YACN,kBAAC,OAAD;aAAK,WAAU;uBAA2C;aAAoB,CAAA;YAC1E,EAAA,CAAA;WACN,kBAAC,OAAD,EAAA,UAAA;YACE,kBAAC,GAAD,EAAa,WAAU,qDAAsD,CAAA;YAC7E,kBAAC,OAAD;aAAK,WAAU;uBACZ,EAAe,EAAW,gBAAgB,EAAE,uBAAuB,GAAG,CAAC;aACpE,CAAA;YACN,kBAAC,OAAD;aAAK,WAAU;uBAA2C;aAAqB,CAAA;YAC3E,EAAA,CAAA;WACN,kBAAC,OAAD,EAAA,UAAA;YACE,kBAAC,GAAD,EAAO,WAAU,oDAAqD,CAAA;YACtE,kBAAC,OAAD;aAAK,WAAU;uBACZ,EAAW;aACR,CAAA;YACN,kBAAC,OAAD;aAAK,WAAU;uBAA2C;aAAsB,CAAA;YAC5E,EAAA,CAAA;WACF;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAmB,CAAA,EAChE,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACG,MAAM,KAAK,EAAE,QAAQ,GAAG,GAAG,GAAG,MAC7B,kBAAC,GAAD,EAEE,WAAW,EACT,WACA,IAAI,KAAK,MAAM,EAAW,eAAe,GACrC,oCACA,qCACL,EACD,EAPK,EAOL,CACF,EACF,kBAAC,QAAD;YAAM,WAAU;sBACb,EAAW;YACP,CAAA,CACH;aACF,EAAA,CAAA,EACN,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,KAAD;YAAG,WAAU;sBAAgC;YAAmB,CAAA,EAChE,kBAAC,KAAD;YAAG,WAAU;sBACV,EAAe,EAAW,mBAAmB,EAAE,uBAAuB,GAAG,CAAC;YACzE,CAAA,CACA;aACF;;SACF;UACF;UAGN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CAEE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,MAAD;SAAI,WAAU;mBAAqD;SAE9D,CAAA,EACL,kBAAC,OAAD;SAAK,WAAU;mBAAf;UACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAmB,CAAA,EAChE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAW,EAAW,gBAAgB;YACrC,MAAM,KAAA;YACN,QAAQ,KAAA;YACT,CAAC;WACA,CAAA,CACA,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAmB,CAAA,EAChE,kBAAC,KAAD;WAAG,WAAU;qBAA+B,EAAW;WAAmB,CAAA,CACtE,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAqB,CAAA,EAClE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAe,EAAW,uBAAuB,EAChD,uBAAuB,GACxB,CAAC;WACA,CAAA,CACA,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAqB,CAAA,EAClE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAe,EAAW,kBAAkB,EAAE,uBAAuB,GAAG,CAAC;WACxE,CAAA,CACA,EAAA,CAAA;UACN,kBAAC,OAAD;WAAK,WAAU;qBACb,kBAAC,OAAD;YAAK,WAAU;sBAAf,CACE,kBAAC,QAAD;aAAM,WAAU;uBAAgC;aAAmB,CAAA,EACnE,kBAAC,QAAD;aACE,WAAW,EACT,yBACA,IAAiB,IACb,uCACA,iCACL;uBANH,CAQG,IAAiB,IAAI,MAAM,IAC3B,EAAe,GAAgB,EAAE,uBAAuB,GAAG,CAAC,CACxD;eACH;;WACF,CAAA;UACF;WACF;WAGN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,MAAD;SAAI,WAAU;mBAAqD;SAE9D,CAAA,EACL,kBAAC,OAAD;SAAK,WAAU;mBAAf;UACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,QAAD;YAAM,WAAU;sBAAgC;YAAqB,CAAA,EACrE,kBAAC,QAAD;YAAM,WAAU;sBAAhB;aAAyE;aACrE,EAAW;aAAc;aACtB;cACH;cACN,kBAAC,OAAD;WAAK,WAAU;qBACb,kBAAC,OAAD;YACE,WAAU;YACV,OAAO,EAAE,OAAO,GAAG,KAAK,IAAI,EAAW,eAAe,IAAI,CAAC,IAAI;YAC/D,CAAA;WACE,CAAA,CACF,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,QAAD;YAAM,WAAU;sBAAgC;YAAoB,CAAA,EACpE,kBAAC,QAAD;YAAM,WAAU;sBAAhB,CACG,EAAW,cAAa,IACpB;cACH;cACN,kBAAC,OAAD;WAAK,WAAU;qBACb,kBAAC,OAAD;YACE,WAAU;YACV,OAAO,EAAE,OAAO,GAAG,EAAW,aAAa,IAAI;YAC/C,CAAA;WACE,CAAA,CACF,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,QAAD;YAAM,WAAU;sBAAgC;YAAU,CAAA,EAC1D,kBAAC,QAAD;YAAM,WAAU;sBAAhB;aAAyE;aACrE,EAAW;aAAmB;aAC3B;cACH;cACN,kBAAC,OAAD;WAAK,WAAU;qBACb,kBAAC,OAAD;YACE,WAAU;YACV,OAAO,EAAE,OAAO,GAAG,KAAK,IAAI,EAAW,oBAAoB,IAAI,CAAC,IAAI;YACpE,CAAA;WACE,CAAA,CACF,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAoB,CAAA,EACjE,kBAAC,KAAD;WAAG,WAAU;qBAA+B,EAAW;WAAkB,CAAA,CACrE,EAAA,CAAA;UACF;WACF;UACF;SACF;;KAIP,MAAc,gBACb,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,MAAD;QAAI,WAAU;kBAAqD;QAE9D,CAAA;OAGL,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAmB,CAAA,EAChE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAe,EAAW,gBAAgB,EAAE,uBAAuB,GAAG,CAAC;WACtE,CAAA,CACA;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAkB,CAAA,EAC/D,kBAAC,KAAD;WAAG,WAAU;qBAAb;YAAyE;YACrE,EAAW;YAAc;YACzB;aACA;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAiB,CAAA,EAC9D,kBAAC,KAAD;WAAG,WAAU;qBAAb,CAAuD,EAAW,cAAa,IAAK;aAChF;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAmB,CAAA,EAChE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAe,EAAW,mBAAmB,EAAE,uBAAuB,GAAG,CAAC;WACzE,CAAA,CACA;;SACF;;OAGN,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,SAAD;SAAO,WAAU;mBAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD;UAAI,WAAU;oBAAd;WACE,kBAAC,MAAD;YAAI,WAAU;sBAAyF;YAElG,CAAA;WACL,kBAAC,MAAD;YAAI,WAAU;sBAA0F;YAEnG,CAAA;WACL,kBAAC,MAAD;YAAI,WAAU;sBAA0F;YAEnG,CAAA;WACF;aACC,CAAA,EACR,kBAAC,SAAD;UAAO,WAAU;oBACd;WACC;YACE,QAAQ;YACR,OAAO,EAAe,EAAW,gBAAgB,EAC/C,uBAAuB,GACxB,CAAC;YACF,OAAO;YACR;WACD;YACE,QAAQ;YACR,OAAO,OAAO,EAAW,cAAc;YACvC,OAAO;YACR;WACD;YACE,QAAQ;YACR,OAAO,EAAe,EAAW,mBAAmB,EAClD,uBAAuB,GACxB,CAAC;YACF,OAAO;YACR;WACD;YACE,QAAQ;YACR,OAAO,OAAO,EAAW,gBAAgB;YACzC,OAAO;YACR;WACD;YACE,QAAQ;YACR,OAAO,GAAG,EAAW,aAAa;YAClC,OAAO;YACR;WACD;YACE,QAAQ;YACR,OAAO,GAAG,EAAW,mBAAmB;YACxC,OAAO;YACR;WACF,CAAC,KAAK,MACL,kBAAC,MAAD;WAAqB,WAAU;qBAA/B;YACE,kBAAC,MAAD;aAAI,WAAU;uBACX,EAAI;aACF,CAAA;YACL,kBAAC,MAAD;aAAI,WAAU;uBAAgD,EAAI;aAAW,CAAA;YAC7E,kBAAC,MAAD;aAAI,WAAU;uBACX,EAAI;aACF,CAAA;YACF;aARI,EAAI,OAQR,CACL;UACI,CAAA,CACF;;QACJ,CAAA;OACF;;KAIP,MAAc,eACb,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,MAAD;OAAI,WAAU;iBAAqD;OAE9D,CAAA,EACL,kBAAC,OAAD;OAAK,WAAU;iBACZ,EAAW,UAAU,KAAK,GAAK,MAAU;QACxC,IAAM,IAAe,EAAmB,EAAI,OAAO,EAC7C,IAAa,EAAa;AAEhC,eACE,kBAAC,OAAD;SAEE,WAAU;mBAFZ,CAIE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,GAAD,EAAU,WAAU,iEAAkE,CAAA,EACtF,kBAAC,OAAD;WAAK,WAAU;qBAAf;YACE,kBAAC,MAAD;aAAI,WAAU;uBACX,EAAI;aACF,CAAA;YACL,kBAAC,KAAD;aAAG,WAAU;uBACV,EAAI;aACH,CAAA;YACJ,kBAAC,KAAD;aAAG,WAAU;uBAAb;cAA6C;cAClC;cACR,EAAW,EAAI,YAAY;eAAE,MAAM,KAAA;eAAW,QAAQ,KAAA;eAAW,CAAC;cACjE;;YACA;aACF;aACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,QAAD;WACE,WAAW,EACT,8CACA,EAAa,MACd;qBAJH,CAME,kBAAC,GAAD,EAAY,WAAU,yBAA0B,CAAA,EAChD,kBAAC,QAAD;YAAM,WAAU;sBAAc,EAAa;YAAa,CAAA,CACnD;cACP,kBAAC,UAAD;WACE,MAAK;WACL,eAAe,MAAM,eAAe,EAAI,OAAO;WAC/C,WAAU;qBAHZ,CAKE,kBAAC,GAAD,EAAU,WAAU,yBAA0B,CAAA,EAC9C,kBAAC,QAAD;YAAM,WAAU;sBAAmB;YAAe,CAAA,CAC3C;aACL;YACF;WArCC,EAqCD;SAER;OACE,CAAA,CACF;;KAIP,MAAc,aACb,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,MAAD;OAAI,WAAU;iBAAqD;OAAmB,CAAA,EACtF,kBAAC,OAAD;OAAK,WAAU;iBACZ,EAAW,cAAc,KAAK,GAAQ,MACrC,kBAAC,OAAD;QAAiB,WAAU;kBAA3B,CACE,kBAAC,OAAD;SAAK,WAAU;mBACb,kBAAC,GAAD,EAAU,WAAU,2CAA4C,CAAA;SAC5D,CAAA,EACN,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,MAAD;WAAI,WAAU;qBACX,EAAO;WACL,CAAA,EACL,kBAAC,QAAD;WAAM,WAAU;qBACb,EAAW,EAAO,MAAM;YAAE,MAAM,KAAA;YAAW,QAAQ,KAAA;YAAW,CAAC;WAC3D,CAAA,CACH;aACN,kBAAC,KAAD;UAAG,WAAU;oBAA4C,EAAO;UAAgB,CAAA,CAC5E;WACF;UAfI,EAeJ,CACN;OACE,CAAA,CACF;;KAEJ;;GAGL,KACC,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,UAAD;QACE,MAAK;QACL,eAAe,EAAmB,GAAM;QACxC,WAAU;kBAEV,kBAAC,GAAD,EAAG,WAAU,WAAY,CAAA;QAClB,CAAA,EACT,kBAAC,MAAD;QAAI,WAAU;kBAAmD;QAE5D,CAAA,CACD;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf;QACE,kBAAC,KAAD;SAAG,WAAU;mBAAb;UAA0D;UACf,EAAW;UAAS;UAC3D;;QACJ,kBAAC,OAAD;SAAK,WAAU;mBAAf;UACE,kBAAC,UAAD;WACE,MAAK;WACL,eAAe,MAAM,uCAAuC;WAC5D,WAAU;qBACX;WAEQ,CAAA;UACT,kBAAC,UAAD;WACE,MAAK;WACL,eAAe,MAAM,yCAAyC;WAC9D,WAAU;qBACX;WAEQ,CAAA;UACT,kBAAC,UAAD;WACE,MAAK;WACL,eAAe,MAAM,iCAAiC;WACtD,WAAU;qBACX;WAEQ,CAAA;UACL;;QACN,kBAAC,OAAD;SAAK,WAAU;mBACb,kBAAC,KAAD;UAAG,WAAU;oBAA0D;UAGnE,CAAA;SACA,CAAA;QACF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBACb,kBAAC,UAAD;QACE,MAAK;QACL,eAAe,EAAmB,GAAM;QACxC,WAAU;kBACX;QAEQ,CAAA;OACL,CAAA;MACF;;IACF,CAAA;GAEG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Investment Opportunities Page
|
|
3
|
+
* @module coolandlovely/pages/investor
|
|
4
|
+
*
|
|
5
|
+
* Platform stats, 6 filters (search/category/risk/amount/location/sort),
|
|
6
|
+
* invest modal with amount calculator, opportunity cards with images/funding
|
|
7
|
+
* progress/business metrics/documents.
|
|
8
|
+
*/
|
|
9
|
+
export declare function InvestmentOpportunitiesPage(): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=InvestmentOpportunitiesPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvestmentOpportunitiesPage.d.ts","sourceRoot":"","sources":["../../../../src/coolandlovely/pages/investor/InvestmentOpportunitiesPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0TH,wBAAgB,2BAA2B,4CA4pB1C"}
|