diff options
Diffstat (limited to 'opendc-web/opendc-web-ui/src/pages/projects/index.js')
| -rw-r--r-- | opendc-web/opendc-web-ui/src/pages/projects/index.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/opendc-web/opendc-web-ui/src/pages/projects/index.js b/opendc-web/opendc-web-ui/src/pages/projects/index.js new file mode 100644 index 00000000..8603c228 --- /dev/null +++ b/opendc-web/opendc-web-ui/src/pages/projects/index.js @@ -0,0 +1,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()), []) + + 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 |
