| | |
| | | import { QuartzComponentConstructor } from "./types" |
| | | import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" |
| | | import style from "./styles/footer.scss" |
| | | import { version } from "../../package.json" |
| | | import { i18n } from "../i18n" |
| | | |
| | | interface Options { |
| | | authorName: string, |
| | | links: Record<string, string> |
| | | } |
| | | |
| | | export default ((opts?: Options) => { |
| | | function Footer() { |
| | | const Footer: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => { |
| | | const year = new Date().getFullYear() |
| | | const name = opts?.authorName ?? "someone" |
| | | const links = opts?.links ?? [] |
| | | return <footer> |
| | | <hr /> |
| | | <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> |
| | | return ( |
| | | <footer class={`${displayClass ?? ""}`}> |
| | | <p> |
| | | {i18n(cfg.locale).components.footer.createdWith}{" "} |
| | | <a href="https://quartz.jzhao.xyz/">Quartz v{version}</a> © {year} |
| | | </p> |
| | | <ul> |
| | | {Object.entries(links).map(([text, link]) => ( |
| | | <li> |
| | | <a href={link}>{text}</a> |
| | | </li> |
| | | ))} |
| | | </ul> |
| | | </footer> |
| | | ) |
| | | } |
| | | |
| | | Footer.css = style |