feat : add task management with kanban and backlog
Add kanban board with drag-and-drop, backlog section, task/group drawers, DTOs, services, and i18n translations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
9
frontend/services/dto/task-effort.ts
Normal file
9
frontend/services/dto/task-effort.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
export type TaskEffort = {
|
||||
id: number
|
||||
'@id'?: string
|
||||
label: string
|
||||
}
|
||||
|
||||
export type TaskEffortWrite = {
|
||||
label: string
|
||||
}
|
||||
17
frontend/services/dto/task-group.ts
Normal file
17
frontend/services/dto/task-group.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import type { Project } from './project'
|
||||
|
||||
export type TaskGroup = {
|
||||
id: number
|
||||
'@id'?: string
|
||||
title: string
|
||||
description: string | null
|
||||
color: string
|
||||
project: Project | null
|
||||
}
|
||||
|
||||
export type TaskGroupWrite = {
|
||||
title: string
|
||||
description: string | null
|
||||
color: string
|
||||
project: string
|
||||
}
|
||||
11
frontend/services/dto/task-priority.ts
Normal file
11
frontend/services/dto/task-priority.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
export type TaskPriority = {
|
||||
id: number
|
||||
'@id'?: string
|
||||
label: string
|
||||
color: string
|
||||
}
|
||||
|
||||
export type TaskPriorityWrite = {
|
||||
label: string
|
||||
color: string
|
||||
}
|
||||
13
frontend/services/dto/task-status.ts
Normal file
13
frontend/services/dto/task-status.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export type TaskStatus = {
|
||||
id: number
|
||||
'@id'?: string
|
||||
label: string
|
||||
color: string
|
||||
position: number
|
||||
}
|
||||
|
||||
export type TaskStatusWrite = {
|
||||
label: string
|
||||
color: string
|
||||
position: number
|
||||
}
|
||||
11
frontend/services/dto/task-type.ts
Normal file
11
frontend/services/dto/task-type.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
export type TaskType = {
|
||||
id: number
|
||||
'@id'?: string
|
||||
label: string
|
||||
color: string
|
||||
}
|
||||
|
||||
export type TaskTypeWrite = {
|
||||
label: string
|
||||
color: string
|
||||
}
|
||||
31
frontend/services/dto/task.ts
Normal file
31
frontend/services/dto/task.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import type { TaskStatus } from './task-status'
|
||||
import type { TaskEffort } from './task-effort'
|
||||
import type { TaskPriority } from './task-priority'
|
||||
import type { TaskType } from './task-type'
|
||||
import type { TaskGroup } from './task-group'
|
||||
import type { UserData } from './user-data'
|
||||
|
||||
export type Task = {
|
||||
id: number
|
||||
'@id'?: string
|
||||
title: string
|
||||
description: string | null
|
||||
status: TaskStatus | null
|
||||
effort: TaskEffort | null
|
||||
priority: TaskPriority | null
|
||||
assignee: UserData | null
|
||||
group: TaskGroup | null
|
||||
types: TaskType[]
|
||||
}
|
||||
|
||||
export type TaskWrite = {
|
||||
title: string
|
||||
description: string | null
|
||||
status: string | null
|
||||
effort: string | null
|
||||
priority: string | null
|
||||
assignee: string | null
|
||||
group: string | null
|
||||
project: string
|
||||
types: string[]
|
||||
}
|
||||
Reference in New Issue
Block a user