Shared assets, cleanup for initial deploy
This commit is contained in:
parent
e370676b49
commit
84c82c31a9
|
@ -8,3 +8,4 @@ SEQUELIZE_SECRET=F0E5AD933D7F6FD8F4DBB3E038C501C052DC0593C686D21ACB30AE205D2F634
|
||||||
SLACK_KEY=71315967491.XXXXXXXXXX
|
SLACK_KEY=71315967491.XXXXXXXXXX
|
||||||
SLACK_SECRET=d2dc414f9953226bad0a356c794XXXXX
|
SLACK_SECRET=d2dc414f9953226bad0a356c794XXXXX
|
||||||
URL=http://localhost:3000
|
URL=http://localhost:3000
|
||||||
|
DEPLOYMENT=hosted
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @flow
|
// @flow
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { observer } from 'mobx-react';
|
import { observer } from 'mobx-react';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import React from 'react';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import Tooltip from 'components/Tooltip';
|
import Tooltip from 'components/Tooltip';
|
||||||
import Document from 'models/Document';
|
import Document from 'models/Document';
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @flow
|
// @flow
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
const Divider = () => {
|
const Divider = () => {
|
||||||
return <Flex auto justify="center"><Content /></Flex>;
|
return <Flex auto justify="center"><Content /></Flex>;
|
||||||
|
|
|
@ -5,7 +5,7 @@ import styled from 'styled-components';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import Collection from 'models/Collection';
|
import Collection from 'models/Collection';
|
||||||
import Document from 'models/Document';
|
import Document from 'models/Document';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
const Container = styled(Flex)`
|
const Container = styled(Flex)`
|
||||||
color: ${color.slate};
|
color: ${color.slate};
|
||||||
|
|
|
@ -5,7 +5,7 @@ import Popover from 'components/Popover';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import DocumentViewers from './components/DocumentViewers';
|
import DocumentViewers from './components/DocumentViewers';
|
||||||
import DocumentViewersStore from './DocumentViewersStore';
|
import DocumentViewersStore from './DocumentViewersStore';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
const Container = styled(Flex)`
|
const Container = styled(Flex)`
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// @flow
|
// @flow
|
||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import map from 'lodash/map';
|
import map from 'lodash/map';
|
||||||
import Avatar from 'components/Avatar';
|
import Avatar from 'components/Avatar';
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { observable } from 'mobx';
|
||||||
import { observer } from 'mobx-react';
|
import { observer } from 'mobx-react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Portal from 'react-portal';
|
import Portal from 'react-portal';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import { fadeAndScaleIn } from 'shared/styles/animations';
|
import { fadeAndScaleIn } from 'shared/styles/animations';
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @flow
|
// @flow
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
|
|
||||||
const DropdownMenuItem = ({
|
const DropdownMenuItem = ({
|
||||||
|
|
|
@ -6,7 +6,7 @@ import { Editor, Plain } from 'slate';
|
||||||
import keydown from 'react-keydown';
|
import keydown from 'react-keydown';
|
||||||
import type { State, Editor as EditorType } from './types';
|
import type { State, Editor as EditorType } from './types';
|
||||||
import getDataTransferFiles from 'utils/getDataTransferFiles';
|
import getDataTransferFiles from 'utils/getDataTransferFiles';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import ClickablePadding from './components/ClickablePadding';
|
import ClickablePadding from './components/ClickablePadding';
|
||||||
import Toolbar from './components/Toolbar';
|
import Toolbar from './components/Toolbar';
|
||||||
import BlockInsert from './components/BlockInsert';
|
import BlockInsert from './components/BlockInsert';
|
||||||
|
|
|
@ -14,7 +14,7 @@ import keydown from 'react-keydown';
|
||||||
import CloseIcon from 'components/Icon/CloseIcon';
|
import CloseIcon from 'components/Icon/CloseIcon';
|
||||||
import OpenIcon from 'components/Icon/OpenIcon';
|
import OpenIcon from 'components/Icon/OpenIcon';
|
||||||
import TrashIcon from 'components/Icon/TrashIcon';
|
import TrashIcon from 'components/Icon/TrashIcon';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
@keydown
|
@keydown
|
||||||
@observer
|
@observer
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
// @flow
|
|
||||||
import Flex from './Flex';
|
|
||||||
export default Flex;
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @flow
|
// @flow
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import { size, color } from 'shared/styles/constants';
|
import { size, color } from 'shared/styles/constants';
|
||||||
|
|
||||||
const RealTextarea = styled.textarea`
|
const RealTextarea = styled.textarea`
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @flow
|
// @flow
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { observer } from 'mobx-react';
|
import { observer } from 'mobx-react';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { size } from 'shared/styles/constants';
|
import { size } from 'shared/styles/constants';
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { Helmet } from 'react-helmet';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { observer, inject } from 'mobx-react';
|
import { observer, inject } from 'mobx-react';
|
||||||
import keydown from 'react-keydown';
|
import keydown from 'react-keydown';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import { color, layout } from 'shared/styles/constants';
|
import { color, layout } from 'shared/styles/constants';
|
||||||
import { documentEditUrl, homeUrl, searchUrl } from 'utils/routeHelpers';
|
import { documentEditUrl, homeUrl, searchUrl } from 'utils/routeHelpers';
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import type { User, Team } from 'types';
|
import type { User, Team } from 'types';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
user: User,
|
user: User,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { observable } from 'mobx';
|
import { observable } from 'mobx';
|
||||||
import { observer, inject } from 'mobx-react';
|
import { observer, inject } from 'mobx-react';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { color, fontWeight } from 'shared/styles/constants';
|
import { color, fontWeight } from 'shared/styles/constants';
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { observer } from 'mobx-react';
|
||||||
import { NavLink } from 'react-router-dom';
|
import { NavLink } from 'react-router-dom';
|
||||||
import { color, fontWeight } from 'shared/styles/constants';
|
import { color, fontWeight } from 'shared/styles/constants';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import CollapsedIcon from 'components/Icon/CollapsedIcon';
|
import CollapsedIcon from 'components/Icon/CollapsedIcon';
|
||||||
|
|
||||||
const activeStyle = {
|
const activeStyle = {
|
||||||
|
|
|
@ -4,9 +4,9 @@ import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { pulsate } from 'shared/styles/animations';
|
import { pulsate } from 'shared/styles/animations';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
import { randomInteger } from 'utils/random';
|
import { randomInteger } from 'shared/random';
|
||||||
|
|
||||||
const randomValues = Array.from(
|
const randomValues = Array.from(
|
||||||
new Array(5),
|
new Array(5),
|
||||||
|
|
|
@ -4,7 +4,7 @@ import _ from 'lodash';
|
||||||
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
|
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Mask from './components/Mask';
|
import Mask from './components/Mask';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
count?: number,
|
count?: number,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
|
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
|
||||||
import Mask from './components/Mask';
|
import Mask from './components/Mask';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
export default (props: Object) => {
|
export default (props: Object) => {
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -3,8 +3,8 @@ import React, { Component } from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { pulsate } from 'shared/styles/animations';
|
import { pulsate } from 'shared/styles/animations';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import { randomInteger } from 'utils/random';
|
import { randomInteger } from 'shared/random';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
class Mask extends Component {
|
class Mask extends Component {
|
||||||
width: number;
|
width: number;
|
||||||
|
@ -13,8 +13,7 @@ class Mask extends Component {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(props: Object) {
|
componentWillmount() {
|
||||||
super(props);
|
|
||||||
this.width = randomInteger(75, 100);
|
this.width = randomInteger(75, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ import ReactModal from 'react-modal';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import { fadeAndScaleIn } from 'shared/styles/animations';
|
import { fadeAndScaleIn } from 'shared/styles/animations';
|
||||||
import CloseIcon from 'components/Icon/CloseIcon';
|
import CloseIcon from 'components/Icon/CloseIcon';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
children?: React$Element<any>,
|
children?: React$Element<any>,
|
||||||
|
|
|
@ -8,7 +8,7 @@ import {
|
||||||
Route,
|
Route,
|
||||||
Redirect,
|
Redirect,
|
||||||
} from 'react-router-dom';
|
} from 'react-router-dom';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
import stores from 'stores';
|
import stores from 'stores';
|
||||||
import DocumentsStore from 'stores/DocumentsStore';
|
import DocumentsStore from 'stores/DocumentsStore';
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { inject, observer } from 'mobx-react';
|
||||||
import Collection from 'models/Collection';
|
import Collection from 'models/Collection';
|
||||||
import UiStore from 'stores/UiStore';
|
import UiStore from 'stores/UiStore';
|
||||||
import MoreIcon from 'components/Icon/MoreIcon';
|
import MoreIcon from 'components/Icon/MoreIcon';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import { DropdownMenu, DropdownMenuItem } from 'components/DropdownMenu';
|
import { DropdownMenu, DropdownMenuItem } from 'components/DropdownMenu';
|
||||||
|
|
||||||
@observer class CollectionMenu extends Component {
|
@observer class CollectionMenu extends Component {
|
||||||
|
|
|
@ -14,7 +14,7 @@ import Collection from 'models/Collection';
|
||||||
import CenteredContent from 'components/CenteredContent';
|
import CenteredContent from 'components/CenteredContent';
|
||||||
import LoadingListPlaceholder from 'components/LoadingListPlaceholder';
|
import LoadingListPlaceholder from 'components/LoadingListPlaceholder';
|
||||||
import Button from 'components/Button';
|
import Button from 'components/Button';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import HelpText from 'components/HelpText';
|
import HelpText from 'components/HelpText';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { observable } from 'mobx';
|
||||||
import { inject, observer } from 'mobx-react';
|
import { inject, observer } from 'mobx-react';
|
||||||
import { homeUrl } from 'utils/routeHelpers';
|
import { homeUrl } from 'utils/routeHelpers';
|
||||||
import Button from 'components/Button';
|
import Button from 'components/Button';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import HelpText from 'components/HelpText';
|
import HelpText from 'components/HelpText';
|
||||||
import Collection from 'models/Collection';
|
import Collection from 'models/Collection';
|
||||||
import CollectionsStore from 'stores/CollectionsStore';
|
import CollectionsStore from 'stores/CollectionsStore';
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { observable } from 'mobx';
|
||||||
import { inject, observer } from 'mobx-react';
|
import { inject, observer } from 'mobx-react';
|
||||||
import Button from 'components/Button';
|
import Button from 'components/Button';
|
||||||
import Input from 'components/Input';
|
import Input from 'components/Input';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import HelpText from 'components/HelpText';
|
import HelpText from 'components/HelpText';
|
||||||
import Collection from 'models/Collection';
|
import Collection from 'models/Collection';
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { observer, inject } from 'mobx-react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
|
|
||||||
import DocumentsStore from 'stores/DocumentsStore';
|
import DocumentsStore from 'stores/DocumentsStore';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import DocumentList from 'components/DocumentList';
|
import DocumentList from 'components/DocumentList';
|
||||||
import PageTitle from 'components/PageTitle';
|
import PageTitle from 'components/PageTitle';
|
||||||
import CenteredContent from 'components/CenteredContent';
|
import CenteredContent from 'components/CenteredContent';
|
||||||
|
|
|
@ -6,7 +6,7 @@ import { observable } from 'mobx';
|
||||||
import { observer, inject } from 'mobx-react';
|
import { observer, inject } from 'mobx-react';
|
||||||
import { withRouter, Prompt } from 'react-router';
|
import { withRouter, Prompt } from 'react-router';
|
||||||
import keydown from 'react-keydown';
|
import keydown from 'react-keydown';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import { color, layout } from 'shared/styles/constants';
|
import { color, layout } from 'shared/styles/constants';
|
||||||
import {
|
import {
|
||||||
collectionUrl,
|
collectionUrl,
|
||||||
|
|
|
@ -13,7 +13,7 @@ import { size } from 'shared/styles/constants';
|
||||||
import Modal from 'components/Modal';
|
import Modal from 'components/Modal';
|
||||||
import Input from 'components/Input';
|
import Input from 'components/Input';
|
||||||
import Labeled from 'components/Labeled';
|
import Labeled from 'components/Labeled';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import PathToDocument from './components/PathToDocument';
|
import PathToDocument from './components/PathToDocument';
|
||||||
|
|
||||||
import Document from 'models/Document';
|
import Document from 'models/Document';
|
||||||
|
|
|
@ -6,7 +6,7 @@ import _ from 'lodash';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
|
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import GoToIcon from 'components/Icon/GoToIcon';
|
import GoToIcon from 'components/Icon/GoToIcon';
|
||||||
|
|
||||||
import Document from 'models/Document';
|
import Document from 'models/Document';
|
||||||
|
|
|
@ -4,9 +4,9 @@ import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { pulsate } from 'shared/styles/animations';
|
import { pulsate } from 'shared/styles/animations';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
|
|
||||||
import { randomInteger } from 'utils/random';
|
import { randomInteger } from 'shared/random';
|
||||||
|
|
||||||
const randomValues = Array.from(
|
const randomValues = Array.from(
|
||||||
new Array(5),
|
new Array(5),
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { withRouter } from 'react-router-dom';
|
||||||
import { observable } from 'mobx';
|
import { observable } from 'mobx';
|
||||||
import { inject, observer } from 'mobx-react';
|
import { inject, observer } from 'mobx-react';
|
||||||
import Button from 'components/Button';
|
import Button from 'components/Button';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import HelpText from 'components/HelpText';
|
import HelpText from 'components/HelpText';
|
||||||
import Document from 'models/Document';
|
import Document from 'models/Document';
|
||||||
import DocumentsStore from 'stores/DocumentsStore';
|
import DocumentsStore from 'stores/DocumentsStore';
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Key from 'components/Key';
|
import Key from 'components/Key';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import HelpText from 'components/HelpText';
|
import HelpText from 'components/HelpText';
|
||||||
|
|
||||||
function KeyboardShortcuts() {
|
function KeyboardShortcuts() {
|
||||||
|
|
|
@ -13,7 +13,7 @@ import styled from 'styled-components';
|
||||||
import ArrowKeyNavigation from 'boundless-arrow-key-navigation';
|
import ArrowKeyNavigation from 'boundless-arrow-key-navigation';
|
||||||
|
|
||||||
import Empty from 'components/Empty';
|
import Empty from 'components/Empty';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import CenteredContent from 'components/CenteredContent';
|
import CenteredContent from 'components/CenteredContent';
|
||||||
import LoadingIndicator from 'components/LoadingIndicator';
|
import LoadingIndicator from 'components/LoadingIndicator';
|
||||||
import SearchField from './components/SearchField';
|
import SearchField from './components/SearchField';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @flow
|
// @flow
|
||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import SearchIcon from 'components/Icon/SearchIcon';
|
import SearchIcon from 'components/Icon/SearchIcon';
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import ApiKeyRow from './components/ApiKeyRow';
|
||||||
import SettingsStore from './SettingsStore';
|
import SettingsStore from './SettingsStore';
|
||||||
import { color } from 'shared/styles/constants';
|
import { color } from 'shared/styles/constants';
|
||||||
|
|
||||||
import Flex from 'components/Flex';
|
import Flex from 'shared/components/Flex';
|
||||||
import Button from 'components/Button';
|
import Button from 'components/Button';
|
||||||
import Input from 'components/Input';
|
import Input from 'components/Input';
|
||||||
import HelpText from 'components/HelpText';
|
import HelpText from 'components/HelpText';
|
||||||
|
|
|
@ -121,6 +121,7 @@
|
||||||
"koa-mount": "^3.0.0",
|
"koa-mount": "^3.0.0",
|
||||||
"koa-router": "7.0.1",
|
"koa-router": "7.0.1",
|
||||||
"koa-sendfile": "2.0.0",
|
"koa-sendfile": "2.0.0",
|
||||||
|
"koa-static": "^4.0.1",
|
||||||
"localforage": "^1.5.0",
|
"localforage": "^1.5.0",
|
||||||
"lodash": "^4.17.4",
|
"lodash": "^4.17.4",
|
||||||
"lodash.orderby": "4.4.0",
|
"lodash.orderby": "4.4.0",
|
||||||
|
|
|
@ -3,79 +3,26 @@ import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Grid from 'styled-components-grid';
|
import Grid from 'styled-components-grid';
|
||||||
import Hero from './components/Hero';
|
import Hero from './components/Hero';
|
||||||
import SlackSignin from './components/SlackSignin';
|
import SignupButton from './components/SignupButton';
|
||||||
import { color } from '../../shared/styles/constants';
|
|
||||||
|
|
||||||
const Unit = Grid.Unit;
|
|
||||||
|
|
||||||
function Home() {
|
function Home() {
|
||||||
return (
|
return (
|
||||||
<Grid>
|
<span>
|
||||||
<Hero>
|
<Grid>
|
||||||
<h1>Your team’s knowledge base</h1>
|
<Hero>
|
||||||
<HeroText>
|
<h1>Your team’s knowledge base</h1>
|
||||||
Documentation, meeting notes, playbooks, onboarding, work logs, brainstorming, decisions, & more…
|
<HeroText>
|
||||||
</HeroText>
|
Documentation, meeting notes, playbooks, onboarding, work logs, brainstorming, decisions, & more…
|
||||||
<p>
|
</HeroText>
|
||||||
<SlackSignin />
|
<p>
|
||||||
</p>
|
<SignupButton />
|
||||||
</Hero>
|
</p>
|
||||||
<Unit size={{ desktop: 1 / 2 }} />
|
</Hero>
|
||||||
<Feature size={{ desktop: 1 / 2 }}>
|
</Grid>
|
||||||
<h2>Blazing Fast</h2>
|
</span>
|
||||||
<p>
|
|
||||||
Atlas is fast, really fast. We’ve trimmed 100ms and 50ms there to make sure that documents load instantly, search is speedy and there are keyboard shortcuts for everything.
|
|
||||||
</p>
|
|
||||||
</Feature>
|
|
||||||
|
|
||||||
<Feature size={{ desktop: 1 / 2 }}>
|
|
||||||
<h2>Markdown Support</h2>
|
|
||||||
<p>
|
|
||||||
Documents are stored in Markdown and you can export them at any time. Markdown shortcuts are also built right into the editor so you can easily format using markdown syntax or our GUI.
|
|
||||||
</p>
|
|
||||||
</Feature>
|
|
||||||
<Unit size={{ desktop: 1 / 2 }} />
|
|
||||||
|
|
||||||
<Unit size={{ desktop: 1 / 2 }} />
|
|
||||||
<Feature size={{ desktop: 1 / 2 }}>
|
|
||||||
<h2>Beautiful Editor</h2>
|
|
||||||
<p>
|
|
||||||
We built a custom editor that’s a joy to use. Whether you’re typing up quick meeting notes or documenting a full API the interface gets out of your way and lets you focus on the content.
|
|
||||||
</p>
|
|
||||||
</Feature>
|
|
||||||
|
|
||||||
<MiniFeature size={{ desktop: 1 / 3 }}>
|
|
||||||
<h2>Powerful Search</h2>
|
|
||||||
<p>
|
|
||||||
Built-in search makes that one document easy to find in a large knowledgebase.
|
|
||||||
</p>
|
|
||||||
</MiniFeature>
|
|
||||||
<MiniFeature size={{ desktop: 1 / 3 }}>
|
|
||||||
<h2>API & Integrations</h2>
|
|
||||||
<p>
|
|
||||||
Atlas is built on it’s own API, treat Atlas as a CMS or automatically create documents from outside events.
|
|
||||||
</p>
|
|
||||||
</MiniFeature>
|
|
||||||
<MiniFeature size={{ desktop: 1 / 3 }}>
|
|
||||||
<h2>Open Source</h2>
|
|
||||||
<p>
|
|
||||||
Want to contribute or host Atlas yourself? All of the code is available on GitHub.
|
|
||||||
</p>
|
|
||||||
</MiniFeature>
|
|
||||||
</Grid>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const Feature = styled(Unit)`
|
|
||||||
padding: 3em;
|
|
||||||
padding: 80px;
|
|
||||||
background: ${color.smoke}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const MiniFeature = styled(Unit)`
|
|
||||||
padding: 80px 40px;
|
|
||||||
`;
|
|
||||||
|
|
||||||
const HeroText = styled.p`
|
const HeroText = styled.p`
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
max-width: 600px;
|
max-width: 600px;
|
||||||
|
|
|
@ -3,7 +3,7 @@ import styled from 'styled-components';
|
||||||
|
|
||||||
const Hero = styled.div`
|
const Hero = styled.div`
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 4em 3em;
|
padding: 6em 2em 8em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
|
|
|
@ -8,8 +8,6 @@ function Navigation() {
|
||||||
<Nav>
|
<Nav>
|
||||||
<Brand href="/">Atlas</Brand>
|
<Brand href="/">Atlas</Brand>
|
||||||
<Menu>
|
<Menu>
|
||||||
<MenuItem><a href="/about">About</a></MenuItem>
|
|
||||||
<MenuItem><a href="/pricing">Pricing</a></MenuItem>
|
|
||||||
<MenuItem><a href="/auth/slack">Sign In</a></MenuItem>
|
<MenuItem><a href="/auth/slack">Sign In</a></MenuItem>
|
||||||
</Menu>
|
</Menu>
|
||||||
</Nav>
|
</Nav>
|
||||||
|
@ -18,7 +16,7 @@ function Navigation() {
|
||||||
|
|
||||||
const Nav = styled.nav`
|
const Nav = styled.nav`
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 20px;
|
padding: 20px 30px;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import httpErrors from 'http-errors';
|
||||||
import Koa from 'koa';
|
import Koa from 'koa';
|
||||||
import Router from 'koa-router';
|
import Router from 'koa-router';
|
||||||
import sendfile from 'koa-sendfile';
|
import sendfile from 'koa-sendfile';
|
||||||
|
import serve from 'koa-static';
|
||||||
import subdomainRedirect from './middlewares/subdomainRedirect';
|
import subdomainRedirect from './middlewares/subdomainRedirect';
|
||||||
import renderpage from './utils/renderpage';
|
import renderpage from './utils/renderpage';
|
||||||
|
|
||||||
|
@ -24,6 +25,9 @@ const renderapp = async ctx => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// serve static assets
|
||||||
|
koa.use(serve(path.resolve(__dirname, '../public')));
|
||||||
|
|
||||||
router.get('/_health', ctx => (ctx.body = 'OK'));
|
router.get('/_health', ctx => (ctx.body = 'OK'));
|
||||||
|
|
||||||
if (process.env.NODE_ENV === 'production') {
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
|
|
@ -22,7 +22,7 @@ type Props = {
|
||||||
justify?: JustifyValues,
|
justify?: JustifyValues,
|
||||||
auto?: ?boolean,
|
auto?: ?boolean,
|
||||||
className?: string,
|
className?: string,
|
||||||
children?: React.Element<any>,
|
children?: React$Element<*>,
|
||||||
};
|
};
|
||||||
|
|
||||||
const Flex = (props: Props) => {
|
const Flex = (props: Props) => {
|
55
yarn.lock
55
yarn.lock
|
@ -4006,6 +4006,15 @@ http-errors@1.6.1:
|
||||||
setprototypeof "1.0.3"
|
setprototypeof "1.0.3"
|
||||||
statuses ">= 1.3.1 < 2"
|
statuses ">= 1.3.1 < 2"
|
||||||
|
|
||||||
|
http-errors@^1.6.1, http-errors@~1.6.1:
|
||||||
|
version "1.6.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
|
||||||
|
dependencies:
|
||||||
|
depd "1.1.1"
|
||||||
|
inherits "2.0.3"
|
||||||
|
setprototypeof "1.0.3"
|
||||||
|
statuses ">= 1.3.1 < 2"
|
||||||
|
|
||||||
http-errors@~1.3.1:
|
http-errors@~1.3.1:
|
||||||
version "1.3.1"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942"
|
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942"
|
||||||
|
@ -4013,13 +4022,12 @@ http-errors@~1.3.1:
|
||||||
inherits "~2.0.1"
|
inherits "~2.0.1"
|
||||||
statuses "1"
|
statuses "1"
|
||||||
|
|
||||||
http-errors@~1.6.1:
|
http-errors@~1.5.0:
|
||||||
version "1.6.2"
|
version "1.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
|
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
|
||||||
dependencies:
|
dependencies:
|
||||||
depd "1.1.1"
|
|
||||||
inherits "2.0.3"
|
inherits "2.0.3"
|
||||||
setprototypeof "1.0.3"
|
setprototypeof "1.0.2"
|
||||||
statuses ">= 1.3.1 < 2"
|
statuses ">= 1.3.1 < 2"
|
||||||
|
|
||||||
http-signature@~1.1.0:
|
http-signature@~1.1.0:
|
||||||
|
@ -5114,6 +5122,15 @@ koa-router@7.0.1:
|
||||||
methods "^1.0.1"
|
methods "^1.0.1"
|
||||||
path-to-regexp "^1.1.1"
|
path-to-regexp "^1.1.1"
|
||||||
|
|
||||||
|
koa-send@^4.1.0:
|
||||||
|
version "4.1.1"
|
||||||
|
resolved "https://registry.npmjs.org/koa-send/-/koa-send-4.1.1.tgz#bd3fa116b1f592f5fff23c9670aae69787f6cb57"
|
||||||
|
dependencies:
|
||||||
|
debug "^2.6.3"
|
||||||
|
http-errors "^1.6.1"
|
||||||
|
mz "^2.6.0"
|
||||||
|
resolve-path "^1.3.3"
|
||||||
|
|
||||||
koa-sendfile@2.0.0:
|
koa-sendfile@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/koa-sendfile/-/koa-sendfile-2.0.0.tgz#446e2a35ba7074ed03afda2c667c2359406e1082"
|
resolved "https://registry.yarnpkg.com/koa-sendfile/-/koa-sendfile-2.0.0.tgz#446e2a35ba7074ed03afda2c667c2359406e1082"
|
||||||
|
@ -5122,6 +5139,13 @@ koa-sendfile@2.0.0:
|
||||||
etag "^1.5.1"
|
etag "^1.5.1"
|
||||||
mz "2"
|
mz "2"
|
||||||
|
|
||||||
|
koa-static@^4.0.1:
|
||||||
|
version "4.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/koa-static/-/koa-static-4.0.1.tgz#b99521ed848d7adb79acae9c824d8d8277a8c4d5"
|
||||||
|
dependencies:
|
||||||
|
debug "^2.6.8"
|
||||||
|
koa-send "^4.1.0"
|
||||||
|
|
||||||
koa-unless@1.0.0:
|
koa-unless@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/koa-unless/-/koa-unless-1.0.0.tgz#5aa57384bc882568afc90ac04852a3d58658aeeb"
|
resolved "https://registry.yarnpkg.com/koa-unless/-/koa-unless-1.0.0.tgz#5aa57384bc882568afc90ac04852a3d58658aeeb"
|
||||||
|
@ -6009,6 +6033,14 @@ mz@2:
|
||||||
object-assign "^4.0.1"
|
object-assign "^4.0.1"
|
||||||
thenify-all "^1.0.0"
|
thenify-all "^1.0.0"
|
||||||
|
|
||||||
|
mz@^2.6.0:
|
||||||
|
version "2.7.0"
|
||||||
|
resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
|
||||||
|
dependencies:
|
||||||
|
any-promise "^1.0.0"
|
||||||
|
object-assign "^4.0.1"
|
||||||
|
thenify-all "^1.0.0"
|
||||||
|
|
||||||
nan@2.6.2:
|
nan@2.6.2:
|
||||||
version "2.6.2"
|
version "2.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
|
resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
|
||||||
|
@ -6624,7 +6656,7 @@ path-exists@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
|
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
|
||||||
|
|
||||||
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
|
path-is-absolute@1.0.1, path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
||||||
|
|
||||||
|
@ -7737,6 +7769,13 @@ resolve-from@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
|
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
|
||||||
|
|
||||||
|
resolve-path@^1.3.3:
|
||||||
|
version "1.3.3"
|
||||||
|
resolved "https://registry.npmjs.org/resolve-path/-/resolve-path-1.3.3.tgz#4d83aba6468c2b8e632a575e3f52b0fa0dbe1a5c"
|
||||||
|
dependencies:
|
||||||
|
http-errors "~1.5.0"
|
||||||
|
path-is-absolute "1.0.1"
|
||||||
|
|
||||||
resolve-pathname@^2.2.0:
|
resolve-pathname@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
|
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
|
||||||
|
@ -7994,6 +8033,10 @@ set-immediate-shim@^1.0.1:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
|
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
|
||||||
|
|
||||||
|
setprototypeof@1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
|
||||||
|
|
||||||
setprototypeof@1.0.3:
|
setprototypeof@1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
|
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
|
||||||
|
|
Reference in New Issue