import { For, Show } from "solid-js" import { MenuV2 } from "@kirincode-ai/ui/v2/menu-v2" import { Icon } from "@kirincode-ai/ui/icon" import { Icon as IconV2 } from "@kirincode-ai/ui/v2/icon" import { getFilename } from "@kirincode-ai/core/util/path" import { useLanguage } from "@/context/language" export function PromptWorkspaceSelector(props: { value: string projectRoot: string workspaces: string[] branch?: string onChange: (value: string) => void onDone: () => void }) { const language = useLanguage() let pending: string | undefined const selected = () => (props.value === props.projectRoot ? "main" : props.value) const icon = () => { if (selected() === "main") return "monitor" if (selected() === "create") return "workspace-new" return "workspace" } const select = (value: string) => { pending = value } const onOpenChange = (open: boolean) => { if (open) return const value = pending pending = undefined if (value) props.onChange(value) props.onDone() } const label = () => { if (selected() === "main") return language.t("session.new.workspace.triggerLocal") if (props.value === "create") return language.t("workspace.new") return getFilename(props.value) } return ( <> {label()} {language.t("session.new.workspace.runIn")} select("main")}> {language.t("session.new.workspace.local")} select("create")}> {language.t("workspace.new")} 0}> {language.t("session.new.workspace.existing")} {(workspace) => ( select(workspace)}> {getFilename(workspace)} )} {(branch) => ( <>
{branch()}
)}
) }