From 65d54d4bf4a913edde07d9a48d4ef133760da360 Mon Sep 17 00:00:00 2001 From: Void Date: Wed, 11 Nov 2026 20:55:27 +0000 Subject: [PATCH] Navigator: the Browse open state is kept per screen class, like every other section Libby's read of #67: Browse had no phone/wide split, so opening it on one screen class opened it on the other. The store keeps its name and localStorage key (a rename would drop saved state); the comment says what a key means. Co-Authored-By: Claude Sonnet 5.5 --- src/app/features/estate/EstateNavigator.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/features/estate/EstateNavigator.tsx b/src/app/features/estate/EstateNavigator.tsx index 8b8b3644..b560e08c 100644 --- a/src/app/features/estate/EstateNavigator.tsx +++ b/src/app/features/estate/EstateNavigator.tsx @@ -213,11 +213,14 @@ function GroupSection({ tierId, group }: { tierId: string; group: EstateGroup }) /** * Groups of rooms the user has not joined, behind one quiet entry. Closed until opened, on every screen; the opening is - * remembered per device like any other section. + * remembered per device and screen class like any other section. */ function Browse({ tierId, groups }: { tierId: string; groups: EstateGroup[] }) { + const mobile = useScreenSizeContext() === ScreenSize.Mobile; const [toggled, setToggled] = useAtom(useClosedNavCategoriesAtom()); - const key = makeNavCategoryId('estate', 'browse', tierId); + // The store holds sections flipped from their default (it keeps Cinny's name, and its localStorage key). Browse's + // default is closed, so a key here means open; like Collapsible it is kept per screen class. + const key = makeNavCategoryId('estate', mobile ? 'phone' : 'wide', 'browse', tierId); const open = toggled.has(key); const count = groups.reduce((n, g) => n + g.rooms.length, 0); -- 2.47.3