diff --git a/packages/app/e2e/regression/review-terminal-stacked.spec.ts b/packages/app/e2e/regression/review-terminal-stacked.spec.ts index 1ba8ed9474cf..03c45e1ff6a1 100644 --- a/packages/app/e2e/regression/review-terminal-stacked.spec.ts +++ b/packages/app/e2e/regression/review-terminal-stacked.spec.ts @@ -125,8 +125,8 @@ test("keeps the review tree and terminal sized when both panels are open", async await expectTree(page, 2_745, "action.yml") await page.getByRole("button", { name: "Toggle file tree" }).click() - await expect(page.locator('[data-slot="session-review-v2-sidebar"]')).toHaveAttribute("aria-hidden", "true") - await expect(page.locator('#review-panel [data-component="file-tree-v2"]')).toHaveCount(1) + await expect(page.locator('[data-slot="session-review-v2-sidebar"]')).toHaveCount(0) + await expect(page.locator('#review-panel [data-component="file-tree-v2"]')).toHaveCount(0) await page.getByRole("button", { name: "Toggle file tree" }).click() await expectTree(page, 2_745, "action.yml") @@ -138,8 +138,7 @@ test("keeps the review tree and terminal sized when both panels are open", async await expectTree(page, 2_745, "action.yml") await page.getByRole("button", { name: "Toggle review" }).click() - await expect(page.locator("#review-panel")).toHaveAttribute("aria-hidden", "true") - await expect(page.locator('#review-panel [data-component="file-tree-v2"]')).toHaveCount(1) + await expect(page.locator("#review-panel")).toHaveCount(0) await page.getByRole("button", { name: "Toggle review" }).click() await expectTree(page, 2_745, "action.yml") await page.setViewportSize({ width: 1_000, height: 700 }) diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 46bd907167a4..4ac75dd8e14b 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -2150,7 +2150,7 @@ export default function Page() { - +
- -
+ +
reviewOpen() || fileOpen()) - const rendered = createMemo((previous) => previous || open(), false) const reviewTab = createMemo(() => isDesktop()) const panelWidth = createMemo(() => { if (!open()) return "0px" @@ -160,10 +159,6 @@ export function SessionSidePanel(props: { const openedTabs = tabState.openedTabs const activeTab = tabState.activeTab const activeFileTab = tabState.activeFileTab - const reviewContentRendered = createMemo( - (previous) => previous || (reviewOpen() && activeTab() === "review"), - false, - ) const fileTreeTab = () => layout.fileTree.tab() @@ -241,173 +236,162 @@ export function SessionSidePanel(props: { }} style={{ width: panelWidth() }} > - +
-
-
- - - - -
- { - const stop = createFileTabListSync({ el, contextOpen }) - onCleanup(stop) - }} - > - - -
-
{language.t("session.tab.review")}
- -
{props.reviewCount()}
-
-
-
-
- - - tabs().close("context")} - aria-label={language.t("common.closeTab")} - /> - - } - hideCloseButton - onMiddleClick={() => tabs().close("context")} - > -
- -
{language.t("session.tab.context")}
-
-
-
- - {(tab) => } - -
- - { - void import("@/components/dialog-select-file").then((x) => { - dialog.show(() => ) - }) - }} - aria-label={language.t("command.file.open")} - /> - -
-
-
- - -
- {props.reviewPanel()} + +
+
+ + + + +
+ { + const stop = createFileTabListSync({ el, contextOpen }) + onCleanup(stop) + }} + > + + +
+
{language.t("session.tab.review")}
+ +
{props.reviewCount()}
+
+
+
+
+ + + tabs().close("context")} + aria-label={language.t("common.closeTab")} + /> + + } + hideCloseButton + onMiddleClick={() => tabs().close("context")} + > +
+ +
{language.t("session.tab.context")}
+
+
+
+ + + {(tab) => } + + +
+ + { + void import("@/components/dialog-select-file").then((x) => { + dialog.show(() => ) + }) + }} + aria-label={language.t("command.file.open")} + /> + +
+
- - + +
+ {props.reviewPanel()} +
+
+ -
-
- -
- {language.t("session.files.selectToOpen")} + +
+
+ +
+ {language.t("session.files.selectToOpen")} +
-
+ - - - - + +
-
-
-
+ + - - {(tab) => } - - - - - {(tab) => { - const path = file.pathFromTab(tab) - return ( -
- {(p) => } -
- ) - }} -
-
- + + {(tab) => } + + + + + {(tab) => { + const path = file.pathFromTab(tab) + return ( +
+ {(p) => } +
+ ) + }} +
+
+ +
-
+ - +
- - - - - {language.t("common.loading")} - {language.t("common.loading.ellipsis")} -
- } - > + + + + + + {language.t("common.loading")} + {language.t("common.loading.ellipsis")} +
+ } + > + props.focusReviewDiff(node.path)} + /> +
+ + + + + + + + {empty(language.t("session.files.empty"))} + props.focusReviewDiff(node.path)} + onFileClick={(node) => openTab(file.tab(node.path))} /> - - - - - - - {empty(language.t("session.files.empty"))} - - openTab(file.tab(node.path))} - /> - - - + + + +
diff --git a/packages/session-ui/src/v2/components/session-review-v2.tsx b/packages/session-ui/src/v2/components/session-review-v2.tsx index 176dce4fc983..e34fe85b72cc 100644 --- a/packages/session-ui/src/v2/components/session-review-v2.tsx +++ b/packages/session-ui/src/v2/components/session-review-v2.tsx @@ -69,55 +69,55 @@ export function SessionReviewV2Sidebar(props: SessionReviewV2SidebarProps) { return (
- +
setResizing(true)}>