+
+
+ Most recent
+
+ {tags.slice(0, 6).map((tag) => {
+ return (
+
+ {tag.name}
+
+ );
+ })}
+
+
+
+
setSearch(e.target.value)}
+ />
+ {search.length > 0 && (
+
setSearch('')}
+ >
+
+
+ )}
+
+
+ )}
+ {searchResults.map((post) => {
+ const img = post.mainImage;
+ const imageUrl = img && urlFor(img).url();
+ const blurUrl = img && urlFor(img).width(20).quality(20).url();
+ const url = `/blog/${post?.slug?.current}`;
+
+ return (
+
+
+ {imageUrl && blurUrl && (
+
+ )}
+
+
+
{post?.title}
+
{post?.subtitle}
+
+
+ {post?.tags?.[0].name}
+
+
+ {post.publishedAt &&
+ format(parseISO(post.publishedAt), 'MMMM dd, yyyy')}
+
+
+ {post.authors?.map((author) => {
+ const img = author.image;
+ const imageUrl = img && urlFor(img).url();
+ return (
+
+ {imageUrl && (
+
+ )}
+
+ );
+ })}
+
+
+
+ );
+ })}
+ >
+ );
+};
diff --git a/apps/frontpage/components/blog/youtube-player.tsx b/apps/frontpage/components/blog/youtube-player.tsx
new file mode 100644
index 00000000..4c104984
--- /dev/null
+++ b/apps/frontpage/components/blog/youtube-player.tsx
@@ -0,0 +1,7 @@
+'use client';
+
+import ReactPlayer from 'react-player/youtube';
+
+export const YoutubePlayer = ({ url }: { url: string }) => {
+ return