diff --git a/apps/web/src/lib/ui/data/TaskItem.svelte b/apps/web/src/lib/ui/data/TaskItem.svelte
index 46de0b3..451063e 100644
--- a/apps/web/src/lib/ui/data/TaskItem.svelte
+++ b/apps/web/src/lib/ui/data/TaskItem.svelte
@@ -1,6 +1,6 @@
{codeStr}
- {
- if (e.key === "Escape") {
- e.preventDefault();
- cancelText();
- } else if ((e.ctrlKey || e.metaKey) && e.key === "Enter") {
- e.preventDefault();
- saveText();
- } else if (e.key === "Enter") {
- e.preventDefault();
- }
- }}
- >
- {description}
-
+ saveText((e as CustomEvent<{ text: string }>).detail.text)}
+ on:cancelText={cancelText}
+ />
- {groupLabel}
- {#if due_date}
-
- {/if}
+
+ import TaskDueBadge from "$lib/ui/data/task/TaskDueBadge.svelte";
+
+ export let groupLabel: string;
+ export let gc: { border?: string; bg?: string; text?: string } | null = null;
+ export let due_date: string | null = null;
+
+
+
+ {groupLabel}
+
+{#if due_date}
+
+{/if}
+
+
diff --git a/apps/web/src/lib/ui/data/task/TaskText.svelte b/apps/web/src/lib/ui/data/task/TaskText.svelte
new file mode 100644
index 0000000..f88bfee
--- /dev/null
+++ b/apps/web/src/lib/ui/data/task/TaskText.svelte
@@ -0,0 +1,99 @@
+
+
+ !busy && !completed && dispatch('toggleEdit')}
+ on:keydown={(e) => {
+ if (e.key === "Escape") {
+ e.preventDefault();
+ dispatch('cancelText');
+ } else if ((e.ctrlKey || e.metaKey) && e.key === "Enter") {
+ e.preventDefault();
+ dispatch('saveText', { text: getCurrentText() });
+ } else if (e.key === "Enter") {
+ e.preventDefault();
+ }
+ }}
+>
+ {description}
+
+
+