1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 21:14:18 +00:00
pds-2021-g2-nest/nest_frontend/components/interactive/SummaryUser.js

42 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-05-12 02:10:36 +00:00
import React, { useContext } from "react"
import Summary from "../base/Summary"
import { faStar, faTrash, faUser } from "@fortawesome/free-solid-svg-icons"
import Button from "../base/Button"
import ContextUser from "../../contexts/ContextUser"
2021-05-18 00:04:06 +00:00
import ContextLanguage from "../../contexts/ContextLanguage"
2021-05-12 02:10:36 +00:00
export default function SummaryUser({ user, destroyUser, running, ...props }) {
const { user: loggedUser } = useContext(ContextUser)
2021-05-18 00:04:06 +00:00
const {strings} = useContext(ContextLanguage)
2021-05-12 02:10:36 +00:00
const buttons = <>
{loggedUser.email !== user.email ?
<Button
color={"Red"}
icon={faTrash}
2021-05-12 02:34:54 +00:00
onClick={async event => {
event.stopPropagation()
2021-05-12 02:10:36 +00:00
// TODO: Errors are not caught here. Where should they be displayed?
await destroyUser(user["email"])
}}
disabled={running}
>
2021-05-18 00:04:06 +00:00
{strings.delete}
2021-05-12 02:10:36 +00:00
</Button>
: null}
</>
return (
<Summary
icon={user.isAdmin ? faStar : faUser}
title={user.username}
subtitle={user.email}
2021-05-18 00:04:06 +00:00
upperLabel={strings.type}
upperValue={user.isAdmin ? strings.admin : strings.user}
2021-05-12 02:10:36 +00:00
buttons={buttons}
{...props}
/>
)
}