@@ -177,80 +177,78 @@ function CompactSelector({
177177 < span className = "sm:hidden" > { agentType === 'opencode' ? 'OC' : 'CC' } </ span >
178178 </ Button >
179179 </ DialogTrigger >
180- < DialogContent className = "sm:max-w-[360px] border-none p-0 bg-transparent shadow-2xl" >
181- < div className = "bg-card border border-border/50 rounded-3xl overflow-hidden shadow-2xl animate-in fade-in zoom-in-95 duration-200 relative p-6" >
182- < button
183- onClick = { ( ) => setOpen ( false ) }
184- className = "absolute top-4 right-4 z-20 p-2 rounded-full bg-background/50 backdrop-blur-sm border border-border/50 text-foreground hover:bg-background/80 transition-all"
185- >
186- < X className = "w-4 h-4" />
187- </ button >
188- < DialogHeader >
189- < DialogTitle className = "text-xl font-bold text-left" > Agent Setup</ DialogTitle >
190- </ DialogHeader >
191-
192- < div className = "space-y-4 pt-4" >
193- { /* Agent selector */ }
194- { onAgentTypeChange && (
195- < div className = "space-y-2" >
196- < label className = "text-xs font-bold uppercase tracking-wider text-muted-foreground" > Agent</ label >
197- < div className = "grid grid-cols-2 gap-2" >
198- { AGENTS . map ( ( agent ) => (
199- < button
200- key = { agent . id }
201- type = "button"
202- onClick = { ( ) => handleAgentChange ( agent . id ) }
203- className = { cn (
204- 'relative flex flex-col items-start gap-1 rounded-xl border p-3 text-left transition-all active:scale-[0.98]' ,
205- agentType === agent . id
206- ? 'border-primary bg-primary/5 ring-1 ring-primary/20'
207- : 'border-border hover:border-muted-foreground/30 hover:bg-accent'
208- ) }
209- >
210- { agentType === agent . id && (
211- < Check className = "absolute top-2 right-2 h-3.5 w-3.5 text-primary" />
212- ) }
213- < div className = "flex items-center gap-1.5" >
214- < Bot className = "h-4 w-4 text-muted-foreground" />
215- < span className = "text-sm font-semibold" > { agent . name } </ span >
216- </ div >
217- < span className = "text-[10px] text-muted-foreground leading-tight" > { agent . description } </ span >
218- </ button >
219- ) ) }
220- </ div >
221- </ div >
222- ) }
180+ < DialogContent className = "sm:max-w-[360px]" >
181+ < button
182+ onClick = { ( ) => setOpen ( false ) }
183+ className = "absolute top-4 right-4 z-20 p-2 rounded-full bg-background/50 backdrop-blur-sm border border-border/50 text-foreground hover:bg-background/80 transition-all sm:hidden"
184+ >
185+ < X className = "w-4 h-4" />
186+ </ button >
187+ < DialogHeader >
188+ < DialogTitle > Agent Setup</ DialogTitle >
189+ </ DialogHeader >
223190
224- { /* Model selector */ }
191+ < div className = "space-y-4 pt-2" >
192+ { /* Agent selector */ }
193+ { onAgentTypeChange && (
225194 < div className = "space-y-2" >
226- < label className = "text-xs font-bold uppercase tracking-wider text-muted-foreground" > Model</ label >
227- < div className = "space-y-2" >
228- { models . map ( ( model ) => {
229- const isSelected = resolvedValue === model . id
230- return (
231- < button
232- key = { model . id }
233- type = "button"
234- onClick = { ( ) => handleModelChange ( model . id ) }
235- className = { cn (
236- 'relative flex w-full items-start rounded-xl border p-3 text-left transition-all active:scale-[0.98]' ,
237- isSelected
238- ? 'border-primary bg-primary/5 ring-1 ring-primary/20'
239- : 'border-border hover:border-muted-foreground/30 hover:bg-accent'
240- ) }
241- >
242- { isSelected && (
243- < Check className = "absolute top-3 right-3 h-4 w-4 text-primary" />
244- ) }
245- < div className = "flex flex-col gap-0.5" >
246- < span className = "text-sm font-semibold" > { model . name } </ span >
247- < span className = "text-xs text-muted-foreground" > { model . description } </ span >
248- </ div >
249- </ button >
250- )
251- } ) }
195+ < label className = "text-sm font-medium text-muted-foreground" > Agent</ label >
196+ < div className = "grid grid-cols-2 gap-2" >
197+ { AGENTS . map ( ( agent ) => (
198+ < button
199+ key = { agent . id }
200+ type = "button"
201+ onClick = { ( ) => handleAgentChange ( agent . id ) }
202+ className = { cn (
203+ 'relative flex flex-col items-start gap-0.5 rounded-lg border p-3 text-left transition-colors' ,
204+ agentType === agent . id
205+ ? 'border-primary bg-primary/5'
206+ : 'border-border hover:border-muted-foreground/30 hover:bg-accent'
207+ ) }
208+ >
209+ { agentType === agent . id && (
210+ < Check className = "absolute top-2 right-2 h-3.5 w-3.5 text-primary" />
211+ ) }
212+ < div className = "flex items-center gap-1.5" >
213+ < Bot className = "h-4 w-4 text-muted-foreground" />
214+ < span className = "text-sm font-medium" > { agent . name } </ span >
215+ </ div >
216+ < span className = "text-xs text-muted-foreground" > { agent . description } </ span >
217+ </ button >
218+ ) ) }
252219 </ div >
253220 </ div >
221+ ) }
222+
223+ { /* Model selector */ }
224+ < div className = "space-y-2" >
225+ < label className = "text-sm font-medium text-muted-foreground" > Model</ label >
226+ < div className = "space-y-1.5" >
227+ { models . map ( ( model ) => {
228+ const isSelected = resolvedValue === model . id
229+ return (
230+ < button
231+ key = { model . id }
232+ type = "button"
233+ onClick = { ( ) => handleModelChange ( model . id ) }
234+ className = { cn (
235+ 'relative flex w-full items-start rounded-lg border p-3 text-left transition-colors' ,
236+ isSelected
237+ ? 'border-primary bg-primary/5'
238+ : 'border-border hover:border-muted-foreground/30 hover:bg-accent'
239+ ) }
240+ >
241+ { isSelected && (
242+ < Check className = "absolute top-2 right-2 h-3.5 w-3.5 text-primary" />
243+ ) }
244+ < div className = "flex flex-col gap-0.5" >
245+ < span className = "text-sm font-medium" > { model . name } </ span >
246+ < span className = "text-xs text-muted-foreground" > { model . description } </ span >
247+ </ div >
248+ </ button >
249+ )
250+ } ) }
251+ </ div >
254252 </ div >
255253 </ div >
256254 </ DialogContent >
0 commit comments