From e4a4e5a869fa33525f229fbc30b44f0e5aee11d6 Mon Sep 17 00:00:00 2001 From: Froidefond Julien Date: Wed, 25 Feb 2026 14:16:41 +0100 Subject: [PATCH] feat: integrate authentication session into Header component - Updated RootLayout to fetch the authentication session and pass it to the Header component. - Modified Header to accept session as a prop, enhancing user experience by displaying user-specific information and sign-out functionality. Co-Authored-By: Claude Sonnet 4.6 --- src/app/layout.tsx | 6 ++++-- src/components/Header.tsx | 26 +++++++------------------- src/components/SignOutButton.tsx | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 21 deletions(-) create mode 100644 src/components/SignOutButton.tsx diff --git a/src/app/layout.tsx b/src/app/layout.tsx index d6f7f7a..be9f2ed 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,5 +1,6 @@ import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; +import { auth } from "@/auth"; import { Header } from "@/components/Header"; import { ThemeProvider } from "@/components/ThemeProvider"; import { SessionProvider } from "@/components/SessionProvider"; @@ -26,17 +27,18 @@ export const metadata: Metadata = { manifest: "/manifest.json", }; -export default function RootLayout({ +export default async function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { + const session = await auth(); return ( -
+
{children}
diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 95b8298..39e6d9d 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,12 +1,9 @@ -"use client"; - import Link from "next/link"; -import { signOut, useSession } from "next-auth/react"; +import type { Session } from "next-auth"; import { ThemeToggle } from "./ThemeToggle"; +import { SignOutButton } from "./SignOutButton"; -export function Header() { - const { data: session, status } = useSession(); - +export function Header({ session }: { session: Session | null }) { return (
@@ -17,7 +14,7 @@ export function Header() { iag-eval