diff options
| author | David Hill <[email protected]> | 2025-12-21 16:45:49 +0000 |
|---|---|---|
| committer | adamelmore <[email protected]> | 2026-01-26 15:35:09 -0600 |
| commit | a77df3c17482fce94a19554283bdba6f03135f67 (patch) | |
| tree | 23993b7dce6df37eb92349b9e86040a0b60e3a8b /packages/app/src/components/release-notes-handler.tsx | |
| parent | 9d1cf98192fdcfb9a76044c0cb9818565198a769 (diff) | |
| download | opencode-a77df3c17482fce94a19554283bdba6f03135f67.tar.gz opencode-a77df3c17482fce94a19554283bdba6f03135f67.zip | |
wip: new release modal
- highlight key updates or new features
- needs some transition love
- all copy including text and video placeholder
Diffstat (limited to 'packages/app/src/components/release-notes-handler.tsx')
| -rw-r--r-- | packages/app/src/components/release-notes-handler.tsx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/app/src/components/release-notes-handler.tsx b/packages/app/src/components/release-notes-handler.tsx new file mode 100644 index 000000000..45237b577 --- /dev/null +++ b/packages/app/src/components/release-notes-handler.tsx @@ -0,0 +1,31 @@ +import { onMount } from "solid-js" +import { useDialog } from "@opencode-ai/ui/context/dialog" +import { DialogReleaseNotes } from "./dialog-release-notes" +import { shouldShowReleaseNotes, markReleaseNotesSeen } from "@/lib/release-notes" + +/** + * Component that handles showing release notes modal on app startup. + * Shows the modal if: + * - DEV_ALWAYS_SHOW_RELEASE_NOTES is true in lib/release-notes.ts + * - OR the user hasn't seen the current version's release notes yet + * + * To disable the dev mode behavior, set DEV_ALWAYS_SHOW_RELEASE_NOTES to false + * in packages/app/src/lib/release-notes.ts + */ +export function ReleaseNotesHandler() { + const dialog = useDialog() + + onMount(() => { + // Small delay to ensure app is fully loaded before showing modal + setTimeout(() => { + if (shouldShowReleaseNotes()) { + dialog.show( + () => <DialogReleaseNotes />, + () => markReleaseNotesSeen(), + ) + } + }, 500) + }) + + return null +} |
