From c1e28224aa2e1450031669d9a7e359b63e04687d Mon Sep 17 00:00:00 2001 From: Volpeon Date: Wed, 22 Jul 2026 19:40:59 +0200 Subject: Init --- src/pages/releases/index.tsx | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/pages/releases/index.tsx (limited to 'src/pages/releases/index.tsx') diff --git a/src/pages/releases/index.tsx b/src/pages/releases/index.tsx new file mode 100644 index 0000000..132eee7 --- /dev/null +++ b/src/pages/releases/index.tsx @@ -0,0 +1,51 @@ +import { BaseLayout } from "$/ui/base/BaseLayout.tsx"; +import { ReleaseCard } from "$/ui/components/ReleaseCard.tsx"; +import { SiteHeader } from "$/ui/components/SiteHeader.tsx"; +import { CardList } from "$/ui/layouts/CardList.tsx"; +import { Container } from "$/ui/layouts/Container.tsx"; +import { ActionButton } from "$/ui/objects/ActionButton.tsx"; +import { Heading } from "$/ui/objects/Heading.tsx"; +import { Icon } from "$/ui/objects/Icon.tsx"; +import { PlaceholderBox } from "$/ui/objects/PlaceholderBox.tsx"; +import site from "@/corvos.config.ts"; + +export const template = site.$.template({ type: "releases-index" }, (page, pages) => { + const query = site.$.query(pages); + const items = query.type(".html").match({ type: "release" }).many().toArray(); + const feed = query.type(".rss").match({ type: "releases" }).one(); + + return ( + + + } + level="quiet" + pill + title="RSS Feed" + /> + + } + sm={ +
+ {page.data.title} +
+ } + >
+ + + + {items.map((item) => ( + + ))} + {!items.length && Nothing there yet} + + +
+ ); +}); -- cgit v1.3.1