From d9502cb13d24894b2aeabcc8f4afe3c52d0901da Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 16:08:36 +0100 Subject: [PATCH] start of implementation of tasklist with an overlay --- src/lib/components/checkbox.svelte | 2 +- src/lib/components/task-overlay.svelte | 146 +++++++++++++++++++++++++ src/lib/components/task.svelte | 5 +- src/routes/+page.server.ts | 6 +- src/routes/+page.svelte | 72 ++++++++++-- static/global.css | 2 +- 6 files changed, 220 insertions(+), 13 deletions(-) create mode 100644 src/lib/components/task-overlay.svelte diff --git a/src/lib/components/checkbox.svelte b/src/lib/components/checkbox.svelte index 7d2095c..10c680a 100644 --- a/src/lib/components/checkbox.svelte +++ b/src/lib/components/checkbox.svelte @@ -71,7 +71,7 @@ @keyframes pop { 50% { - transform: scale(1.2); + transform: translateY(-50%) translateX(-50%) scale(1.2); } } diff --git a/src/lib/components/task-overlay.svelte b/src/lib/components/task-overlay.svelte new file mode 100644 index 0000000..4dfd919 --- /dev/null +++ b/src/lib/components/task-overlay.svelte @@ -0,0 +1,146 @@ + + + + + { + if (event instanceof KeyboardEvent) { + if (event.key === "Escape") { + cancelOverlay() + } + } +}} /> + +
+ + + +
+ + + + + + + +
+ +
+ + diff --git a/src/lib/components/task.svelte b/src/lib/components/task.svelte index 5c4ce68..5c823ca 100644 --- a/src/lib/components/task.svelte +++ b/src/lib/components/task.svelte @@ -22,7 +22,7 @@ -
+
@@ -48,7 +48,6 @@ width: var(--width, 100%); min-height: var(--min-height, 50px); - margin: 2px; padding: 10px; border: 1px solid gray; @@ -110,7 +109,7 @@ .loaded { transition: none; } - .loaded.checked { + .loaded .checked { transition: all 0.3s ease; } diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 823d1bf..855e090 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -1,5 +1,7 @@ import type { Actions, PageServerLoad } from "./$types" +import { fail } from "@sveltejs/kit" + export const load: PageServerLoad = async ({ locals, fetch }) => { const response = await fetch("/api/users/tasks", { @@ -10,7 +12,7 @@ export const load: PageServerLoad = async ({ locals, fetch }) => { } export const actions = { - create: async ({ request, fetch }) => { + edit: async ({ request, fetch }) => { const data = await request.formData() @@ -19,6 +21,8 @@ export const actions = { body: data }) + console.log(data) + return { } } } satisfies Actions diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index db997c1..0ab7fdb 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,18 +1,57 @@ +
{ + + return async ({ result }) => { + + if (result.type === 'success') { + open = false + } else /*if (result.type === 'error' || result.type === 'failure')*/ { + console.log(result) + } + + } + }} +>

Tasks

-
-
- -
+
+ { open = true }}/>
{#each data.tasks as task} @@ -20,6 +59,10 @@ {/each}
+{#if open} + +{/if} + diff --git a/static/global.css b/static/global.css index a474af2..a93007d 100644 --- a/static/global.css +++ b/static/global.css @@ -1,6 +1,6 @@ body { - --primary-bg-color: white; + --primary-bg-color: darkgreen; --primary-text-color: black; width: 100%;