// @flow import * as React from "react"; import { observable } from "mobx"; import { observer, inject } from "mobx-react"; import { PlusIcon } from "outline-icons"; import { Redirect } from "react-router-dom"; import { newTemplateUrl } from "utils/routeHelpers"; import CenteredContent from "components/CenteredContent"; import Empty from "components/Empty"; import PageTitle from "components/PageTitle"; import Heading from "components/Heading"; import PaginatedDocumentList from "components/PaginatedDocumentList"; import Tabs from "components/Tabs"; import Tab from "components/Tab"; import Button from "components/Button"; import Actions, { Action } from "components/Actions"; import DocumentsStore from "stores/DocumentsStore"; type Props = { documents: DocumentsStore, match: Object, }; @observer class Starred extends React.Component { @observable redirectTo: ?string; componentDidUpdate() { this.redirectTo = undefined; } handleNewTemplate = () => { this.redirectTo = newTemplateUrl(); }; render() { if (this.redirectTo) return ; const { fetchTemplates, templates, templatesAlphabetical, } = this.props.documents; const { sort } = this.props.match.params; return ( Templates Recently Updated Alphabetical } empty={No templates, yet.} fetch={fetchTemplates} documents={ sort === "alphabetical" ? templatesAlphabetical : templates } showCollection /> ); } } export default inject("documents")(Starred);