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 (