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 (
);
}
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,
});