Add admin portal
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
import { ComplexesPage } from '@/features/admin/complexes-page';
|
||||
import { createFileRoute } from '@tanstack/react-router';
|
||||
|
||||
export const Route = createFileRoute('/_app/_authenticated/admin/complexes')({
|
||||
component: ComplexesPage,
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
import { AdminPage } from '@/features/admin/admin-page';
|
||||
import { createFileRoute } from '@tanstack/react-router';
|
||||
|
||||
export const Route = createFileRoute('/_app/_authenticated/admin/')({
|
||||
component: AdminPage,
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
import { PlansPage } from '@/features/admin/plans-page';
|
||||
import { createFileRoute } from '@tanstack/react-router';
|
||||
|
||||
export const Route = createFileRoute('/_app/_authenticated/admin/plans')({
|
||||
component: PlansPage,
|
||||
});
|
||||
16
apps/frontend/src/routes/_app/_authenticated/admin/route.tsx
Normal file
16
apps/frontend/src/routes/_app/_authenticated/admin/route.tsx
Normal file
@@ -0,0 +1,16 @@
|
||||
import { createFileRoute, redirect } from '@tanstack/react-router';
|
||||
|
||||
export const Route = createFileRoute('/_app/_authenticated/admin')({
|
||||
beforeLoad: ({ context, location }) => {
|
||||
if (!context.auth.isAuthenticated) {
|
||||
throw redirect({
|
||||
to: '/login',
|
||||
search: { redirect: location.href },
|
||||
});
|
||||
}
|
||||
|
||||
if (context.auth.user?.role !== 'super_admin') {
|
||||
throw redirect({ to: '/' });
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
import { UsersPage } from '@/features/admin/users-page';
|
||||
import { createFileRoute } from '@tanstack/react-router';
|
||||
|
||||
export const Route = createFileRoute('/_app/_authenticated/admin/users')({
|
||||
component: UsersPage,
|
||||
});
|
||||
Reference in New Issue
Block a user