mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-06-01 21:14:49 +00:00
5ca3463bf6
Full rewrite of the docs site under app/[locale]/ with next-intl in localePrefix:"always" mode. Every page now exists at both /en/<path> and /es/<path>; the root / shows a meta-refresh + JS redirect to /<defaultLocale>/ so GitHub Pages serves something on the apex URL. Highlights: - 107 doc pages migrated to file-per-page JSON namespaces under messages/en/ and messages/es/. Spanish content is fully translated (no copy-of-English placeholders). - New documentation for the Active Suppressions section in the Settings tab and the per-event Dismiss dropdown in the Health Monitor modal. - New screenshots: dismiss-duration-dropdown.png and an updated health-suppression-settings.png. - Pagefind integrated for client-side search; index is built on every CI deploy (not committed). - RSS feeds: per-locale at /<locale>/rss.xml plus root /rss.xml for backward compat. - Removed the dead app/[locale]/guides/[slug]/ route — every guide now has its own static page and no markdown source remains. - Fixed orphan link /guides/nvidia -> /guides/nvidia-manual in docs/hardware/nvidia-host. - Removed obsolete components (footer2, calendar, drawer). Verified locally with `npm ci && npm run build`: 2804 files in out/, 231 pages indexed by pagefind, root redirect intact, both locale roots and the new Active Suppressions docs render OK.
20 lines
598 B
TypeScript
20 lines
598 B
TypeScript
"use client"
|
|
|
|
import { useEffect } from "react"
|
|
|
|
/**
|
|
* Updates `<html lang>` to the active locale after hydration. The
|
|
* static root layout hard-codes lang="en" because next-intl's dynamic
|
|
* locale lives inside [locale]/ where we can't own the <html> tag
|
|
* anymore. Without this sync, screen readers and crawlers that respect
|
|
* the `lang` attribute would see "en" on every page.
|
|
*/
|
|
export function LocaleHtmlSync({ locale }: { locale: string }) {
|
|
useEffect(() => {
|
|
if (typeof document !== "undefined") {
|
|
document.documentElement.lang = locale
|
|
}
|
|
}, [locale])
|
|
return null
|
|
}
|