Two small ergonomic fixes after the impeccable pass: - TaskLane keyboard hints (⏎ submit · ⇧⏎ newline) under each open input were rendered at text-muted-foreground/70, just shy of legible at a glance. Drop the /70 opacity modifier so they read at full muted weight on first look without becoming visually loud. - 12 sites across the session screen had explicit font-sans utilities, but the body default is already IBM Plex Sans (via --font-sans in index.css and Tailwind v4's default-sans binding). None of the call sites sit inside a font-heading or font-mono cascade, so every font-sans there was a no-op. Drop them. ConcludeSessionModal also had three "text-xs font-sans text-xs" triplets — drop both the redundant font-sans and the doubled text-xs in one pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import { useNavigate } from 'react-router-dom'
|
|
import { Box, ArrowRight } from 'lucide-react'
|
|
import { getTreeNavigatePath } from '@/lib/routing'
|
|
import type { SuggestedFlow } from '@/types/copilot'
|
|
|
|
interface SuggestedFlowCardProps {
|
|
flow: SuggestedFlow
|
|
}
|
|
|
|
export function SuggestedFlowCard({ flow }: SuggestedFlowCardProps) {
|
|
const navigate = useNavigate()
|
|
|
|
const handleClick = () => {
|
|
const path = getTreeNavigatePath(flow.tree_id, flow.tree_type)
|
|
navigate(path)
|
|
}
|
|
|
|
return (
|
|
<button
|
|
onClick={handleClick}
|
|
className="w-full text-left card-flat p-3 rounded-xl hover:border-border-hover transition-colors group"
|
|
>
|
|
<div className="flex items-start gap-2">
|
|
<Box size={14} className="text-primary mt-0.5 shrink-0" />
|
|
<div className="min-w-0 flex-1">
|
|
<div className="flex items-center gap-1.5">
|
|
<span className="text-[0.8125rem] font-medium text-foreground truncate">
|
|
{flow.tree_name}
|
|
</span>
|
|
<span className="text-[0.625rem] uppercase tracking-wider text-muted-foreground">
|
|
{flow.tree_type}
|
|
</span>
|
|
</div>
|
|
<p className="text-xs text-muted-foreground mt-0.5 line-clamp-2">
|
|
{flow.relevance_snippet}
|
|
</p>
|
|
</div>
|
|
<ArrowRight size={14} className="text-muted-foreground group-hover:text-primary transition-colors shrink-0 mt-0.5" />
|
|
</div>
|
|
</button>
|
|
)
|
|
}
|