From 949dde7abadf0664fd7b8a50c5d255d01a1e5f7b Mon Sep 17 00:00:00 2001 From: Chneemann Date: Sat, 15 Aug 2026 10:13:16 +0200 Subject: [PATCH] feat(legal): add imprint and privacy policy pages with responsive layout and fixed footer integration --- app/(app)/layout.tsx | 23 +++-- app/(auth)/layout.tsx | 12 ++- app/components/layout/Footer.tsx | 45 ++++++++++ app/imprint/page.tsx | 119 +++++++++++++++++++++++++ app/page.tsx | 45 +++++----- app/privacy/page.tsx | 145 +++++++++++++++++++++++++++++++ public/sitemap.xml | 12 +++ 7 files changed, 368 insertions(+), 33 deletions(-) create mode 100644 app/components/layout/Footer.tsx create mode 100644 app/imprint/page.tsx create mode 100644 app/privacy/page.tsx diff --git a/app/(app)/layout.tsx b/app/(app)/layout.tsx index 41284ce..8877fa6 100644 --- a/app/(app)/layout.tsx +++ b/app/(app)/layout.tsx @@ -1,6 +1,6 @@ /** - * @file layout.tsx - * @description Server component layout protecting authenticated routes, verifying user session status, and rendering the responsive application shell structure with global toast notifications. + * @file (app)/layout.tsx + * @description Server component layout protecting authenticated routes by verifying user sessions and arranging the main dashboard application structure with responsive sidebars, headers, navigation bars, error toasts, and footers. */ import { auth } from "@/auth"; @@ -9,15 +9,16 @@ import Sidebar from "@/app/components/layout/Sidebar"; import Header from "@/app/components/layout/Header"; import Navbar from "@/app/components/layout/Navbar"; import ErrorToast from "../components/ErrorToast"; +import Footer from "@/app/components/layout/Footer"; /** - * Renders the protected application layout wrapper. - * Checks for an active user session and redirects to the login page if unauthenticated. + * Renders the main application layout for authenticated views, checking user sessions + * and assembling the responsive page shell. * * @async * @param {Object} props - The component props. - * @param {React.ReactNode} props.children - The child components or pages to render within the layout. - * @returns {Promise} The rendered application layout structure. + * @param {React.ReactNode} props.children - The inner child components/pages to render inside the authenticated layout. + * @returns {Promise} The rendered application layout component. */ export default async function AppLayout({ children, @@ -38,9 +39,13 @@ export default async function AppLayout({
-
- {children} -
+ +
+
{children}
+
+ +