Skip to content

fix(sidebar): fixing styles break when marketplace plugin drawers opens #2786

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

its-mitesh-kumar
Copy link
Member

@its-mitesh-kumar its-mitesh-kumar commented Apr 22, 2025

Description : Fixing styles break when marketplace plugin drawers opens

Before :

Screen.Recording.2025-04-10.at.1.59.02.AM.1.mov

After:

Screen.Recording.2025-04-22.at.4.24.29.PM.mov

@openshift-ci openshift-ci bot requested review from albarbaro and dzemanov April 22, 2025 10:45
Copy link

openshift-ci bot commented Apr 22, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign davidfestal for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@its-mitesh-kumar its-mitesh-kumar changed the title fix(sidebar): fixing Administration styles break when maketplace plug… fix(sidebar): fixing styles break when marketplace plugin drawers opens Apr 22, 2025
Copy link
Contributor

@its-mitesh-kumar
Copy link
Member Author

/retest-required

@invincibleJai
Copy link
Member

/cc @logonoff
/cc @debsmita1

@openshift-ci openshift-ci bot requested review from debsmita1 and logonoff April 23, 2025 05:11
Comment on lines +101 to +106
'& .MuiTypography-root': {
color: '#ffffff !important',
},
'& svg': {
color: '#ffffff !important',
},

Choose a reason for hiding this comment

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

Sorry, but I'm really skeptical that this is the right approach because this completely ignores the theme. Can you please test it with adjusted sidebar colors.

I guess it would be good to brainstorm the underlying issue with some others from the team.

First: Who sets this extra styles when the drawer is open.

Is it possible override/remove just these styles? Is it maybe an rhdh theme issue?

Copy link
Member Author

Choose a reason for hiding this comment

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

@christoph-jerolimov Let me explain the issue in detail:

Issue
When opening the Marketplace Drawer, which renders components like <LinkButton /> and <PluginPackageTable />, the styles applied to the Backstage Sidebar items (BackstageSidebarItem-root) were unexpectedly overridden.

Root Cause
As Emotion injects styles into the DOM in the order components are mounted.
Since the Marketplace Drawer is mounted after the Sidebar and contains components like and (which internally use ), Emotion injects MUI styles (like .MuiButton-root, .MuiButton-text) after the sidebar styles (e.g., .BackstageSidebarItem-root).
Due to the later injection of styles from Marketplace Drawer, the sidebar styles get overridden unintentionally.

Solutions Tried

  1. Scoped Emotion Cache (CacheProvider with prepend: true)
    → This helped to some extent but didn’t completely solve the issue.

  2. Scoped ThemeProvider with custom overrides for MuiButtonBase
    → Again, this only partially resolved the styling conflict.

  3. Shadow DOM isolation
    → Not implemented as it requires introducing a new library and comes with extra overhead.

Final Workaround
Since the above solutions were not sufficient, I opted for direct style overrides using higher specificity and !important to reliably enforce the Sidebar styles .

Since in both light and dark theme , color should be white only , that's why ignored the theme .

Let me know if we should approach it differently .

Copy link
Contributor

github-actions bot commented May 2, 2025

This PR is stale because it has been open 7 days with no activity. Remove stale label or comment or this will be closed in 21 days.

@github-actions github-actions bot added the Stale label May 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants