import Link from "../Link"; import { HeartIcon, NextjsLogo } from "../Icons"; import { styled, theme, keyframes } from "../../lib/styles/stitches.config"; import * as config from "../../lib/config"; import type { ComponentProps } from "react"; const Wrapper = styled("footer", { width: "100%", padding: "1.25em 1.5em", borderTop: `1px solid ${theme.colors.kindaLight}`, backgroundColor: theme.colors.backgroundOuter, color: theme.colors.mediumDark, transition: `background ${theme.transitions.fade}, border ${theme.transitions.fade}`, "@medium": { padding: "1em 1.25em", }, }); const Row = styled("div", { display: "flex", width: "100%", maxWidth: theme.sizes.maxLayoutWidth, margin: "0 auto", justifyContent: "space-between", fontSize: "0.85em", lineHeight: 2.3, // stack columns on left instead of flexboxing across "@medium": { fontSize: "0.8em", display: "block", }, }); const PlainLink = styled(Link, { color: theme.colors.mediumDark, }); const NextjsLink = styled(PlainLink, { "&:hover, &:focus-visible": { color: theme.colors.medium, }, }); const ViewSourceLink = styled(PlainLink, { paddingBottom: "2px", borderBottom: `1px solid ${theme.colors.light}`, "&:hover, &:focus-visible": { borderColor: theme.colors.kindaLight, }, }); const Icon = styled("svg", { width: "1.25em", height: "1.25em", verticalAlign: "-0.25em", margin: "0 0.075em", fill: "currentColor", }); const Heart = styled("span", { display: "inline-block", color: theme.colors.error, // somewhat ironically color the heart with the themed "error" red... ; const Footer = ({ ...rest }: FooterProps) => { return (
Content{" "} licensed under {config.licenseAbbr} ,{" "} {config.copyrightYearStart} {" "} – {new Date(process.env.RELEASE_DATE || Date.now()).getUTCFullYear()}.
Made with{" "} {" "} and{" "} .{" "} View source.
); }; export default Footer;