feat: show task keys (TEA-1) on cards and modal
All checks were successful
Deploy Web Client / deploy (push) Successful in 37s

This commit is contained in:
Markov 2026-02-15 20:30:21 +01:00
parent 34f3f4b43a
commit ec2e8502f8
3 changed files with 7 additions and 3 deletions

View File

@ -135,7 +135,7 @@ export default function KanbanBoard({ projectId }: Props) {
className="w-2 h-2 rounded-full mt-1.5 shrink-0" className="w-2 h-2 rounded-full mt-1.5 shrink-0"
style={{ background: PRIORITY_COLORS[task.priority] || "#737373" }} style={{ background: PRIORITY_COLORS[task.priority] || "#737373" }}
/> />
<span className="text-sm flex-1">{task.title}</span> <div className="flex-1"><span className="text-xs text-[var(--muted)] mr-1">{task.key}</span><div><span className="text-xs text-[var(--muted)] mr-1">{task.key}</span><span className="text-sm">{task.title}</span></div></div>
</div> </div>
{task.description && ( {task.description && (
<p className="text-xs text-[var(--muted)] mt-1 ml-4">{task.description}</p> <p className="text-xs text-[var(--muted)] mt-1 ml-4">{task.description}</p>
@ -224,7 +224,7 @@ export default function KanbanBoard({ projectId }: Props) {
style={{ background: PRIORITY_COLORS[task.priority] || "#737373" }} style={{ background: PRIORITY_COLORS[task.priority] || "#737373" }}
title={task.priority} title={task.priority}
/> />
<span className="text-sm">{task.title}</span> <div><span className="text-xs text-[var(--muted)] mr-1">{task.key}</span><span className="text-sm">{task.title}</span></div>
</div> </div>
{task.description && ( {task.description && (
<p className="text-xs text-[var(--muted)] mt-1 ml-4 line-clamp-2">{task.description}</p> <p className="text-xs text-[var(--muted)] mt-1 ml-4 line-clamp-2">{task.description}</p>

View File

@ -103,7 +103,7 @@ export default function TaskModal({ task, projectId, onClose, onUpdated, onDelet
{title} {title}
</h2> </h2>
)} )}
<div className="text-xs text-[var(--muted)] mt-1">ID: {task.id.slice(0, 8)}</div> <div className="text-xs text-[var(--muted)] mt-1">{task.key || task.id.slice(0, 8)}</div>
</div> </div>
<div className="flex flex-col md:flex-row"> <div className="flex flex-col md:flex-row">

View File

@ -36,6 +36,8 @@ export interface Project {
name: string; name: string;
slug: string; slug: string;
description: string | null; description: string | null;
key_prefix: string;
task_counter: number;
git_repo: string | null; git_repo: string | null;
} }
@ -50,6 +52,8 @@ export interface Task {
requires_pr: boolean; requires_pr: boolean;
pr_url: string | null; pr_url: string | null;
assigned_agent_id: string | null; assigned_agent_id: string | null;
number: number;
key: string | null;
position: number; position: number;
} }