aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/components/layout/AppShell.tsx
diff options
context:
space:
mode:
authorCopilot <198982749+Copilot@users.noreply.github.com>2026-03-24 20:32:17 +0100
committerGitHub <noreply@github.com>2026-03-24 20:32:17 +0100
commit695c7a65a1e9ab3b95beeaf02a1e3b10bb16996b (patch)
treef302b91a050e3ecfb295b5d16c6ab2962de1a713 /src/frontend/app/components/layout/AppShell.tsx
parent757960525576038898d655b630cbaac44671f599 (diff)
feat: client-side trip tracking with browser notifications (#151)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arielcostas <94913521+arielcostas@users.noreply.github.com>
Diffstat (limited to 'src/frontend/app/components/layout/AppShell.tsx')
-rw-r--r--src/frontend/app/components/layout/AppShell.tsx6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/frontend/app/components/layout/AppShell.tsx b/src/frontend/app/components/layout/AppShell.tsx
index 50f5742..6bb5e34 100644
--- a/src/frontend/app/components/layout/AppShell.tsx
+++ b/src/frontend/app/components/layout/AppShell.tsx
@@ -4,6 +4,8 @@ import {
PageTitleProvider,
usePageTitleContext,
} from "~/contexts/PageTitleContext";
+import { ActiveJourneyBanner } from "~/components/journey/ActiveJourneyBanner";
+import { useJourneyTracker } from "~/hooks/useJourneyTracker";
import { ThemeColorManager } from "../ThemeColorManager";
import "./AppShell.css";
import { Drawer } from "./Drawer";
@@ -15,6 +17,9 @@ const AppShellContent: React.FC = () => {
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
const location = useLocation();
+ // Mount journey tracker at shell level so tracking persists across navigation
+ useJourneyTracker();
+
return (
<div className="app-shell">
<ThemeColorManager />
@@ -29,6 +34,7 @@ const AppShellContent: React.FC = () => {
<Outlet key={location.pathname} />
</main>
</div>
+ <ActiveJourneyBanner />
<footer className="app-shell__bottom-nav">
<NavBar />
</footer>