Fix task modal: key above title, parent/child key on kanban
1. Task key + parent breadcrumb moved ABOVE title in modal header 2. Kanban cards show 'TE-1 / TE-3' for subtasks 3. Close button aligned with key row
This commit is contained in:
parent
f28909524c
commit
3df1060970
@ -105,7 +105,10 @@ export default function KanbanBoard({ projectId, projectSlug }: Props) {
|
|||||||
<div className="w-2 h-2 rounded-full shrink-0"
|
<div className="w-2 h-2 rounded-full shrink-0"
|
||||||
style={{ background: PRIORITY_COLORS[task.priority] || "#737373" }}
|
style={{ background: PRIORITY_COLORS[task.priority] || "#737373" }}
|
||||||
title={task.priority} />
|
title={task.priority} />
|
||||||
<span className="text-xs text-[var(--muted)]">{prefix}-{task.number}</span>
|
<span className="text-xs text-[var(--muted)]">
|
||||||
|
{task.parent_key && <span>{task.parent_key} / </span>}
|
||||||
|
{prefix}-{task.number}
|
||||||
|
</span>
|
||||||
{task.assignee && (
|
{task.assignee && (
|
||||||
<span className="text-xs text-[var(--muted)] ml-auto">→ {task.assignee.slug}</span>
|
<span className="text-xs text-[var(--muted)] ml-auto">→ {task.assignee.slug}</span>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -132,7 +132,28 @@ export default function TaskModal({ task, projectId: _projectId, projectSlug: _p
|
|||||||
>
|
>
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
<div className="p-4 md:p-6 border-b border-[var(--border)]">
|
<div className="p-4 md:p-6 border-b border-[var(--border)]">
|
||||||
<div className="flex items-start justify-between gap-2 mb-1">
|
<div className="flex items-center justify-between mb-1">
|
||||||
|
<div className="text-xs text-[var(--muted)]">
|
||||||
|
{task.parent_key && task.parent_id ? (
|
||||||
|
<span>
|
||||||
|
<button
|
||||||
|
onClick={() => { onClose(); setTimeout(() => onOpenTask?.(task.parent_id!), 100); }}
|
||||||
|
className="text-[var(--accent)] hover:underline"
|
||||||
|
>{task.parent_key}</button>
|
||||||
|
<span className="mx-1">/</span>
|
||||||
|
</span>
|
||||||
|
) : null}
|
||||||
|
{task.key}
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
onClick={onClose}
|
||||||
|
className="text-[var(--muted)] hover:text-[var(--fg)] transition-colors text-xl leading-none cursor-pointer shrink-0"
|
||||||
|
title="Закрыть"
|
||||||
|
>
|
||||||
|
✕
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-start gap-2">
|
||||||
{editingTitle ? (
|
{editingTitle ? (
|
||||||
<input
|
<input
|
||||||
autoFocus
|
autoFocus
|
||||||
@ -156,25 +177,6 @@ export default function TaskModal({ task, projectId: _projectId, projectSlug: _p
|
|||||||
{title}
|
{title}
|
||||||
</h2>
|
</h2>
|
||||||
)}
|
)}
|
||||||
<button
|
|
||||||
onClick={onClose}
|
|
||||||
className="text-[var(--muted)] hover:text-[var(--fg)] transition-colors text-xl leading-none cursor-pointer shrink-0 mt-1"
|
|
||||||
title="Закрыть"
|
|
||||||
>
|
|
||||||
✕
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div className="text-xs text-[var(--muted)]">
|
|
||||||
{task.parent_key && task.parent_id ? (
|
|
||||||
<span>
|
|
||||||
<button
|
|
||||||
onClick={() => { onClose(); setTimeout(() => onOpenTask?.(task.parent_id!), 100); }}
|
|
||||||
className="text-[var(--accent)] hover:underline"
|
|
||||||
>{task.parent_key}</button>
|
|
||||||
<span className="mx-1">/</span>
|
|
||||||
</span>
|
|
||||||
) : null}
|
|
||||||
{task.key}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user