'use client'; import {team} from '@/data/team'; import {useState} from 'react'; import Image from 'next/image'; import {motion, AnimatePresence} from 'framer-motion'; import SubpageHero from '@/components/SubpageHero'; import DualCTA from "@/components/DualCTA"; type Lawyer = { name: string; image: string; role?: string; specialties?: string[]; biography?: string; personal?: string[]; isLawyer: boolean; }; const fadeIn = { hidden: {opacity: 0, y: 40}, visible: (i: number) => ({ opacity: 1, y: 0, transition: {delay: i * 0.05, duration: 0.4}, }), }; export default function AnwaltOverviewPage() { const lawyers: Lawyer[] = team.filter((person) => person.isLawyer); const [selected, setSelected] = useState(null); return ( <>
{lawyers.map((lawyer, i) => (
setSelected(lawyer)} className="group rounded-xl overflow-hidden shadow-md border border-gray-200 hover:shadow-lg transition hover:scale-[1.015] cursor-pointer ring-0 hover:ring-2 hover:ring-red-200 bg-white" >
{lawyer.name}

{lawyer.name}

{lawyer.role}

{Array.isArray(lawyer.specialties) && lawyer.specialties.length > 0 && (
    {lawyer.specialties.map((s, i) => (
  • • {s}
  • ))}
)}
))}
{/* Modal */} {selected && ( setSelected(null)} > e.stopPropagation()} >
{selected.name}

{selected.name}

{selected.role}

{selected.biography && (

{selected.biography}

)} {Array.isArray(selected.specialties) && selected.specialties.length > 0 && ( <>

Fachgebiete

    {selected.specialties.map((s, i) => (
  • {s}
  • ))}
)} {Array.isArray(selected.personal) && selected.personal.length > 0 && ( <>

Zur Person

    {selected.personal.map((p, i) => (
  • {p}
  • ))}
)}
)}
); }