feat(02-03): add CompletedToggle to show/hide completed tasks

- Create CompletedToggle component with checkbox UI
- Add showCompleted URL param to +page.server.ts load function
- Update +page.svelte to sync preferences with URL
- Toggle state persists in localStorage via preferences store
- Clicking toggle updates URL and invalidates data for server filter
This commit is contained in:
Thomas Richter
2026-01-29 11:12:51 +01:00
parent 7d66a8f6fc
commit fc7c1f6c98
3 changed files with 73 additions and 4 deletions

View File

@@ -2,11 +2,13 @@ import type { PageServerLoad, Actions } from './$types';
import { fail } from '@sveltejs/kit';
import { entryRepository } from '$lib/server/db/repository';
export const load: PageServerLoad = async () => {
const entries = entryRepository.getOrdered({ showCompleted: false });
export const load: PageServerLoad = async ({ url }) => {
const showCompleted = url.searchParams.get('showCompleted') === 'true';
const entries = entryRepository.getOrdered({ showCompleted });
return {
entries
entries,
showCompleted
};
};