Fix inbox header blur content offset.

This commit is contained in:
Thomas Petersen
2026-06-26 21:03:02 -04:00
parent 6d2b85f348
commit 9bc95c2786
3 changed files with 41 additions and 4 deletions
@@ -314,7 +314,8 @@ export function InboxDetailPane({
<div
aria-busy={isThreadContextLoading}
className="min-h-0 flex-1 overflow-y-auto overscroll-contain pb-32"
className="-mt-13 min-h-0 flex-1 overflow-y-auto overscroll-contain pb-32 pt-13"
data-testid="home-inbox-detail-scroll"
>
<div>
{displayMessages.map((message, index) => (
@@ -435,7 +435,7 @@ export function InboxListPane({
{isReminders ? (
<div
className="flex min-h-0 flex-1 flex-col overflow-hidden"
className="-mt-13 flex min-h-0 flex-1 flex-col overflow-hidden pt-13"
data-testid="home-inbox-reminders"
>
{reminderPubkey ? (
@@ -444,7 +444,7 @@ export function InboxListPane({
</div>
) : (
<div
className="min-h-0 flex-1 overflow-y-auto overscroll-contain"
className="-mt-13 min-h-0 flex-1 overflow-y-auto overscroll-contain pt-13"
data-testid="home-inbox-list"
ref={scrollRef}
>
@@ -37,14 +37,34 @@ test.describe("home inbox header collapsed-sidebar chrome clearance", () => {
await expect(page.getByTestId("home-inbox-detail")).toBeVisible();
const homeInbox = page.getByTestId("home-inbox");
const listScroller = page.getByTestId("home-inbox-list");
const detailScroller = page.getByTestId("home-inbox-detail-scroll");
const firstInboxItem = page
.locator('[data-testid^="home-inbox-item-"]')
.first();
const selectedMessage = page.getByTestId("home-inbox-selected-message");
const sharedBackdrop = page.getByTestId(
"home-inbox-shared-header-backdrop",
);
await expect(sharedBackdrop).toHaveCount(1);
await expect(firstInboxItem).toBeVisible();
await expect(selectedMessage).toBeVisible();
const [homeBox, backdropBox, backdropFilter] = await Promise.all([
const [
homeBox,
backdropBox,
listScrollerBox,
detailScrollerBox,
firstInboxItemBox,
selectedMessageBox,
backdropFilter,
] = await Promise.all([
homeInbox.boundingBox(),
sharedBackdrop.boundingBox(),
listScroller.boundingBox(),
detailScroller.boundingBox(),
firstInboxItem.boundingBox(),
selectedMessage.boundingBox(),
sharedBackdrop.evaluate(
(element) => getComputedStyle(element).backdropFilter,
),
@@ -52,10 +72,26 @@ test.describe("home inbox header collapsed-sidebar chrome clearance", () => {
expect(homeBox).not.toBeNull();
expect(backdropBox).not.toBeNull();
expect(listScrollerBox).not.toBeNull();
expect(detailScrollerBox).not.toBeNull();
expect(firstInboxItemBox).not.toBeNull();
expect(selectedMessageBox).not.toBeNull();
expect(Math.round(backdropBox?.x ?? 0)).toBe(Math.round(homeBox?.x ?? 0));
expect(Math.round(backdropBox?.width ?? 0)).toBe(
Math.round(homeBox?.width ?? 0),
);
expect(Math.round(listScrollerBox?.y ?? 0)).toBe(
Math.round(backdropBox?.y ?? 0),
);
expect(Math.round(detailScrollerBox?.y ?? 0)).toBe(
Math.round(backdropBox?.y ?? 0),
);
expect(Math.round(firstInboxItemBox?.y ?? 0)).toBeGreaterThanOrEqual(
Math.round((backdropBox?.y ?? 0) + (backdropBox?.height ?? 0)),
);
expect(Math.round(selectedMessageBox?.y ?? 0)).toBeGreaterThanOrEqual(
Math.round((backdropBox?.y ?? 0) + (backdropBox?.height ?? 0)),
);
expect(backdropFilter).not.toBe("none");
await waitForAnimations(page);