MCPcopy Create free account
hub / github.com/ResearAI/AutoFigure / ImageGenSettings

Function ImageGenSettings

frontend/components/autofigure/ImageGenSettings.tsx:21–244  ·  view source on GitHub ↗
({
    isOpen,
    onClose,
    config,
    onSave,
}: ImageGenSettingsProps)

Source from the content-addressed store, hash-verified

19}
20
21export default function ImageGenSettings({
22 isOpen,
23 onClose,
24 config,
25 onSave,
26}: ImageGenSettingsProps) {
27 const [localConfig, setLocalConfig] = useState<ImageGenConfig>(config)
28
29 // Sync with parent config when modal opens
30 useEffect(() => {
31 if (isOpen) {
32 setLocalConfig(config)
33 }
34 }, [isOpen, config])
35
36 if (!isOpen) return null
37
38 const handleSave = () => {
39 onSave(localConfig)
40 }
41
42 const handleBackdropClick = (e: React.MouseEvent) => {
43 if (e.target === e.currentTarget) {
44 onClose()
45 }
46 }
47
48 const handleProviderChange = (provider: LLMProvider) => {
49 // Get default base URL based on provider
50 let defaultBaseUrl = 'https://api.bianxie.ai/v1/chat/completions'
51 if (provider === 'openrouter') {
52 defaultBaseUrl = 'https://openrouter.ai/api/v1'
53 } else if (provider === 'gemini') {
54 defaultBaseUrl = 'https://generativelanguage.googleapis.com/v1beta'
55 }
56
57 setLocalConfig(prev => ({
58 ...prev,
59 provider,
60 baseUrl: defaultBaseUrl,
61 }))
62 }
63
64 const getPlaceholders = () => {
65 if (localConfig.provider === 'openrouter') {
66 return {
67 apiKey: 'Enter your OpenRouter API key',
68 model: 'e.g., google/gemini-3.1-flash-image-preview',
69 baseUrl: 'https://openrouter.ai/api/v1',
70 }
71 }
72 if (localConfig.provider === 'gemini') {
73 return {
74 apiKey: 'Enter your Google AI API key',
75 model: 'e.g., gemini-3.1-flash-image-preview',
76 baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
77 }
78 }

Callers

nothing calls this directly

Calls 2

getPlaceholdersFunction · 0.85
handleProviderChangeFunction · 0.85

Tested by

no test coverage detected