import * as hi from "jsr:@preact-icons/hi2";

interface HeaderLink {
  name: string;
  linkTo: string;
  // deno-lint-ignore no-explicit-any
  icon: any;
  newTab?: boolean;
}

const headerLinks: Array<HeaderLink> = [
  {
    name: "Home",
    linkTo: `${Deno.env.get("BASE_URI_WEB")}/`,
    icon: <hi.HiOutlineHome />,
  },
  {
    name: "Blog",
    linkTo: `${Deno.env.get("BASE_URI_WEB")}/posts`,
    icon: <hi.HiOutlineBookmarkSquare />,
  },
  {
    name: "Projects",
    linkTo: `${Deno.env.get("BASE_URI_WEB")}/projects`,
    icon: <hi.HiOutlineWrenchScrewdriver />,
  },
  {
    name: "Contact",
    linkTo: `${Deno.env.get("BASE_URI_WEB")}/contact`,
    icon: <hi.HiOutlinePencilSquare />,
  },
];

export default function Header() {
  return (
    <header>
      <nav>
        <div class="bg-[#313244] flex justify-center space-x-6 p-4">
          {headerLinks.map((l) => {
            const newTab = l.newTab ? "_blank" : "_self";
            return (
              <a
                href={l.linkTo}
                target={newTab}
                class="text-[#cdd6f4] text-lg font-medium transition-all duration-300 ease-in-out hover:text-[#cba6f7] hover:drop-shadow-[0_0_20px_rgba(96,165,250,0.7)] hover:scale-110 cursor-pointer"
              >
                <div class="flex items-center gap-2">
                  {l.icon} {l.name}
                </div>
              </a>
            );
          })}
        </div>
      </nav>
    </header>
  );
}