---
/**
* The Blog's top slot: the featured or latest post in the one featured
* panel. The cover fills the left side when the post has one; otherwise the
* blog's seal art stands in.
*/
import Button from "@gk/ui/components/Button.astro";
import GiltCorners from "@gk/ui/components/GiltCorners.astro";
import Motif from "@gk/ui/components/Motif.astro";
import Seal from "@gk/ui/components/Seal.astro";
import Star from "@gk/ui/components/Star.astro";
import StarPath from "@gk/ui/components/StarPath.astro";
import StatusPill from "@gk/ui/components/StatusPill.astro";
import TickRing from "@gk/ui/components/TickRing.astro";
import TickScale from "@gk/ui/components/TickScale.astro";
import { filamentBanner } from "@gk/ui/components/seals.ts";
import { dateLine, nowStatuses, pageLinks, type Post } from "../../lib/blog.ts";
import { mediaSrc, type SiteIndex } from "../../lib/site.ts";
import PageChips from "./PageChips.astro";
interface Props {
post: Post;
label: "Featured" | "Latest";
site: SiteIndex;
}
const { post, label, site: s } = Astro.props;
const href = s.href(post) ?? "#";
const cover = mediaSrc(post.data.cover);
const links = pageLinks(s, post);
const now = nowStatuses(s, post);
---
{
cover ? (
<>
>
) : (
<>
>
)
}
No. 01 · {label}
{label} · {post.data.topic}{dateLine(post)}
{now.map((st) => Now · {st.data.kind})}