![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/backups/lavocat.quebec/backup-20250730-021618/src/pages/admin/ |
import React from 'react';
import { useSession } from 'next-auth/react';
import { useRouter } from 'next/router';
import LayoutWithSidebar from '../../components/LayoutWithSidebar';
import CaseList from '../../components/CaseList';
import { useRequireRole, USER_ROLES } from '../../lib/auth-utils';
const AdminCasesPage: React.FC = () => {
const { data: session, status } = useSession();
const router = useRouter();
// Require admin role
useRequireRole([USER_ROLES.ADMIN, USER_ROLES.SUPERADMIN]);
if (status === 'loading') {
return (
<LayoutWithSidebar>
<div className="flex items-center justify-center min-h-screen">
<div className="animate-spin rounded-full h-32 w-32 border-b-2 border-blue-600"></div>
</div>
</LayoutWithSidebar>
);
}
if (!session?.user) {
router.push('/auth/login');
return null;
}
return (
<LayoutWithSidebar>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<CaseList
title="All Cases"
subtitle="Manage all cases in the system"
role="ADMIN"
userId={session.user.id}
showCreateButton={true}
createButtonText="Create New Case"
createButtonHref="/admin/cases/new"
/>
</div>
</LayoutWithSidebar>
);
};
export default AdminCasesPage;