"use client"
import { RocketOne, Minus, Close, Square } from "@icon-park/react"
import { /* relaunch,  */ exit } from "@tauri-apps/plugin-process"
import { getCurrentWindow } from "@tauri-apps/api/window"
// import { invoke } from "@tauri-apps/api/core";
import { useRouter } from "next/navigation"

const Nav = () => {
  const close = async () => {
    // (await window.hideOnClose) ? getCurrent().hide() : exit();
    await exit()
  }

  const minimize = () => {
    getCurrentWindow()
      .minimize()
      .then(() => {
        console.log("minimized")
      })
      .catch((err: unknown) => {
        console.error(err)
      })
  }

  const toggleMaximize = async () => {
    const current = getCurrentWindow()
    const maximized = await current.isMaximized()
    await (maximized ? current.unmaximize() : current.maximize())
  }

  // const reset = async () => {
  //   await relaunch()
  // }
  const router = useRouter()

  return (
    <nav className="absolute top-0 right-0 flex flex-row h-16 gap-0.5 p-4" data-tauri-drag-region>
      <button
        className="px-2 py-0 transition rounded hover:bg-zinc-200/80 active:scale-95"
        onClick={() => router.push("/prepare")}
      >
        <RocketOne size={16} />
      </button>
      <button
        className="px-2 py-0 transition rounded hover:bg-zinc-200/80 active:scale-95"
        onClick={minimize}
      >
        <Minus size={16} />
      </button>
      <button
        className="px-2 py-0 transition rounded hover:bg-zinc-200/80 active:scale-95"
        onClick={toggleMaximize}
      >
        <Square size={16} />
      </button>
      <button
        className="px-2 py-0 transition rounded hover:bg-zinc-200/80 active:scale-95"
        onClick={close}
      >
        <Close size={16} />
      </button>
    </nav>
  )
}

export default Nav
