import { LinkButton } from "~/components/Button"; import React from "react"; import { YCombinatorIcon } from "~/components/Icons"; import clsx from "clsx"; import { formatters } from "~/utils"; import { ChevronLeftIcon } from "@heroicons/react/16/solid"; import { Link } from "@remix-run/react"; import Container from "~/components/Container"; import Card from "~/components/Card"; function Base({ children }: { children: React.ReactNode }) { return (
{children}
); } function LargeCenter({ headline, description, slogan, ctaText, ctaTo, videoSrc, }: { headline: string; description: string; slogan?: string; ctaText?: string; ctaTo?: string; videoSrc: string; }) { return (

{headline}

{description}

{slogan}

); } function LargeLeft({ headline, description, slogan, illustration, }: { headline: string; description: string; slogan?: string; illustration: string; }) { return (

{headline}

{description}

{slogan}

); } function Small({ headline, description, children, align = "center", divider, className, }: { children?: React.ReactNode; headline: string; description?: string; align?: "left" | "center"; divider?: boolean; className?: string; }) { return ( <>

{headline}

{divider &&
} {description && (

{description}

)}
{children &&
{children}
} ); } export function PostHero({ category, headline, description, children, align = "center", divider, date, authors, }: { category?: string; children?: React.ReactNode; headline: string; description?: string; align?: "left" | "center"; divider?: boolean; date?: string; authors?: { name: string; title?: string }[]; }) { return ( <>
Back to blog
{category && (

{category}

)}

{headline}

{description && (

{description}

)} {divider &&
}
{date && (
{formatters.date(new Date(date))}
)} {authors?.map(author => (
{author.name}
{author.title && (
{author.title}
)}
))}
{children &&
{children}
} ); } export default Object.assign(Base, { LargeCenter, LargeLeft, Small, PostHero, });