Jacky Zhao
2023-07-02 e0ebee5aa9b3646de722f139f1d8d15591df538e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { QuartzComponentConstructor } from "./types"
import style from "./styles/footer.scss"
 
interface Options {
  authorName: string,
  links: Record<string, string>
}
 
export default ((opts?: Options) => {
  function Footer() {
    const year = new Date().getFullYear()
    const name = opts?.authorName ?? "someone"
    const links = opts?.links ?? []
    return <>
      <hr />
      <footer>
        <p>Made by {name} using <a href="https://quartz.jzhao.xyz/">Quartz</a>, © {year}</p>
        <ul>{Object.entries(links).map(([text, link]) => <li>
          <a href={link}>{text}</a>
        </li>)}</ul>
      </footer>
    </>
  }
 
  Footer.css = style
  return Footer
}) satisfies QuartzComponentConstructor