import React, { PropTypes } from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './Repository.styl' import actions from 'browser/main/actions' import RepositoryManager from 'browser/lib/RepositoryManager' class Repository extends React.Component { handleUnlinkButtonClick (e) { let { dispatch, repository } = this.props RepositoryManager.removeRepo(repository) .then(() => { dispatch(actions.removeRepo(repository)) }) } render () { let { repository } = this.props let folderElements = repository.folders.map((folder) => { return (
{folder.name}
) }) return (
{repository.name}
{folderElements}
) } } Repository.propTypes = { repository: PropTypes.shape({ name: PropTypes.string, folders: PropTypes.arrayOf(PropTypes.shape({ name: PropTypes.string })) }), dispatch: PropTypes.func } export default CSSModules(Repository, styles)