import { PageProps } from "fresh"; import { MainLayout } from "@components/layouts/main.tsx"; import { type ArticleResource, GenericResource } from "@lib/marka/schema.ts"; import { KMenu } from "@islands/KMenu.tsx"; import { Grid } from "@components/Grid.tsx"; import { RedirectSearchHandler } from "@islands/Search.tsx"; import { parseResourceUrl, searchResource } from "@lib/search.ts"; import { ResourceCard } from "@components/Card.tsx"; import { listResources } from "@lib/marka/index.ts"; import { define } from "../../utils.ts"; import { TbArrowLeft } from "@preact-icons/tb"; export const handler = define.handlers({ async GET(ctx) { const req = ctx.req; const articles = await listResources("articles"); const searchParams = parseResourceUrl(req.url); const searchResults = searchParams && await searchResource({ ...searchParams, types: ["articles"] }); return { data: { articles, searchResults } }; }, }); export default define.page(function ( props: PageProps< { articles: ArticleResource[] | null; searchResults: GenericResource[] } >, ) { const { articles, searchResults } = props.data; return (
Back

📝 Articles

{articles?.map((doc, i) => ( ))}
); });