Update New Features

This commit is contained in:
Koncept Kit
2025-12-10 17:52:47 +07:00
parent 1f27c3224b
commit 36017e8693
39 changed files with 4977 additions and 196 deletions

View File

@@ -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>