![]() 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/domains/lavocat.ca/private_html/src/pages/client/ |
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 ClientCasesPage: React.FC = () => {
const { data: session, status } = useSession();
const router = useRouter();
// Require client role
useRequireRole([USER_ROLES.CLIENT, USER_ROLES.USER]);
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="My Cases"
subtitle="View and manage cases you're involved with"
role="CLIENT"
userId={session.user.id}
showCreateButton={true}
createButtonText="Create New Case"
createButtonHref="/client/cases/new"
/>
</div>
</LayoutWithSidebar>
);
};
export default ClientCasesPage;