// @flow import * as React from 'react'; import { Link } from 'react-router-dom'; import { observable } from 'mobx'; import { inject, observer } from 'mobx-react'; import { SunIcon, MoonIcon } from 'outline-icons'; import styled 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 Modal from 'components/Modal'; import KeyboardShortcuts from 'scenes/KeyboardShortcuts'; import { developers, changelog, githubIssuesUrl, mailToUrl, spectrumUrl, settings, } from '../../shared/utils/routeHelpers'; type Props = { label: React.Node, ui: UiStore, auth: AuthStore, }; @observer class AccountMenu extends React.Component { @observable keyboardShortcutsOpen: boolean = false; handleLogout = () => { this.props.auth.logout(); }; handleOpenKeyboardShortcuts = () => { this.keyboardShortcutsOpen = true; }; handleCloseKeyboardShortcuts = () => { this.keyboardShortcutsOpen = false; }; render() { const { ui } = this.props; return ( Settings Keyboard shortcuts API documentation
Changelog Community Send us feedback Report a bug
Appearance {ui.resolvedTheme === 'light' ? : } } hover > ui.setTheme('system')} selected={ui.theme === 'system'} > System ui.setTheme('light')} selected={ui.theme === 'light'} > Light ui.setTheme('dark')} selected={ui.theme === 'dark'} > Dark
Log out
); } } const ChangeTheme = styled(Flex)` width: 100%; `; export default inject('ui', 'auth')(AccountMenu);