33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import { error } from '@sveltejs/kit';
|
|
import { getAllDevilFruitsFromCharacters, getOrCreateTodayFruit, getYesterdayFruit, getTodayFruitWinsCount } from '$lib/server/daily-fruit';
|
|
import { getDailyModeCharacters } from '$lib/server/daily-character';
|
|
|
|
export async function load(event) {
|
|
const fruits = await getAllDevilFruitsFromCharacters();
|
|
const dailyFruit = await getOrCreateTodayFruit();
|
|
|
|
if (!dailyFruit) {
|
|
throw error(404, 'No daily fruit available. Please check if devil fruits are configured from characters.');
|
|
}
|
|
|
|
const yesterdayFruit = await getYesterdayFruit(new Date());
|
|
|
|
// Load daily-mode characters for searching and filter only those with a devil fruit
|
|
const allCharacters = await getDailyModeCharacters();
|
|
const characters = allCharacters.filter((c) => c.devilFruitId);
|
|
|
|
// Find the character tied to the chosen fruit among characters that have a devil fruit
|
|
const dailyCharacter = characters.find((c) => c.devilFruitId === dailyFruit.id) ?? null;
|
|
|
|
const winCount = await getTodayFruitWinsCount(dailyFruit.id);
|
|
|
|
return {
|
|
fruits,
|
|
dailyFruit,
|
|
dailyCharacter,
|
|
yesterdayFruit,
|
|
winCount,
|
|
characters
|
|
};
|
|
}
|