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()}
>
)}
>
)
}