import type { PageLoad } from './$types'; import { api } from '$lib/api'; /** * Matches listing page data loader */ export const load: PageLoad = async ({ url }) => { // Get query parameters const map = url.searchParams.get('map') || undefined; const playerId = url.searchParams.get('player_id') || undefined; const limit = Number(url.searchParams.get('limit')) || 20; // Request 20 matches for initial load try { // Load matches with filters const matchesData = await api.matches.getMatches({ limit, map, player_id: playerId }); return { matches: matchesData.matches, hasMore: matchesData.has_more, nextPageTime: matchesData.next_page_time, filters: { map, playerId }, meta: { title: 'Browse Matches - CS2.WTF', description: 'Browse and search through CS2 matchmaking games with detailed filters.' } }; } catch (error) { console.error( 'Failed to load matches:', error instanceof Error ? error.message : String(error) ); // Return empty state on error return { matches: [], hasMore: false, nextPageTime: undefined, filters: { map, playerId }, meta: { title: 'Browse Matches - CS2.WTF', description: 'Browse and search through CS2 matchmaking games with detailed filters.' } }; } };