refactor: migrate remaining components to Design System v4

111 files across 14 directories: common, tree-editor, kb-accelerator,
copilot, assistant, analytics, library, procedural, procedural-editor,
public, script-editor, ui, admin, step-library.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Michael Chihlas
2026-03-22 02:18:15 -04:00
parent 858f890ed3
commit d1a56f0529
111 changed files with 1330 additions and 1330 deletions

View File

@@ -73,12 +73,12 @@ export function TreeTableView({
}
return (
<div className="overflow-x-auto rounded-2xl border border-border">
<div className="overflow-x-auto rounded-2xl border border-[#1e2130]">
<table className="w-full">
<thead className="bg-accent/50 sticky top-0 z-10">
<tr className="border-b border-border">
<tr className="border-b border-[#1e2130]">
<th
className="px-4 py-3 text-left text-sm font-medium text-muted-foreground cursor-pointer hover:text-foreground"
className="px-4 py-3 text-left text-sm font-medium text-[#848b9b] cursor-pointer hover:text-[#e2e5eb]"
onClick={() => handleSort('name')}
>
<div className="flex items-center gap-1">
@@ -86,11 +86,11 @@ export function TreeTableView({
{getSortIcon('name')}
</div>
</th>
<th className="hidden md:table-cell px-4 py-3 text-left text-sm font-medium text-muted-foreground">
<th className="hidden md:table-cell px-4 py-3 text-left text-sm font-medium text-[#848b9b]">
Description
</th>
<th
className="hidden lg:table-cell px-4 py-3 text-left text-sm font-medium text-muted-foreground cursor-pointer hover:text-foreground"
className="hidden lg:table-cell px-4 py-3 text-left text-sm font-medium text-[#848b9b] cursor-pointer hover:text-[#e2e5eb]"
onClick={() => handleSort('category')}
>
<div className="flex items-center gap-1">
@@ -98,11 +98,11 @@ export function TreeTableView({
{getSortIcon('category')}
</div>
</th>
<th className="hidden xl:table-cell px-4 py-3 text-left text-sm font-medium text-muted-foreground">
<th className="hidden xl:table-cell px-4 py-3 text-left text-sm font-medium text-[#848b9b]">
Tags
</th>
<th
className="hidden sm:table-cell px-4 py-3 text-center text-sm font-medium text-muted-foreground cursor-pointer hover:text-foreground"
className="hidden sm:table-cell px-4 py-3 text-center text-sm font-medium text-[#848b9b] cursor-pointer hover:text-[#e2e5eb]"
onClick={() => handleSort('version')}
>
<div className="flex items-center justify-center gap-1">
@@ -111,7 +111,7 @@ export function TreeTableView({
</div>
</th>
<th
className="hidden sm:table-cell px-4 py-3 text-center text-sm font-medium text-muted-foreground cursor-pointer hover:text-foreground"
className="hidden sm:table-cell px-4 py-3 text-center text-sm font-medium text-[#848b9b] cursor-pointer hover:text-[#e2e5eb]"
onClick={() => handleSort('usage')}
>
<div className="flex items-center justify-center gap-1">
@@ -120,7 +120,7 @@ export function TreeTableView({
</div>
</th>
<th
className="hidden md:table-cell px-4 py-3 text-left text-sm font-medium text-muted-foreground cursor-pointer hover:text-foreground"
className="hidden md:table-cell px-4 py-3 text-left text-sm font-medium text-[#848b9b] cursor-pointer hover:text-[#e2e5eb]"
onClick={() => handleSort('updated')}
>
<div className="flex items-center gap-1">
@@ -128,17 +128,17 @@ export function TreeTableView({
{getSortIcon('updated')}
</div>
</th>
<th className="px-4 py-3 text-right text-sm font-medium text-muted-foreground">
<th className="px-4 py-3 text-right text-sm font-medium text-[#848b9b]">
Actions
</th>
</tr>
</thead>
<tbody className="bg-transparent">
{trees.map((tree) => (
<tr key={tree.id} className="border-b border-border last:border-0 hover:bg-accent/50">
<tr key={tree.id} className="border-b border-[#1e2130] last:border-0 hover:bg-accent/50">
<td className="px-4 py-3">
<div className="flex items-center gap-2">
<span className="font-medium text-foreground truncate max-w-[200px]">
<span className="font-medium text-[#e2e5eb] truncate max-w-[200px]">
{tree.name}
</span>
{tree.status === 'draft' && (
@@ -148,7 +148,7 @@ export function TreeTableView({
</span>
)}
{tree.tree_type === 'maintenance' && (
<span className="inline-flex items-center gap-1 rounded-full border border-amber-500/30 bg-amber-500/10 px-2 py-0.5 font-label text-[0.625rem] uppercase tracking-wide text-amber-400 shrink-0">
<span className="inline-flex items-center gap-1 rounded-full border border-amber-500/30 bg-amber-500/10 px-2 py-0.5 font-sans text-xs text-[0.625rem] uppercase tracking-wide text-amber-400 shrink-0">
<Wrench className="h-3 w-3" />
Maintenance
</span>
@@ -160,23 +160,23 @@ export function TreeTableView({
)}
{tree.is_public ? (
<span title="Public tree">
<Globe className="h-3.5 w-3.5 text-muted-foreground shrink-0" />
<Globe className="h-3.5 w-3.5 text-[#848b9b] shrink-0" />
</span>
) : (
<span title="Private tree">
<Lock className="h-3.5 w-3.5 text-muted-foreground shrink-0" />
<Lock className="h-3.5 w-3.5 text-[#848b9b] shrink-0" />
</span>
)}
</div>
</td>
<td className="hidden md:table-cell px-4 py-3 text-sm text-muted-foreground">
<td className="hidden md:table-cell px-4 py-3 text-sm text-[#848b9b]">
<span className="truncate block max-w-[250px]">
{tree.description || 'No description'}
</span>
</td>
<td className="hidden lg:table-cell px-4 py-3">
{tree.category_info && (
<span className="inline-block rounded-full bg-accent px-2 py-0.5 text-xs text-muted-foreground">
<span className="inline-block rounded-full bg-accent px-2 py-0.5 text-xs text-[#848b9b]">
{tree.category_info.name}
</span>
)}
@@ -186,13 +186,13 @@ export function TreeTableView({
<TagBadges tags={tree.tags} maxVisible={2} onTagClick={onTagClick} />
)}
</td>
<td className="hidden sm:table-cell px-4 py-3 text-center text-sm text-muted-foreground">
<td className="hidden sm:table-cell px-4 py-3 text-center text-sm text-[#848b9b]">
v{tree.version}
</td>
<td className="hidden sm:table-cell px-4 py-3 text-center text-sm text-muted-foreground">
<td className="hidden sm:table-cell px-4 py-3 text-center text-sm text-[#848b9b]">
{tree.usage_count}
</td>
<td className="hidden md:table-cell px-4 py-3 text-sm text-muted-foreground">
<td className="hidden md:table-cell px-4 py-3 text-sm text-[#848b9b]">
{formatDate(tree.updated_at)}
</td>
<td className="px-4 py-3">
@@ -202,8 +202,8 @@ export function TreeTableView({
type="button"
onClick={() => onExportTree(tree.id)}
className={cn(
'rounded-md border border-border p-1.5 text-muted-foreground',
'hover:bg-accent hover:text-foreground'
'rounded-md border border-[#1e2130] p-1.5 text-[#848b9b]',
'hover:bg-accent hover:text-[#e2e5eb]'
)}
title="Export flow"
aria-label="Export flow"
@@ -216,8 +216,8 @@ export function TreeTableView({
type="button"
onClick={() => onForkTree(tree.id)}
className={cn(
'rounded-md border border-border p-1.5 text-muted-foreground',
'hover:bg-accent hover:text-foreground'
'rounded-md border border-[#1e2130] p-1.5 text-[#848b9b]',
'hover:bg-accent hover:text-[#e2e5eb]'
)}
title="Fork tree"
aria-label="Fork tree"
@@ -230,8 +230,8 @@ export function TreeTableView({
<Link
to={getTreeEditorPath(tree.id, tree.tree_type)}
className={cn(
'rounded-md border border-border p-1.5 text-muted-foreground',
'hover:bg-accent hover:text-foreground'
'rounded-md border border-[#1e2130] p-1.5 text-[#848b9b]',
'hover:bg-accent hover:text-[#e2e5eb]'
)}
title="Edit tree"
aria-label="Edit tree"
@@ -242,7 +242,7 @@ export function TreeTableView({
type="button"
onClick={() => onDeleteTree(tree)}
className={cn(
'rounded-md border border-border p-1.5 text-muted-foreground',
'rounded-md border border-[#1e2130] p-1.5 text-[#848b9b]',
'hover:bg-red-500/20 hover:text-red-400'
)}
title="Delete tree"
@@ -257,7 +257,7 @@ export function TreeTableView({
type="button"
onClick={() => onPrepareSession(tree)}
className={cn(
'rounded-md border border-border p-1.5 text-muted-foreground',
'rounded-md border border-[#1e2130] p-1.5 text-[#848b9b]',
'hover:bg-cyan-500/10 hover:text-cyan-400 hover:border-cyan-500/30'
)}
title="Prepare session for engineer"
@@ -270,8 +270,8 @@ export function TreeTableView({
type="button"
onClick={() => onStartSession(tree.id, tree.tree_type)}
className={cn(
'rounded-md bg-gradient-brand px-3 py-1.5 text-xs font-medium text-white shadow-lg shadow-primary/20',
'hover:opacity-90 whitespace-nowrap'
'rounded-md bg-[#22d3ee] px-3 py-1.5 text-xs font-medium text-white',
'hover:brightness-110 whitespace-nowrap'
)}
>
Start