import React from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { Toaster } from './components/ui/sonner'; import Landing from './pages/Landing'; import Register from './pages/Register'; import Login from './pages/Login'; import VerifyEmail from './pages/VerifyEmail'; import ForgotPassword from './pages/ForgotPassword'; import ResetPassword from './pages/ResetPassword'; import ChangePasswordRequired from './pages/ChangePasswordRequired'; import Dashboard from './pages/Dashboard'; import Profile from './pages/Profile'; import Events from './pages/Events'; import EventDetails from './pages/EventDetails'; import Plans from './pages/Plans'; import BecomeMember from './pages/BecomeMember'; import PaymentSuccess from './pages/PaymentSuccess'; import PaymentCancel from './pages/PaymentCancel'; import AdminDashboard from './pages/admin/AdminDashboard'; import AdminUsers from './pages/admin/AdminUsers'; import AdminUserView from './pages/admin/AdminUserView'; import AdminStaff from './pages/admin/AdminStaff'; import AdminMembers from './pages/admin/AdminMembers'; import AdminEvents from './pages/admin/AdminEvents'; import AdminApprovals from './pages/admin/AdminApprovals'; import AdminPlans from './pages/admin/AdminPlans'; import AdminLayout from './layouts/AdminLayout'; import { AuthProvider, useAuth } from './context/AuthContext'; import MemberRoute from './components/MemberRoute'; import MemberCalendar from './pages/members/MemberCalendar'; import MemberProfile from './pages/members/MemberProfile'; import MembersDirectory from './pages/members/MembersDirectory'; import EventGallery from './pages/members/EventGallery'; import NewsletterArchive from './pages/members/NewsletterArchive'; import Financials from './pages/members/Financials'; import Bylaws from './pages/members/Bylaws'; import AdminGallery from './pages/admin/AdminGallery'; import AdminNewsletters from './pages/admin/AdminNewsletters'; import AdminFinancials from './pages/admin/AdminFinancials'; import AdminBylaws from './pages/admin/AdminBylaws'; const PrivateRoute = ({ children, adminOnly = false }) => { const { user, loading } = useAuth(); if (loading) { return