feat: comprehensive mobile optimization, role-based AI chatbot, and multi-role dashboard enhancements

- Rewrote AI chatbot context system with deep role-aware data injection for all 7 roles (Owner, Admin, Field Agent, Contractor, Subcontractor, Vendor, Customer) plus guest fallback
- Added mobile-responsive bottom-sheet modals across all roles (ChangeOrderDrawer, InvoiceDetailModal, FinancialSummaryModal, VendorFinancialSummaryModal, FinancialDetailsModal)
- Converted Owner Project List and Vendor Orders tables to mobile card views with touch-friendly layouts
- Optimized Vendor Management and People Directory with mobile list/detail toggle and back navigation
- Fixed Document Control mobile view: horizontally scrollable filter tabs, proper overflow chain for document visibility
- Added responsive padding, text scaling, and flex-wrap across StatCard, TaskDetailsModal, OwnerSnapshot, OwnerProjectDetail, VendorDashboard, and DocumentManagement
- Expanded mock data store with richer vendor invoices, orders, documents, and compliance records
- Enhanced Owner Snapshot with financial KPI cards, urgent items panel, and Action Center modal
- Built Contractor Dashboard with task management, financial summary, and performance metrics
- Built Subcontractor Dashboard with clock-in tracking, task assignments, and invoice management
- Enhanced Vendor Dashboard with earnings summary, active orders, compliance status, and performance rating
- Added icon-only tab navigation on mobile for OwnerProjectDetail
- Extended attribution signatures across all platform pages
This commit is contained in:
Satyam
2026-02-18 12:34:55 +05:30
parent fe68947f1c
commit bc4e25f132
28 changed files with 3156 additions and 930 deletions
+21 -3
View File
@@ -17,6 +17,8 @@ import OwnerSnapshot from './pages/owner/OwnerSnapshot';
import PeopleDirectory from './pages/owner/PeopleDirectory';
import VendorDirectory from './pages/owner/VendorDirectory';
import DocumentManagement from './pages/owner/DocumentManagement';
import OwnerProjectList from './pages/owner/OwnerProjectList';
import OwnerProjectDetail from './pages/owner/OwnerProjectDetail';
import PlaceholderDashboard from './pages/PlaceholderDashboard';
import ProjectList from './pages/contractor/ProjectList';
import AiAssistantPage from './pages/AiAssistantPage';
@@ -107,11 +109,19 @@ function App() {
<DocumentManagement />
</ProtectedRoute>
} />
<Route path="/owner/projects" element={
<ProtectedRoute allowedRoles={['OWNER']}>
<OwnerProjectList />
</ProtectedRoute>
} />
<Route path="/owner/projects/:projectId" element={
<ProtectedRoute allowedRoles={['OWNER']}>
<OwnerProjectDetail />
</ProtectedRoute>
} />
<Route path="/owner/maps" element={
<ProtectedRoute allowedRoles={['OWNER']}>
<div className="h-full w-full bg-zinc-900 flex items-center justify-center text-white">
<span className="text-xl">Detailed Market Intelligence Map (Coming Soon)</span>
</div>
<Maps />
</ProtectedRoute>
} />
@@ -141,6 +151,14 @@ function App() {
</ProtectedRoute>
}
/>
<Route
path="/admin/maps"
element={
<ProtectedRoute allowedRoles={['ADMIN', 'OWNER']}>
<Maps />
</ProtectedRoute>
}
/>
{/* Contractor Routes */}
<Route path="/contractor/dashboard" element={