From 277f4b5f22823b09234ea57358935ffa95b5cef9 Mon Sep 17 00:00:00 2001 From: Sean King Date: Sun, 19 Jul 2020 18:44:17 -0600 Subject: [PATCH] Move ThemeToggle to separate class, style it, and fix it on mobile --- app/soapbox/components/sidebar_menu.js | 7 ++++ .../features/ui/components/tabs_bar.js | 20 ++--------- app/styles/application.scss | 1 + app/styles/components/sidebar-menu.scss | 4 +++ app/styles/components/tabs-bar.scss | 34 +++++++------------ 5 files changed, 27 insertions(+), 39 deletions(-) diff --git a/app/soapbox/components/sidebar_menu.js b/app/soapbox/components/sidebar_menu.js index 187f73135..a62c32957 100644 --- a/app/soapbox/components/sidebar_menu.js +++ b/app/soapbox/components/sidebar_menu.js @@ -15,6 +15,7 @@ import { shortNumberFormat } from '../utils/numbers'; import { isStaff } from '../utils/accounts'; import { makeGetAccount } from '../selectors'; import { logOut } from 'soapbox/actions/auth'; +import ThemeToggle from '../features/ui/components/theme_toggle'; const messages = defineMessages({ followers: { id: 'account.followers', defaultMessage: 'Followers' }, @@ -119,6 +120,12 @@ class SidebarMenu extends ImmutablePureComponent {
+
+ +
+
+ +
{intl.formatMessage(messages.profile)} diff --git a/app/soapbox/features/ui/components/tabs_bar.js b/app/soapbox/features/ui/components/tabs_bar.js index 8442c5cb1..de1864a7d 100644 --- a/app/soapbox/features/ui/components/tabs_bar.js +++ b/app/soapbox/features/ui/components/tabs_bar.js @@ -12,13 +12,10 @@ import ActionBar from 'soapbox/features/compose/components/action_bar'; import { openModal } from '../../../actions/modal'; import { openSidebar } from '../../../actions/sidebar'; import Icon from '../../../components/icon'; -import { changeSetting, getSettings } from 'soapbox/actions/settings'; -import SettingToggle from '../../notifications/components/setting_toggle'; +import ThemeToggle from '../../ui/components/theme_toggle'; const messages = defineMessages({ post: { id: 'tabs_bar.post', defaultMessage: 'Post' }, - switchToLight: { id: 'tabs_bar.theme_toggle_light', defaultMessage: 'Switch to light theme' }, - switchToDark: { id: 'tabs_bar.theme_toggle_dark', defaultMessage: 'Switch to dark theme' }, }); @withRouter @@ -29,10 +26,8 @@ class TabsBar extends React.PureComponent { history: PropTypes.object.isRequired, onOpenCompose: PropTypes.func, onOpenSidebar: PropTypes.func.isRequired, - toggleTheme: PropTypes.func, logo: PropTypes.string, account: ImmutablePropTypes.map, - settings: ImmutablePropTypes.map.isRequired, } state = { @@ -84,12 +79,8 @@ class TabsBar extends React.PureComponent { })); } - handleToggleTheme = () => { - this.props.toggleTheme(this.props.settings.get('themeMode') === 'light' ? 'dark' : 'light'); - } - render() { - const { account, onOpenCompose, onOpenSidebar, intl, settings } = this.props; + const { account, onOpenCompose, onOpenSidebar, intl } = this.props; const { collapsed } = this.state; const classes = classNames('tabs-bar', { @@ -108,7 +99,7 @@ class TabsBar extends React.PureComponent {
{ account &&
- , unchecked: }} ariaLabel={settings.get('themeMode') === 'light' ? intl.formatMessage(messages.switchToDark) : intl.formatMessage(messages.switchToLight)} /> +