40 lines
773 B
Plaintext
40 lines
773 B
Plaintext
---
|
|
import { type NavLink } from "@/utils/linking"
|
|
import LocaleLink from "@/components/links/LocaleLink.astro"
|
|
import { deLocalizeHref } from "@/paraglide/runtime.js"
|
|
|
|
const pathname = deLocalizeHref(Astro.originPathname)
|
|
|
|
let paths: string[]
|
|
if (pathname === "/") {
|
|
paths = ["~"]
|
|
} else {
|
|
paths = ["~", ...pathname.split("/").filter(x => x)]
|
|
}
|
|
|
|
function getLink(path: string): NavLink {
|
|
switch (path) {
|
|
case "~":
|
|
return "/"
|
|
default:
|
|
return `/${path}` as NavLink
|
|
}
|
|
}
|
|
---
|
|
|
|
<div>
|
|
{
|
|
paths.map((path, index) => (
|
|
<span>
|
|
{ index != paths.length - 1 ? (
|
|
<span>
|
|
<LocaleLink to={ getLink(path) }>{ path }</LocaleLink>/
|
|
</span>
|
|
) : (
|
|
path
|
|
) }
|
|
</span>
|
|
))
|
|
}
|
|
</div>
|