diff --git a/src/components/projects/ProjectPage.astro b/src/components/projects/ProjectPage.astro index 9377508..1b8ec63 100644 --- a/src/components/projects/ProjectPage.astro +++ b/src/components/projects/ProjectPage.astro @@ -16,7 +16,10 @@ interface Props { const { project } = Astro.props const entry = await getEntry("projects", project) -const { Content } = await render(entry!) +if (!entry) { + throw new Error("Project not found") +} +const { Content } = await render(entry) const { lang, title, @@ -28,7 +31,7 @@ const { source, createdAt, updatedAt, -} = entry!.data +} = entry.data function localeDateString(isoString: string): string { let template = "DD-MM-YYYY" diff --git a/src/utils/linking.ts b/src/utils/linking.ts index 0f8ddaf..9e75113 100644 --- a/src/utils/linking.ts +++ b/src/utils/linking.ts @@ -52,9 +52,8 @@ export function localizePathname( const rest = pathnameParts.slice(2) if (rest.length > 0) { return `${localizedPathname}/${rest.join("/")}` - } else { - return localizedPathname } + return localizedPathname } return pathname } @@ -71,13 +70,14 @@ export function isAbsolutePathname(path: string): path is AbsolutePathname { } export function isNavLink(path: string): path is NavLink { + let basePath = path if (path.startsWith("/en")) { - path = path.slice(2) + basePath = path.slice(2) } - if (paths.has(path as NavLink)) { + if (paths.has(basePath as NavLink)) { return true } - const pathSplit = path.split("/").slice(1) + const pathSplit = basePath.split("/").slice(1) return ( pathSplit.length === 2 && pathSplit[0] === "projects" &&