import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
import style from "./styles/footer.scss"
import { version } from "../../package.json"
import { i18n } from "../i18n"

interface Options {
  links: Record<string, string>
  rings: Record<string, string>
}

export default ((opts?: Options) => {
  const Footer: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => {
    const year = new Date().getFullYear()
    const links = opts?.links ?? []
    const rings = opts?.rings ?? []
    return (
      <footer class={`${displayClass ?? ""}`}>
        <hr />
        <ul>
          {Object.entries(links).map(([text, link]) => (
            <li>
              <a href={link}>{text}</a>
            </li>
          ))}
        </ul>
        <div class="rings">
          {Object.entries(rings).map(([text, link]) => (
            <div class="ring">
              <a class="ringbtn" href={link + "previous?host=nexie.net"}>
                ◄
              </a>
              <a class="ringbtn" href={link}>
                {text}
              </a>
              <a class="ringbtn" href={link + "random"}>
                Random
              </a>
              <a class="ringbtn" href={link + "next?host=nexie.net"}>
                ►
              </a>
            </div>
          ))}
        </div>
      </footer>
    )
  }

  Footer.css = style
  return Footer
}) satisfies QuartzComponentConstructor
