summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src
diff options
context:
space:
mode:
authorShoubhit Dash <[email protected]>2026-03-19 19:51:32 +0530
committerGitHub <[email protected]>2026-03-19 19:51:32 +0530
commit41aa254db4b748b200861ee5e832b6fa3e47701e (patch)
tree4ffbf4d3a0a8f9135d4742d5d30aa7261e8adc52 /packages/app/src
parentd178d8249ffb0e2c9b9657d522137177e3bab7cc (diff)
downloadopencode-41aa254db4b748b200861ee5e832b6fa3e47701e.tar.gz
opencode-41aa254db4b748b200861ee5e832b6fa3e47701e.zip
fix(app): show review on the empty session route (#18251)
Diffstat (limited to 'packages/app/src')
-rw-r--r--packages/app/src/pages/session.tsx31
1 files changed, 18 insertions, 13 deletions
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index 11d1481c0..970bc73b7 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -420,7 +420,7 @@ export default function Page() {
const diffs = createMemo(() => (params.id ? (sync.data.session_diff[params.id] ?? []) : []))
const sessionCount = createMemo(() => Math.max(info()?.summary?.files ?? 0, diffs().length))
const hasSessionReview = createMemo(() => sessionCount() > 0)
- const canReview = createMemo(() => !!params.id)
+ const canReview = createMemo(() => !!params.dir)
const reviewTab = createMemo(() => isDesktop())
const tabState = createSessionTabs({
tabs,
@@ -1165,6 +1165,18 @@ export default function Page() {
</div>
)
+ const mobileReview = () =>
+ reviewContent({
+ diffStyle: "unified",
+ classes: {
+ root: "pb-8",
+ header: "px-4",
+ container: "px-4",
+ },
+ loadingClass: "px-4 py-4 text-text-weak",
+ emptyClass: "h-full pb-64 -mt-4 flex flex-col items-center justify-center text-center gap-6",
+ })
+
createEffect(
on(
activeFileTab,
@@ -1798,7 +1810,7 @@ export default function Page() {
<div class="relative bg-background-base size-full overflow-hidden flex flex-col">
<SessionHeader />
<div class="flex-1 min-h-0 flex flex-col md:flex-row">
- <Show when={!isDesktop() && !!params.id}>
+ <Show when={!isDesktop() && canReview()}>
<Tabs value={store.mobileTab} class="h-auto">
<Tabs.List>
<Tabs.Trigger
@@ -1840,16 +1852,7 @@ export default function Page() {
<Show when={lastUserMessage()}>
<MessageTimeline
mobileChanges={mobileChanges()}
- mobileFallback={reviewContent({
- diffStyle: "unified",
- classes: {
- root: "pb-8",
- header: "px-4",
- container: "px-4",
- },
- loadingClass: "px-4 py-4 text-text-weak",
- emptyClass: "h-full pb-64 -mt-4 flex flex-col items-center justify-center text-center gap-6",
- })}
+ mobileFallback={mobileReview()}
actions={actions}
scroll={ui.scroll}
onResumeScroll={resumeScroll}
@@ -1881,7 +1884,9 @@ export default function Page() {
</Show>
</Match>
<Match when={true}>
- <NewSessionView worktree={newSessionWorktree()} />
+ <Show when={mobileChanges()} fallback={<NewSessionView worktree={newSessionWorktree()} />}>
+ <div class="relative h-full overflow-hidden">{mobileReview()}</div>
+ </Show>
</Match>
</Switch>
</div>