feat(routes): add /lead-verification route + sidebar nav (OWNER/ADMIN/FIELD_AGENT)
This commit is contained in:
@@ -44,6 +44,7 @@ import LeadProjectPage from './pages/LeadProjectPage';
|
|||||||
import StormIntelPage from './pages/StormIntelPage';
|
import StormIntelPage from './pages/StormIntelPage';
|
||||||
import FieldStormZonePage from './pages/FieldStormZonePage';
|
import FieldStormZonePage from './pages/FieldStormZonePage';
|
||||||
import UserDetailsPage from './pages/UserDetailsPage';
|
import UserDetailsPage from './pages/UserDetailsPage';
|
||||||
|
import LeadVerificationPage from './pages/LeadVerification/LeadVerificationPage';
|
||||||
|
|
||||||
// ... (existing imports)
|
// ... (existing imports)
|
||||||
const ProtectedRoute = ({ children, allowedRoles }) => {
|
const ProtectedRoute = ({ children, allowedRoles }) => {
|
||||||
@@ -95,6 +96,11 @@ function App() {
|
|||||||
<UserDetailsPage />
|
<UserDetailsPage />
|
||||||
</ProtectedRoute>
|
</ProtectedRoute>
|
||||||
} />
|
} />
|
||||||
|
<Route path="/lead-verification" element={
|
||||||
|
<ProtectedRoute allowedRoles={['OWNER', 'ADMIN', 'FIELD_AGENT']}>
|
||||||
|
<LeadVerificationPage />
|
||||||
|
</ProtectedRoute>
|
||||||
|
} />
|
||||||
|
|
||||||
<Route
|
<Route
|
||||||
path="/emp/fa/dashboard"
|
path="/emp/fa/dashboard"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
LayoutDashboard, Map, Calendar, LogOut, User, Home, MessageSquare,
|
LayoutDashboard, Map, Calendar, LogOut, User, Home, MessageSquare,
|
||||||
ChevronLeft, ChevronRight, Sun, Moon, Trophy, Users, Briefcase,
|
ChevronLeft, ChevronRight, Sun, Moon, Trophy, Users, Briefcase,
|
||||||
FileText, Menu, X, Calculator, PlusCircle, ClipboardList, Zap, LayoutGrid, Settings, CloudLightning,
|
FileText, Menu, X, Calculator, PlusCircle, ClipboardList, Zap, LayoutGrid, Settings, CloudLightning,
|
||||||
HardHat
|
HardHat, ShieldCheck
|
||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
|
|
||||||
import PageTransition from './PageTransition';
|
import PageTransition from './PageTransition';
|
||||||
@@ -139,6 +139,7 @@ const Layout = () => {
|
|||||||
{ to: "/admin/dashboard", icon: LayoutDashboard, label: "Dashboard" },
|
{ to: "/admin/dashboard", icon: LayoutDashboard, label: "Dashboard" },
|
||||||
{ to: "/owner/projects", icon: Briefcase, label: "Projects" },
|
{ to: "/owner/projects", icon: Briefcase, label: "Projects" },
|
||||||
{ to: "/emp/fa/leads", icon: ClipboardList, label: "Leads" },
|
{ to: "/emp/fa/leads", icon: ClipboardList, label: "Leads" },
|
||||||
|
{ to: "/lead-verification", icon: ShieldCheck, label: "Lead Verification" },
|
||||||
{ to: "/owner/kanban", icon: LayoutGrid, label: "Pipeline" },
|
{ to: "/owner/kanban", icon: LayoutGrid, label: "Pipeline" },
|
||||||
{ to: "/admin/dispatch", icon: Zap, label: "LynkDispatch" },
|
{ to: "/admin/dispatch", icon: Zap, label: "LynkDispatch" },
|
||||||
{ to: "/owner/storm-intel", icon: CloudLightning, label: "Storm Intel" },
|
{ to: "/owner/storm-intel", icon: CloudLightning, label: "Storm Intel" },
|
||||||
@@ -161,6 +162,7 @@ const Layout = () => {
|
|||||||
{ to: "/admin/schedule", icon: Calendar, label: "Schedule" },
|
{ to: "/admin/schedule", icon: Calendar, label: "Schedule" },
|
||||||
{ to: "/admin/leaderboard", icon: Trophy, label: "Leaderboard" },
|
{ to: "/admin/leaderboard", icon: Trophy, label: "Leaderboard" },
|
||||||
{ to: "/emp/fa/leads", icon: ClipboardList, label: "Leads" },
|
{ to: "/emp/fa/leads", icon: ClipboardList, label: "Leads" },
|
||||||
|
{ to: "/lead-verification", icon: ShieldCheck, label: "Lead Verification" },
|
||||||
{ to: "/admin/kanban", icon: LayoutGrid, label: "Pipeline" },
|
{ to: "/admin/kanban", icon: LayoutGrid, label: "Pipeline" },
|
||||||
{ to: "/admin/dispatch", icon: Zap, label: "LynkDispatch" },
|
{ to: "/admin/dispatch", icon: Zap, label: "LynkDispatch" },
|
||||||
{ to: "/admin/storm-intel", icon: CloudLightning, label: "Storm Intel" },
|
{ to: "/admin/storm-intel", icon: CloudLightning, label: "Storm Intel" },
|
||||||
@@ -193,6 +195,7 @@ const Layout = () => {
|
|||||||
{ to: "/emp/fa/dashboard", icon: LayoutDashboard, label: "Dashboard" },
|
{ to: "/emp/fa/dashboard", icon: LayoutDashboard, label: "Dashboard" },
|
||||||
{ to: "/emp/fa/maps", icon: Map, label: "My Map" },
|
{ to: "/emp/fa/maps", icon: Map, label: "My Map" },
|
||||||
{ to: "/emp/fa/leads", icon: ClipboardList, label: "Leads" },
|
{ to: "/emp/fa/leads", icon: ClipboardList, label: "Leads" },
|
||||||
|
{ to: "/lead-verification", icon: ShieldCheck, label: "Lead Verification" },
|
||||||
{ to: "/emp/fa/kanban", icon: LayoutGrid, label: "Pipeline" },
|
{ to: "/emp/fa/kanban", icon: LayoutGrid, label: "Pipeline" },
|
||||||
{ to: "/field/storm-zones", icon: CloudLightning, label: "Storm Zones" },
|
{ to: "/field/storm-zones", icon: CloudLightning, label: "Storm Zones" },
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user