// @flow import { observable } from "mobx"; import { inject, observer } from "mobx-react"; import { SunIcon, MoonIcon } from "outline-icons"; import * as React from "react"; import { Link } from "react-router-dom"; import styled from "styled-components"; import AuthStore from "stores/AuthStore"; import UiStore from "stores/UiStore"; import KeyboardShortcuts from "scenes/KeyboardShortcuts"; import { DropdownMenu, DropdownMenuItem } from "components/DropdownMenu"; import Flex from "components/Flex"; import Modal from "components/Modal"; import { developers, changelog, githubIssuesUrl, mailToUrl, 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 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);