"use client"; import Image from "next/image"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useEffect, useMemo, useState } from "react"; import { ASSISTANT_TOGGLE_EVENT } from "@/components/AssistantDrawer"; import { supabaseBrowser } from "@/lib/supabase/browser"; type NavLink = { href: string; label: string; }; const navLinks: NavLink[] = [ { href: "/", label: "Home" }, { href: "/courses", label: "Courses" }, { href: "/case-studies", label: "Case Studies" }, { href: "/practice", label: "Practice" }, ]; export default function Navbar() { const pathname = usePathname(); const [userEmail, setUserEmail] = useState(null); const linkClass = (href: string) => pathname === href || pathname?.startsWith(`${href}/`) ? "rounded-xl bg-brand px-5 py-3 text-sm font-semibold text-white shadow-sm" : "rounded-xl px-5 py-3 text-sm font-semibold text-slate-700 transition-colors hover:text-brand"; useEffect(() => { const client = supabaseBrowser(); if (!client) return; let mounted = true; client.auth.getUser().then(({ data }) => { if (!mounted) return; setUserEmail(data.user?.email ?? null); }); const { data } = client.auth.onAuthStateChange((_event, session) => { setUserEmail(session?.user?.email ?? null); }); return () => { mounted = false; data.subscription.unsubscribe(); }; }, []); const authNode = useMemo(() => { if (!userEmail) { return (
Login Sign up
); } return (
{userEmail}
); }, [userEmail]); return (
ACVE logo
ACVE
Centro de Estudios
{authNode}
); }