summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/dialog-fork.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-12 09:49:14 -0600
committerGitHub <[email protected]>2026-02-12 09:49:14 -0600
commitff4414bb152acfddb5c0eb073c38bedc1df4ae14 (patch)
tree78381c67d21ef6f089647f6b19e7aa2976840dbc /packages/app/src/components/dialog-fork.tsx
parent56ad2db02055955f926fda0e4a89055b22ead6f9 (diff)
downloadopencode-ff4414bb152acfddb5c0eb073c38bedc1df4ae14.tar.gz
opencode-ff4414bb152acfddb5c0eb073c38bedc1df4ae14.zip
chore: refactor packages/app files (#13236)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Frank <[email protected]>
Diffstat (limited to 'packages/app/src/components/dialog-fork.tsx')
-rw-r--r--packages/app/src/components/dialog-fork.tsx25
1 files changed, 17 insertions, 8 deletions
diff --git a/packages/app/src/components/dialog-fork.tsx b/packages/app/src/components/dialog-fork.tsx
index 09d62021f..8810955cc 100644
--- a/packages/app/src/components/dialog-fork.tsx
+++ b/packages/app/src/components/dialog-fork.tsx
@@ -6,6 +6,7 @@ import { usePrompt } from "@/context/prompt"
import { useDialog } from "@opencode-ai/ui/context/dialog"
import { Dialog } from "@opencode-ai/ui/dialog"
import { List } from "@opencode-ai/ui/list"
+import { showToast } from "@opencode-ai/ui/toast"
import { extractPromptFromParts } from "@/utils/prompt"
import type { TextPart as SDKTextPart } from "@opencode-ai/sdk/v2/client"
import { base64Encode } from "@opencode-ai/util/encode"
@@ -66,15 +67,23 @@ export const DialogFork: Component = () => {
attachmentName: language.t("common.attachment"),
})
- dialog.close()
-
- sdk.client.session.fork({ sessionID, messageID: item.id }).then((forked) => {
- if (!forked.data) return
- navigate(`/${base64Encode(sdk.directory)}/session/${forked.data.id}`)
- requestAnimationFrame(() => {
- prompt.set(restored)
+ sdk.client.session
+ .fork({ sessionID, messageID: item.id })
+ .then((forked) => {
+ if (!forked.data) {
+ showToast({ title: language.t("common.requestFailed") })
+ return
+ }
+ dialog.close()
+ navigate(`/${base64Encode(sdk.directory)}/session/${forked.data.id}`)
+ requestAnimationFrame(() => {
+ prompt.set(restored)
+ })
+ })
+ .catch((err: unknown) => {
+ const message = err instanceof Error ? err.message : String(err)
+ showToast({ title: language.t("common.requestFailed"), description: message })
})
- })
}
return (