Skip to content

Commit 7fbcab4

Browse files
dcrjodleclaude
andcommitted
Redesign Kanban column chrome
Restyle the Kanban column to match the Tendril board design: - Columns sit on a light gray rounded panel with white cards on top - Header shows a hollow circle indicator (tinted ring when a column color is set), a medium-weight title, the count, and a ··· overflow button - Drag-over uses a subtle ring instead of a flat background fill Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 5851003 commit 7fbcab4

1 file changed

Lines changed: 20 additions & 10 deletions

File tree

  • src/frontend/src/components/ui/shadcn-io

src/frontend/src/components/ui/shadcn-io/kanban.tsx

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use client";
22

33
import { createContext, useContext, useState, useCallback, useRef, ReactNode } from "react";
4+
import { Circle, MoreHorizontal } from "lucide-react";
45
import { ScrollArea } from "@/components/ui/scroll-area";
56
import { Separator } from "@/components/ui/separator";
67
import { cn } from "@/lib/utils";
@@ -210,9 +211,9 @@ export function KanbanColumn({ id, name, color, width, children, className }: Ka
210211
return (
211212
<div
212213
className={cn(
213-
"bg-background rounded-lg px-0 pt-2 min-h-0 flex flex-col transition-colors",
214+
"bg-muted/40 rounded-xl px-0 pt-3 pb-1 min-h-0 flex flex-col transition-colors",
214215
hasExplicitWidth ? "flex-none shrink-0" : "flex-none shrink-0 min-w-70",
215-
showDragOver && "bg-accent rounded-lg",
216+
showDragOver && "bg-accent ring-2 ring-primary/20",
216217
className,
217218
)}
218219
style={{
@@ -223,14 +224,23 @@ export function KanbanColumn({ id, name, color, width, children, className }: Ka
223224
onDragLeave={handleDragLeave}
224225
onDrop={handleDrop}
225226
>
226-
<div className="px-2">
227-
<h3 className="font-semibold text-foreground flex items-center gap-2">
228-
{color && <div className="size-3 rounded-full" style={{ backgroundColor: color }} />}
229-
{name || id}
230-
{showCounts && (
231-
<span className="text-muted-foreground text-sm font-normal">({columnTaskCount})</span>
232-
)}
233-
</h3>
227+
<div className="flex items-center gap-2 px-4 pb-1">
228+
{color ? (
229+
<span className="size-4 rounded-full border-[1.5px]" style={{ borderColor: color }} />
230+
) : (
231+
<Circle className="size-4 text-muted-foreground/60" strokeWidth={1.5} />
232+
)}
233+
<h3 className="font-medium text-sm text-foreground/80 truncate">{name || id}</h3>
234+
{showCounts && (
235+
<span className="text-muted-foreground/70 text-sm font-normal">{columnTaskCount}</span>
236+
)}
237+
<button
238+
type="button"
239+
className="ml-auto text-muted-foreground/50 hover:text-foreground transition-colors"
240+
aria-label="Column options"
241+
>
242+
<MoreHorizontal className="size-4" />
243+
</button>
234244
</div>
235245
{children}
236246
</div>

0 commit comments

Comments
 (0)