diff --git a/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js b/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js new file mode 100644 index 0000000000000000000000000000000000000000..878a6a0dae21bae3f904b6a49a60336756581e3d --- /dev/null +++ b/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js @@ -0,0 +1,143 @@ +/*Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre +Departamento de Informatica - Universidade Federal do Parana + +This file is part of Plataforma Integrada MEC. + +Plataforma Integrada MEC is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Plataforma Integrada MEC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with Plataforma Integrada MEC. If not, see <http://www.gnu.org/licenses/>.*/ + +import React, { useState, useEffect } from "react"; +// Maerial ui components +import Card from "@material-ui/core/Card"; +import CardContent from "@material-ui/core/CardContent"; +import Typography from "@material-ui/core/Typography"; +import Button from "@material-ui/core/Button"; +import ListRoundedIcon from "@material-ui/icons/ListRounded"; +import ButtonGroup from "@material-ui/core/ButtonGroup"; +import { useStyles } from "../../Styles/DataCard"; +// Icons +import EmailRoundedIcon from '@material-ui/icons/EmailRounded'; +//imports from local files +import { GetAData } from "../../../Filters"; +import { Link } from 'react-router-dom' +import { GetSpecificData } from "../../../Services"; + +const CommunityQuestions = ({ match }) => { + console.log(match); + const classes = useStyles(); + + const [error, setError] = useState(null); //Necessary to consult the API, catch errors + const [isLoaded, setIsLoaded] = useState(false); //Necessary to consult the API, wait until complete + const [item, setItem] = useState({}); //Necessary to consult the API, data + + useEffect(() => { + const headers = { + Accept: "application/json", + "Content-Type": "application/json; charset=utf-8", + "access-token": sessionStorage.getItem("@portalmec/accessToken"), + client: sessionStorage.getItem("@portalmec/clientToken"), + uid: sessionStorage.getItem("@portalmec/uid"), + }; + + GetSpecificData(GetAData("contacts", match.params.id), headers).then( + (res) => { + if (res.state) { + setItem(res.data); + setIsLoaded(true); + setError(false); + } else { + setIsLoaded(true); + setError(true); + } + } + ); + }, []); + + if (error) { + return <div>Houve um erro</div>; + } else if (!isLoaded) { + return <div>Loading...</div>; + } else { + console.log(item) + const DATA = [ + { + subTitle: "ID", + prop: item.id, + }, + { + subTitle: "Nome", + prop: item.name, + }, + { + subTitle: "Descrição", + prop: + item.email ? + <Link to={`/admin/sendEmail/${item.email}`} style={{textDecoration : 'none'}}> + <Button + variant='text' + color='primary' + startIcon={<EmailRoundedIcon />} + > + {item.email} + </Button> + </Link> : null + }, + { + subTitle: "Endereço", + prop: item.message, + }, + { + subTitle: "Criado em", + prop: item.created_at, + }, + ]; + + return ( + <Card className={classes.root} variant="outlined"> + <CardContent> + <div className={classes.displayRow}> + <Typography className={classes.title} color="inherit" gutterBottom> + {item.name} + </Typography> + <ButtonGroup + color="primary" + aria-label="outlined primary button group" + > + <Link style={{textDecoration: 'none'}} to={`/admin/CommunityQuestions`}> + <Button + startIcon={<ListRoundedIcon />} + color="primary" + variant="outlined" + > + Listar + </Button> + </Link> + </ButtonGroup> + </div> + {DATA.map((info, index) => ( + <div className={classes.displayColumn} key={index}> + <Typography color="initial" className={classes.subTitle}> + {info.subTitle} + </Typography> + <Typography color="textSecondary"> + {info.prop === null ? "Sem dados" : info.prop} + </Typography> + </div> + ))} + </CardContent> + </Card> + ); + } +}; + +export default CommunityQuestions; diff --git a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js index 8bdef6e3891d11477076dc004b9828b0a6ca6edf..02c749cda35db1b9b50542a4fb62c5afbc89f223 100644 --- a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js +++ b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js @@ -534,7 +534,7 @@ const Activity = () => { {row.message} </StyledTableCell> <StyledTableCell align="right"> - <Link to={`/admin/activity/${row.id}`}> + <Link to={`/admin/CommunityQuestion/${row.id}`}> <IconButton> <VisibilityIcon style={{ fill: "#00bcd4" }} /> </IconButton>