import { Handlers, PageProps } from "$fresh/server.ts"; import { MainLayout } from "@components/layouts/main.tsx"; import { HashTags } from "@components/HashTags.tsx"; import { removeImage, renderMarkdown } from "@lib/markdown.ts"; import { RedirectSearchHandler } from "@islands/Search.tsx"; import { KMenu } from "@islands/KMenu.tsx"; import PageHero from "@components/PageHero.tsx"; import { Star } from "@components/Stars.tsx"; import { MetaTags } from "@components/MetaTags.tsx"; import { parseRating } from "@lib/helpers.ts"; import { fetchResource } from "@lib/marka/index.ts"; import { ReviewResource } from "@lib/marka/schema.ts"; export const handler: Handlers<{ serie: ReviewResource; session: unknown }> = { async GET(_, ctx) { const serie = await fetchResource(`series/${ctx.params.name}.md`); if (!serie) { return ctx.renderNotFound(); } return ctx.render({ serie, session: ctx.state.session }); }, }; export default function Greet( props: PageProps<{ serie: ReviewResource; session: Record }>, ) { const { serie, session } = props.data; const { author = "", datePublished = "", reviewBody } = serie?.content || {}; const content = renderMarkdown( removeImage(reviewBody, serie.image?.url), ); return ( ${serie.content?.name}`} context={serie} > {session && ( )} {serie.name} {serie.content?.reviewRating && ( )} {serie.content?.tags?.length > 0 && ( <>
)}
{serie?.content?.reviewBody?.length > 80 ?

Review

: <>}
          {content}
        
); }