Version banner, File locations section, final CSP (no unsafe-inline styles, frame-src none, object-src none)

The MTR viewer draws PDFs with pdf.js instead of an iframe the server's frame-ancestors refused.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-30 17:50:05 -06:00
co-authored by Claude Opus 5.5
parent da31b0a87a
commit 6e820ba0a5
17 changed files with 845 additions and 49 deletions
+2 -1
View File
@@ -8,6 +8,7 @@ import { canChecklists, canStampCheck, shellScreens } from "../lib/toolAccess";
import { LockScreen } from "./LockScreen";
import { RoleSwitcher } from "./RoleSwitcher";
import { TopBar } from "./TopBar";
import { VersionBanner } from "./VersionBanner";
function chipClass(s: Screen): string {
if (s === "admin") return "rchip admin";
@@ -47,7 +48,7 @@ export function Layout() {
return (
<>
<TopBar nav={me && !locked ? <RoleSwitcher screens={screens} active={active} /> : null}>
<TopBar nav={me && !locked ? <RoleSwitcher screens={screens} active={active} /> : null} banner={<VersionBanner />}>
{me ? (
<>
<b className="uname">{me.user.display_name}</b>