feat(tasks): customizable kanban columns, task detail page, hashtag filtering and clean task list
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m0s

This commit is contained in:
sandrodach committed 2026-10-25 13:13:11 +01:00
1 parent 0afa2f9c2d
commit b5df4a34b4
8 files changed
+1847 -689

No files matched your search

+7 -2
View File
@@ -6,6 +6,7 @@ import {
DocumentBlock,
DocShare,
DocLockInfo,
KanbanColumn,
ListItem,
Organization,
PriorityLevel,
@@ -313,11 +314,12 @@ export const api = {
content?: string;
isCompleted?: boolean;
dueDate?: string;
priority?: PriorityLevel;
priority?: string;
taskListId?: string;
kanbanStatus?: 'todo' | 'in_progress' | 'done';
kanbanStatus?: string;
notes?: string;
subtasks?: SubTask[];
tags?: string[];
}
): Promise<Thought> {
return request<Thought>(`/api/v1/thoughts/${thoughtId}`, {
@@ -341,6 +343,7 @@ export const api = {
...tl,
members: ensureArray(tl.members),
shares: ensureArray(tl.shares),
columns: ensureArray(tl.columns),
}));
},
@@ -350,6 +353,7 @@ export const api = {
color?: string;
teamId?: string;
spaceId?: string;
columns?: KanbanColumn[];
}): Promise<TaskList> {
return request<TaskList>('/api/v1/task-lists', {
method: 'POST',
@@ -365,6 +369,7 @@ export const api = {
color?: string;
teamId?: string;
spaceId?: string;
columns?: KanbanColumn[];
}
): Promise<TaskList> {
return request<TaskList>(`/api/v1/task-lists/${id}`, {
+9 -1
View File
@@ -56,7 +56,7 @@ export interface Thought {
convertedRefId?: string;
dueDate?: string;
taskListId?: string;
kanbanStatus?: 'todo' | 'in_progress' | 'done';
kanbanStatus?: string;
notes?: string;
subtasks?: SubTask[];
alarmSent?: boolean;
@@ -64,6 +64,13 @@ export interface Thought {
triagedAt?: string;
}
export interface KanbanColumn {
id: string;
name: string;
color?: string;
isDone?: boolean;
}
export interface TaskListShare {
id: string;
taskListId: string;
@@ -92,6 +99,7 @@ export interface TaskList {
isOwner?: boolean;
members?: TaskListMember[];
shares?: TaskListShare[];
columns?: KanbanColumn[];
title: string;
icon: string;
color: string;