From 7c3a8b024d64eedad9ecb05284237285a5aceec8 Mon Sep 17 00:00:00 2001 From: Thomas Richter Date: Thu, 29 Jan 2026 11:06:51 +0100 Subject: [PATCH] feat(02-02): add EntryCard and EntryList components - EntryCard displays entry with type indicator (checkbox/badge) - Tasks have checkbox for toggle completion via form action - Thoughts show purple "T" badge indicator - Completed tasks show strikethrough styling - EntryList renders entries with mobile compact/desktop card layout - Type badge shows blue for task, purple for thought Co-Authored-By: Claude Opus 4.5 --- src/lib/components/EntryCard.svelte | 67 +++++++++++++++++++++++++++++ src/lib/components/EntryList.svelte | 23 ++++++++++ 2 files changed, 90 insertions(+) create mode 100644 src/lib/components/EntryCard.svelte create mode 100644 src/lib/components/EntryList.svelte diff --git a/src/lib/components/EntryCard.svelte b/src/lib/components/EntryCard.svelte new file mode 100644 index 0000000..cb120d6 --- /dev/null +++ b/src/lib/components/EntryCard.svelte @@ -0,0 +1,67 @@ + + +
+
+ {#if entry.type === 'task'} +
+ + +
+ {:else} + + T + + {/if} + +
+

+ {entry.title || 'Untitled'} +

+

+ {entry.content} +

+
+ + + {entry.type} + +
+
diff --git a/src/lib/components/EntryList.svelte b/src/lib/components/EntryList.svelte new file mode 100644 index 0000000..2a2cdad --- /dev/null +++ b/src/lib/components/EntryList.svelte @@ -0,0 +1,23 @@ + + +{#if entries.length === 0} +
+

No entries yet

+

Use the capture bar below to add your first entry

+
+{:else} +
+ {#each entries as entry (entry.id)} + + {/each} +
+{/if}