import type { GrpcRequest, HttpRequest, WebsocketRequest } from '@yaakapp-internal/models'; import { patchModel, workspacesAtom } from '@yaakapp-internal/models'; import { useAtomValue } from 'jotai'; import { useState } from 'react'; import { pluralizeCount } from '../lib/pluralize'; import { resolvedModelName } from '../lib/resolvedModelName'; import { router } from '../lib/router'; import { showToast } from '../lib/toast'; import { Button } from './core/Button'; import { InlineCode } from './core/InlineCode'; import { Select } from './core/Select'; import { VStack } from './core/Stacks'; interface Props { activeWorkspaceId: string; requests: (HttpRequest | GrpcRequest | WebsocketRequest)[]; onDone: () => void; } export function MoveToWorkspaceDialog({ onDone, requests, activeWorkspaceId }: Props) { const workspaces = useAtomValue(workspacesAtom); const [selectedWorkspaceId, setSelectedWorkspaceId] = useState(activeWorkspaceId); const targetWorkspace = workspaces.find((w) => w.id === selectedWorkspaceId); const isSameWorkspace = selectedWorkspaceId === activeWorkspaceId; return (