import React, { PropTypes } from 'react' import { findWhere } from 'lodash' import { setSearchFilter, switchFolder, switchMode, CREATE_MODE } from 'boost/actions' import { openModal } from 'boost/modal' import FolderMark from 'boost/components/FolderMark' import Preferences from 'boost/components/modal/Preferences' import CreateNewFolder from 'boost/components/modal/CreateNewFolder' import remote from 'remote' let userName = remote.getGlobal('process').env.USER const BRAND_COLOR = '#18AF90' const preferenceTutorialElement = ( Preference ) const newPostTutorialElement = ( Create a new post!! press `⌘ + Enter` or `a` ) const newFolderTutorialElement = ( Create a new folder!! ) export default class ArticleNavigator extends React.Component { handlePreferencesButtonClick (e) { openModal(Preferences) } handleNewPostButtonClick (e) { let { dispatch } = this.props dispatch(switchMode(CREATE_MODE)) } handleNewFolderButton (e) { let { activeUser } = this.props openModal(CreateNewFolder, {user: activeUser}) } handleFolderButtonClick (name) { return e => { let { dispatch } = this.props dispatch(switchFolder(name)) } } handleAllFoldersButtonClick (e) { let { dispatch } = this.props dispatch(setSearchFilter('')) } render () { let { status, folders } = this.props let { targetFolders } = status if (targetFolders == null) targetFolders = [] let folderElememts = folders.map((folder, index) => { let isActive = findWhere(targetFolders, {key: folder.key}) return ( ) }) return (
{userName}
local
{status.isTutorialOpen ? preferenceTutorialElement : null}
{status.isTutorialOpen ? newPostTutorialElement : null}
Folders
{status.isTutorialOpen ? newFolderTutorialElement : null}
{folderElememts}
) } } ArticleNavigator.propTypes = { activeUser: PropTypes.object, folders: PropTypes.array, status: PropTypes.shape({ folderId: PropTypes.number }), dispatch: PropTypes.func }