Update New Features
This commit is contained in:
85
src/App.js
85
src/App.js
@@ -13,6 +13,7 @@ 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';
|
||||
@@ -26,6 +27,17 @@ 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();
|
||||
@@ -62,6 +74,7 @@ function App() {
|
||||
</PrivateRoute>
|
||||
} />
|
||||
<Route path="/plans" element={<Plans />} />
|
||||
<Route path="/become-a-member" element={<BecomeMember />} />
|
||||
<Route path="/payment-success" element={<PaymentSuccess />} />
|
||||
<Route path="/payment-cancel" element={<PaymentCancel />} />
|
||||
|
||||
@@ -85,7 +98,49 @@ function App() {
|
||||
<EventDetails />
|
||||
</MemberRoute>
|
||||
} />
|
||||
|
||||
|
||||
{/* Members Only Routes */}
|
||||
<Route path="/members/calendar" element={
|
||||
<MemberRoute>
|
||||
<MemberCalendar />
|
||||
</MemberRoute>
|
||||
} />
|
||||
<Route path="/members/profile" element={
|
||||
<MemberRoute>
|
||||
<MemberProfile />
|
||||
</MemberRoute>
|
||||
} />
|
||||
<Route path="/members/directory" element={
|
||||
<MemberRoute>
|
||||
<MembersDirectory />
|
||||
</MemberRoute>
|
||||
} />
|
||||
<Route path="/members/gallery" element={
|
||||
<MemberRoute>
|
||||
<EventGallery />
|
||||
</MemberRoute>
|
||||
} />
|
||||
<Route path="/members/gallery/:eventId" element={
|
||||
<MemberRoute>
|
||||
<EventGallery />
|
||||
</MemberRoute>
|
||||
} />
|
||||
<Route path="/members/newsletters" element={
|
||||
<MemberRoute>
|
||||
<NewsletterArchive />
|
||||
</MemberRoute>
|
||||
} />
|
||||
<Route path="/members/financials" element={
|
||||
<MemberRoute>
|
||||
<Financials />
|
||||
</MemberRoute>
|
||||
} />
|
||||
<Route path="/members/bylaws" element={
|
||||
<MemberRoute>
|
||||
<Bylaws />
|
||||
</MemberRoute>
|
||||
} />
|
||||
|
||||
<Route path="/admin" element={
|
||||
<PrivateRoute adminOnly>
|
||||
<AdminLayout>
|
||||
@@ -142,6 +197,34 @@ function App() {
|
||||
</AdminLayout>
|
||||
</PrivateRoute>
|
||||
} />
|
||||
<Route path="/admin/gallery" element={
|
||||
<PrivateRoute adminOnly>
|
||||
<AdminLayout>
|
||||
<AdminGallery />
|
||||
</AdminLayout>
|
||||
</PrivateRoute>
|
||||
} />
|
||||
<Route path="/admin/newsletters" element={
|
||||
<PrivateRoute adminOnly>
|
||||
<AdminLayout>
|
||||
<AdminNewsletters />
|
||||
</AdminLayout>
|
||||
</PrivateRoute>
|
||||
} />
|
||||
<Route path="/admin/financials" element={
|
||||
<PrivateRoute adminOnly>
|
||||
<AdminLayout>
|
||||
<AdminFinancials />
|
||||
</AdminLayout>
|
||||
</PrivateRoute>
|
||||
} />
|
||||
<Route path="/admin/bylaws" element={
|
||||
<PrivateRoute adminOnly>
|
||||
<AdminLayout>
|
||||
<AdminBylaws />
|
||||
</AdminLayout>
|
||||
</PrivateRoute>
|
||||
} />
|
||||
</Routes>
|
||||
<Toaster position="top-right" />
|
||||
</BrowserRouter>
|
||||
|
||||
Reference in New Issue
Block a user