import { Handlers, PageProps } from "$fresh/server.ts"; import { MainLayout } from "@components/layouts/main.tsx"; import { type BookResource, GenericResource } from "@lib/marka/schema.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 { ResourceCard } from "@components/Card.tsx"; import { Link } from "@islands/Link.tsx"; import { listResources } from "@lib/marka/index.ts"; export const handler: Handlers< { books: BookResource[] | null; searchResults?: GenericResource[] } > = { async GET(req, ctx) { const books = await listResources("books"); const searchParams = parseResourceUrl(req.url); const searchResults = searchParams && await searchResource({ ...searchParams, types: ["books"] }); return ctx.render({ books, searchResults }); }, }; export default function Greet( props: PageProps< { books: BookResource[] | null; searchResults: GenericResource[] } >, ) { const { books, searchResults } = props.data; return (
Back

📚 Books

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