summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/pages/projects/index.js
blob: 958ca622797006cbed439712e8d9338e767492ed (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
import React, { useEffect, useState } from 'react'
import Head from 'next/head'
import { useDispatch } from 'react-redux'
import ProjectFilterPanel from '../../components/projects/FilterPanel'
import NewProjectContainer from '../../containers/projects/NewProjectContainer'
import ProjectListContainer from '../../containers/projects/ProjectListContainer'
import AppNavbarContainer from '../../containers/navigation/AppNavbarContainer'
import { useRequireAuth } from '../../auth'
import { Container } from 'reactstrap'
import { fetchProjects } from '../../redux/actions/projects'

function Projects() {
    useRequireAuth()

    const dispatch = useDispatch()
    const [filter, setFilter] = useState('SHOW_ALL')

    useEffect(() => dispatch(fetchProjects()), [dispatch])

    return (
        <>
            <Head>
                <title>My Projects - OpenDC</title>
            </Head>
            <div className="full-height">
                <AppNavbarContainer fullWidth={false} />
                <Container className="text-page-container">
                    <ProjectFilterPanel onSelect={setFilter} activeFilter={filter} />
                    <ProjectListContainer filter={filter} />
                    <NewProjectContainer />
                </Container>
            </div>
        </>
    )
}

export default Projects