diff --git a/lawfirm-demos/demo-1/app/ueber-uns/lawyers.ts b/lawfirm-demos/demo-1/app/ueber-uns/lawyers.ts new file mode 100644 index 0000000..4496cfa --- /dev/null +++ b/lawfirm-demos/demo-1/app/ueber-uns/lawyers.ts @@ -0,0 +1,42 @@ +export const lawyers = [ + { + name: 'RA Dr. Max Mustermann', + image: '/images/lawyers/mustermann.jpg', + short: 'Fachanwalt für Arbeitsrecht und Vertragsrecht mit über 20 Jahren Erfahrung.', + biography: `RA Dr. Max Mustermann berät Sie umfassend im Arbeits- und Vertragsrecht. Als Fachanwalt steht er für eine rechtssichere Gestaltung und Durchsetzung Ihrer Interessen.`, + specialties: [ + 'Kündigungsschutzklagen', + 'Arbeitsverträge und Aufhebungsverträge', + 'Vertragsgestaltung für Unternehmen', + 'Allgemeine Geschäftsbedingungen (AGB)', + 'Durchsetzung von Ansprüchen aus Verträgen', + ], + personal: [ + 'Jahrgang 1972', + 'Studium der Rechtswissenschaft in Heidelberg', + 'Zulassung seit 2000', + 'Fachanwalt für Arbeitsrecht und Vertragsrecht', + 'Mitglied im Deutschen Anwaltverein (DAV)', + ], + }, + { + name: 'RAin Lisa Künstler', + image: '/images/lawyers/kuenstler.jpg', + short: 'Fachanwältin für Familienrecht mit Fokus auf einvernehmliche Lösungen.', + biography: `RAin Lisa Künstler begleitet Sie empathisch und zielgerichtet in familiären Angelegenheiten. Ihr besonderes Augenmerk liegt auf tragfähigen Vereinbarungen für alle Beteiligten.`, + specialties: [ + 'Scheidung & Trennung', + 'Unterhaltsrecht', + 'Sorgerecht & Umgangsregelungen', + 'Eheverträge & Partnerschaftsverträge', + 'Vermögensauseinandersetzungen', + ], + personal: [ + 'Jahrgang 1980', + 'Studium in Freiburg und Basel', + 'Zulassung seit 2007', + 'Fachanwältin für Familienrecht', + 'Mitglied der Arbeitsgemeinschaft Familienrecht im DAV', + ], + }, +]; diff --git a/lawfirm-demos/demo-1/app/ueber-uns/page.tsx b/lawfirm-demos/demo-1/app/ueber-uns/page.tsx index cdc1a25..6b39aa3 100644 --- a/lawfirm-demos/demo-1/app/ueber-uns/page.tsx +++ b/lawfirm-demos/demo-1/app/ueber-uns/page.tsx @@ -1,49 +1,91 @@ -import React from 'react'; +'use client'; -export default function About() { +import {lawyers} from '@/app/ueber-uns/lawyers'; +import Divider from '@/components/Divider'; +import SubpageHero from '@/components/SubpageHero'; + +export default function UeberUnsPage() { return ( -
-

Über Uns

+ <> + -
-

- Willkommen in unserer Anwaltskanzlei. Seit über 20 Jahren setzen wir uns für die Rechte unserer - Mandanten ein und bieten erstklassige juristische Beratung in verschiedenen Rechtsbereichen. -

-

- Unsere Expertise umfasst unter anderem Wirtschaftsrecht, Arbeitsrecht, Familienrecht und - Immobilienrecht. Mit unserem engagierten Team von Fachanwälten stehen wir Ihnen bei allen - rechtlichen Angelegenheiten zur Seite. -

-
+
+ {/* Kanzlei-Intro */} +
+

+ Die Kanzlei Mustermann & Künstler steht für rechtliche Exzellenz, persönliche Beratung und + langjährige Erfahrung. Wir vereinen spezialisierte Fachkenntnisse mit menschlichem Gespür für + individuelle Lebenssituationen. +

+

+ Unser Anspruch ist es, Sie transparent, ehrlich und effizient zu beraten und zu vertreten – + unabhängig davon, ob es sich um eine komplexe Nachlassregelung, eine arbeitsrechtliche + Auseinandersetzung oder familiäre Fragestellungen handelt. +

+
-
-

Unser Team

-
-
-

Dr. Maria Schmidt

-

Fachanwältin für Wirtschaftsrecht

-
-
-

Thomas Weber

-

Fachanwalt für Arbeitsrecht

-
-
-

Lisa Müller

-

Fachanwältin für Familienrecht

-
-
-
+ {/* Anwälte */} + {lawyers.map((lawyer, i) => ( +
+
+ {/* image */} +
+ {lawyer.name} +
-
-

Standort

-

- Musterstraße 123
- 12345 Berlin
- Tel: +49 (0) 30 123456789
- E-Mail: info@musterkanzlei.de -

-
-
+ {/* content */} +
+

{lawyer.name}

+

{lawyer.short}

+ + {lawyer.biography && ( +
+

Über

+

+ {lawyer.biography} +

+
+ )} + + {lawyer.specialties?.length > 0 && ( +
+

Fachgebiete

+
    + {lawyer.specialties.map((s, idx) => ( +
  • {s}
  • + ))} +
+
+ )} + + {lawyer.personal?.length > 0 && ( +
+

Zur Person

+
    + {lawyer.personal.map((p, idx) => ( +
  • {p}
  • + ))} +
+
+ )} +
+ + + {i < lawyers.length - 1 && } +
+ ))} + + ); -} \ No newline at end of file +} diff --git a/lawfirm-demos/demo-1/components/Divider.tsx b/lawfirm-demos/demo-1/components/Divider.tsx new file mode 100644 index 0000000..e0d1168 --- /dev/null +++ b/lawfirm-demos/demo-1/components/Divider.tsx @@ -0,0 +1,3 @@ +export default function Divider() { + return
; +} diff --git a/lawfirm-demos/demo-1/components/LawyerCard.tsx b/lawfirm-demos/demo-1/components/LawyerCard.tsx new file mode 100644 index 0000000..a6d5724 --- /dev/null +++ b/lawfirm-demos/demo-1/components/LawyerCard.tsx @@ -0,0 +1,18 @@ +'use client'; + +export default function LawyerCard({ lawyer, onClick }: { lawyer: any; onClick: () => void }) { + return ( + + ); +} diff --git a/lawfirm-demos/demo-1/components/LawyerModal.tsx b/lawfirm-demos/demo-1/components/LawyerModal.tsx new file mode 100644 index 0000000..32e9d66 --- /dev/null +++ b/lawfirm-demos/demo-1/components/LawyerModal.tsx @@ -0,0 +1,97 @@ +'use client'; + +import {motion, AnimatePresence} from 'framer-motion'; +import {useEffect} from 'react'; + +export default function LawyerModal({ + lawyer, + onClose, + }: Readonly<{ + lawyer: any; + onClose: () => void; +}>) { + // Close with Escape + useEffect(() => { + const handleKeyDown = (e: KeyboardEvent) => { + if (e.key === 'Escape') onClose(); + }; + document.addEventListener('keydown', handleKeyDown); + return () => document.removeEventListener('keydown', handleKeyDown); + }, [onClose]); + + return ( + + + e.stopPropagation()} + className="bg-white rounded-xl max-w-3xl w-full p-8 relative text-gray-800 shadow-xl" + > + + +
+ {lawyer.image && ( + {lawyer.name} + )} + +
+
+

{lawyer.name}

+

{lawyer.short}

+
+ + {lawyer.specialties?.length > 0 && ( +
+

Fachgebiete

+
    + {lawyer.specialties.map((s: string, i: number) => ( +
  • {s}
  • + ))} +
+
+ )} + + {lawyer.biography && ( +
+

Über

+

+ {lawyer.biography} +

+
+ )} + + {lawyer.personal?.length > 0 && ( +
+

Zur Person

+
    + {lawyer.personal.map((p: string, i: number) => ( +
  • {p}
  • + ))} +
+
+ )} +
+
+
+
+
+ ); +} diff --git a/lawfirm-demos/demo-1/components/LawyerProfile.tsx b/lawfirm-demos/demo-1/components/LawyerProfile.tsx new file mode 100644 index 0000000..f351342 --- /dev/null +++ b/lawfirm-demos/demo-1/components/LawyerProfile.tsx @@ -0,0 +1,53 @@ +'use client'; + +export default function LawyerProfile({lawyer, reverse = false}: Readonly<{ lawyer: any; reverse?: boolean }>) { + return ( +
+ {/* image */} +
+ {lawyer.name} +
+ + {/* content */} +
+
+

{lawyer.name}

+

{lawyer.short}

+
+ + {lawyer.biography && ( +
+

Zur Person

+

{lawyer.biography}

+
+ )} + + {lawyer.specialties?.length > 0 && ( +
+

Fachgebiete

+
    + {lawyer.specialties.map((s: string, i: number) => ( +
  • {s}
  • + ))} +
+
+ )} + + {lawyer.personal?.length > 0 && ( +
+

Ausbildung & Mitgliedschaften

+
    + {lawyer.personal.map((p: string, i: number) => ( +
  • {p}
  • + ))} +
+
+ )} +
+
+ ); +}