import { TLUiDialogProps, TldrawUiButton, TldrawUiButtonLabel, TldrawUiDialogBody, TldrawUiDialogCloseButton, TldrawUiDialogFooter, TldrawUiDialogHeader, TldrawUiDialogTitle, TldrawUiIcon, TldrawUiInput, useReactor, useValue, } from 'tldraw' import { Provider, makeRealSettings } from '../makeRealSettings' export function SettingsDialog({ onClose }: TLUiDialogProps) { // Get settings and set up local storage sync const settings = useValue('settings', () => makeRealSettings.get(), []) useReactor( 'update settings local storage', () => { localStorage.setItem('makereal_settings_2', JSON.stringify(makeRealSettings.get())) }, [] ) return ( <> Settings {/* Provider Selection */}
{/* API Keys Section */}
{Provider.map((provider: any) => { if (provider.id === 'google') return null const value = settings.keys[provider.id] return ( ) })} {/* Save Button */} { onClose() }} > Save
) } // Helper component for API key inputs function ApiKeyInput({ provider, value, warning, }: { provider: (typeof Provider)[number] value: string warning: boolean }) { const isValid = value.length === 0 || provider.validate(value) return (
{ makeRealSettings.update((s) => ({ ...s, keys: { ...s.keys, [provider.id]: value } })) }} />
) }