diff options
| author | Adam <[email protected]> | 2026-01-22 18:07:48 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-22 18:07:57 -0600 |
| commit | bcf7a65e36af1437cda556577a275dd8531afd0d (patch) | |
| tree | a370d10879d11c8efcf161f1b73526a464c40ea8 /packages/app/src/components | |
| parent | 7c80ac072bd1b42e4ea962ad47b049606b015ebb (diff) | |
| download | opencode-bcf7a65e36af1437cda556577a275dd8531afd0d.tar.gz opencode-bcf7a65e36af1437cda556577a275dd8531afd0d.zip | |
fix(app): non-git projects should be renameable
Diffstat (limited to 'packages/app/src/components')
| -rw-r--r-- | packages/app/src/components/dialog-edit-project.tsx | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/packages/app/src/components/dialog-edit-project.tsx b/packages/app/src/components/dialog-edit-project.tsx index 7664470f7..a90cac169 100644 --- a/packages/app/src/components/dialog-edit-project.tsx +++ b/packages/app/src/components/dialog-edit-project.tsx @@ -6,6 +6,7 @@ import { Icon } from "@opencode-ai/ui/icon" import { createMemo, createSignal, For, Show } from "solid-js" import { createStore } from "solid-js/store" import { useGlobalSDK } from "@/context/global-sdk" +import { useGlobalSync } from "@/context/global-sync" import { type LocalProject, getAvatarColors } from "@/context/layout" import { getFilename } from "@opencode-ai/util/path" import { Avatar } from "@opencode-ai/ui/avatar" @@ -16,6 +17,7 @@ const AVATAR_COLOR_KEYS = ["pink", "mint", "orange", "purple", "cyan", "lime"] a export function DialogEditProject(props: { project: LocalProject }) { const dialog = useDialog() const globalSDK = useGlobalSDK() + const globalSync = useGlobalSync() const language = useLanguage() const folderName = createMemo(() => getFilename(props.project.worktree)) @@ -71,17 +73,27 @@ export function DialogEditProject(props: { project: LocalProject }) { async function handleSubmit(e: SubmitEvent) { e.preventDefault() - if (!props.project.id) return - setStore("saving", true) const name = store.name.trim() === folderName() ? "" : store.name.trim() const start = store.startup.trim() - await globalSDK.client.project.update({ - projectID: props.project.id, - directory: props.project.worktree, + + if (props.project.id && props.project.id !== "global") { + await globalSDK.client.project.update({ + projectID: props.project.id, + directory: props.project.worktree, + name, + icon: { color: store.color, override: store.iconUrl }, + commands: { start }, + }) + setStore("saving", false) + dialog.close() + return + } + + globalSync.project.meta(props.project.worktree, { name, - icon: { color: store.color, override: store.iconUrl }, - commands: { start }, + icon: { color: store.color, override: store.iconUrl || undefined }, + commands: { start: start || undefined }, }) setStore("saving", false) dialog.close() |
