This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
outline/frontend/scenes/Home/Home.js
2017-04-23 20:12:53 -07:00

71 lines
2.1 KiB
JavaScript

import React from 'react';
import { observer } from 'mobx-react';
import { browserHistory } from 'react-router';
import { Flex } from 'reflexbox';
import Layout from 'components/Layout';
import CenteredContent from 'components/CenteredContent';
import SlackAuthLink from 'components/SlackAuthLink';
import Alert from 'components/Alert';
import styles from './Home.scss';
@observer(['user'])
export default class Home extends React.Component {
static propTypes = {
user: React.PropTypes.object.isRequired,
location: React.PropTypes.object.isRequired,
}
componentDidMount = () => {
if (this.props.user.authenticated) {
browserHistory.replace('/dashboard');
}
}
get notifications() {
const notifications = [];
const { state } = this.props.location;
if (state && state.nextPathname) {
sessionStorage.removeItem('redirectTo');
sessionStorage.setItem('redirectTo', state.nextPathname);
notifications.push(<Alert key="login" info>Please login to continue</Alert>);
}
return notifications;
}
render() {
const showLandingPageCopy = DEPLOYMENT === 'hosted';
return (
<Flex auto>
<Layout
notifications={ this.notifications }
>
<CenteredContent>
{ showLandingPageCopy && (
<div className={ styles.intro }>
<h1 className={ styles.title }>Simple, fast, markdown.</h1>
<p className={ styles.copy }>We're building a modern wiki for engineering teams.</p>
</div>
) }
<div className={ styles.action }>
<SlackAuthLink redirectUri={ `${URL}/auth/slack` }>
<img
alt="Sign in with Slack"
height="40"
width="172"
src="https://platform.slack-edge.com/img/sign_in_with_slack.png"
srcSet="https://platform.slack-edge.com/img/sign_in_with_slack.png 1x, https://platform.slack-edge.com/img/sign_in_with_slack@2x.png 2x"
/>
</SlackAuthLink>
</div>
</CenteredContent>
</Layout>
</Flex>
);
}
}