From f699b9d151137d825ca50a50dfea7a051ef04441 Mon Sep 17 00:00:00 2001 From: Dmitry Ginzburg <33052194+Ultraivanov@users.noreply.github.com> Date: Thu, 23 Apr 2026 18:43:54 +0300 Subject: [PATCH 1/3] Improve accessibility and SEO metadata baseline --- next.config.ts | 3 +++ src/app/admin/layout.tsx | 6 +++++- src/app/admin/login/layout.tsx | 17 +++++++++++++++++ src/app/admin/login/page.tsx | 9 ++++++--- src/components/layout/Layout.tsx | 5 ++++- src/components/layout/layout.module.css | 21 +++++++++++++++++++++ 6 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 src/app/admin/login/layout.tsx diff --git a/next.config.ts b/next.config.ts index 0b9586c..e6648f3 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,6 +1,9 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { + turbopack: { + root: process.cwd(), + }, // Add caching headers for better performance async headers() { return [ diff --git a/src/app/admin/layout.tsx b/src/app/admin/layout.tsx index e9e0bbc..bd5f442 100644 --- a/src/app/admin/layout.tsx +++ b/src/app/admin/layout.tsx @@ -1,11 +1,15 @@ import type { Metadata } from "next"; export const metadata: Metadata = { - title: "Admin", + title: "CMS — Dima Ginzburg", + description: "Internal content management area.", robots: { index: false, follow: false, }, + alternates: { + canonical: "/admin", + }, }; type AdminLayoutProps = { diff --git a/src/app/admin/login/layout.tsx b/src/app/admin/login/layout.tsx new file mode 100644 index 0000000..b649bfd --- /dev/null +++ b/src/app/admin/login/layout.tsx @@ -0,0 +1,17 @@ +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "CMS Login — Dima Ginzburg", + description: "Internal CMS login page.", + robots: { + index: false, + follow: false, + }, + alternates: { + canonical: "/admin/login", + }, +}; + +export default function AdminLoginLayout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/src/app/admin/login/page.tsx b/src/app/admin/login/page.tsx index 9b3476b..0b54178 100644 --- a/src/app/admin/login/page.tsx +++ b/src/app/admin/login/page.tsx @@ -1,7 +1,6 @@ "use client"; -import { useState } from "react"; -import { useEffect } from "react"; +import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import styles from "./login.module.css"; @@ -102,7 +101,11 @@ export default function AdminLoginPage() { - {error ?

{error}

: null} + {error ? ( +

+ {error} +

+ ) : null} diff --git a/src/components/layout/Layout.tsx b/src/components/layout/Layout.tsx index 31a1989..e9dae93 100644 --- a/src/components/layout/Layout.tsx +++ b/src/components/layout/Layout.tsx @@ -15,8 +15,11 @@ type LayoutProps = { export default function Layout({ children }: LayoutProps) { return (
+ + Skip to main content +
-
+
{children}