merge: integrate subcontractor, org-settings & commission features from project-refinement
# Conflicts: # src/App.jsx # src/components/Layout.jsx # src/data/mockStore.jsx # src/pages/LeadsListPage.jsx # src/pages/owner/OwnerProjectDetail.jsx # src/pages/owner/OwnerSnapshot.jsx
This commit is contained in:
+22
@@ -20,6 +20,7 @@ import DocumentManagement from './pages/owner/DocumentManagement';
|
||||
import OwnerProjectList from './pages/owner/OwnerProjectList';
|
||||
import OwnerProjectDetail from './pages/owner/OwnerProjectDetail';
|
||||
import OrgSettings from './pages/owner/OrgSettings';
|
||||
import SubcontractorTasksPage from './pages/owner/SubcontractorTasksPage';
|
||||
import PlaceholderDashboard from './pages/PlaceholderDashboard';
|
||||
import ProCanvas from './pages/ProCanvas';
|
||||
import ProjectList from './pages/contractor/ProjectList';
|
||||
@@ -30,6 +31,7 @@ import VendorDashboard from './pages/vendor/VendorDashboard';
|
||||
import VendorOrders from './pages/vendor/VendorOrders';
|
||||
import ContractorDashboard from './pages/contractor/ContractorDashboard';
|
||||
import SubContractorDashboard from './pages/subcontractor/SubContractorDashboard';
|
||||
import SubcontractorTaskDetailPage from './pages/subcontractor/SubcontractorTaskDetailPage';
|
||||
import CreateLeadPage from './pages/CreateLeadPage';
|
||||
import LeadsListPage from './pages/LeadsListPage';
|
||||
import LynkDispatchPage from './pages/LynkDispatchPage';
|
||||
@@ -221,6 +223,21 @@ function App() {
|
||||
<OrgSettings />
|
||||
</ProtectedRoute>
|
||||
} />
|
||||
<Route path="/admin/settings" element={
|
||||
<ProtectedRoute allowedRoles={['ADMIN']}>
|
||||
<OrgSettings />
|
||||
</ProtectedRoute>
|
||||
} />
|
||||
<Route path="/owner/subcontractor-tasks" element={
|
||||
<ProtectedRoute allowedRoles={['OWNER']}>
|
||||
<SubcontractorTasksPage />
|
||||
</ProtectedRoute>
|
||||
} />
|
||||
<Route path="/admin/subcontractor-tasks" element={
|
||||
<ProtectedRoute allowedRoles={['ADMIN', 'OWNER']}>
|
||||
<SubcontractorTasksPage />
|
||||
</ProtectedRoute>
|
||||
} />
|
||||
|
||||
{/* Protected Admin Routes — Owner has full admin access */}
|
||||
<Route
|
||||
@@ -372,6 +389,11 @@ function App() {
|
||||
<ProjectList />
|
||||
</ProtectedRoute>
|
||||
} />
|
||||
<Route path="/subcontractor/tasks/:taskId" element={
|
||||
<ProtectedRoute allowedRoles={['SUBCONTRACTOR']}>
|
||||
<SubcontractorTaskDetailPage />
|
||||
</ProtectedRoute>
|
||||
} />
|
||||
</Route>
|
||||
|
||||
{/* Catch all */}
|
||||
|
||||
Reference in New Issue
Block a user