-
Notifications
You must be signed in to change notification settings - Fork 78
feat(FR-1573): Add theme setting section in maintenance page #4638
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
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
|---|---|---|---|
| 🔴 | Statements | 4.45% | 517/11628 |
| 🔴 | Branches | 3.6% | 297/8246 |
| 🔴 | Functions | 2.58% | 92/3560 |
| 🔴 | Lines | 4.42% | 503/11375 |
Test suite run success
118 tests passing in 13 suites.
Report generated by 🧪jest coverage report action from eacf860
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a comprehensive theme customization feature to the user settings page, enabling users to personalize UI colors for both light and dark modes. The implementation includes color customization for 7 theme aspects (primary, header background, link, info, error, success, and text colors), with reset functionality at both individual setting and group levels, and full internationalization support across 18 languages.
Key Changes
- New theme customization UI with dual color pickers (light/dark mode) for 7 different theme tokens
- Group-level and individual-level reset functionality with confirmation modal
- Storage of custom theme configurations in user settings via
custom_theme_configfield - Complete i18n translations for theme customization options across all supported languages
Reviewed Changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| react/src/pages/UserSettingsPage.tsx | Adds theme customization section with 7 color settings and implements ThemeColorPickerSettingItem component for dual-mode color selection |
| react/src/components/SettingList.tsx | Enhances with group-level reset functionality, hover-based reset button visibility, and improved layout with align="stretch" |
| react/src/components/SettingItem.tsx | Updates alignment from start to stretch for better layout consistency and adds max-width constraint to select components |
| react/src/hooks/useBAISetting.tsx | Adds custom_theme_config field to UserSettings interface for theme persistence |
| react/src/helper/customThemeConfig.ts | Exports CustomThemeConfig type and updates useCustomThemeConfig return type annotation |
| resources/i18n/*.json | Adds translations for "Theme" and nested theme color descriptions across 18 language files |
8172d3e to
d1a9094
Compare
d1a9094 to
39cb448
Compare
c9b1606 to
23bb3ca
Compare
nowgnuesLee
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
23bb3ca to
983d66d
Compare
yomybaby
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move the Branding tab under the /settings page.
983d66d to
ebff6b8
Compare
ebff6b8 to
d3de3b8
Compare
nowgnuesLee
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please resolve the merge conflicts
d3de3b8 to
1510583
Compare
agatha197
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
yomybaby
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
1510583 to
39ad54d
Compare
nowgnuesLee
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Merge activity
|
resolves #4422 [FR-1573](https://lablup.atlassian.net/browse/FR-1573) ### Add theme customization feature to user settings This PR adds a new theme customization section to the user settings page, allowing users to personalize the UI colors for both light and dark modes. Users can customize: - Primary color (used for buttons, key actions, and logo background) - Header background color - Link color - Info color - Error color - Success color - Text color The implementation includes: - New theme customization UI with color pickers for both light/dark modes - Reset functionality at both group and individual setting levels - Storage of custom theme configurations in user settings - Improved layout for settings components with proper alignment and spacing - Added translations for all theme customization options ### Next Steps - Provides preview functionality using session storage via a dedicated preview mode browser - Transfers and applies config stored in local storage to the preview browser **Checklist:** - [x] Documentation - [ ] Minium required manager version - [x] Specific setting for review (User Settings page > Theme section) - [x] Minimum requirements to check during review - [ ] Test case(s) to demonstrate the difference of before/after [FR-1573]: https://lablup.atlassian.net/browse/FR-1573?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
39ad54d to
eacf860
Compare


resolves #4422 FR-1573
Add theme customization feature to user settings
This PR adds a new theme customization section to the user settings page, allowing users to personalize the UI colors for both light and dark modes. Users can customize:
The implementation includes:
Next Steps
Checklist: