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".