website refactor

This commit is contained in:
2026-01-14 23:46:04 +01:00
parent c1a86348d7
commit 4a2d7d15a5
294 changed files with 5637 additions and 3418 deletions

View File

@@ -0,0 +1,30 @@
import { useState, useMemo } from 'react';
import type { DriverLeaderboardItemViewModel } from '@/lib/view-models/DriverLeaderboardItemViewModel';
/**
* useDriverSearch
*
* Client-side hook for UX-only search filtering.
* This is view-only transformation, not business logic.
*/
export function useDriverSearch(drivers: DriverLeaderboardItemViewModel[]) {
const [searchQuery, setSearchQuery] = useState('');
const filteredDrivers = useMemo(() => {
if (!searchQuery) return drivers;
const query = searchQuery.toLowerCase();
return drivers.filter(driver => {
return (
driver.name.toLowerCase().includes(query) ||
driver.nationality.toLowerCase().includes(query)
);
});
}, [drivers, searchQuery]);
return {
searchQuery,
setSearchQuery,
filteredDrivers,
};
}