// components/ForwardButton.js "use client"; import { Button } from "@nextui-org/react"; import { useRouter, usePathname } from "next/navigation"; import { useEffect, useState } from "react"; export default function ForwardButton({ files, isAdmin = false }) { const router = useRouter(); const pathname = usePathname(); const [lastVisited, setLastVisited] = useState(null); // Initialisiere den letzten besuchten Pfad beim Laden useEffect(() => { const savedLastVisited = localStorage.getItem("lastVisitedFolder"); if (savedLastVisited && savedLastVisited !== pathname) { setLastVisited(savedLastVisited); } }, [pathname]); const handleForwardNavigation = () => { // Navigiere zu der letzten gespeicherten Position, falls vorhanden if (lastVisited && lastVisited !== pathname) { router.push(lastVisited); } else { // Fallback: Navigiere zur ersten verfügbaren Unterordner, falls keine Position gespeichert ist const nextFolder = files.find((file) => file.type === "folder"); if (nextFolder) { const basePath = isAdmin ? "/admin-view" : "/niederlassung"; const currentSegments = pathname.split("/").filter(Boolean).slice(1); // segments without base path const nextPath = `${basePath}/${[ ...currentSegments, nextFolder.name, ].join("/")}`; router.push(nextPath); localStorage.setItem("lastVisitedFolder", nextPath); // Speichere den neuen Pfad setLastVisited(nextPath); // Aktualisiere den lokalen Zustand } else { alert("Kein weiterer Ordner vorhanden."); } } }; // Aktualisiere den aktuellen Pfad als letzten besuchten, wenn sich der Pfad ändert useEffect(() => { if (typeof window !== "undefined" && pathname) { localStorage.setItem("lastVisitedFolder", pathname); } }, [pathname]); return ( ); }