'use client'

import Link from 'next/link'
import {
  Popover,
  PopoverButton,
  PopoverBackdrop,
  PopoverPanel,
} from '@headlessui/react'
import clsx from 'clsx'

import { Button } from '@/components/Button'
import { Container } from '@/components/Container'
import { Logo_darkbg } from '@/components/Logo_darkbg'
function NavLinkDark({
  href,
  children,
}: {
  href: string
  children: React.ReactNode
}) {
  return (
    <Link
      href={href}
      className="inline-block rounded-lg px-2 tracking-widest py-1 text-sm text-white hover:bg-white/10 hover:text-white"
    >
      {children}
    </Link>
  )
}

function MobileNavLink({
  href,
  children,
}: {
  href: string
  children: React.ReactNode
}) {
  return (
    <PopoverButton as={Link} href={href} className="block w-full p-2 text-white">
      {children}
    </PopoverButton>
  )
}

function MobileNavIcon({ open }: { open: boolean }) {
  return (
    <svg
      aria-hidden="true"
      className="h-3.5 w-3.5 overflow-visible stroke-white"
      fill="none"
      strokeWidth={2}
      strokeLinecap="round"
    >
      <path
        d="M0 1H14M0 7H14M0 13H14"
        className={clsx(
          'origin-center transition',
          open && 'scale-90 opacity-0',
        )}
      />
      <path
        d="M2 2L12 12M12 2L2 12"
        className={clsx(
          'origin-center transition',
          !open && 'scale-90 opacity-0',
        )}
      />
    </svg>
  )
}

function MobileNavigation() {
  return (
    <Popover>
      <PopoverButton
        className="relative z-10 flex h-8 w-8 items-center justify-center focus:not-data-focus:outline-hidden"
        aria-label="Toggle Navigation"
      >
        {({ open }) => <MobileNavIcon open={open} />}
      </PopoverButton>
      <PopoverBackdrop
        transition
        className="fixed inset-0 bg-black/50 duration-150 data-closed:opacity-0 data-enter:ease-out data-leave:ease-in"
      />
      <PopoverPanel
        transition
        className="absolute inset-x-0 top-full mt-4 flex origin-top flex-col rounded-2xl bg-black p-4 text-lg tracking-tight text-white shadow-xl ring-1 ring-white/10 data-closed:scale-95 data-closed:opacity-0 data-enter:duration-150 data-enter:ease-out data-leave:duration-100 data-leave:ease-in"
      >
        <MobileNavLink href="/about">About</MobileNavLink>
        <MobileNavLink href="/ventures">Ventures</MobileNavLink>
        <hr className="m-2 border-white/20" />
        <MobileNavLink href="/contact">Contact Us</MobileNavLink>
      </PopoverPanel>
    </Popover>
  )
}

export function Header_darkbg() {
  return (
    <header className="py-5 bg-transparent relative">
      <Container>
        <nav className="relative z-50 flex items-center justify-between">
          {/* Left: Logo */}
          <div className="flex items-center md:gap-x-12">
            <Link href="/" aria-label="Home">
              <Logo_darkbg className="h-8 w-auto lg:h-8" />
            </Link>
          </div>

          {/* Middle: empty spacer */}
          <div className="flex-1" />

          {/* Right: Nav links (desktop) + mobile menu */}
          <div className="flex items-center gap-x-5 md:gap-x-8">
            <div className="hidden md:flex md:gap-x-6">
              <NavLinkDark href="/about">ABOUT</NavLinkDark>
              <NavLinkDark href="/ventures">VENTURES</NavLinkDark>
              <NavLinkDark href="/people">TEAM</NavLinkDark>
              <NavLinkDark href="/contact">FELLOWSHIP</NavLinkDark>
              <NavLinkDark href="/contact">NEWS</NavLinkDark>
            </div>
            <div className="-mr-1 md:hidden">
              <MobileNavigation />
            </div>
          </div>
        </nav>
      </Container>
    </header>
  )
}
