Files
gridpilot.gg/apps/website/app/drivers/DriversPageClient.tsx
2026-01-14 23:46:04 +01:00

37 lines
1.0 KiB
TypeScript

'use client';
import React from 'react';
import { useRouter } from 'next/navigation';
import { DriversTemplate } from '@/templates/DriversTemplate';
import { useDriverSearch } from '@/lib/hooks/useDriverSearch';
import type { DriverLeaderboardViewModel } from '@/lib/view-data/DriverLeaderboardViewModel';
interface DriversPageClientProps {
data: DriverLeaderboardViewModel | null;
}
export function DriversPageClient({ data }: DriversPageClientProps) {
const router = useRouter();
const drivers = data?.drivers || [];
const { searchQuery, setSearchQuery, filteredDrivers } = useDriverSearch(drivers);
const handleDriverClick = (driverId: string) => {
router.push(`/drivers/${driverId}`);
};
const handleViewLeaderboard = () => {
router.push('/leaderboards/drivers');
};
return (
<DriversTemplate
data={data}
searchQuery={searchQuery}
onSearchChange={setSearchQuery}
filteredDrivers={filteredDrivers}
onDriverClick={handleDriverClick}
onViewLeaderboard={handleViewLeaderboard}
/>
);
}