1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-23 05:24:18 +00:00
pds-2021-g2-nest/code/frontend/src/components/interactive/BoxRepositoriesActive.js

44 lines
1.3 KiB
JavaScript
Raw Normal View History

import React, { useContext } from "react"
2021-04-29 14:58:31 +00:00
import BoxFull from "../base/BoxFull"
import RepositorySummaryBase from "./RepositorySummaryBase"
2021-05-02 16:10:09 +00:00
import { faSearch } from "@fortawesome/free-solid-svg-icons"
2021-05-11 14:33:12 +00:00
import ContextUser from "../../contexts/ContextUser"
2021-04-29 14:58:31 +00:00
/**
* A {@link BoxFull} listing all the user's active repositories.
*
2021-05-11 14:33:12 +00:00
* @param repositories - Array of repositories to display in the box.
* @param refresh - Function that can be called to refresh the repositories list.
2021-04-29 14:58:31 +00:00
* @param props - Additional props to pass to the box.
* @returns {JSX.Element}
* @constructor
*/
2021-05-11 14:33:12 +00:00
export default function BoxRepositoriesActive({ repositories, refresh, ...props }) {
const {user} = useContext(ContextUser)
let contents;
2021-05-11 14:33:12 +00:00
if(repositories.length > 0) {
contents = repositories.map(repo => (
<RepositorySummaryBase
key={repo["id"]}
{...repo}
icon={faSearch}
refresh={refresh}
canArchive={true}
canEdit={true}
canDelete={repo["owner"]["username"] === user["username"]}
/>
))
}
else {
2021-05-11 14:33:12 +00:00
contents = <i>There's nothing here.</i>
}
return (
<BoxFull header={"Your active repositories"} {...props}>
{contents}
</BoxFull>
)
}