diff --git "a/public/media/03, 23.29\342\200\213.mp3" "b/public/media/03, 23.29\342\200\213.mp3" new file mode 100644 index 0000000..5fbf193 Binary files /dev/null and "b/public/media/03, 23.29\342\200\213.mp3" differ diff --git a/public/media/subhub-opengraph-card.png b/public/media/subhub-opengraph-card.png new file mode 100644 index 0000000..87bf960 Binary files /dev/null and b/public/media/subhub-opengraph-card.png differ diff --git a/public/media/subscribe-card-image.png b/public/media/subscribe-card-image.png new file mode 100644 index 0000000..5af35bc Binary files /dev/null and b/public/media/subscribe-card-image.png differ diff --git a/src/app/_components/Authors/AuthorPills/index.tsx b/src/app/_components/Authors/AuthorPills/index.tsx new file mode 100644 index 0000000..e4fa3b4 --- /dev/null +++ b/src/app/_components/Authors/AuthorPills/index.tsx @@ -0,0 +1,72 @@ +import styles from "@/app/_components/Authors/AuthorPills/styles.module.css"; +import FeaturedImage from "@/app/_components/FeaturedImage"; +import React from "react"; +import { LinkedInIcon, TwitterIcon } from "@/app/_icons/socialIcons"; +import Link from "next/link"; + +export function AuthorPill({ large = false, author }) { + const { name, featuredImage, linkedIn, x } = author; + return ( + +
+
+ {featuredImage && } +
+ {name} +
+ + {large && ( +
+ {linkedIn && ( + + + + )} + {x && ( + + + + )} +
+ )} + + ); +} + +export function TwoAuthorPill({ authors }) { + + const authorOne = authors[0]; + const authorTwo = authors[1]; + + return ( +
+
+ +
+
+ +
+ {`${authorOne.name.split(" ")[0]} & ${authorTwo.name.split(" ")[0]}`} +
+ ); +} + +export function VariousAuthorsPill({ authors }) { + const authorOne = authors[0]; + const authorTwo = authors[1]; + const authorThree = authors[2]; + return ( +
+
+ +
+
+ +
+
+ +
+ Various authors +
+ ); +} diff --git a/src/app/_components/Authors/AuthorPills/styles.module.css b/src/app/_components/Authors/AuthorPills/styles.module.css new file mode 100644 index 0000000..bdfa7c7 --- /dev/null +++ b/src/app/_components/Authors/AuthorPills/styles.module.css @@ -0,0 +1,46 @@ +/* General Styles */ +.authorImage { + position: relative; + width: 34px; + height: 34px; + border-radius: 50%; + transition: 0.5s ease; +} + +.socials { + display: flex; + gap: 16px; +} + +/* Author Pills */ +.authorPill, +.twoAuthorPill { + display: flex; + gap: 10px; + align-items: center; + background-color: var(--soft-white-100); + width: fit-content; + font-weight: bold; + border-radius: 100px; + padding: 5px 15px 5px 5px; + color: var(--dark-rock-800); + font-size: var(--size-12); + font-family: var(--colfax); + transition: 0.5s ease; +} + +.authorPill:hover, +.twoAuthorPill:hover { + color: #C1C1C1; +} + +.authorPill:hover .authorImage, +.twoAuthorPill:hover .authorImage { + opacity: 0.5; +} + +/* Multiple Authors */ +.authorTwo, +.authorThree { + margin-left: -20px; +} diff --git a/src/payload-types.ts b/src/payload-types.ts index 1a2f257..072ab4d 100644 --- a/src/payload-types.ts +++ b/src/payload-types.ts @@ -460,6 +460,30 @@ export interface Social { updatedAt?: string | null; createdAt?: string | null; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "socials". + */ +export interface Social { + id: string; + navItems?: + | { + link: { + type?: ('reference' | 'custom') | null; + newTab?: boolean | null; + reference?: { + relationTo: 'pages'; + value: string | Page; + } | null; + url?: string | null; + label: string; + }; + id?: string | null; + }[] + | null; + updatedAt?: string | null; + createdAt?: string | null; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "homepage-settings".