diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index d268c54..390d855 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { BrowserRouter as Router, Routes, Route, Link, Navigate, useNavigate } from "react-router-dom"; +import { BrowserRouter as Router, Routes, Route, Link, useLocation, Navigate, useNavigate } from "react-router-dom"; import { getSeed, getTrips, getNextTripId } from "./api"; import ItemsPage from "./pages/ItemsPage"; import TripChecklist from "./pages/TripChecklist"; @@ -21,6 +21,74 @@ function NextTripRedirect({ trips }: { trips: any[] }) { return ; } +function Navigation() { + const location = useLocation(); + const navItems = [ + { to: "/trips", label: "Trips" }, + { to: "/items", label: "Items" }, + { to: "/tags", label: "Tags" }, + ]; + + // Navigation für den Titel-Link + const navigate = useNavigate(); + async function goToCurrentTrip() { + try { + const id = await getNextTripId(); + navigate(`/trips/${id}`); + } catch { + alert("Kein anstehender Trip gefunden"); + } + } + + // Prüfe, ob ein einzelner Trip angezeigt wird + const isTripDetail = /^\/trips\/[^/]+$/.test(location.pathname); + + return ( + + ); +} + export default function App() { const [trips, setTrips] = useState([]); const navigate = useNavigate(); @@ -45,41 +113,7 @@ export default function App() { return (
-

Packlist

- -
- - - - - - - - - - - -
- + } /> } /> diff --git a/frontend/src/pages/ItemsPage.tsx b/frontend/src/pages/ItemsPage.tsx index cf61da3..09bb4f4 100644 --- a/frontend/src/pages/ItemsPage.tsx +++ b/frontend/src/pages/ItemsPage.tsx @@ -127,7 +127,7 @@ export default function ItemsPage() { } return ( -
+

Items

diff --git a/frontend/src/pages/TagsPage.tsx b/frontend/src/pages/TagsPage.tsx index 2c3b7ab..9e9ba4d 100644 --- a/frontend/src/pages/TagsPage.tsx +++ b/frontend/src/pages/TagsPage.tsx @@ -49,7 +49,7 @@ export default function TagsPage() { } return ( -
+

Alle Tags

-

Packlist

+
+

Trips