Skip to content

LB-1956 : Music services settings UI improvements#3641

Open
Adam-Etyang wants to merge 7 commits intometabrainz:masterfrom
Adam-Etyang:Settings-ui-improvements
Open

LB-1956 : Music services settings UI improvements#3641
Adam-Etyang wants to merge 7 commits intometabrainz:masterfrom
Adam-Etyang:Settings-ui-improvements

Conversation

@Adam-Etyang
Copy link
Copy Markdown

Problem

Jira Ticket - LB-1956
Some users found the UI for the connecting services quite confusing where there were ways of figuring out what was or not connected or any icons or logos of the music service providers.

🔰 Mention the JIRA ticket (LB-XXX) if there is a relevant one

🔰 First PR? Have a look at this beginner's guide

Solution

The change is purely UI improvements of the aforementioned page where I've added icons/logos
for each music provier and made the vertical tabs toggle making it easier for users to navigate the page. I've also added status indicators to know what service is connected or not.
Screenshot 2026-03-15 at 3 35 34 PM
Screenshot 2026-03-15 at 3 34 59 PM

  • [ x ] I have run the code and manually tested the changes

  • [ x ] I used AI tools for coding

  • [ x ] I understand all the changes made in this PR

I used claude to help me understand how the files are arranged and to navigate the project directory and with the CSS styling.

@Adam-Etyang Adam-Etyang changed the title Music services settings UI improvements LB-1956 : Music services settings UI improvements Mar 15, 2026
Copy link
Copy Markdown
Member

@anshg1214 anshg1214 left a comment

Choose a reason for hiding this comment

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

I really love the new look.

For Youtube and Internet Archive, we don't have any configurations, so it does not make sense to show it as "Not Available"

Image

Comment on lines +503 to +528
<div
className="card-header"
role="button"
tabIndex={0}
onClick={() => togglePanel("spotify")}
onKeyDown={(e) => e.key === "Enter" && togglePanel("spotify")}
style={{ cursor: "pointer" }}
>
<span className="service-logo">
<FontAwesomeIcon
icon={faSpotify}
className="service-icon"
color="#1DB954"
/>
</span>
<h3 className="card-title">Spotify</h3>
<div className="status-indicator">
<div
className={`status-dot ${
isConnected("spotify") ? "connected" : "disconnected"
}`}
/>
<span>
{isConnected("spotify") ? "Connected" : "Not Connected"}
</span>
</div>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Since we're re-using this code in multiple places, can we move this to a shared component?

@Adam-Etyang
Copy link
Copy Markdown
Author

For Youtube and Internet Archive, we don't have any configurations, so it does not make sense to show it as "Not Available"

Screenshot 2026-03-25 at 8 12 46 PM

The cards are now a shared component

@anshg1214
Copy link
Copy Markdown
Member

@Adam-Etyang The tests are failing. Try running them locally to find the issue.

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