59 lines
1.3 KiB
Plaintext
59 lines
1.3 KiB
Plaintext
---
|
|
import Layout from "@layouts/Layout.astro";
|
|
import { useTranslatedPath } from "@i18n/utils";
|
|
import * as memorium from "@helpers/memorium";
|
|
|
|
const collection = "resources/series";
|
|
|
|
const path = useTranslatedPath(Astro.url);
|
|
|
|
export async function getStaticPaths() {
|
|
const seriesReviews = await memorium.listResource("Media/series/*");
|
|
|
|
const paths = seriesReviews.map((review: any) => {
|
|
return {
|
|
params: {
|
|
seriesName: review.identifier
|
|
.replace("Media/series/", "")
|
|
.replace(/\.md$/, ""),
|
|
},
|
|
};
|
|
});
|
|
|
|
return paths;
|
|
}
|
|
|
|
|
|
const reviews = await memorium.listResource(
|
|
//@ts-ignore
|
|
`Media/series/${Astro.params.seriesName}.md`,
|
|
);
|
|
if (reviews.length === 0) {
|
|
return new Response(null, {
|
|
status: 404,
|
|
statusText: "Not found",
|
|
});
|
|
}
|
|
const review = reviews[0];
|
|
---
|
|
|
|
<Layout title="Max Richter">
|
|
<div class="top-info flex items-center place-content-between m-y-2">
|
|
<a class="flex items-center gap-1 opacity-50" href={path("/" + collection)}>
|
|
<span class="i-tabler-arrow-left"></span> back
|
|
</a>
|
|
<div class="date opacity-50">
|
|
{
|
|
review.date?.toLocaleString("en-US", {
|
|
month: "long",
|
|
day: "numeric",
|
|
year: "numeric",
|
|
})
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
<h1>{review.itemReviewed?.name}</h1>
|
|
<p>{review.reviewBody}</p>
|
|
</Layout>
|