@@ -7,7 +7,7 @@ import { useState } from 'react'
77import { IconX , IconLoader2 } from '@tabler/icons-react'
88import type { ReviewRepoConfig } from '../lib/workflowApi'
99import {
10- WORKFLOW_KINDS , DAY_PRESETS , DAY_INDIVIDUAL , isBiweeklyDow ,
10+ WORKFLOW_KINDS , DAY_PRESETS , DAY_INDIVIDUAL , MODEL_OPTIONS , isBiweeklyDow ,
1111 buildCron , parseCron , describeCron , kindLabel ,
1212} from '../lib/workflowHelpers'
1313import { CategoryBadge } from './WorkflowBadges'
@@ -36,6 +36,7 @@ export function EditWorkflowModal({ repo, onClose, onSave }: Props) {
3636 cronMinute : parsed . minute ,
3737 cronDow : parsed . dow ,
3838 customPrompt : repo . customPrompt ?? '' ,
39+ model : repo . model ?? '' ,
3940 } )
4041 const [ saving , setSaving ] = useState ( false )
4142 const [ formError , setFormError ] = useState < string | null > ( null )
@@ -49,6 +50,7 @@ export function EditWorkflowModal({ repo, onClose, onSave }: Props) {
4950 kind : form . kind ,
5051 cronExpression : buildCron ( form . cronHour , form . cronDow , form . cronMinute ) ,
5152 customPrompt : form . customPrompt . trim ( ) || undefined ,
53+ model : form . model || undefined ,
5254 } )
5355 onClose ( )
5456 } catch ( err ) {
@@ -162,6 +164,23 @@ export function EditWorkflowModal({ repo, onClose, onSave }: Props) {
162164 </ div >
163165 </ div >
164166
167+ { /* Model selection */ }
168+ < div >
169+ < label className = "block text-[13px] font-medium text-neutral-3 mb-2" > Model</ label >
170+ < div className = "flex gap-1.5" >
171+ { MODEL_OPTIONS . map ( m => (
172+ < button
173+ key = { m . value }
174+ type = "button"
175+ onClick = { ( ) => setForm ( f => ( { ...f , model : m . value } ) ) }
176+ className = { btnClass ( form . model === m . value ) }
177+ >
178+ { m . label }
179+ </ button >
180+ ) ) }
181+ </ div >
182+ </ div >
183+
165184 { /* Custom prompt */ }
166185 < div >
167186 < label className = "block text-[13px] font-medium text-neutral-3 mb-1.5" >
0 commit comments