Skip to content

Conversation

@initstring
Copy link
Owner

@initstring initstring commented Dec 25, 2025

Thanks to suggestion by @mdube99 to implement a light mode.

I took a different approach to solving this - be integrating with the existing theme toggle, simplifying the current theme implementation down to only light/dark, and using next theme.

Details:


🎨 Theme Overhaul & UI Polish

Summary
This PR overhauls the application's theming system to introduce a professional Light Mode, standardizes the color palette to a "Professional Blue," and improves the reliability of report exports.

Key Changes

1. Theme Architecture

  • Migrated to next-themes for robust binary Light/Dark mode management.
  • Removed legacy, unused theme variants ("Teal", "Ember") to simplify maintenance.
  • Implemented a strictly typed "Professional Blue" accent (#3b82f6) as the single source of truth for branding, distinct from semantic status colors (Green/Red).

2. UI Polish

  • Light Mode: Added a high-contrast Light theme with Slate grays and distinct borders for readability.
  • Dark Mode: Refined background to a neutral "Zinc" palette (#09090b) to reduce eye strain.
  • Logo: Replaced the generic gradient placeholder with a Shield icon (Lucide) to align with the security domain.
  • Charts: Standardized all Recharts (including "Prevention Rate") to use the primary var(--color-accent) for consistency.

3. Bug Fixes

  • Export Overflow: Fixed a critical bug where the Attack Matrix PNG export was clipped. Added logic to force containers to min-width: fit-content during capture.
  • Fonts: Restored the Geist font injection that was briefly regressed.

4. Documentation

  • Updated docs/dev/STYLE.md to reflect the new design tokens and binary theme principles.

Testing

  • Verified Light/Dark toggle persistence.
  • Verified Attack Matrix exports in both modes.
  • Validated chart color consistency in Analytics > Trends.

@initstring
Copy link
Owner Author

@codex review.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@initstring initstring self-assigned this Dec 25, 2025
@initstring initstring merged commit d0a0f72 into main Dec 25, 2025
5 checks passed
@initstring initstring deleted the feature/light-theme branch December 25, 2025 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants