import { useEffect } from "react" import { Outlet, useNavigate } from "react-router-dom" import Sidebar from "./Sidebar" import { useIsMobile } from "../useMediaQuery" // Shared shell for the non-chat authenticated pages: Sidebar + page content. export default function Layout() { const navigate = useNavigate() const isMobile = useIsMobile() // Let the service worker deep-link us (e.g. notification click -> /today). useEffect(() => { if (!("serviceWorker" in navigator)) return const handler = (event) => { if (event.data?.type === "navigate" && event.data.url) navigate(event.data.url) } navigator.serviceWorker.addEventListener("message", handler) return () => navigator.serviceWorker.removeEventListener("message", handler) }, [navigate]) return (