diff --git a/src/routes/data/raceresults/+page.server.ts b/src/routes/data/raceresults/+page.server.ts new file mode 100644 index 0000000..75c2402 --- /dev/null +++ b/src/routes/data/raceresults/+page.server.ts @@ -0,0 +1,47 @@ +import type { Driver, Race, RaceResult } from "$lib/schema"; +import type { Actions, PageServerLoad } from "./$types"; + +export const actions = {} as Actions; + +export const load: PageServerLoad = async ({ fetch, locals }) => { + // TODO: Duplicated code from racepicks/+page.server.ts + const fetch_raceresults = async (): Promise => { + const raceresults: RaceResult[] = await locals.pb.collection("raceresultsdesc").getFullList(); + + return raceresults; + }; + + // TODO: Duplicated code from data/season/+layout.server.ts and racepicks/+page.server.ts + const fetch_races = async (): Promise => { + const races: Race[] = await locals.pb.collection("races").getFullList({ + sort: "+step", + fetch: fetch, + }); + + races.map((race: Race) => { + race.pictogram_url = locals.pb.files.getURL(race, race.pictogram); + }); + + return races; + }; + + // TODO: Duplicated code from data/season/+layout.server.ts and racepicks/+page.server.ts + const fetch_drivers = async (): Promise => { + const drivers: Driver[] = await locals.pb.collection("drivers").getFullList({ + sort: "+code", + fetch: fetch, + }); + + drivers.map((driver: Driver) => { + driver.headshot_url = locals.pb.files.getURL(driver, driver.headshot); + }); + + return drivers; + }; + + return { + results: await fetch_raceresults(), + races: await fetch_races(), + drivers: await fetch_drivers(), + }; +}; diff --git a/src/routes/data/raceresults/+page.svelte b/src/routes/data/raceresults/+page.svelte index d4787b9..ccd7215 100644 --- a/src/routes/data/raceresults/+page.svelte +++ b/src/routes/data/raceresults/+page.svelte @@ -1 +1,88 @@ -

Race Results

+ + +
+ +
+ diff --git a/src/routes/data/season/+layout.server.ts b/src/routes/data/season/+layout.server.ts index ec08b34..de93acd 100644 --- a/src/routes/data/season/+layout.server.ts +++ b/src/routes/data/season/+layout.server.ts @@ -30,7 +30,7 @@ export const load: LayoutServerLoad = async ({ fetch, locals }) => { return teams; }; - // TODO: Duplicated code from racepicks/+page.server.ts + // TODO: Duplicated code from racepicks/+page.server.ts and data/raceresults/+page.server.ts const fetch_drivers = async (): Promise => { const drivers: Driver[] = await locals.pb.collection("drivers").getFullList({ sort: "+code", @@ -44,7 +44,7 @@ export const load: LayoutServerLoad = async ({ fetch, locals }) => { return drivers; }; - // TODO: Duplicated code from racepicks/+page.server.ts + // TODO: Duplicated code from racepicks/+page.server.ts and data/raceresults/+page.server.ts const fetch_races = async (): Promise => { const races: Race[] = await locals.pb.collection("races").getFullList({ sort: "+step", diff --git a/src/routes/racepicks/+page.server.ts b/src/routes/racepicks/+page.server.ts index eb149d5..f18e0b6 100644 --- a/src/routes/racepicks/+page.server.ts +++ b/src/routes/racepicks/+page.server.ts @@ -45,6 +45,7 @@ export const load: PageServerLoad = async ({ fetch, locals }) => { return currentpickedusers; }; + // TODO: Duplicated code from data/raceresults/+page.server.ts const fetch_raceresults = async (): Promise => { // Don't expand races/pxxs/dnfs since we already fetched those const raceresults: RaceResult[] = await locals.pb.collection("raceresultsdesc").getFullList(); @@ -52,7 +53,7 @@ export const load: PageServerLoad = async ({ fetch, locals }) => { return raceresults; }; - // TODO: Duplicated code from data/season/+layout.server.ts + // TODO: Duplicated code from data/season/+layout.server.ts and data/raceresults/+page.server.ts const fetch_drivers = async (): Promise => { const drivers: Driver[] = await locals.pb.collection("drivers").getFullList({ sort: "+code", @@ -66,7 +67,7 @@ export const load: PageServerLoad = async ({ fetch, locals }) => { return drivers; }; - // TODO: Duplicated code from data/season/+layout.server.ts + // TODO: Duplicated code from data/season/+layout.server.ts and data/raceresults/+page.server.ts const fetch_races = async (): Promise => { const races: Race[] = await locals.pb.collection("races").getFullList({ sort: "+step",