import { JSX } from "preact";

const NAV_ITEM_CLASSES =
  "flex justify-center items-center px-4 py-2 hover:bg-gray-300 dark:hover:bg-gray-700";

const HEADER_CLASSES = "bg-gray-200 dark:bg-gray-800";

export function Page(props: JSX.HTMLAttributes<HTMLDivElement>) {
  return (
    <div class="relative min-h-screen flex flex-col">
      <header class="flex justify-start items-center">
        <nav class={`flex w-full drop-shadow-md ${HEADER_CLASSES}`}>
          <a
            tabIndex={10}
            href="/"
            class={`${NAV_ITEM_CLASSES} text-black dark:text-white`}
          >
            <h1 class="text-2xl">LyricScreen</h1>
          </a>
          <a tabIndex={11} href="/note" class={NAV_ITEM_CLASSES}>Notes</a>
          <a tabIndex={12} href="/register" class={NAV_ITEM_CLASSES}>
            Register
          </a>
          <a tabIndex={13} href="/login" class={NAV_ITEM_CLASSES}>Login</a>
        </nav>
      </header>
      <main class="p-2">
        {props.children}
      </main>
      <footer class={`p-2 w-full mt-auto ${HEADER_CLASSES}`}>
        "It's a bit much, really..."
      </footer>
    </div>
  );
}
