diff options
Diffstat (limited to 'packages/app/src/pages/error.tsx')
| -rw-r--r-- | packages/app/src/pages/error.tsx | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/packages/app/src/pages/error.tsx b/packages/app/src/pages/error.tsx index ba0045ec9..5f3d7baa6 100644 --- a/packages/app/src/pages/error.tsx +++ b/packages/app/src/pages/error.tsx @@ -1,7 +1,8 @@ import { TextField } from "@opencode-ai/ui/text-field" +import * as Sentry from "@sentry/solid" import { Logo } from "@opencode-ai/ui/logo" import { Button } from "@opencode-ai/ui/button" -import { Component, Show } from "solid-js" +import { Component, createSignal, Show } from "solid-js" import { createStore } from "solid-js/store" import { usePlatform } from "@/context/platform" import { useLanguage } from "@/context/language" @@ -270,10 +271,27 @@ export const ErrorPage: Component<ErrorPageProps> = (props) => { label={language.t("error.page.details.label")} hideLabel /> - <div class="flex items-center gap-3"> + <div class="flex flex-row items-center justify-center gap-3 flex-wrap max-w-64"> <Button size="large" onClick={platform.restart}> {language.t("error.page.action.restart")} </Button> + <Show when={Sentry.isEnabled}> + {(_) => { + const [reported, setReported] = createSignal(false) + return ( + <Button + size="large" + disabled={reported()} + onClick={() => { + Sentry.captureException(props.error) + setReported(true) + }} + > + {language.t(reported() ? "error.page.action.reported" : "error.page.action.report")} + </Button> + ) + }} + </Show> <Show when={platform.checkUpdate}> <Show when={store.version} |
