'use client'; import type { ProfileTab } from '@/components/profile/ProfileTabs'; import type { DriverProfileViewData } from '@/lib/types/view-data/DriverProfileViewData'; import { DriverProfileTemplate } from '@/templates/DriverProfileTemplate'; import { ErrorTemplate, EmptyTemplate } from '@/templates/shared/StatusTemplates'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { ClientWrapperProps } from '@/lib/contracts/components/ComponentContracts'; interface DriverProfilePageClientProps { viewData: DriverProfileViewData | null; error?: string; empty?: { title: string; description: string; }; } export function DriverProfilePageClient({ viewData, error, empty }: DriverProfilePageClientProps) { const router = useRouter(); // UI State (UI-only concerns) const [activeTab, setActiveTab] = useState('overview'); const [friendRequestSent, setFriendRequestSent] = useState(false); // Event handlers (UI-only concerns) const handleAddFriend = () => { setFriendRequestSent(true); }; const handleBackClick = () => { router.push('/drivers'); }; // Handle error/empty states if (error) { return ( ); } if (!viewData || !viewData.currentDriver) { if (empty) { return ( ); } return null; } // Pass ViewData directly to template return ( ); }