From 9fdfcc964256dee2af8749beaa96b056d428645f Mon Sep 17 00:00:00 2001 From: "[._.]/ Adam Eivy" Date: Tue, 8 Sep 2026 05:37:37 +0000 Subject: [PATCH 001/102] fix: tighten Eidoverse header for mobile, hide empty federation bar The federation teleport bar rendered a "No connected guest worlds available" row above the page header even when there was nothing to travel to, and the header action buttons (Labels/Controls/World only) wrapped onto their own cramped row on narrow screens. Hide the teleport bar when there are no destinations, and collapse the action buttons to icon-only below sm so they fit alongside the title. --- client/src/components/eidoverse/EidoverseTravel.jsx | 7 ++++--- client/src/pages/Eidoverse.jsx | 11 ++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/client/src/components/eidoverse/EidoverseTravel.jsx b/client/src/components/eidoverse/EidoverseTravel.jsx index 4b0513b6dd..9c4402332a 100644 --- a/client/src/components/eidoverse/EidoverseTravel.jsx +++ b/client/src/components/eidoverse/EidoverseTravel.jsx @@ -53,15 +53,16 @@ export default function EidoverseTravel({ travelRef, enabled, objects = [], onDe travelRef.current = depart; return () => { travelRef.current = null; }; }, [depart, travelRef]); - if (!enabled) return null; + if (!enabled || (!destinations.length && !error)) return null; return
- Federation Terminal · Use a pod in-world or choose a destination + {Boolean(destinations.length) && ( + Federation Terminal · Use a pod in-world or choose a destination + )} {destinations.map((destination) => )} - {!destinations.length && No connected guest worlds available} {error &&

{error}

}
; } diff --git a/client/src/pages/Eidoverse.jsx b/client/src/pages/Eidoverse.jsx index 339608f0dd..d64d6ab0bc 100644 --- a/client/src/pages/Eidoverse.jsx +++ b/client/src/pages/Eidoverse.jsx @@ -502,9 +502,10 @@ export default function Eidoverse() { aria-pressed={frame.labelVisibility !== 'off'} onClick={() => frame.changeLabelVisibility(frame.labelVisibility === 'off' ? 'nearby' : 'off')} title="Toggle object labels for this visit" - className="inline-flex min-h-[40px] items-center gap-1.5 rounded-lg border border-port-border px-3 text-sm text-gray-200 hover:border-port-accent hover:text-white aria-pressed:border-port-accent aria-pressed:text-port-accent" + className="inline-flex min-h-[40px] min-w-[40px] items-center justify-center gap-1.5 rounded-lg border border-port-border px-2 sm:px-3 text-sm text-gray-200 hover:border-port-accent hover:text-white aria-pressed:border-port-accent aria-pressed:text-port-accent" > -