import { readDir } from '@tauri-apps/plugin-fs'; import { useState } from 'react'; import { openWorkspaceFromSyncDir } from '../commands/openWorkspaceFromSyncDir'; import { Banner } from './core/Banner'; import { Button } from './core/Button'; import { Checkbox } from './core/Checkbox'; import { VStack } from './core/Stacks'; import { SelectFile } from './SelectFile'; export interface SyncToFilesystemSettingProps { onChange: (args: { filePath: string | null; initGit?: boolean }) => void; onCreateNewWorkspace: () => void; value: { filePath: string | null; initGit?: boolean }; } export function SyncToFilesystemSetting({ onChange, onCreateNewWorkspace, value, }: SyncToFilesystemSettingProps) { const [syncDir, setSyncDir] = useState(null); return ( {syncDir && (

Directory is not empty. Do you want to open it instead?

)} { if (filePath != null) { const files = await readDir(filePath); if (files.length > 0) { setSyncDir(filePath); return; } } setSyncDir(null); onChange({ ...value, filePath }); }} /> {value.filePath && typeof value.initGit === 'boolean' && ( onChange({ ...value, initGit })} title="Initialize Git Repo" /> )}
); }