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" /> )}
); }