import { API_URL } from '$env/static/private'; import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; import type { Chapter } from '$lib/types'; export const load = (async ({ fetch, cookies, locals: { user } }) => { if (!user) redirect(302, '/login'); const session = cookies.get('session'); let res = await fetch(`${API_URL}/chapters`, { headers: { Authorization: `Bearer ${session}` } }); if (!res.ok) { return { daily: null }; } const chapters: Chapter[] = await res.json(); const lastChapter = chapters.filter((chapter) => chapter.show).pop(); if (!lastChapter) { return { daily: null }; } res = await fetch(`${API_URL}/chapter/${lastChapter.id}`, { headers: { Authorization: `Bearer ${session}` } }); if (!res.ok) { return { daily: { chapter: lastChapter, puzzle: null } }; } const chapter = (await res.json()) as Chapter; const lastPuzzle = chapter.puzzles.filter((puzzle) => puzzle.show).pop(); return { title: 'Dashboard', daily: { chapter: lastChapter, puzzle: lastPuzzle } }; }) satisfies PageServerLoad;