Skip to content

Fix dropdown menu backgrounds and settings popup theme matching#570

Open
WyattGorman wants to merge 5 commits into
Starosdev:masterfrom
WyattGorman:master
Open

Fix dropdown menu backgrounds and settings popup theme matching#570
WyattGorman wants to merge 5 commits into
Starosdev:masterfrom
WyattGorman:master

Conversation

@WyattGorman

@WyattGorman WyattGorman commented May 28, 2026

Copy link
Copy Markdown

Summary

Adds a theme-matched background color to the dropdown menus, and adds theme matched colored text and backgrounds to the settings popup window.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • CI/CD or infrastructure change

Related Issues

N/A

Changes Made

-Adds a theme-matched background color to the dropdown menus

  • Adds theme matched colored text and backgrounds to the settings popup window.

Testing

Tested in my local environment

  • I have tested this locally
  • I have added/updated tests that prove my fix/feature works
  • All existing tests pass

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my code
  • I have commented my code where necessary (particularly complex areas)
  • I have updated the documentation if needed
  • My changes generate no new warnings
  • No console.log, debug statements, or commented-out code

Screenshots (if applicable)

Screenshot 2026-05-27 223300 Screenshot 2026-05-27 223316 Screenshot 2026-05-27 223328 Screenshot 2026-05-27 223246

google-labs-jules Bot and others added 5 commits May 17, 2026 17:03
…alog

- Inject active application theme (`treo-theme-dark` / `treo-theme-light`) into Angular Material dialog components dynamically when opening the dashboard, detail, and mobile settings dialogs.
- Apply `panelClass="theme-select-panel"` to all `mat-select` elements across settings templates.
- Explicitly style backgrounds and option text colors for settings overlays depending on the active theme in `styles.scss` to prevent transparent overlay readability issues.

Co-authored-by: WyattGorman <444043+WyattGorman@users.noreply.github.com>
…alog

- Inject active application theme (`treo-theme-dark` / `treo-theme-light`) into Angular Material dialog components dynamically when opening the dashboard, detail, and mobile settings dialogs.
- Apply `panelClass="theme-select-panel"` to all `mat-select` elements across settings templates.
- Explicitly style backgrounds and option text colors for settings overlays depending on the active theme in `styles.scss` to prevent transparent overlay readability issues.

Co-authored-by: WyattGorman <444043+WyattGorman@users.noreply.github.com>
- Inject active application theme (`treo-theme-dark` / `treo-theme-light`) into Angular Material dialog components dynamically when opening the dashboard, detail, and mobile settings dialogs.
- Apply `panelClass="theme-select-panel"` to all `mat-select` elements across settings templates.
- Explicitly style backgrounds and option text colors for settings overlays depending on the active theme in `styles.scss` to prevent transparent overlay readability issues.
- Apply dark and light backgrounds respectively to dashboard `mat-menu` components ensuring readable text.

Co-authored-by: WyattGorman <444043+WyattGorman@users.noreply.github.com>
- Pass current theme class dynamically to mat-dialog instances via panelClass.
- Add theme-select-panel class to mat-select components for explicit styling.
- Update styles.scss to provide solid backgrounds for mat-select and mat-menu.
- Fix dark mode text readability in dialogs by targeting the cdk-overlay-container and settings-dialog-panel.

Co-authored-by: WyattGorman <444043+WyattGorman@users.noreply.github.com>
…443338120339780

Fixes dropdown backgrounds being transparent, and adds theme overlay support to the settings window
@WyattGorman
WyattGorman requested a review from Starosdev as a code owner May 28, 2026 02:30
@Starosdev

Copy link
Copy Markdown
Owner

Thanks for the contribution @WyattGorman — the dialog theming fix is exactly the right approach. A few things to address before we can merge:

1. Target develop, not master

Please retarget this PR to the develop branch and rebase on latest develop to resolve the merge conflict.

2. Drop the panelClass changes in the HTML templates

The dropdown panel background is already handled globally in styles.scss via CSS custom properties:

```scss
.treo-theme-dark {
--mat-select-panel-background-color: #1e293b;
--mat-menu-container-color: #1e293b;
}
```

These cascade to the CDK overlay and Angular Material reads them directly — no panelClass on individual mat-select elements needed. Remove the panelClass="theme-select-panel" additions from both HTML templates and the .theme-select-panel SCSS block.

3. Remove the redundant mat-menu SCSS

Same reason — --mat-menu-container-color already covers .mat-mdc-menu-panel background. The .treo-theme-dark .mat-mdc-menu-panel and .mat-mdc-menu-item blocks in your styles.scss addition are duplicating existing behavior.

4. Fix a dead CSS selector

```scss
// This never matches — compound selector requires both classes on same element
.treo-theme-dark.mat-mdc-dialog-container .mdc-dialog__surface { ... }
```

treo-theme-dark is on body, mat-mdc-dialog-container is on the dialog — they're never on the same element. Remove this rule (the .treo-theme-dark .mat-mdc-dialog-surface selector below it is the correct form and does work).

What to keep: The panelClass: [theme, 'settings-dialog-panel'] additions in the three .ts files are correct and valuable. The .cdk-overlay-container .settings-dialog-panel.treo-theme-dark SCSS block is valid. Those are the real fix here.

@Starosdev Starosdev left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks for the contribution. This still needs changes before it can merge.

Blocking items:

  1. Please retarget this PR from master to develop, then rebase on the latest develop. The PR is currently reported as conflicting, and the same conflicts reproduce locally in the settings templates plus dashboard/mobile settings TypeScript files.

  2. Please remove the panelClass="theme-select-panel" additions from the settings templates and remove the related .theme-select-panel SCSS. Current develop already sets the Material overlay background colors globally with CSS variables, so the per-select panel class is redundant.

  3. Please remove the redundant .mat-mdc-menu-panel / .mat-mdc-menu-item dark-mode SCSS additions. The menu container background is already handled globally.

  4. Please remove the dead selector .treo-theme-dark.mat-mdc-dialog-container .mdc-dialog__surface; those classes are not on the same element, so that selector does not match. Keep the dialog panelClass approach for the settings dialogs and the valid overlay-container styling.

Once this is rebased onto develop and narrowed to the dialog theming fix, I can review again.

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