diff --git a/messages/de.json b/messages/de.json index fdfd90c37..9580a0822 100644 --- a/messages/de.json +++ b/messages/de.json @@ -169,7 +169,10 @@ "sidebar": "Sidebar", "mainNavigation": "Hauptnavigation", "mobileNavigation": "Mobile Navigation", - "loadingScreen": "Laden…" + "loadingScreen": "Laden…", + "more": "Mehr", + "moreSheetTitle": "Mehr", + "moreSheetDescription": "Seiten, die nicht in die untere Leiste passen." }, "auth": { "login": "Anmelden", diff --git a/messages/en.json b/messages/en.json index cd6869721..62f3fcdea 100644 --- a/messages/en.json +++ b/messages/en.json @@ -169,7 +169,10 @@ "sidebar": "Sidebar", "mainNavigation": "Main navigation", "mobileNavigation": "Mobile navigation", - "loadingScreen": "Loading…" + "loadingScreen": "Loading…", + "more": "More", + "moreSheetTitle": "More", + "moreSheetDescription": "Pages that don't fit the bottom bar." }, "auth": { "login": "Sign in", diff --git a/src/components/layout/__tests__/bottom-nav.test.tsx b/src/components/layout/__tests__/bottom-nav.test.tsx new file mode 100644 index 000000000..d137b06f1 --- /dev/null +++ b/src/components/layout/__tests__/bottom-nav.test.tsx @@ -0,0 +1,75 @@ +/** + * v1.4.16 Wave-C MED — bottom-nav 5+More layout. + * + * SSR contract for ``: + * - exactly five primary links + one "More" button render in the strip + * - the More button is keyboard-reachable as a ` + + + + + + + {t("nav.moreSheetTitle")} + {t("nav.moreSheetDescription")} + +
+ {OVERFLOW.map((item) => { + const isActive = isActiveLink(item.href); + return ( + setMoreOpen(false)} + aria-current={isActive ? "page" : undefined} + className={cn( + "border-border flex min-h-11 items-center gap-3 rounded-lg border px-4 py-3 transition-colors", + isActive + ? "text-primary bg-primary/5" + : "text-foreground hover:bg-accent/40", + )} + > +
+
+
+ ); }