From a8a373bdad258c480493d629cd5cf2ef1b2553e6 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 15 May 2020 10:47:36 +0200 Subject: [PATCH] packages/app: move theme toggle sidebar item to core --- packages/app/src/components/Root/Root.tsx | 4 ++-- .../layout/Sidebar/SidebarThemeToggle.tsx} | 21 ++++++++----------- packages/core/src/layout/Sidebar/index.ts | 1 + 3 files changed, 12 insertions(+), 14 deletions(-) rename packages/{app/src/components/Root/ToggleThemeSidebarItem.tsx => core/src/layout/Sidebar/SidebarThemeToggle.tsx} (74%) diff --git a/packages/app/src/components/Root/Root.tsx b/packages/app/src/components/Root/Root.tsx index 55cba439bd..3945befb73 100644 --- a/packages/app/src/components/Root/Root.tsx +++ b/packages/app/src/components/Root/Root.tsx @@ -31,8 +31,8 @@ import { SidebarSpacer, SidebarDivider, SidebarSpace, + SidebarThemeToggle, } from '@backstage/core'; -import ToggleThemeSidebarItem from './ToggleThemeSidebarItem'; const useSidebarLogoStyles = makeStyles({ root: { @@ -89,7 +89,7 @@ const Root: FC<{}> = ({ children }) => ( - + {children} diff --git a/packages/app/src/components/Root/ToggleThemeSidebarItem.tsx b/packages/core/src/layout/Sidebar/SidebarThemeToggle.tsx similarity index 74% rename from packages/app/src/components/Root/ToggleThemeSidebarItem.tsx rename to packages/core/src/layout/Sidebar/SidebarThemeToggle.tsx index a17e8f7019..7f4c8890f9 100644 --- a/packages/app/src/components/Root/ToggleThemeSidebarItem.tsx +++ b/packages/core/src/layout/Sidebar/SidebarThemeToggle.tsx @@ -16,12 +16,13 @@ import React, { FC } from 'react'; import { useObservable } from 'react-use'; -import { SidebarItem, useApi, appThemeApiRef } from '@backstage/core'; -import WbSunnyIcon from '@material-ui/icons/WbSunny'; -import Brightness2Icon from '@material-ui/icons/Brightness2'; -import ToggleOnIcon from '@material-ui/icons/ToggleOn'; +import LightIcon from '@material-ui/icons/WbSunny'; +import DarkIcon from '@material-ui/icons/Brightness2'; +import AutoIcon from '@material-ui/icons/BrightnessAuto'; +import { appThemeApiRef, useApi } from '../../api'; +import { SidebarItem } from './Items'; -const ToggleThemeSidebarItem: FC<{}> = () => { +export const SidebarThemeToggle: FC<{}> = () => { const appThemeApi = useApi(appThemeApiRef); const themeId = useObservable( appThemeApi.activeThemeId$(), @@ -29,19 +30,17 @@ const ToggleThemeSidebarItem: FC<{}> = () => { ); let text = 'Auto'; - let icon = ToggleOnIcon; + let icon = AutoIcon; switch (themeId) { case 'dark': text = 'Dark mode'; - icon = Brightness2Icon; + icon = DarkIcon; break; case 'light': text = 'Light mode'; - icon = WbSunnyIcon; + icon = LightIcon; break; default: - text = 'Auto'; - icon = ToggleOnIcon; break; } @@ -57,5 +56,3 @@ const ToggleThemeSidebarItem: FC<{}> = () => { return ; }; - -export default ToggleThemeSidebarItem; diff --git a/packages/core/src/layout/Sidebar/index.ts b/packages/core/src/layout/Sidebar/index.ts index e4e0a2d991..f3f1a8872b 100644 --- a/packages/core/src/layout/Sidebar/index.ts +++ b/packages/core/src/layout/Sidebar/index.ts @@ -18,3 +18,4 @@ export * from './Bar'; export * from './Page'; export * from './Items'; export * from './config'; +export { SidebarThemeToggle } from './SidebarThemeToggle';