import { Handlers, PageProps } from "$fresh/server.ts"; import { MainLayout } from "@components/layouts/main.tsx"; import { Article, getAllArticles } from "@lib/resource/articles.ts"; import { KMenu } from "@islands/KMenu.tsx"; import { Grid } from "@components/Grid.tsx"; import { IconArrowLeft } from "@components/icons.tsx"; import { RedirectSearchHandler } from "@islands/Search.tsx"; import { parseResourceUrl, searchResource } from "@lib/search.ts"; import { GenericResource } from "@lib/types.ts"; import { ResourceCard } from "@components/Card.tsx"; import { Link } from "@islands/Link.tsx"; export const handler: Handlers< { articles: Article[] | null; searchResults?: GenericResource[] } > = { async GET(req, ctx) { const articles = await getAllArticles(); const searchParams = parseResourceUrl(req.url); const searchResults = searchParams && await searchResource({ ...searchParams, types: ["article"] }); return ctx.render({ articles, searchResults }); }, }; export default function Greet( props: PageProps< { articles: Article[] | null; searchResults: GenericResource[] } >, ) { const { articles, searchResults } = props.data; return (
Back

📝 Articles

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