Skip to content
Snippets Groups Projects
Commit e6af0c86 authored by Björn Modée's avatar Björn Modée
Browse files

add overflow protection for widget, add new widget and improved styling somewhat

parent 588849d8
No related branches found
No related tags found
1 merge request!59Resolve "Create a dashboard"
Pipeline #39998 failed
This commit is part of merge request !59. Comments created here will be created in the context of that merge request.
...@@ -3,6 +3,7 @@ import Paper from '@material-ui/core/Paper' ...@@ -3,6 +3,7 @@ import Paper from '@material-ui/core/Paper'
import { createStyles, makeStyles, Theme } from '@material-ui/core/styles' import { createStyles, makeStyles, Theme } from '@material-ui/core/styles'
import React from 'react' import React from 'react'
import CurrentUser from './widgets/CurrentUser' import CurrentUser from './widgets/CurrentUser'
import NumberOfCompetitions from './widgets/NumberOfCompetitions'
import NumberOfRegions from './widgets/NumberOfRegions' import NumberOfRegions from './widgets/NumberOfRegions'
import NumberOfUsers from './widgets/NumberOfUsers' import NumberOfUsers from './widgets/NumberOfUsers'
...@@ -26,30 +27,30 @@ const Dashboard: React.FC = () => { ...@@ -26,30 +27,30 @@ const Dashboard: React.FC = () => {
<div className={classes.root}> <div className={classes.root}>
<div> <div>
<Grid container spacing={3}> <Grid container spacing={3}>
<Grid item xs={12}> <Grid item xs={4}>
<Paper className={classes.paper}> <Paper className={classes.paper}>
<h1>Välkommen!</h1>
</Paper>
</Grid>
<Grid item xs={6}>
<Paper className={classes.paper}>
<h1>Du är inloggad som:</h1>
<CurrentUser /> <CurrentUser />
</Paper> </Paper>
</Grid> </Grid>
<Grid item xs={3}> <Grid item xs>
<Paper className={classes.paper}> <Paper className={classes.paper}>
<h1>Antal Användare:</h1> <h1>Antal Användare:</h1>
<NumberOfUsers /> <NumberOfUsers />
</Paper> </Paper>
</Grid> </Grid>
<Grid item xs={3}> <Grid item xs>
<Paper className={classes.paper}> <Paper className={classes.paper}>
<h1>Antal Regioner:</h1> <h1>Antal Regioner:</h1>
<NumberOfRegions /> <NumberOfRegions />
</Paper> </Paper>
</Grid> </Grid>
<Grid item xs>
<Paper className={classes.paper}>
<h1>Antal Tävlingar:</h1>
<NumberOfCompetitions />
</Paper>
</Grid>
</Grid> </Grid>
</div> </div>
</div> </div>
......
...@@ -8,7 +8,7 @@ const CurrentUser: React.FC = () => { ...@@ -8,7 +8,7 @@ const CurrentUser: React.FC = () => {
<div> <div>
<Box display="flex" flexDirection="column" alignContent="flex-start"> <Box display="flex" flexDirection="column" alignContent="flex-start">
<div> <div>
<h2>Namn: {currentUser.name}</h2> <h1>Välkommen, {currentUser.name}!</h1>
</div> </div>
<div> <div>
<h2>Email: {currentUser.email}</h2> <h2>Email: {currentUser.email}</h2>
......
import { Box } from '@material-ui/core'
import React, { useEffect } from 'react'
import { getSearchUsers } from '../../../../actions/searchUser'
import { useAppDispatch, useAppSelector } from '../../../../hooks'
const NumberOfCompetitions: React.FC = () => {
const cities = useAppSelector((state) => state.cities.cities)
const dispatch = useAppDispatch()
const handleCount = () => {
if (cities.length >= 1000000) {
;<div>{cities.length / 1000000 + 'M'}</div>
} else if (cities.length >= 1000) {
;<div>{cities.length / 1000 + 'K'}</div>
}
return <div>{cities.length}</div>
}
useEffect(() => {
dispatch(getSearchUsers())
}, [])
return (
<div>
<Box color="text.primary" bgcolor="" fontFamily="h3.fontFamily" width="100%" height="100%">
<div>
<h1>{handleCount()}</h1>
</div>
</Box>
</div>
)
}
export default NumberOfCompetitions
...@@ -4,16 +4,16 @@ import { getSearchUsers } from '../../../../actions/searchUser' ...@@ -4,16 +4,16 @@ import { getSearchUsers } from '../../../../actions/searchUser'
import { useAppDispatch, useAppSelector } from '../../../../hooks' import { useAppDispatch, useAppSelector } from '../../../../hooks'
const NumberOfRegions: React.FC = () => { const NumberOfRegions: React.FC = () => {
const cities = useAppSelector((state) => state.cities.cities) const competitionTotal = useAppSelector((state) => state.competitions.total)
const dispatch = useAppDispatch() const dispatch = useAppDispatch()
const handleCount = () => { const handleCount = () => {
if (cities.length >= 1000000) { if (competitionTotal >= 1000000) {
;<div>{cities.length / 1000000 + 'M'}</div> ;<div>{competitionTotal / 1000000 + 'M'}</div>
} else if (cities.length >= 1000) { } else if (competitionTotal >= 1000) {
;<div>{cities.length / 1000 + 'K'}</div> ;<div>{competitionTotal / 1000 + 'K'}</div>
} }
return <div>{cities.length}</div> return <div>{competitionTotal}</div>
} }
useEffect(() => { useEffect(() => {
...@@ -23,7 +23,7 @@ const NumberOfRegions: React.FC = () => { ...@@ -23,7 +23,7 @@ const NumberOfRegions: React.FC = () => {
<div> <div>
<Box color="text.primary" bgcolor="" fontFamily="h3.fontFamily" width="100%" height="100%"> <Box color="text.primary" bgcolor="" fontFamily="h3.fontFamily" width="100%" height="100%">
<div> <div>
<h2>{handleCount()}</h2> <h1>{handleCount()}</h1>
</div> </div>
</Box> </Box>
</div> </div>
......
...@@ -23,7 +23,7 @@ const NumberOfUsers: React.FC = () => { ...@@ -23,7 +23,7 @@ const NumberOfUsers: React.FC = () => {
<div> <div>
<Box color="text.primary" bgcolor="" fontFamily="h3.fontFamily" width="100%" height="100%"> <Box color="text.primary" bgcolor="" fontFamily="h3.fontFamily" width="100%" height="100%">
<div> <div>
<h2>{handleCount()}</h2> <h1>{handleCount()}</h1>
</div> </div>
</Box> </Box>
</div> </div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment