diff --git a/apps/todo/apps/web/src/lib/components/SubtaskList.svelte b/apps/todo/apps/web/src/lib/components/SubtaskList.svelte
index 5df00fbb6..ec790be1b 100644
--- a/apps/todo/apps/web/src/lib/components/SubtaskList.svelte
+++ b/apps/todo/apps/web/src/lib/components/SubtaskList.svelte
@@ -4,6 +4,8 @@
import { flip } from 'svelte/animate';
import { untrack } from 'svelte';
import { Check, Plus, X, DotsSixVertical } from '@manacore/shared-icons';
+ import { TodoEvents } from '@manacore/shared-utils/analytics';
+ import { t } from 'svelte-i18n';
interface Props {
subtasks: Subtask[];
@@ -20,7 +22,9 @@
const current = subtasks;
untrack(() => {
const currentIds = new Set(current.map((s) => s.id));
- const itemIds = new Set(items.filter((i) => i.id !== SHADOW_PLACEHOLDER_ITEM_ID).map((i) => i.id));
+ const itemIds = new Set(
+ items.filter((i) => i.id !== SHADOW_PLACEHOLDER_ITEM_ID).map((i) => i.id)
+ );
const idsChanged =
currentIds.size !== itemIds.size || current.some((s) => !itemIds.has(s.id));
@@ -42,10 +46,13 @@
items = e.detail.items.filter((item) => item.id !== SHADOW_PLACEHOLDER_ITEM_ID);
onChange(items.map((item, index) => ({ ...item, order: index })));
dropInProgress = true;
- setTimeout(() => { dropInProgress = false; }, 500);
+ setTimeout(() => {
+ dropInProgress = false;
+ }, 500);
}
function toggleComplete(id: string) {
+ const target = subtasks.find((s) => s.id === id);
const updated = subtasks.map((s) =>
s.id === id
? {
@@ -55,6 +62,7 @@
}
: s
);
+ if (target && !target.isCompleted) TodoEvents.subtaskCompleted();
onChange(updated);
}
@@ -122,7 +130,7 @@
}}
>
-
+
@@ -147,15 +155,15 @@
spellcheck="false"
onclick={(e) => e.stopPropagation()}
onkeydown={(e) => handleTitleKeydown(e, subtask)}
- onblur={(e) => handleTitleBlur(e, subtask)}
- >{subtask.title}
+ onblur={(e) => handleTitleBlur(e, subtask)}>{subtask.title}
@@ -172,12 +180,12 @@
{#if newSubtaskTitle.trim()}
-
+
{/if}
diff --git a/apps/todo/apps/web/src/lib/components/TagStrip.svelte b/apps/todo/apps/web/src/lib/components/TagStrip.svelte
index 9d241bec5..7485a02e2 100644
--- a/apps/todo/apps/web/src/lib/components/TagStrip.svelte
+++ b/apps/todo/apps/web/src/lib/components/TagStrip.svelte
@@ -5,6 +5,7 @@
import { goto } from '$app/navigation';
import { DotsThree, Plus, X } from '@manacore/shared-icons';
import TagStripModal from './TagStripModal.svelte';
+ import { t } from 'svelte-i18n';
const tagsCtx: { readonly value: Tag[] } = getContext('tags');
@@ -54,7 +55,7 @@
class="clear-filter-pill glass-tag"
class:hidden={!hasSelectedTags}
onclick={() => viewStore.setFilterLabelIds([])}
- title="Filter löschen"
+ title={$t('filters.clearFilter')}
disabled={!hasSelectedTags}
>
@@ -62,15 +63,15 @@
-