immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
33.04k stars 1.59k forks source link

feat(web): standardize CircleIconButton colors #9127

Closed ben-basten closed 2 weeks ago

ben-basten commented 2 weeks ago

Description

Standardizing the color theming of the CircleIconButton component by adding a set of color presets. The styling was also moved completely over to Tailwind, which allows for easier customization for specific use cases via the class component prop. These changes were modeled after the Button component.

A new "primary" color option was also added, for use in the "User Management" settings.

The goal here is to make the component easier to implement in a reproducible way. Allowing free color input as props allows for inconsistencies in look, and requires digging through other implementations of the component to find acceptable color hex codes. After this change, all that developers need to do to implement this component for most use cases is choose a title, color theme, and icon.

Screenshots

N/A - user interface should look the same as before.

How Has This Been Tested?

Check that the buttons look as expected in light mode, light mode hovered, dark mode, and dark mode hovered.

Notable edge case icons to check:

Checklist: