import { ButtonV2 } from "@opencode-ai/ui/v2/button-v2" import { Dialog, DialogBody, DialogFooter, DialogHeader, DialogTitle } from "@opencode-ai/ui/v2/dialog-v2" import { DividerV2 } from "@opencode-ai/ui/v2/divider-v2" import { Field } from "@opencode-ai/ui/v2/field-v2" import { Icon } from "@opencode-ai/ui/v2/icon" import { ProjectAvatar, PROJECT_AVATAR_VARIANTS } from "@opencode-ai/ui/v2/project-avatar-v2" import { TextareaV2 } from "@opencode-ai/ui/v2/textarea-v2" import { TextInputV2 } from "@opencode-ai/ui/v2/text-input-v2" import { For, Show } from "solid-js" import { useLanguage } from "@/context/language" import { getProjectAvatarVariant, type LocalProject } from "@/context/layout" import { ServerConnection } from "@/context/server" import { getProjectAvatarSource } from "@/pages/layout/helpers" import { createEditProjectModel } from "./edit-project" export function DialogEditProjectV2(props: { project: LocalProject; server: ServerConnection.Any }) { const language = useLanguage() const model = createEditProjectModel(props) return (
{language.t("dialog.project.edit.title")} {language.t("dialog.project.edit.name")} model.setStore("name", event.currentTarget.value)} />
{language.t("dialog.project.edit.icon")}
{ model.setIconInput(element) }} type="file" accept="image/*" class="hidden" onChange={model.inputChange} />
{language.t("dialog.project.edit.icon.hint")} {language.t("dialog.project.edit.icon.recommended")}
{language.t("dialog.project.edit.color")}
{(color) => ( )}
{language.t("dialog.project.edit.worktree.startup")} {language.t("dialog.project.edit.worktree.startup.description")} model.setStore("startup", event.currentTarget.value)} />
{language.t("common.cancel")} {model.save.isPending ? language.t("common.saving") : language.t("common.save")}
) }