diff --git a/src/App.vue b/src/App.vue index 84198bf1..ae925dbf 100644 --- a/src/App.vue +++ b/src/App.vue @@ -843,7 +843,7 @@ const openDetail = async (app: App | Record) => { nextTick(() => { const modal = document.querySelector( - '[data-app-modal="detail"] .modal-panel', + '[data-app-modal="detail"] [data-testid="detail-scroll-content"]', ); if (modal) modal.scrollTop = 0; }); diff --git a/src/__tests__/unit/AppDetailModal.test.ts b/src/__tests__/unit/AppDetailModal.test.ts index a073c990..f5a3d476 100644 --- a/src/__tests__/unit/AppDetailModal.test.ts +++ b/src/__tests__/unit/AppDetailModal.test.ts @@ -94,7 +94,19 @@ describe("AppDetailModal", () => { const overlay = container.querySelector('[data-app-modal="detail"]'); expect(overlay).toBeTruthy(); expect(overlay?.className).toContain("fixed"); - expect(overlay?.querySelector(".modal-panel")).toBeTruthy(); + const panel = overlay?.querySelector(".modal-panel"); + expect(panel).toBeTruthy(); + expect(panel?.className).toContain("overflow-hidden"); + expect(panel?.className).toContain("lg:max-h-[85vh]"); + expect( + panel?.querySelector('[data-testid="detail-fixed-sidebar"]'), + ).toBeTruthy(); + expect( + panel?.querySelector('[data-testid="detail-scroll-content"]'), + ).toBeTruthy(); + expect( + panel?.querySelector('[data-testid="detail-scroll-content"]')?.className, + ).toContain("lg:overflow-y-auto"); }); it("updates review identity when switching a merged app origin", async () => { diff --git a/src/components/AppDetailModal.vue b/src/components/AppDetailModal.vue index 61087e70..bb252745 100644 --- a/src/components/AppDetailModal.vue +++ b/src/components/AppDetailModal.vue @@ -15,23 +15,24 @@ @wheel="onOverlayWheel" >