Files
max-richter.dev/src/pages/resources/Series/[seriesName].astro
2025-10-04 13:07:11 +02:00

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>