Design-system refresh, dashboard rework and configurable company branding#134
Merged
Conversation
Owner
Author
Added: collapsible "Today's actions" card with per-user memoryFollowing review feedback, the dashboard's Today's actions card is now collapsible, with the state persisted per user in the database (restored across sessions and devices).
Consistent with the existing per-user preferences (table sort, dismissed helpers, changelog), this is UI-chrome state and is intentionally not exposed via the REST API or MCP. Verification: |
…ding Brings the core screens in line with the Cairn design system, reworks the dashboard, and adds per-instance branding (name, logo, accent colour). Design system (screens): - Risk-assessment detail: tokenized ISO 27005 workflow card (hairline rows, circular step numbers) instead of hardcoded hex. - Compliance audit: count-chip + full-width-track finding breakdown. - Support assets: C/I/A header tooltips (already matched otherwise). - Risk matrices: clean rest state + a hover glow in the cell's own severity colour; styling centralized so all three usages match. Dashboard: - "Today's actions" is dismissible from a discreet page-header toggle, with the collapsed state persisted per user (new User.collapsed_sections + a small section-toggle endpoint). - "Compliance by framework" and "Active objectives" sit side by side with aligned rows and uniform bar heights; segmented framework bars. - Removed the Governance / Assets / Compliance stat-card sections and the risk KPI cards; the risk-treatment Sankey and matrices are now self-titled cards (labels moved inside, flush with the other panels). - Indicators "Configure" moved into the page header; uniform panel spacing; neutral KPI sparklines now follow the accent colour. - Show achieved (100%) objectives, not just active ones. Company branding (company settings): - app_name overrides the "Cairn" wording in the sidebar and tab titles. - use_logo_as_app_brand swaps the Cairn mark for the company logo (shown edge-to-edge; the About dialog always keeps the Cairn logo). - accent_color overrides the navy accent app-wide: tokens recomputed via color-mix, lightness clamped per theme (a dark/grey accent goes near-white in dark mode), a luminance-based --accent-contrast keeps text/ticks/switch knobs legible, and Bootstrap's primary button variables are remapped to the accent so no state falls back to #0d6efd. Focus ring is now neutral (no blue liseré). - Exposed on the settings page, the DRF serializer and the get/update_company _settings MCP tools; company settings are provided to every template by a context processor. Also: fix the changelog-dismiss POST (used an out-of-scope getCsrfToken). Adds migrations, FR translations, README/MCP docs and tests; ruff clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
a230e1e to
76173ca
Compare
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.
Refreshes the core screens against the Cairn design system, reworks the dashboard, and adds per-instance company branding. One squashed commit.
Design system (screens)
Dashboard
User.collapsed_sections+ adashboard/section-toggle/endpoint).Company branding (company settings)
app_nameoverrides the "Cairn" wording in the sidebar and browser tab titles.use_logo_as_app_brandswaps the Cairn mark for the company logo (edge-to-edge; the About dialog always keeps the Cairn logo).accent_coloroverrides the navy accent app-wide: tokens recomputed viacolor-mix, lightness clamped per theme (a dark/grey accent goes near-white in dark mode), a luminance-based--accent-contrastkeeps text / ticks / switch knobs legible, and Bootstrap's primary button variables are remapped to the accent so no state falls back to#0d6efd. The focus ring is neutral (no blue liseré).get_company_settings/update_company_settingsMCP tools; the company settings singleton is provided to every template via a context processor.Also
getCsrfToken).Verification
ruff check .clean ·makemigrations --checkno changes ·compilemessagesOK · FR translations added (no duplicatemsgid) ·pytestacross accounts / core / mcp / risks / compliance / assets green.🤖 Generated with Claude Code