import { error } from '@sveltejs/kit'; import { db } from '$lib/server/db'; import { config } from '$lib/server/db/schema'; import { getDailyModeCharacters, getOrCreateTodayCharacter, getYesterdayCharacter } from '$lib/server/daily-character'; import { like } from 'drizzle-orm'; export async function load() { const characters = await getDailyModeCharacters(); const dailyCharacter = await getOrCreateTodayCharacter(characters); if (!dailyCharacter) { throw error(404, 'No daily character available. Please check if characters are configured in daily mode.'); } const yesterdayCharacter = await getYesterdayCharacter(new Date(), characters); // Load column visibility config const columnConfig = await db .select() .from(config) .where(like(config.key, 'characterHistory.column.%.visible')); // Convert to object for easier access const columnVisibility: Record = {}; columnConfig.forEach(row => { const match = row.key.match(/characterHistory\.column\.(.+)\.visible/); if (match) { columnVisibility[match[1]] = row.value === 'true'; } }); return { characters, dailyCharacter, yesterdayCharacter, columnVisibility }; }