import { Button } from "@opencode-ai/ui/button" import { Dialog } from "@opencode-ai/ui/dialog" import { TextField } from "@opencode-ai/ui/text-field" import { Icon } from "@opencode-ai/ui/icon" import { For, Show } from "solid-js" import { type LocalProject, getAvatarColors } from "@/context/layout" import { Avatar } from "@opencode-ai/ui/avatar" import { useLanguage } from "@/context/language" import { getProjectAvatarSource } from "@/pages/layout/helpers" import { ServerConnection } from "@/context/server" import { createEditProjectModel } from "./edit-project" const AVATAR_COLOR_KEYS = ["pink", "mint", "orange", "purple", "cyan", "lime"] as const export function DialogEditProject(props: { project: LocalProject; server: ServerConnection.Any }) { const language = useLanguage() const model = createEditProjectModel(props) return (
model.setStore("name", v)} />
model.setStore("iconHover", true)} onMouseLeave={() => model.setStore("iconHover", false)} >
} > {(src) => ( {language.t("dialog.project.edit.icon.alt")} )}
{ model.setIconInput(el) }} type="file" accept="image/*" class="hidden" onChange={model.inputChange} />
{language.t("dialog.project.edit.icon.hint")} {language.t("dialog.project.edit.icon.recommended")}
{(color) => ( )}
model.setStore("startup", v)} spellcheck={false} class="max-h-14 w-full overflow-y-auto font-mono text-xs" />
) }