summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/components/projects/ProjectList.js
blob: 46ef46917e8703f13f1fe5717d1fa48081ac19c5 (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
import PropTypes from 'prop-types'
import React from 'react'
import { Project } from '../../shapes'
import ProjectRow from './ProjectRow'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faQuestionCircle } from '@fortawesome/free-solid-svg-icons'

const ProjectList = ({ projects }) => {
    return (
        <div className="vertically-expanding-container">
            {projects.length === 0 ? (
                <div className="alert alert-info">
                    <FontAwesomeIcon icon={faQuestionCircle} className="info-icon mr-2" />
                    <strong>No projects here yet...</strong> Add some with the &lsquo;New Project&rsquo; button!
                </div>
            ) : (
                <table className="table table-striped">
                    <thead>
                        <tr>
                            <th>Project name</th>
                            <th>Last edited</th>
                            <th>Access rights</th>
                            <th />
                        </tr>
                    </thead>
                    <tbody>
                        {projects.map((project) => (
                            <ProjectRow project={project} key={project._id} />
                        ))}
                    </tbody>
                </table>
            )}
        </div>
    )
}

ProjectList.propTypes = {
    projects: PropTypes.arrayOf(Project).isRequired,
}

export default ProjectList