summaryrefslogtreecommitdiff
path: root/src/pages/Projects.js
blob: 066557681f5533b5e4d87f735ef69fc67ebe151b (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
44
45
46
47
48
49
50
import React from 'react';
import {connect} from "react-redux";
import {addProject, openNewProjectModal} from "../actions/projects";
import {fetchAuthorizationsOfCurrentUser} from "../actions/users";
import Navbar from "../components/navigation/Navbar";
import ProjectFilterPanel from "../components/projects/FilterPanel";
import NewProjectButton from "../components/projects/NewProjectButton";
import Login from "../containers/auth/Login";
import NewProjectModal from "../containers/projects/NewProjectModal";
import VisibleProjectList from "../containers/projects/VisibleProjectAuthList";
import "./Projects.css";

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

    onInputSubmission(text) {
        this.props.dispatch(addProject(text));
    }

    render() {
        return (
            <div className="full-height">
                <Navbar/>
                <div className="container project-page-container full-height">
                    <ProjectFilterPanel/>
                    <VisibleProjectList/>
                    <NewProjectButton onClick={() => {this.props.openNewProjectModal()}}/>
                </div>
                <NewProjectModal/>
                <Login visible={false}/>
            </div>
        );
    }
}

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

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

export default Projects;