feat(board): rework quick-peek modal (Linear-style) + board toolbar
Modal redesign — compact summary instead of two long cards:
- Topbar: breadcrumb + state pill + copyable task-id/link chip; review
actions (approve / request changes) live in the modal header too
- Main column: title, meta chips (ball, created, last update), compact
description, then square summary tiles (done/total with progress,
active, open, blocked) + per-agent pills — details stay in Vollansicht
- Right sidebar: properties as slim Linear-style rows (status, priority,
assignee, due, source) with hover-reveal controls; activity moved next
to properties as a compact timeline with a new comment composer
(POST tasks/{id}/activity via new store action postTaskActivity)
- Unified button system (32px: primary/ghost/approve/changes/icon)
- flattenBoard includes nested children again so quick-peek works for
child rows inside master cards
Board (issue-tracker basics):
- Toolbar with search (title/detail/id/child titles) and ball filters:
Alle / Du bist dran / Bei Iris / Haengt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -321,6 +321,18 @@ export const useTaskStore = defineStore('tasks', {
|
||||
}
|
||||
},
|
||||
|
||||
/* ── API: Kommentar/Aktivität an Task posten ──── */
|
||||
async postTaskActivity(id: string, message: string, type = 'comment') {
|
||||
const res = await apiFetch(`/api/dashboard/tasks/${id}/activity`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ message, type }),
|
||||
})
|
||||
if (!res.ok) {
|
||||
const body = await res.json().catch(() => ({}))
|
||||
throw new Error(body.error || `HTTP ${res.status}`)
|
||||
}
|
||||
},
|
||||
|
||||
/* ── API: Fetch agent workflow overview ──────── */
|
||||
async fetchAgentOverview(staleHours = 2) {
|
||||
this.agentOverviewLoading = true
|
||||
|
||||
Reference in New Issue
Block a user