diff --git a/src/api/SwaggerApi.js b/src/api/SwaggerApi.js index 517c595750f9d6dd4aeb894858ddd783b6476b0d..2394f3e0f03c170de91e57fe76c53c6d9aa3e7da 100644 --- a/src/api/SwaggerApi.js +++ b/src/api/SwaggerApi.js @@ -805,7 +805,16 @@ export function useAnnouncements() { } export function unpackAnnouncement(announcements) { - const a = { ...announcements }; - console.log(a); - return a; + return { ...announcements }; } + +export function usePersonalStatistics() { + const api = useContext(apiContext); + const method = useCallAndUnpack(api.apis.Statistics.personalStatistics, unpackPersonalStatistics) + + return useAsync({ fcn: method, call: true }); +} + +export function unpackPersonalStatistics(statistics) { + return { ...statistics }; +} \ No newline at end of file diff --git a/src/views/home/HomeView.js b/src/views/home/HomeView.js index 202e957406bd7c71e6c0b5ce3b8b5a8e0b700e93..21ce478f8acdfa6e010e9f72eb3dcb3d5d0b38b5 100644 --- a/src/views/home/HomeView.js +++ b/src/views/home/HomeView.js @@ -2,8 +2,9 @@ import { Container, Grid, Paper, Button, Box, Typography } from "@material-ui/co import React, { useState} from "react"; import { useGlobalAppBar } from "../../components/navigation/GlobalAppBar/GlobalAppBar"; import { CreateIOC } from "../../components/IOC/CreateIOC"; +import { KeyValueTable } from "../../components/common/KeyValueTable/KeyValueTable"; import { SimpleModal } from "../../components/common/SimpleModal/SimpleModal"; -import { useCreateIOC, useAnnouncements } from "../../api/SwaggerApi"; +import { useCreateIOC, useAnnouncements, usePersonalStatistics } from "../../api/SwaggerApi"; import ReactMarkdown from 'react-markdown' import remarkGfm from 'remark-gfm' import { makeStyles } from '@material-ui/core/styles'; @@ -21,6 +22,7 @@ const useStyles = makeStyles((theme) => ({ export function HomeView() { const [iocFormOpen, setIOCFormOpen] = useState(false); const [announcements] = useAnnouncements(); + const [statistics] = usePersonalStatistics(); const classes = useStyles(); console.log("rendering Own IOCs") @@ -38,7 +40,7 @@ export function HomeView() { <Grid item xs={10}> <Box display="flex" flexDirection="row" p={2} m={1}> <Typography variant="h2"> - Home + My statistics </Typography> </Box> </Grid> @@ -47,6 +49,11 @@ export function HomeView() { <Button variant="contained" color="secondary" onClick={() => { setIOCFormOpen(true) }}>New IOC</Button> </Box> </Grid> + {statistics && + <Grid item xs={12}> + <KeyValueTable obj={{"Number of my IOCs": statistics.numberOfActiveIocs}} variant="table" /> + </Grid> + } </Grid> {announcements?.announcementsText && <Grid container justify="flex-start" className={classes.announcements}>