diff --git a/apps/web/src/components/Library.tsx b/apps/web/src/components/Library.tsx index 3160b2f..f356ba5 100644 --- a/apps/web/src/components/Library.tsx +++ b/apps/web/src/components/Library.tsx @@ -665,7 +665,7 @@ function Tile({ than as a number. `word-break: keep-all` keeps a word whole; the wrap still happens, at the space between the hours and the minutes, where a reader expects it. */} {value} diff --git a/apps/web/src/components/StatusBar.tsx b/apps/web/src/components/StatusBar.tsx index d1a065a..38985ad 100644 --- a/apps/web/src/components/StatusBar.tsx +++ b/apps/web/src/components/StatusBar.tsx @@ -33,19 +33,19 @@ export function StatusBar({ {disconnected && ( {connection === "reconnecting" ? t("status.reconnecting") : t("status.connecting")} )} {device && ( - + {device} )} {speakers.length > 0 && ( - + {n("status.speakers", speakers.length)} )} @@ -63,7 +63,7 @@ export function StatusBar({ {stat.rss_mb} MB {behind && ( - + {t("status.behind")} )} diff --git a/apps/web/src/components/library/Finder.tsx b/apps/web/src/components/library/Finder.tsx index e48c420..40aaac4 100644 --- a/apps/web/src/components/library/Finder.tsx +++ b/apps/web/src/components/library/Finder.tsx @@ -121,7 +121,7 @@ export function Finder({ view, folder, tags, colour, onFolder, onTags, onColour )} > #{each.name} - {each.count} + {each.count} ); })} @@ -151,7 +151,7 @@ export function Finder({ view, folder, tags, colour, onFolder, onTags, onColour degrades to for anyone who cannot tell two of these colours apart, which is around one man in twelve. */} {t(`colour.${each.name}`)} - {each.count} + {each.count} ); })} diff --git a/apps/web/src/components/library/Recent.tsx b/apps/web/src/components/library/Recent.tsx index 2cd662c..f5a25e0 100644 --- a/apps/web/src/components/library/Recent.tsx +++ b/apps/web/src/components/library/Recent.tsx @@ -89,7 +89,7 @@ export function Recent({ onClick={() => onOpen(entry)} whileHover={{ y: -2 }} transition={GENTLE} - className="border-line bg-bg-soft hover:border-line-strong flex w-full items-center gap-3 rounded-[var(--radius-card)] border p-2.5 text-left transition-colors" + className="border-line bg-bg-soft lift flex w-full items-center gap-3 rounded-[var(--radius-card)] border p-2.5 text-left" > {/* A note has no waveform because it was typed; it gets the pen instead, at the same size, so the rows still line up. */} diff --git a/apps/web/src/components/shell/Sidebar.tsx b/apps/web/src/components/shell/Sidebar.tsx index e606ceb..5b99e8b 100644 --- a/apps/web/src/components/shell/Sidebar.tsx +++ b/apps/web/src/components/shell/Sidebar.tsx @@ -365,7 +365,11 @@ function NavButton({ onClick={() => onNavigate(item.key)} aria-current={active ? "page" : undefined} className={cn( - "relative flex w-full items-center gap-2.5 rounded-[var(--radius-pill)] px-2.5 py-2 text-sm transition-colors", + // `isolate` is load-bearing. The highlight below is `-z-10` so the label paints over it, + // but without a stacking context here that negative index escapes the button entirely and + // the pill painted *behind the sidebar's own background* — invisible on every screen. The + // selected row had been nothing but green text for as long as this component has existed. + "relative isolate flex w-full items-center gap-2.5 rounded-[var(--radius-pill)] px-2.5 py-2 text-sm transition-colors", active ? "text-accent font-medium" : "text-fg-dim hover:bg-bg-raised hover:text-fg", )} > @@ -387,7 +391,7 @@ function NavButton({