feat(termin): Termin-Detail unter /kalender/termin/<slug>, 302 von alt
Route /termin/[slug] -> /kalender/termin/[slug] verschoben, alte URL 302-redirect (QR-Codes/geteilte Links bleiben gueltig). Breadcrumb 3-stufig (Start > Kalender > Titel). QR-/Detail-/OG-Links auf neuen Pfad. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -461,13 +461,13 @@
|
||||
}
|
||||
|
||||
// QR-Code zum direkten Ausgeben/Scannen (Aushang, Infostand). Nutzt die
|
||||
// canonical /termin/<slug>-URL (hat OG-Tags + Redirect), Fallback = Hash-
|
||||
// canonical /kalender/termin/<slug>-URL (hat OG-Tags), Fallback = Hash-
|
||||
// Anchor im Kalender wenn kein Slug.
|
||||
let qrModal = $state<{ value: string; label: string } | null>(null);
|
||||
|
||||
function openQr(item: EventCardItem) {
|
||||
const url = item._slug
|
||||
? `${window.location.origin}/termin/${encodeURIComponent(item._slug)}/`
|
||||
? `${window.location.origin}/kalender/termin/${encodeURIComponent(item._slug)}/`
|
||||
: `${window.location.origin}${window.location.pathname}#${eventId(item)}`;
|
||||
qrModal = { value: url, label: item.title || "Termin" };
|
||||
}
|
||||
@@ -753,7 +753,7 @@
|
||||
<div class="flex flex-wrap gap-2">
|
||||
{#if item._slug}
|
||||
<a
|
||||
href={`/termin/${encodeURIComponent(item._slug)}/`}
|
||||
href={`/kalender/termin/${encodeURIComponent(item._slug)}/`}
|
||||
class="btn-tertiary btn-sm"
|
||||
>
|
||||
Details
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<time
|
||||
datetime={isoDate(start)}
|
||||
aria-label={ariaLabel}
|
||||
class="shrink-0 select-none aspect-square size-20 rounded-sm rounded-br-4xl bg-wald-200 text-wald-500 flex justify-center items-center shadow"
|
||||
class="shrink-0 select-none aspect-square size-18 rounded-sm rounded-br-4xl bg-wald-200 text-wald-500 flex justify-center items-center shadow"
|
||||
>
|
||||
<div class="text-center font-black leading-normal">
|
||||
<div class="text-[10px] uppercase tracking-wider">
|
||||
|
||||
Reference in New Issue
Block a user