diff --git a/src/components/UptimeStatusIsland.jsx b/src/components/UptimeStatusIsland.jsx index b8a1602..3154d79 100644 --- a/src/components/UptimeStatusIsland.jsx +++ b/src/components/UptimeStatusIsland.jsx @@ -96,6 +96,9 @@ export default function UptimeStatusIsland() { const [userZone, setUserZone] = useState(null); const [userLocale, setUserLocale] = useState(null); const [secondsToNextUpdate, setSecondsToNextUpdate] = useState(null); + const [isMobile, setIsMobile] = useState(false); + const [showLeftShadow, setShowLeftShadow] = useState(false); + const heartbeatContainerRefs = useRef({}); useEffect(() => { setUserZone(Intl.DateTimeFormat().resolvedOptions().timeZone); @@ -260,6 +263,19 @@ export default function UptimeStatusIsland() { } } + useEffect(() => { + const checkMobile = () => setIsMobile(window.innerWidth < 640); + checkMobile(); + window.addEventListener('resize', checkMobile); + return () => window.removeEventListener('resize', checkMobile); + }, []); + + // Track scroll position for left shadow on mobile heartbeat bar + const handleHeartbeatScroll = (monitorId, e) => { + if (!isMobile) return; + setShowLeftShadow(e.target.scrollLeft > 0); + }; + return (
@@ -305,21 +321,17 @@ export default function UptimeStatusIsland() {