"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import { getUser, clearAuth, getRefresh } from "@/lib/api"; import { api } from "@/lib/api"; const NAV = [ { href: "/portal", icon: "โ—ˆ", label: "Dashboard" }, { href: "/portal/mi-casillero", icon: "๐Ÿ“ฆ", label: "Mi Casillero" }, { href: "/portal/mis-paquetes", icon: "๐Ÿšš", label: "Mis Paquetes" }, { href: "/portal/pre-alerta", icon: "๐Ÿ””", label: "Pre-Alerta" }, { href: "/portal/calculadora", icon: "๐Ÿงฎ", label: "Calculadora" }, { href: "/portal/perfil", icon: "๐Ÿ‘ค", label: "Mi Perfil" }, ]; export default function PortalLayout({ children }: { children: React.ReactNode }) { const router = useRouter(); const pathname = usePathname(); const [user, setUser] = useState(null); const [unread, setUnread] = useState(0); useEffect(() => { const u = getUser(); if (!u) { router.replace("/login"); return; } setUser(u); }, [router]); const handleLogout = async () => { try { await api.auth.logout(localStorage.getItem("mw_refresh") ?? ""); } catch {} clearAuth(); router.push("/login"); }; if (!user) return
; return (
{/* Sidebar */} {/* Main */}
Portal del Cliente
๐Ÿ”” {unread > 0 && {unread}} {user.email}
{children}
); }