Added few configurations & mores

This commit is contained in:
2026-01-22 18:53:23 +01:00
parent 9051491fd0
commit d5d0d5aaf4
30 changed files with 3309 additions and 80 deletions

View File

@@ -1,5 +1,6 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import AdherentsTable from '@/components/AdherentsTable';
@@ -10,6 +11,11 @@ export default async function AdherentsPage() {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/adherents');
if (!hasAccess) {
redirect('/dashboard/parametres');
}
return (
<DashboardLayout user={user}>
<div className="p-6">

View File

@@ -1,4 +1,5 @@
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import { redirect } from 'next/navigation';
import DashboardLayout from '@/components/DashboardLayout';
import ArchivesTrajets from '@/components/ArchivesTrajets';
@@ -9,6 +10,11 @@ export default async function ArchivesPage() {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/archives');
if (!hasAccess) {
redirect('/dashboard/parametres');
}
return (
<DashboardLayout user={user}>
<div className="p-8">

View File

@@ -1,5 +1,6 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import CalendrierPageContent from '@/components/CalendrierPageContent';
@@ -10,6 +11,11 @@ export default async function CalendrierPage() {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/calendrier');
if (!hasAccess) {
redirect('/dashboard/parametres');
}
return (
<DashboardLayout user={user}>
<div className="p-8">

View File

@@ -1,5 +1,6 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import ChauffeursTable from '@/components/ChauffeursTable';
@@ -10,6 +11,11 @@ export default async function ChauffeursPage() {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/chauffeurs');
if (!hasAccess) {
redirect('/dashboard/parametres');
}
return (
<DashboardLayout user={user}>
<div className="p-6">

View File

@@ -1,5 +1,6 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import Messagerie from '@/components/Messagerie';
@@ -10,6 +11,11 @@ export default async function MessageriePage() {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/messagerie');
if (!hasAccess) {
redirect('/dashboard/parametres');
}
return (
<DashboardLayout user={user}>
<div className="h-full">

View File

@@ -1,6 +1,8 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import DashboardContent from '@/components/DashboardContent';
export default async function DashboardPage() {
const user = await getCurrentUser();
@@ -9,46 +11,15 @@ export default async function DashboardPage() {
redirect('/login');
}
// Vérifier les permissions
const hasAccess = await hasPageAccess(user.id, '/dashboard');
if (!hasAccess) {
redirect('/dashboard/parametres'); // Rediriger vers une page accessible ou afficher une erreur
}
return (
<DashboardLayout user={user}>
<div className="p-6">
<h1 className="text-3xl font-semibold text-cblack mb-1">
Content de vous revoir <span className="text-dyellow">{user.name || user.email}</span>
</h1>
<p className="text-sm text-cgray mb-6">
Bienvenue sur votre tableau de bord.
</p>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
<div className="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
<h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-2">
Bienvenue
</h3>
<p className="text-gray-600 dark:text-gray-400">
{user.name || user.email}
</p>
</div>
<div className="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
<h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-2">
Statistiques
</h3>
<p className="text-gray-600 dark:text-gray-400">
Contenu à venir
</p>
</div>
<div className="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
<h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-2">
Activité récente
</h3>
<p className="text-gray-600 dark:text-gray-400">
Contenu à venir
</p>
</div>
</div>
</div>
<DashboardContent userName={user.name} />
</DashboardLayout>
);
}

View File

@@ -0,0 +1,24 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import ConfigurationContent from '@/components/ConfigurationContent';
export default async function ConfigurationPage() {
const user = await getCurrentUser();
if (!user) {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/parametres/configuration');
if (!hasAccess) {
redirect('/dashboard/parametres');
}
return (
<DashboardLayout user={user}>
<ConfigurationContent />
</DashboardLayout>
);
}

View File

@@ -0,0 +1,24 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import ParametresContent from '@/components/ParametresContent';
export default async function ParametresPage() {
const user = await getCurrentUser();
if (!user) {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/parametres');
if (!hasAccess) {
redirect('/login');
}
return (
<DashboardLayout user={user}>
<ParametresContent />
</DashboardLayout>
);
}

View File

@@ -1,5 +1,6 @@
import { redirect } from 'next/navigation';
import { getCurrentUser } from '@/lib/auth';
import { hasPageAccess } from '@/lib/permissions';
import DashboardLayout from '@/components/DashboardLayout';
import UniversProTable from '@/components/UniversProTable';
@@ -10,6 +11,11 @@ export default async function UniversProPage() {
redirect('/login');
}
const hasAccess = await hasPageAccess(user.id, '/dashboard/univers-pro');
if (!hasAccess) {
redirect('/dashboard/parametres');
}
return (
<DashboardLayout user={user}>
<div className="p-6">