summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/dialog-edit-project.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-20 05:40:44 -0600
committerAdam <[email protected]>2026-01-20 17:58:06 -0600
commit92beae14100af23c20afe7b6bc2bb393643d698f (patch)
tree1047cf04130c98edac5dd322613608e3ec4b5f46 /packages/app/src/components/dialog-edit-project.tsx
parent0470717c7fbb9ff175b70c6d76ffb2330ef40a1a (diff)
downloadopencode-92beae14100af23c20afe7b6bc2bb393643d698f.tar.gz
opencode-92beae14100af23c20afe7b6bc2bb393643d698f.zip
wip(app): i18n
Diffstat (limited to 'packages/app/src/components/dialog-edit-project.tsx')
-rw-r--r--packages/app/src/components/dialog-edit-project.tsx23
1 files changed, 15 insertions, 8 deletions
diff --git a/packages/app/src/components/dialog-edit-project.tsx b/packages/app/src/components/dialog-edit-project.tsx
index 2e414a437..b6e2f822e 100644
--- a/packages/app/src/components/dialog-edit-project.tsx
+++ b/packages/app/src/components/dialog-edit-project.tsx
@@ -9,12 +9,14 @@ import { useGlobalSDK } from "@/context/global-sdk"
import { type LocalProject, getAvatarColors } from "@/context/layout"
import { getFilename } from "@opencode-ai/util/path"
import { Avatar } from "@opencode-ai/ui/avatar"
+import { useLanguage } from "@/context/language"
const AVATAR_COLOR_KEYS = ["pink", "mint", "orange", "purple", "cyan", "lime"] as const
export function DialogEditProject(props: { project: LocalProject }) {
const dialog = useDialog()
const globalSDK = useGlobalSDK()
+ const language = useLanguage()
const folderName = createMemo(() => getFilename(props.project.worktree))
const defaultName = createMemo(() => props.project.name || folderName())
@@ -81,20 +83,20 @@ export function DialogEditProject(props: { project: LocalProject }) {
}
return (
- <Dialog title="Edit project" class="w-full max-w-[480px] mx-auto">
+ <Dialog title={language.t("dialog.project.edit.title")} class="w-full max-w-[480px] mx-auto">
<form onSubmit={handleSubmit} class="flex flex-col gap-6 p-6 pt-0">
<div class="flex flex-col gap-4">
<TextField
autofocus
type="text"
- label="Name"
+ label={language.t("dialog.project.edit.name")}
placeholder={folderName()}
value={store.name}
onChange={(v) => setStore("name", v)}
/>
<div class="flex flex-col gap-2">
- <label class="text-12-medium text-text-weak">Icon</label>
+ <label class="text-12-medium text-text-weak">{language.t("dialog.project.edit.icon")}</label>
<div class="flex gap-3 items-start">
<div class="relative" onMouseEnter={() => setIconHover(true)} onMouseLeave={() => setIconHover(false)}>
<div
@@ -128,7 +130,11 @@ export function DialogEditProject(props: { project: LocalProject }) {
</div>
}
>
- <img src={store.iconUrl} alt="Project icon" class="size-full object-cover" />
+ <img
+ src={store.iconUrl}
+ alt={language.t("dialog.project.edit.icon.alt")}
+ class="size-full object-cover"
+ />
</Show>
</div>
<div
@@ -172,14 +178,15 @@ export function DialogEditProject(props: { project: LocalProject }) {
</div>
<input id="icon-upload" type="file" accept="image/*" class="hidden" onChange={handleInputChange} />
<div class="flex flex-col gap-1.5 text-12-regular text-text-weak self-center">
- <span>Recommended size 128x128px</span>
+ <span>{language.t("dialog.project.edit.icon.hint")}</span>
+ <span>{language.t("dialog.project.edit.icon.recommended")}</span>
</div>
</div>
</div>
<Show when={!store.iconUrl}>
<div class="flex flex-col gap-2">
- <label class="text-12-medium text-text-weak">Color</label>
+ <label class="text-12-medium text-text-weak">{language.t("dialog.project.edit.color")}</label>
<div class="flex gap-1.5">
<For each={AVATAR_COLOR_KEYS}>
{(color) => (
@@ -209,10 +216,10 @@ export function DialogEditProject(props: { project: LocalProject }) {
<div class="flex justify-end gap-2">
<Button type="button" variant="ghost" size="large" onClick={() => dialog.close()}>
- Cancel
+ {language.t("common.cancel")}
</Button>
<Button type="submit" variant="primary" size="large" disabled={store.saving}>
- {store.saving ? "Saving..." : "Save"}
+ {store.saving ? language.t("common.saving") : language.t("common.save")}
</Button>
</div>
</form>