Skip to content

feat: real dashboard, self-hosted icons, brand color, dark-mode search (#118)#124

Open
tsunaminoai wants to merge 2 commits into
mainfrom
118-web-ux
Open

feat: real dashboard, self-hosted icons, brand color, dark-mode search (#118)#124
tsunaminoai wants to merge 2 commits into
mainfrom
118-web-ux

Conversation

@tsunaminoai

Copy link
Copy Markdown
Contributor

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:

  • stat tiles: policy count, reviews overdue, SCF %, SOC 2 %
  • compliance coverage bars (reusing the coverage-bar macro)
  • a per-policy review-status list (Overdue / Due soon / Current)
  • recent updates + optional Browse tiles

Because it is data-driven it is non-empty without any [extra.frontpage] config, which also fixes the starter's empty first-run homepage (previously homepage_style defaulted to dashboard but the layout only read features.cards, which the starter didn't set). The project's own site stays on homepage_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: 0 cdnjs references in public/.)

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 Tera int(base=16), shades via color-mix()), in both light and dark mode, with no SCSS recompile. Set to #0e90f3 here so the web matches the blue logo and pdf_color (they previously disagreed — blue logo, purple UI).

Search dropdown dark mode

Wired the already-defined-but-unused --pp-dropdown-* tokens into #suggestions and removed the fragile blanket .bg-white !important override and the hardcoded light divider, so the dropdown is legible in dark mode without hijacking a global utility class.

Cleanup / docs

  • Documented homepage_style and brand_color in the configuration guide and the starter config; consolidated the logo-key documentation (which key drives web vs PDF vs OG/JSON-LD).
  • Removed six orphaned SCSS files not imported by main.scss.

Verification

  • zola build clean (19 pages); zig build test passes (no code paths touched).
  • Screenshotted the dashboard (light + dark), marketing homepage, and a policy page via zola serve — branding coherent, dark mode readable, FA icons render locally.
  • Confirmed no cdnjs references 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.

#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).
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Preview deployment

🔗 https://3b948d29.policypress.pages.dev

Last updated: Wed, 08 Jul 2026 17:14:45 GMT

@sc2ben sc2ben added documentation Improvements or additions to documentation enhancement New feature or request labels Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UX & marketing: v2 launch readiness

2 participants