import { patchModel, workspaceMetasAtom, workspacesAtom } from '@yaakapp-internal/models'; import { useAtomValue } from 'jotai'; import { deleteModelWithConfirm } from '../lib/deleteModelWithConfirm'; import { router } from '../lib/router'; import { Banner } from './core/Banner'; import { Button } from './core/Button'; import { InlineCode } from './core/InlineCode'; import { PlainInput } from './core/PlainInput'; import { Separator } from './core/Separator'; import { HStack, VStack } from './core/Stacks'; import { MarkdownEditor } from './MarkdownEditor'; import { SyncToFilesystemSetting } from './SyncToFilesystemSetting'; import { WorkspaceEncryptionSetting } from './WorkspaceEncryptionSetting'; interface Props { workspaceId: string | null; hide: () => void; } export function WorkspaceSettingsDialog({ workspaceId, hide }: Props) { const workspace = useAtomValue(workspacesAtom).find((w) => w.id === workspaceId); const workspaceMeta = useAtomValue(workspaceMetasAtom).find((m) => m.workspaceId === workspaceId); if (workspace == null) { return ( Workspace not found ); } if (workspaceMeta == null) return ( WorkspaceMeta not found for workspace ); return ( patchModel(workspace, { name })} /> patchModel(workspace, { description })} heightMode="auto" /> patchModel(workspaceMeta, { settingSyncDir: filePath })} /> {workspaceId} ); }