import dayjs from 'dayjs' import { ArrowLeft } from 'lucide-react' import Image from 'next/image' import Link from 'next/link' import ReactMarkdown from 'react-markdown' import type { PostReturnType, ProcessedBlogData, StaticAuthor, Tag } from 'types/post' import { Badge } from 'ui' import { CTASection } from '@/app/(home)/_components/CTASection' import DraftModeBanner from '@/components/Blog/DraftModeBanner' import ShareArticleActions from '@/components/Blog/ShareArticleActions' import BlogLinks from '@/components/LaunchWeek/7/BlogLinks' import LW11Summary from '@/components/LaunchWeek/11/LW11Summary' import LW12Summary from '@/components/LaunchWeek/12/LWSummary' import LW13Summary from '@/components/LaunchWeek/13/Releases/LWSummary' import LW14Summary from '@/components/LaunchWeek/14/Releases/LWSummary' import LW15Summary from '@/components/LaunchWeek/15/LWSummary' import LWXSummary from '@/components/LaunchWeek/X/LWXSummary' import { getBlogThumbnailImage } from '@/lib/blog-images' import { compileBlogMdx } from '@/lib/mdx/compileBlogMdx' import mdxComponents from '@/lib/mdx/mdxComponents' type NextCardProps = { post: { path: string; title: string; formattedDate: string } label: string className?: string } const NextCard = (props: NextCardProps) => { const { post, label, className } = props return (
{label}
{(post as { formattedDate?: string }).formattedDate}
)}On this page
{dayjs(blogMetaData.date).format('DD MMM YYYY')}
·
{(blogMetaData as any).readingTime}