diff --git a/.changeset/purple-papayas-exist.md b/.changeset/purple-papayas-exist.md new file mode 100644 index 0000000000..4c77558476 --- /dev/null +++ b/.changeset/purple-papayas-exist.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-user-settings': patch +--- + +Fix a bug that prevented changing themes on the user settings page when the theme `id` didn't match exactly the theme `variant`. diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 7fed36532e..ad6e42c398 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -42,6 +42,7 @@ }, "devDependencies": { "@backstage/cli": "^0.7.0", + "@backstage/core-plugin-api": "^0.1.2", "@backstage/dev-utils": "^0.1.17", "@backstage/test-utils": "^0.1.13", "@testing-library/jest-dom": "^5.10.1", diff --git a/plugins/user-settings/src/components/General/ThemeToggle.test.tsx b/plugins/user-settings/src/components/General/ThemeToggle.test.tsx index 79d9210826..a4f9ea6af3 100644 --- a/plugins/user-settings/src/components/General/ThemeToggle.test.tsx +++ b/plugins/user-settings/src/components/General/ThemeToggle.test.tsx @@ -20,16 +20,17 @@ import { appThemeApiRef, AppThemeSelector, } from '@backstage/core'; +import { AppTheme } from '@backstage/core-plugin-api'; import { renderWithEffects, wrapInTestApp } from '@backstage/test-utils'; import { lightTheme } from '@backstage/theme'; import { fireEvent } from '@testing-library/react'; import React from 'react'; import { ThemeToggle } from './ThemeToggle'; -const mockTheme = { - id: 'light', +const mockTheme: AppTheme = { + id: 'light-theme', title: 'Mock Theme', - variant: 'light' as 'light', // wut? + variant: 'light', theme: lightTheme, }; @@ -53,6 +54,6 @@ describe('', () => { const themeButton = rendered.getByTitle('Select Mock Theme'); expect(themeApi?.getActiveThemeId()).toBe(undefined); fireEvent.click(themeButton); - expect(themeApi?.getActiveThemeId()).toBe('light'); + expect(themeApi?.getActiveThemeId()).toBe('light-theme'); }); }); diff --git a/plugins/user-settings/src/components/General/ThemeToggle.tsx b/plugins/user-settings/src/components/General/ThemeToggle.tsx index e142b6bf1e..0a3f9ababa 100644 --- a/plugins/user-settings/src/components/General/ThemeToggle.tsx +++ b/plugins/user-settings/src/components/General/ThemeToggle.tsx @@ -128,7 +128,7 @@ export const ThemeToggle = () => { <> {theme.variant}