Skip to content

UI: Fix Problem Grid Button Fill & Contrast in Clean Light Theme #27

Description

@Rowrow620

First Timers Only

This issue is reserved for developers who are new to AlgoBuddy or open-source contributing!

Description of the Issue

When switching to the Clean Light theme in the NeetCode 150 Mastery Dashboard, the problem launcher buttons in the right grid (#217 Contains Duplicate, #1 Two Sum, etc.) retain default dark gray button fill backgrounds.

This creates dark, heavy blocks on a light background and degrades text readability in Light Mode.

Proposed Solution

Update the button rendering in render_fullscreen_roadmap_dashboard so problem item buttons use theme-aware frame/text styling (e.g. p.cell_bg or transparent backgrounds with p.text_primary / p.cyan text).

Implementation Steps

  1. Open src/app.rs and locate the problem launcher grid inside render_fullscreen_roadmap_dashboard (around line 1455).
  2. Inspect the ui.button(...) call inside the loop over self.visible_problems().
  3. Ensure problem button background fill and text colors adapt cleanly when Theme::LightClean is selected.
  4. Test locally using cargo run by toggling between VS Code Dark and Clean Light in the Settings panel.
  5. Verify build integrity with cargo test --all and cargo fmt --all -- --check.

Acceptance Criteria

  • Problem buttons render with high contrast and clean background styling in Light Mode.
  • Dark themes (VS Code Dark, Cyber Navy) maintain their current sleek aesthetics.
  • cargo test --all passes 100%.
  • Pull request targets the dev branch.

Step-by-Step Contribution Guide

  1. Claim this issue: Comment below to get assigned to this issue!
  2. Fork and Branch: Create a branch off dev named issue-ui-lightmode-contrast.
  3. Make and Test Changes: Test locally with cargo run.
  4. Submit PR: Open a Pull Request targeting dev.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions