feat: real dashboard, self-hosted icons, brand color, dark-mode search (#118)#124
Open
tsunaminoai wants to merge 2 commits into
Open
feat: real dashboard, self-hosted icons, brand color, dark-mode search (#118)#124tsunaminoai wants to merge 2 commits into
tsunaminoai wants to merge 2 commits into
Conversation
#118) Web UX pass (PR2 of the #118 launch gate): - Real compliance dashboard. The "dashboard" homepage layout now computes policy count, reviews overdue, SCF/SOC 2 coverage, and a per-policy review status from the policies themselves (reusing the existing coverage and review-date logic). It stands on its own without extra.frontpage.*, which also fixes the starter's empty first-run homepage. - Self-host Font Awesome. Vendored FA 6.5.0 CSS + webfonts under static/fontawesome and dropped the cdnjs <link>, so the site loads no third-party CDN (offline/intranet-safe; no visitor data leak). - Brand color. New optional extra.brand_color recolors the web theme's primary/accent surfaces at load time (light + dark) via injected CSS custom properties - no SCSS recompile. Set to #0e90f3 to match the logo and pdf_color. - Search dropdown dark mode. Wired the existing --pp-dropdown-* tokens into #suggestions and dropped the fragile blanket .bg-white override and the hardcoded light divider. - Documented homepage_style and brand_color in the configuration guide and the starter config; consolidated the logo-key documentation. - Removed dead/orphaned SCSS not imported by main.scss. Addresses #118 (web UX items).
Contributor
Preview deployment🔗 https://3b948d29.policypress.pages.dev Last updated: Wed, 08 Jul 2026 17:14:45 GMT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 2 of the #118 UX & marketing launch gate — the web-UX overhaul. Companion to the docs/coherence PR #123 (merge that alongside/first).
What this changes
Real compliance dashboard
The default
homepage_style = "dashboard"layout was a static link-tile stub. It now renders a data-driven dashboard computed from the policies themselves, reusing the existing coverage (get_taxonomy+load_data) and review-date logic:coverage-barmacro)Because it is data-driven it is non-empty without any
[extra.frontpage]config, which also fixes the starter's empty first-run homepage (previouslyhomepage_styledefaulted to dashboard but the layout only readfeatures.cards, which the starter didn't set). The project's own site stays onhomepage_style = "marketing".Self-hosted Font Awesome
Vendored FA 6.5.0 (CSS + webfonts) under
static/fontawesome/and removed the cdnjs<link>. The site now loads no third-party CDN — no offline/intranet breakage, no visitor-data leak from a compliance site. (Verified: 0cdnjsreferences inpublic/.)Configurable brand color
New optional
extra.brand_color(hex) recolors the web theme's primary/accent surfaces — buttons, links, badges, feature icons, active nav, coverage — at load time via injected CSS custom properties (RGB parsed with Teraint(base=16), shades viacolor-mix()), in both light and dark mode, with no SCSS recompile. Set to#0e90f3here so the web matches the blue logo andpdf_color(they previously disagreed — blue logo, purple UI).Search dropdown dark mode
Wired the already-defined-but-unused
--pp-dropdown-*tokens into#suggestionsand removed the fragile blanket.bg-white !importantoverride and the hardcoded light divider, so the dropdown is legible in dark mode without hijacking a global utility class.Cleanup / docs
homepage_styleandbrand_colorin the configuration guide and the starter config; consolidated the logo-key documentation (which key drives web vs PDF vs OG/JSON-LD).main.scss.Verification
zola buildclean (19 pages);zig build testpasses (no code paths touched).zola serve— branding coherent, dark mode readable, FA icons render locally.cdnjsreferences remain in the built site.Follow-up (out of scope)
Enabling math (opt-in, per-page) still pulls KaTeX from a CDN. Self-hosting KaTeX would make math-enabled pages fully offline too — noting for a future PR.
Closes #118.