import { useState } from 'react'; import { Checkbox } from './core/Checkbox'; import { VStack } from './core/Stacks'; import { SelectFile } from './SelectFile'; export interface SyncToFilesystemSettingProps { onChange: (args: { value: string | null; enabled: boolean }) => void; value: string | null; } export function SyncToFilesystemSetting({ onChange, value }: SyncToFilesystemSettingProps) { const [useSyncDir, setUseSyncDir] = useState(!!value); return ( { setUseSyncDir(enabled); if (!enabled) { // Set value to null when disabling onChange({ value: null, enabled }); } else { onChange({ value, enabled }); } }} title="Sync to a filesystem directory" /> {useSyncDir && ( <> { if (filePath == null) setUseSyncDir(false); onChange({ value: filePath, enabled: useSyncDir }); }} /> )} ); }