From 788b1f63d04d49b874309845f7d92846a210f336 Mon Sep 17 00:00:00 2001 From: Maurice Date: Sun, 8 Nov 2026 03:07:24 +0000 Subject: [PATCH] fix(mobile): the trip rail's More wears the dock's ring while its sheet is open --- client/src/mobile/components/MRail.tsx | 14 ++++++++++++-- client/src/mobile/screens/trip/MTripRail.tsx | 6 ++++-- client/src/mobile/screens/trip/MTripShell.tsx | 1 + client/tests/unit/mobile/MNavRail.test.tsx | 18 ++++++++++++++++++ 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/client/src/mobile/components/MRail.tsx b/client/src/mobile/components/MRail.tsx index c80ac4733..4121a8792 100644 --- a/client/src/mobile/components/MRail.tsx +++ b/client/src/mobile/components/MRail.tsx @@ -97,6 +97,11 @@ export function MRailSpacer() { interface MRailButtonProps { label: string; active: boolean; + /** + * Opens a sheet rather than a section (More): while that sheet is open the button wears + * the ring the phone dock's More wears, so the rail says where the sheet came from. + */ + expanded?: boolean; onClick: () => void; /** The icon, drawn at 20px. */ children: ReactNode; @@ -108,19 +113,24 @@ interface MRailButtonProps { * and never shrunk: it wraps into a second, balanced line where its language * needs one, and only a word longer than the rail is hyphenated. */ -export function MRailButton({ label, active, onClick, children }: MRailButtonProps) { +export function MRailButton({ label, active, expanded, onClick, children }: MRailButtonProps) { return (