{/* Auth Callback - Must be before other routes */}
}
/>
{/* Dashboard */}
}
/>
}
/>
{/* Admin Routes Group with Shared Layout */}
}
>
} />
} />
} />
{/* Create Request from Admin Template (Dedicated Flow) */}
}
/>
}
/>
{/* Open Requests */}
}
/>
{/* Closed Requests */}
}
/>
{/* Shared Summaries */}
}
/>
{/* Shared Summary Detail */}
}
/>
{/* My Requests */}
}
/>
{/* Requests - Separate screens for Admin and Regular Users */}
}
/>
{/* Approver Performance - Detailed Performance Analysis */}
}
/>
{/* Request Detail - requestId will be read from URL params */}
}
/>
{/* Work Notes - Dedicated Full-Screen Page */}
}
/>
{/* New Request (Custom) */}
}
/>
{/* Edit Draft Request */}
}
/>
{/* Claim Management Wizard */}
}
/>
{/* Profile */}
}
/>
{/* Settings */}
}
/>
{/* Notifications */}
}
/>
{/* Detailed Reports */}
}
/>
{/* Approval Action Modal */}
{approvalAction && (
)}
);
}
// Main App Component with Router
interface MainAppProps {
onLogout?: () => void;
}
export default function App(props?: MainAppProps) {
const { onLogout } = props || {};
return (