summaryrefslogtreecommitdiff
path: root/frontend/src/pages/Projects.js
blob: f4af10c3af657beea1ab8773a8594dc775f2d5ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import React from 'react'
import DocumentTitle from 'react-document-title'
import { connect } from 'react-redux'
import { openNewProjectModal } from '../actions/modals/projects'
import { fetchAuthorizationsOfCurrentUser } from '../actions/users'
import ProjectFilterPanel from '../components/projects/FilterPanel'
import NewProjectModal from '../containers/modals/NewProjectModal'
import NewProjectButtonContainer from '../containers/projects/NewProjectButtonContainer'
import VisibleProjectList from '../containers/projects/VisibleProjectAuthList'
import AppNavbarContainer from '../containers/navigation/AppNavbarContainer'

class ProjectsContainer extends React.Component {
    componentDidMount() {
        this.props.fetchAuthorizationsOfCurrentUser()
    }

    render() {
        return (
            <DocumentTitle title="My Projects - OpenDC">
                <div className="full-height">
                    <AppNavbarContainer fullWidth={false}/>
                    <div className="container text-page-container full-height">
                        <ProjectFilterPanel/>
                        <VisibleProjectList/>
                        <NewProjectButtonContainer/>
                    </div>
                    <NewProjectModal/>
                </div>
            </DocumentTitle>
        )
    }
}

const mapDispatchToProps = (dispatch) => {
    return {
        fetchAuthorizationsOfCurrentUser: () => dispatch(fetchAuthorizationsOfCurrentUser()),
        openNewProjectModal: () => dispatch(openNewProjectModal()),
    }
}

const Projects = connect(undefined, mapDispatchToProps)(ProjectsContainer)

export default Projects