import { patchModel, workspaceMetasAtom, workspacesAtom } from '@yaakapp-internal/models'; import { useAtomValue } from 'jotai/index'; 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 { Input } from './core/Input'; import { Separator } from './core/Separator'; import { VStack } from './core/Stacks'; import { MarkdownEditor } from './MarkdownEditor'; import { SyncToFilesystemSetting } from './SyncToFilesystemSetting'; interface Props { workspaceId: string | null; hide: () => void; openSyncMenu?: boolean; } export function WorkspaceSettingsDialog({ workspaceId, hide, openSyncMenu }: Props) { const workspace = useAtomValue(workspacesAtom).find((w) => w.id === workspaceId); const workspaceMeta = useAtomValue(workspaceMetasAtom).find( (wm) => wm.workspaceId === workspaceId, ); if (workspace == null) { return ( Workspace not found ); } if (workspaceMeta == null) return ( WorkspaceMeta not found for workspace ); return ( patchModel(workspace, { name })} stateKey={`name.${workspace.id}`} /> patchModel(workspace, { description })} heightMode="auto" /> patchModel(workspaceMeta, { settingSyncDir: filePath })} /> ); }