import { upsertWorkspace } from '../commands/upsertWorkspace'; import { upsertWorkspaceMeta } from '../commands/upsertWorkspaceMeta'; import { useDeleteActiveWorkspace } from '../hooks/useDeleteActiveWorkspace'; import { useWorkspaceMeta } from '../hooks/useWorkspaceMeta'; import { useWorkspaces } from '../hooks/useWorkspaces'; 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 workspaces = useWorkspaces(); const workspace = workspaces.find((w) => w.id === workspaceId); const workspaceMeta = useWorkspaceMeta(); const { mutateAsync: deleteActiveWorkspace } = useDeleteActiveWorkspace(); if (workspace == null) { return ( Workspace not found ); } if (workspaceMeta == null) return ( WorkspaceMeta not found for workspace ); return ( upsertWorkspace.mutate({ ...workspace, name })} stateKey={`name.${workspace.id}`} /> upsertWorkspace.mutate({ ...workspace, description })} heightMode="auto" /> { upsertWorkspaceMeta.mutate({ ...workspaceMeta, settingSyncDir: filePath }); }} /> ); }