menu-improves

This commit is contained in:
Tom Moor
2018-02-24 21:21:05 -08:00
parent fb19075d0e
commit 2e37bb2c22
3 changed files with 36 additions and 25 deletions

View File

@@ -1,20 +1,23 @@
// @flow
import React from 'react';
import styled from 'styled-components';
import Flex from 'shared/components/Flex';
import { color } from 'shared/styles/constants';
const DropdownMenuItem = ({
onClick,
children,
}: {
type Props = {
onClick?: SyntheticEvent => void,
children?: React.Element<any>,
}) => {
return <MenuItem onClick={onClick}>{children}</MenuItem>;
};
const MenuItem = styled(Flex)`
const DropdownMenuItem = ({ onClick, children, ...rest }: Props) => {
return (
<MenuItem onClick={onClick} {...rest}>
{children}
</MenuItem>
);
};
const MenuItem = styled.a`
display: flex;
margin: 0;
padding: 5px 10px;
height: 32px;
@@ -29,11 +32,6 @@ const MenuItem = styled(Flex)`
margin-right: 8px;
}
a {
text-decoration: none;
width: 100%;
}
&:hover {
color: ${color.white};
background: ${color.primary};

View File

@@ -5,7 +5,12 @@ import { inject, observer } from 'mobx-react';
import UiStore from 'stores/UiStore';
import AuthStore from 'stores/AuthStore';
import { DropdownMenu, DropdownMenuItem } from 'components/DropdownMenu';
import { spectrumUrl } from '../../shared/utils/routeHelpers';
import {
developers,
githubIssuesUrl,
mailToUrl,
spectrumUrl,
} from '../../shared/utils/routeHelpers';
@observer
class AccountMenu extends Component {
@@ -24,18 +29,10 @@ class AccountMenu extends Component {
this.props.history.push('/settings');
};
handleApi = () => {
window.location.href = '/developers';
};
handleLogout = () => {
this.props.auth.logout();
};
handleFeedback = () => {
window.location.href = spectrumUrl();
};
render() {
return (
<DropdownMenu
@@ -48,12 +45,20 @@ class AccountMenu extends Component {
<DropdownMenuItem onClick={this.handleOpenKeyboardShortcuts}>
Keyboard shortcuts
</DropdownMenuItem>
<DropdownMenuItem onClick={this.handleApi}>
<DropdownMenuItem href={developers()} target="_blank">
API documentation
</DropdownMenuItem>
<DropdownMenuItem onClick={this.handleFeedback}>
Feedback
<hr />
<DropdownMenuItem href={spectrumUrl()} target="_blank">
Community
</DropdownMenuItem>
<DropdownMenuItem href={mailToUrl()} target="_blank">
Send us feedback
</DropdownMenuItem>
<DropdownMenuItem href={githubIssuesUrl()} target="_blank">
Report a bug
</DropdownMenuItem>
<hr />
<DropdownMenuItem onClick={this.handleLogout}>Logout</DropdownMenuItem>
</DropdownMenu>
);

View File

@@ -29,6 +29,10 @@ export function githubUrl(): string {
return 'https://www.github.com/outline';
}
export function githubIssuesUrl(): string {
return 'https://www.github.com/outline/outline/issues';
}
export function blogUrl(): string {
return 'https://medium.com/getoutline';
}
@@ -41,6 +45,10 @@ export function spectrumUrl(): string {
return 'https://spectrum.chat/outline';
}
export function mailToUrl(): string {
return 'mailto:hello@getoutline.com';
}
export function developers(): string {
return '/developers';
}