summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/pages/projects/index.js
blob: 05e9514f64f4b8116ceb846ae62e7bac3eeaa000 (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 { fetchAuthorizationsOfCurrentUser } from '../../redux/actions/users'
import ProjectFilterPanel from '../../components/projects/FilterPanel'
import NewProjectContainer from '../../containers/projects/NewProjectContainer'
import VisibleProjectList from '../../containers/projects/VisibleProjectAuthList'
import AppNavbarContainer from '../../containers/navigation/AppNavbarContainer'
import { useRequireAuth } from '../../auth'
import { Container } from 'reactstrap'

function Projects() {
    useRequireAuth()

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

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

    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} />
                    <VisibleProjectList filter={filter} />
                    <NewProjectContainer />
                </Container>
            </div>
        </>
    )
}

export default Projects