diff --git a/packages/app/e2e/regression/review-terminal-stacked.spec.ts b/packages/app/e2e/regression/review-terminal-stacked.spec.ts index 71c1c28ef3..e3ba607b3d 100644 --- a/packages/app/e2e/regression/review-terminal-stacked.spec.ts +++ b/packages/app/e2e/regression/review-terminal-stacked.spec.ts @@ -168,8 +168,8 @@ test("keeps the review tree and terminal sized when both panels are open", async await expectTree(page, 2_773, "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_773, "action.yml") @@ -181,8 +181,7 @@ test("keeps the review tree and terminal sized when both panels are open", async await expectTree(page, 2_773, "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_773, "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 67f3d80b79..912ff17f1d 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -2198,7 +2198,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" @@ -164,10 +163,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() @@ -272,233 +267,220 @@ 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) => ( - - } - > - - tabs().close(SESSION_OPEN_FILE_TAB)} - aria-label={language.t("common.closeTab")} - /> - - } - hideCloseButton - onMiddleClick={() => tabs().close(SESSION_OPEN_FILE_TAB)} + +
+
+ + + + +
+ { + const stop = createFileTabListSync({ el, contextOpen }) + onCleanup(stop) + }} + > + + +
+
{language.t("session.tab.review")}
+ +
{props.reviewCount()}
+
+
+
+
+ + -
- - {language.t("command.file.open")} -
-
-
- )} - - -
- - { - if (props.fileBrowserState) { - openFileBrowser() - return - } - void import("@/components/dialog-select-file").then((x) => { - dialog.show(() => ) - }) - }} - aria-label={language.t("command.file.open")} - /> - -
-
-
- - -
- {props.reviewPanel()} -
-
- - - -
-
- -
- {language.t("session.files.selectToOpen")} -
+ tabs().close("context")} + aria-label={language.t("common.closeTab")} + /> + + } + hideCloseButton + onMiddleClick={() => tabs().close("context")} + > +
+ +
{language.t("session.tab.context")}
+
+ + + + + {(tab) => ( + + } + > + + tabs().close(SESSION_OPEN_FILE_TAB)} + aria-label={language.t("common.closeTab")} + /> + + } + hideCloseButton + onMiddleClick={() => tabs().close(SESSION_OPEN_FILE_TAB)} + > +
+ + {language.t("command.file.open")} +
+
+
+ )} +
+
+
+ + { + if (props.fileBrowserState) { + openFileBrowser() + return + } + void import("@/components/dialog-select-file").then((x) => { + dialog.show(() => ) + }) + }} + aria-label={language.t("command.file.open")} + /> +
+ +
+ + +
+ {props.reviewPanel()}
- - - - + + +
+
+ +
+ {language.t("session.files.selectToOpen")} +
+
+
+
+
+ + +
-
-
-
+ + - - previewTab(file.tab(path))} - onSelectPermanent={(path) => openTab(file.tab(path))} - filterRef={(element) => (fileFilter = element)} - /> - + + previewTab(file.tab(path))} + onSelectPermanent={(path) => openTab(file.tab(path))} + filterRef={(element) => (fileFilter = element)} + /> + - - {(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 5689f292ca..3c13c75d7b 100644 --- a/packages/session-ui/src/v2/components/session-review-v2.tsx +++ b/packages/session-ui/src/v2/components/session-review-v2.tsx @@ -74,62 +74,62 @@ export function SessionReviewV2Sidebar(props: SessionReviewV2SidebarProps) { return (
- +
setResizing(true)}>