- Removed Admin Panel from SettingsPage and adjusted related logic. - Added EmailSettings component for SMTP configuration and testing. - Created admin navigation structure in adminNav.js for better organization. - Implemented AdminShell layout for consistent admin UI. - Added RequireAdmin component to protect admin routes. - Developed AdminHomePage for admin dashboard with navigation links. - Created AdminSystemPage for SMTP settings and placeholder metadata export. - Implemented AdminUsersPage for user management, including profile creation and editing.
12 lines
349 B
JavaScript
12 lines
349 B
JavaScript
import { Navigate, Outlet, useLocation } from 'react-router-dom'
|
|
import { useAuth } from '../context/AuthContext'
|
|
|
|
export default function RequireAdmin() {
|
|
const { isAdmin } = useAuth()
|
|
const loc = useLocation()
|
|
if (!isAdmin) {
|
|
return <Navigate to="/" replace state={{ from: loc.pathname, adminDenied: true }} />
|
|
}
|
|
return <Outlet />
|
|
}
|