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