---
import {CollectionEntry, getCollection} from "astro:content";
import {astroI18n, createGetStaticPaths} from "astro-i18n";
import PageLayout from "../layouts/PageLayout.astro";
import LanguageWarning from "../components/LanguageWarning.astro";
import "@styles/table.css";
export const getStaticPaths = createGetStaticPaths(async () => {
let posts = await getCollection("pages", value => value.id.split("/")[0] === astroI18n.locale);
const germanPosts = await getCollection("pages", entry => entry.id.split("/")[0] === astroI18n.fallbackLocale);
germanPosts.forEach(value => {
if (posts.find(post => post.id.split("/")[1] === value.id.split("/")[1])) {
return;
} else {
posts.push(value);
}
});
function fixLink(page: CollectionEntry<"pages">): string {
if (astroI18n.locale != astroI18n.primaryLocale && Object.keys(page.data.slugs ?? {}).includes(astroI18n.locale)) {
return page.data.slugs[astroI18n.locale];
}
if (astroI18n.locales.includes(page.slug.split("/")[0])) {
return page.slug.split("/").slice(1).join("/");
} else {
return page.slug;
}
}
return posts.map((page) => ({
props: {
page,
german: page.id.split("/")[0] === astroI18n.fallbackLocale,
},
params: {
slug: fixLink(page),
},
}));
});
const {page, german} = Astro.props;
const {Content} = await page.render();
---
{german && (
)}
{page.data.title}