feat: implement admin authentication, role-based permissions, and backoffice layout components
This commit is contained in:
31
admin/src/app/team/page.tsx
Normal file
31
admin/src/app/team/page.tsx
Normal file
@@ -0,0 +1,31 @@
|
||||
import { requireSuperAdminSession } from "@/lib/auth";
|
||||
import { getTeamMembersAction } from "@/app/actions/team";
|
||||
import TeamClient from "./TeamClient";
|
||||
import { redirect } from "next/navigation";
|
||||
|
||||
export const dynamic = "force-dynamic";
|
||||
|
||||
export const metadata = {
|
||||
title: "Équipe & Rôles - AfroAdmin",
|
||||
description: "Gestion des comptes administrateurs, modérateurs et contributeurs",
|
||||
};
|
||||
|
||||
export default async function TeamPage() {
|
||||
let session;
|
||||
try {
|
||||
session = await requireSuperAdminSession();
|
||||
} catch (error) {
|
||||
redirect("/dashboard?unauthorized=team");
|
||||
}
|
||||
|
||||
const { members } = await getTeamMembersAction();
|
||||
|
||||
return (
|
||||
<div className="p-4 sm:p-6 lg:p-8 max-w-7xl mx-auto">
|
||||
<TeamClient
|
||||
initialMembers={members as any}
|
||||
currentUserId={session.userId}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user