// @flow import * as React from 'react'; import { Redirect } from 'react-router-dom'; import { observable } from 'mobx'; import { inject, observer } from 'mobx-react'; import { MoonIcon } from 'outline-icons'; import styled, { withTheme } from 'styled-components'; import UiStore from 'stores/UiStore'; import AuthStore from 'stores/AuthStore'; import Flex from 'shared/components/Flex'; import { DropdownMenu, DropdownMenuItem } from 'components/DropdownMenu'; import { developers, changelog, githubIssuesUrl, mailToUrl, spectrumUrl, } from '../../shared/utils/routeHelpers'; type Props = { label: React.Node, ui: UiStore, auth: AuthStore, theme: Object, }; @observer class AccountMenu extends React.Component { @observable redirectTo: ?string; componentDidUpdate() { this.redirectTo = undefined; } handleOpenKeyboardShortcuts = () => { this.props.ui.setActiveModal('keyboard-shortcuts'); }; handleOpenSettings = () => { this.redirectTo = '/settings'; }; handleLogout = () => { this.props.auth.logout(); }; render() { if (this.redirectTo) return ; const { ui, theme } = this.props; const isLightTheme = ui.theme === 'light'; return ( Settings Keyboard shortcuts API documentation
Changelog Community Send us feedback Report a bug
Logout
Night Mode{' '}
); } } const NightMode = styled(Flex)` width: 100%; `; export default inject('ui', 'auth')(withTheme(AccountMenu));