refactor: migrate session, script-builder, account to Design System v4
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -219,8 +219,8 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
className={cn(
|
||||
'flex flex-1 items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium transition-all',
|
||||
mode === 'search'
|
||||
? 'bg-white/[0.08] text-foreground shadow-sm'
|
||||
: 'text-muted-foreground hover:text-foreground'
|
||||
? 'bg-white/[0.08] text-[#e2e5eb] shadow-sm'
|
||||
: 'text-[#848b9b] hover:text-[#e2e5eb]'
|
||||
)}
|
||||
>
|
||||
<Search className="h-3.5 w-3.5" />
|
||||
@@ -232,8 +232,8 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
className={cn(
|
||||
'flex flex-1 items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium transition-all',
|
||||
mode === 'manual'
|
||||
? 'bg-white/[0.08] text-foreground shadow-sm'
|
||||
: 'text-muted-foreground hover:text-foreground'
|
||||
? 'bg-white/[0.08] text-[#e2e5eb] shadow-sm'
|
||||
: 'text-[#848b9b] hover:text-[#e2e5eb]'
|
||||
)}
|
||||
>
|
||||
<Hash className="h-3.5 w-3.5" />
|
||||
@@ -257,12 +257,12 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
</div>
|
||||
|
||||
{/* Include closed toggle */}
|
||||
<label className="flex cursor-pointer items-center gap-2 text-xs text-muted-foreground">
|
||||
<label className="flex cursor-pointer items-center gap-2 text-xs text-[#848b9b]">
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={includeClosed}
|
||||
onChange={(e) => setIncludeClosed(e.target.checked)}
|
||||
className="rounded border-border bg-card accent-primary"
|
||||
className="rounded border-[#1e2130] bg-[#14161d] accent-primary"
|
||||
/>
|
||||
Include closed tickets
|
||||
</label>
|
||||
@@ -270,12 +270,12 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
{/* Search results */}
|
||||
{isSearching && (
|
||||
<div className="flex items-center justify-center py-6">
|
||||
<Loader2 className="h-5 w-5 animate-spin text-muted-foreground" />
|
||||
<Loader2 className="h-5 w-5 animate-spin text-[#848b9b]" />
|
||||
</div>
|
||||
)}
|
||||
|
||||
{!isSearching && hasSearched && searchResults.length === 0 && (
|
||||
<div className="py-6 text-center text-sm text-muted-foreground">
|
||||
<div className="py-6 text-center text-sm text-[#848b9b]">
|
||||
No tickets found
|
||||
</div>
|
||||
)}
|
||||
@@ -290,17 +290,17 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
disabled={isLooking}
|
||||
className={cn(
|
||||
'w-full rounded-lg border border-transparent px-3 py-2.5 text-left transition-all',
|
||||
'hover:border-border hover:bg-white/[0.04]',
|
||||
'hover:border-[#1e2130] hover:bg-white/[0.04]',
|
||||
'disabled:opacity-50',
|
||||
result.closed && 'opacity-60'
|
||||
)}
|
||||
>
|
||||
<p className="truncate text-sm font-medium text-foreground">
|
||||
<span className="text-muted-foreground">#{result.id}</span>
|
||||
<p className="truncate text-sm font-medium text-[#e2e5eb]">
|
||||
<span className="text-[#848b9b]">#{result.id}</span>
|
||||
{' — '}
|
||||
{result.summary}
|
||||
</p>
|
||||
<div className="mt-0.5 flex flex-wrap items-center gap-x-2 text-xs text-muted-foreground">
|
||||
<div className="mt-0.5 flex flex-wrap items-center gap-x-2 text-xs text-[#848b9b]">
|
||||
{result.company_name && <span>{result.company_name}</span>}
|
||||
{result.board_name && (
|
||||
<>
|
||||
@@ -324,8 +324,8 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
|
||||
{isLooking && (
|
||||
<div className="flex items-center justify-center py-3">
|
||||
<Loader2 className="h-5 w-5 animate-spin text-muted-foreground" />
|
||||
<span className="ml-2 text-sm text-muted-foreground">Loading ticket details...</span>
|
||||
<Loader2 className="h-5 w-5 animate-spin text-[#848b9b]" />
|
||||
<span className="ml-2 text-sm text-[#848b9b]">Loading ticket details...</span>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -334,7 +334,7 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
{/* Manual mode */}
|
||||
{mode === 'manual' && !selectedTicket && (
|
||||
<div>
|
||||
<label className="mb-1.5 block text-sm font-medium text-foreground">
|
||||
<label className="mb-1.5 block text-sm font-medium text-[#e2e5eb]">
|
||||
Ticket Number
|
||||
</label>
|
||||
<div className="flex gap-2">
|
||||
@@ -376,14 +376,14 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
|
||||
{/* Selected ticket confirmation card */}
|
||||
{selectedTicket && selectedTicketId && (
|
||||
<div className="glass-card-static space-y-3 rounded-xl border border-border p-4">
|
||||
<div className="card-flat space-y-3 rounded-xl border border-[#1e2130] p-4">
|
||||
<div className="flex items-start gap-2">
|
||||
<CheckCircle2 className="mt-0.5 h-4 w-4 shrink-0 text-emerald-400" />
|
||||
<div className="min-w-0">
|
||||
<p className="text-sm font-semibold text-foreground">
|
||||
<p className="text-sm font-semibold text-[#e2e5eb]">
|
||||
CW #{selectedTicketId} — {selectedTicket.summary}
|
||||
</p>
|
||||
<div className="mt-1.5 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-muted-foreground">
|
||||
<div className="mt-1.5 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-[#848b9b]">
|
||||
{selectedTicket.company_name && (
|
||||
<span>{selectedTicket.company_name}</span>
|
||||
)}
|
||||
@@ -437,8 +437,8 @@ export function TicketPickerModal({ open, onClose, sessionId, onLinked, onSelect
|
||||
type="button"
|
||||
onClick={handleClose}
|
||||
className={cn(
|
||||
'text-sm text-muted-foreground transition-colors',
|
||||
'hover:text-foreground'
|
||||
'text-sm text-[#848b9b] transition-colors',
|
||||
'hover:text-[#e2e5eb]'
|
||||
)}
|
||||
>
|
||||
Skip
|
||||
|
||||
Reference in New Issue
Block a user