From 237582b2ad9ef4698b82c259226c3d6da149df5e Mon Sep 17 00:00:00 2001 From: Xevion Date: Thu, 16 Feb 2023 04:24:51 -0600 Subject: [PATCH] Port Card from Astro (hidden) --- src/components/Card.module.scss | 44 +++++++++++++++++++++++++++++++++ src/components/Card.tsx | 21 ++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 src/components/Card.module.scss create mode 100644 src/components/Card.tsx diff --git a/src/components/Card.module.scss b/src/components/Card.module.scss new file mode 100644 index 0000000..54f9798 --- /dev/null +++ b/src/components/Card.module.scss @@ -0,0 +1,44 @@ +.linkCard { + list-style: none; + display: flex; + padding: 0.25rem; + background-color: white; + background-image: none; + background-size: 400%; + border-radius: 0.6rem; + background-position: 100%; + transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1); + box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); + + > a { + width: 100%; + text-decoration: none; + line-height: 1.4; + padding: 1rem 1.3rem; + border-radius: 0.35rem; + color: #111; + background-color: white; + opacity: 0.8; + } + + &:is(:hover, :focus-within) { + background-position: 0; + background-image: var(--accent-gradient); + + h2 { + color: rgb(var(--accent)); + } + } + + h2 { + margin: 0; + font-size: 1.25rem; + transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1); + } + + p { + margin-top: 0.5rem; + margin-bottom: 0; + color: #444; + } +} \ No newline at end of file diff --git a/src/components/Card.tsx b/src/components/Card.tsx new file mode 100644 index 0000000..8357168 --- /dev/null +++ b/src/components/Card.tsx @@ -0,0 +1,21 @@ +import type {FunctionComponent} from "react"; + +import styles from "./Card.module.scss"; + +type CardProps = { href: string, title: string, body: string | JSX.Element }; +const Card: FunctionComponent = ({href, title, body}) => { + return (
  • + +

    + {title} + +

    +

    + {body} +

    +
    +
  • ); +} + +export default Card; +