diff --git a/frontend/src/components/KindBadge.vue b/frontend/src/components/KindBadge.vue
new file mode 100644
index 0000000..3622a96
--- /dev/null
+++ b/frontend/src/components/KindBadge.vue
@@ -0,0 +1,79 @@
+
+
+
+ {{ LABELS[props.kind] }}
+
+
+
diff --git a/frontend/src/components/WorkspaceTaskPanel.vue b/frontend/src/components/WorkspaceTaskPanel.vue
index 09ad42e..982a5cc 100644
--- a/frontend/src/components/WorkspaceTaskPanel.vue
+++ b/frontend/src/components/WorkspaceTaskPanel.vue
@@ -4,6 +4,8 @@ import { RouterLink } from "vue-router";
import { apiGet, apiPatch, apiPost, apiDelete } from "@/api/client";
import { useToastStore } from "@/stores/toast";
import TaskLogSection from "@/components/TaskLogSection.vue";
+import KindBadge from "@/components/KindBadge.vue";
+import type { TaskKind } from "@/types/note";
import { renderMarkdown } from "@/utils/markdown";
import { Trash2, X } from "lucide-vue-next";
import { relativeTimeOrDate } from "@/composables/useRelativeTime";
@@ -28,6 +30,7 @@ interface Task {
due_date: string | null;
updated_at: string;
body?: string;
+ task_kind?: TaskKind;
}
const tasks = ref([]);
@@ -242,6 +245,7 @@ defineExpose({ reload: loadAll });
{{ task.title }}
+
{{ task.due_date }}
{{ relativeTimeOrDate(task.updated_at) }}
@@ -267,6 +271,7 @@ defineExpose({ reload: loadAll });
{{ task.title }}
+
{{ task.due_date }}
{{ relativeTimeOrDate(task.updated_at) }}
diff --git a/frontend/src/views/DashboardView.vue b/frontend/src/views/DashboardView.vue
index 5ee73e8..da19833 100644
--- a/frontend/src/views/DashboardView.vue
+++ b/frontend/src/views/DashboardView.vue
@@ -1,9 +1,11 @@