The header links menu: the project's GitHub repo, the live web app's home (the fairyfox hub),
and the project docs, followed (below a separator) by the app's own legal pages (Privacy, Terms,
Cookies), plus the display-language picker. Every item opens in a new tab with
rel="noopener noreferrer"; the legal pages are same-origin static pages under /legal/, opened
in a new tab too so the app keeps its in-memory state.
Two presentations, chosen by width (the hydration-safe useCompact; desktop renders from first paint, unchanged): • Desktop (>768px): a single icon button that opens a small dropdown popover. • Compact (<=768px): the links fold DIRECTLY into the header overflow menu as inline rows — no nested trigger, no separate bottom sheet (which read as a stray, differently-shaped panel).
- Description:
The header links menu: the project's GitHub repo, the live web app's home (the fairyfox hub), and the project docs, followed (below a separator) by the app's own legal pages (Privacy, Terms, Cookies), plus the display-language picker. Every item opens in a new tab with
rel="noopener noreferrer"; the legal pages are same-origin static pages under/legal/, opened in a new tab too so the app keeps its in-memory state.Two presentations, chosen by width (the hydration-safe useCompact; desktop renders from first paint, unchanged): • Desktop (>768px): a single icon button that opens a small dropdown popover. • Compact (<=768px): the links fold DIRECTLY into the header overflow menu as inline rows — no nested trigger, no separate bottom sheet (which read as a stray, differently-shaped panel).
- Source: