1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 04:54:18 +00:00

🐛 Fix repository display bug

This commit is contained in:
Stefano Pigozzi 2021-05-02 18:10:09 +02:00
parent 86ed277f31
commit e4ac241a03
Signed by untrusted user who does not match committer: steffo
GPG key ID: 6965406171929D01
3 changed files with 31 additions and 11 deletions

View file

@ -5,6 +5,7 @@ import useData from "../../hooks/useData"
import RepositorySummaryBase from "./RepositorySummaryBase"
import Loading from "../base/Loading"
import BoxAlert from "../base/BoxAlert"
import { faSearch } from "@fortawesome/free-solid-svg-icons"
/**
@ -15,9 +16,9 @@ import BoxAlert from "../base/BoxAlert"
* @constructor
*/
export default function BoxRepositoriesActive({ ...props }) {
const {fetchDataAuth} = useContext(ContextUser)
const {user, fetchDataAuth} = useContext(ContextUser)
const {data, started, loading, error} = useData(fetchDataAuth, "GET", "/api/v1/repositories/", {
"onlyAlive": true,
"onlyActive": true,
})
let contents;
@ -30,7 +31,15 @@ export default function BoxRepositoriesActive({ ...props }) {
else {
let repositories = [...data["owner"], ...data["spectator"]]
if(repositories.length > 0) {
contents = repositories.map(repo => <RepositorySummaryBase {...repo}/>)
contents = repositories.map(repo => (
<RepositorySummaryBase
{...repo}
icon={faSearch}
canArchive={true}
canEdit={true}
canDelete={repo["owner"]["username"] === user["username"]}
/>
))
}
else {
contents = <i>There's nothing here.</i>

View file

@ -5,6 +5,7 @@ import useData from "../../hooks/useData"
import RepositorySummaryBase from "./RepositorySummaryBase"
import Loading from "../base/Loading"
import BoxAlert from "../base/BoxAlert"
import { faSearch } from "@fortawesome/free-solid-svg-icons"
/**
@ -15,7 +16,7 @@ import BoxAlert from "../base/BoxAlert"
* @constructor
*/
export default function BoxRepositoriesArchived({ ...props }) {
const {fetchDataAuth} = useContext(ContextUser)
const {user, fetchDataAuth} = useContext(ContextUser)
const {data, started, loading, error} = useData(fetchDataAuth, "GET", "/api/v1/repositories/", {
"onlyDead": true,
})
@ -30,7 +31,15 @@ export default function BoxRepositoriesArchived({ ...props }) {
else {
let repositories = [...data["owner"], ...data["spectator"]]
if(repositories.length > 0) {
contents = repositories.map(repo => <RepositorySummaryBase {...repo}/>)
contents = repositories.map(repo => (
<RepositorySummaryBase
{...repo}
icon={faSearch}
canArchive={true}
canEdit={false}
canDelete={repo["owner"]["username"] === user["username"]}
/>
))
}
else {
contents = <i>There's nothing here.</i>

View file

@ -10,10 +10,12 @@ import { faArchive, faPencilAlt, faTrash } from "@fortawesome/free-solid-svg-ico
* A long line representing a repository in a list.
*
* @param icon - The FontAwesome IconDefinition that represents the repository.
* @param title - The title of the repository.
* @param name - The title of the repository.
* @todo What goes in the details field?
* @param details - Whatever should be rendered in the details field.
* @param startDate - The start date of the repository.
* @param start - The start date of the repository.
* @param end - The end date of the repository.
* @param isActive - Whether the repository is active or not.
* @param canDelete - If the Delete button should be displayed or not.
* @param canEdit - If the Edit button should be displayed or not.
* @param canArchive - If the Archive button should be displayed or not.
@ -23,7 +25,7 @@ import { faArchive, faPencilAlt, faTrash } from "@fortawesome/free-solid-svg-ico
* @constructor
*/
export default function RepositorySummaryBase(
{ icon, title, details, startDate, canDelete, canEdit, canArchive, className, ...props }
{ icon, name, details, start, end, isActive, canDelete, canEdit, canArchive, className, ...props }
) {
return (
<div className={classNames(Style.RepositorySummary, className)} {...props}>
@ -32,10 +34,10 @@ export default function RepositorySummaryBase(
<FontAwesomeIcon icon={icon}/>
</div>
<div className={Style.Title}>
{title}
{name}
</div>
<div className={Style.StartDate}>
{startDate}
{start}
</div>
</div>
<div className={Style.Middle}>
@ -49,7 +51,7 @@ export default function RepositorySummaryBase(
<Button color={"Yellow"} icon={faPencilAlt}>Edit</Button>
: null}
{canArchive ?
<Button color={"Grey"} icon={faArchive}>Archive</Button>
<Button color={"Grey"} icon={faArchive}>{isActive ? "Archive" : "Unarchive"}</Button>
: null}
</div>
</div>