"use client"; import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { useSession } from "../lib/session"; interface SamShellProps { title: string; subtitle?: string; icon?: string; activeHref?: string; children: React.ReactNode; } // Plantilla estilo sam-portal: sidebar colapsable 78px <-> 250px, // iconos boxicons, hero con degradado y perfil con salida. export default function SamShell({ title, subtitle, icon = "bx-layer", activeHref, children }: SamShellProps) { const [open, setOpen] = useState(true); const { user, loading, logout } = useSession(); const router = useRouter(); const menu = [ { href: "/", label: "Mis cursos", icon: "bx-home" }, { href: "/rendir", label: "Rendir", icon: "bx-pencil" }, { href: "/resultados", label: "Mis resultados", icon: "bx-bar-chart-alt-2" } ]; const salir = async () => { await logout(); router.push("/login"); }; return (
SAM Pruebas setOpen(!open)} role="button" aria-label="Alternar menú" />
    {menu.map((item) => (
  • {item.label} {item.label}
  • ))}
{loading ? "…" : user ? `${user.nombres} ${user.apPaterno}` : "Invitado"}
{user ? user.email : "SAM Pruebas"}
{user && ( )}
SAM Pruebas · ICHN
{title}
{subtitle && {subtitle}}
{user && (
{user.nombres} {user.apPaterno}
)}
{children}
); }