From ce63cd8b699cb16ec11df0ff83776ea1fee0b0f7 Mon Sep 17 00:00:00 2001 From: MOH Date: Fri, 6 Mar 2026 16:50:45 +0100 Subject: [PATCH] feat(ui): admin-only root link and shared header navigation --- app/[locale]/(site)/about/page.tsx | 42 +-- app/[locale]/(site)/contact/page.tsx | 116 +++---- app/[locale]/(site)/layout.tsx | 4 +- app/[locale]/(site)/page.tsx | 255 +++++++-------- app/[locale]/(site)/portfolio/[slug]/page.tsx | 34 +- app/[locale]/(site)/portfolio/page.tsx | 20 +- app/[locale]/(site)/products/[slug]/page.tsx | 26 +- app/[locale]/(site)/products/page.tsx | 20 +- app/[locale]/(site)/success/page.tsx | 10 +- app/[locale]/layout.tsx | 9 +- app/globals.css | 210 ++++++++----- app/layout.tsx | 2 +- app/root/page.tsx | 290 +++++++++--------- components.json | 21 ++ components/footer.tsx | 42 ++- components/navbar.tsx | 97 +++--- components/theme-provider.tsx | 15 +- components/theme-toggle.tsx | 18 +- docker-compose.yml | 18 +- package-lock.json | 58 ++++ package.json | 3 + src/components/layout/app-header.tsx | 23 ++ src/components/layout/app-shell.tsx | 24 ++ src/components/layout/app-sidebar.tsx | 52 ++++ src/components/ui/badge.tsx | 30 ++ src/components/ui/button.tsx | 48 +++ src/components/ui/card.tsx | 44 +++ src/components/ui/input.tsx | 22 ++ src/components/ui/label.tsx | 9 + src/components/ui/separator.tsx | 22 ++ src/components/ui/textarea.tsx | 21 ++ tailwind.config.ts | 65 +++- 32 files changed, 1070 insertions(+), 600 deletions(-) create mode 100644 components.json create mode 100644 src/components/layout/app-header.tsx create mode 100644 src/components/layout/app-shell.tsx create mode 100644 src/components/layout/app-sidebar.tsx create mode 100644 src/components/ui/badge.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/card.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/label.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/textarea.tsx diff --git a/app/[locale]/(site)/about/page.tsx b/app/[locale]/(site)/about/page.tsx index 8866996..9ae8bc1 100644 --- a/app/[locale]/(site)/about/page.tsx +++ b/app/[locale]/(site)/about/page.tsx @@ -50,46 +50,46 @@ export default function AboutPage({ params: { locale } }: AboutPageProps) { return (
-
-

+
+

{copy.title}

-

+

{copy.intro}

-
-

+
+

{copy.valuesTitle}

-
- -

+
+ +

{copy.valueA}

-

+

{copy.valueAText}

-
- -

+
+ +

{copy.valueB}

-

+

{copy.valueBText}

-
- -

+
+ +

{copy.valueC}

-

+

{copy.valueCText}

@@ -98,17 +98,17 @@ export default function AboutPage({ params: { locale } }: AboutPageProps) { -
-

+
+

{copy.processTitle}

    {[copy.processOne, copy.processTwo, copy.processThree].map((step, index) => (
  1. - + {index + 1}

    {step}

    diff --git a/app/[locale]/(site)/contact/page.tsx b/app/[locale]/(site)/contact/page.tsx index dbe8f52..493a00d 100644 --- a/app/[locale]/(site)/contact/page.tsx +++ b/app/[locale]/(site)/contact/page.tsx @@ -3,6 +3,11 @@ import Link from "next/link"; import { MotionFade } from "@/components/motion-fade"; import { resolveLocale } from "@/lib/site-data"; +import { Button } from "@/src/components/ui/button"; +import { Card, CardContent, CardHeader, CardTitle } from "@/src/components/ui/card"; +import { Input } from "@/src/components/ui/input"; +import { Label } from "@/src/components/ui/label"; +import { Textarea } from "@/src/components/ui/textarea"; type ContactPageProps = { params: { @@ -43,77 +48,58 @@ export default function ContactPage({ params: { locale } }: ContactPageProps) { return (
    -
    -

    - {copy.title} -

    -

    - {copy.intro} -

    - -
      -
    • - - {copy.phone} -
    • -
    • - - {copy.mail} -
    • -
    • - - {copy.city} -
    • -
    -
    + + + {copy.title} +

    {copy.intro}

    +
    + +
      +
    • + + {copy.phone} +
    • +
    • + + {copy.mail} +
    • +
    • + + {copy.city} +
    • +
    +
    +
    -
    -
    - + + + + - + -