Files
martials.no/src/components/Breadcrumb.astro

40 lines
773 B
Plaintext
Raw Normal View History

2025-03-15 15:34:24 +01:00
---
2025-07-01 20:51:59 +02:00
import { type NavLink } from "@/utils/linking"
2025-03-15 15:34:24 +01:00
import LocaleLink from "@/components/links/LocaleLink.astro"
2025-07-01 20:51:59 +02:00
import { deLocalizeHref } from "@/paraglide/runtime.js"
2025-03-15 15:34:24 +01:00
2025-07-01 20:51:59 +02:00
const pathname = deLocalizeHref(Astro.originPathname)
2025-03-15 15:34:24 +01:00
let paths: string[]
if (pathname === "/") {
paths = ["~"]
} else {
2025-07-01 19:08:34 +02:00
paths = ["~", ...pathname.split("/").filter(x => x)]
2025-03-15 15:34:24 +01:00
}
function getLink(path: string): NavLink {
switch (path) {
case "~":
return "/"
default:
return `/${path}` as NavLink
}
}
---
<div>
{
paths.map((path, index) => (
<span>
2025-07-01 20:51:59 +02:00
{ index != paths.length - 1 ? (
2025-03-15 15:34:24 +01:00
<span>
2025-07-01 20:51:59 +02:00
<LocaleLink to={ getLink(path) }>{ path }</LocaleLink>/
2025-03-15 15:34:24 +01:00
</span>
) : (
path
2025-07-01 20:51:59 +02:00
) }
2025-03-15 15:34:24 +01:00
</span>
))
}
</div>