From e6af0c8672fac2e012b7cf34be73868483fbb454 Mon Sep 17 00:00:00 2001
From: bmodee <bjomo323@student.liu.se>
Date: Tue, 13 Apr 2021 18:53:49 +0200
Subject: [PATCH] add overflow protection for widget, add new widget and
 improved styling somewhat

---
 .../src/pages/admin/dashboard/Dashboard.tsx   | 19 ++++++-----
 .../admin/dashboard/widgets/CurrentUser.tsx   |  2 +-
 .../widgets/NumberOfCompetitions.tsx          | 33 +++++++++++++++++++
 .../dashboard/widgets/NumberOfRegions.tsx     | 14 ++++----
 .../admin/dashboard/widgets/NumberOfUsers.tsx |  2 +-
 5 files changed, 52 insertions(+), 18 deletions(-)
 create mode 100644 client/src/pages/admin/dashboard/widgets/NumberOfCompetitions.tsx

diff --git a/client/src/pages/admin/dashboard/Dashboard.tsx b/client/src/pages/admin/dashboard/Dashboard.tsx
index 6d6c81b1..e73b6533 100644
--- a/client/src/pages/admin/dashboard/Dashboard.tsx
+++ b/client/src/pages/admin/dashboard/Dashboard.tsx
@@ -3,6 +3,7 @@ import Paper from '@material-ui/core/Paper'
 import { createStyles, makeStyles, Theme } from '@material-ui/core/styles'
 import React from 'react'
 import CurrentUser from './widgets/CurrentUser'
+import NumberOfCompetitions from './widgets/NumberOfCompetitions'
 import NumberOfRegions from './widgets/NumberOfRegions'
 import NumberOfUsers from './widgets/NumberOfUsers'
 
@@ -26,30 +27,30 @@ const Dashboard: React.FC = () => {
     <div className={classes.root}>
       <div>
         <Grid container spacing={3}>
-          <Grid item xs={12}>
+          <Grid item xs={4}>
             <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 />
             </Paper>
           </Grid>
 
-          <Grid item xs={3}>
+          <Grid item xs>
             <Paper className={classes.paper}>
               <h1>Antal Användare:</h1>
               <NumberOfUsers />
             </Paper>
           </Grid>
-          <Grid item xs={3}>
+          <Grid item xs>
             <Paper className={classes.paper}>
               <h1>Antal Regioner:</h1>
               <NumberOfRegions />
             </Paper>
           </Grid>
+          <Grid item xs>
+            <Paper className={classes.paper}>
+              <h1>Antal Tävlingar:</h1>
+              <NumberOfCompetitions />
+            </Paper>
+          </Grid>
         </Grid>
       </div>
     </div>
diff --git a/client/src/pages/admin/dashboard/widgets/CurrentUser.tsx b/client/src/pages/admin/dashboard/widgets/CurrentUser.tsx
index 4acdf4ea..66384c97 100644
--- a/client/src/pages/admin/dashboard/widgets/CurrentUser.tsx
+++ b/client/src/pages/admin/dashboard/widgets/CurrentUser.tsx
@@ -8,7 +8,7 @@ const CurrentUser: React.FC = () => {
     <div>
       <Box display="flex" flexDirection="column" alignContent="flex-start">
         <div>
-          <h2>Namn: {currentUser.name}</h2>
+          <h1>Välkommen, {currentUser.name}!</h1>
         </div>
         <div>
           <h2>Email: {currentUser.email}</h2>
diff --git a/client/src/pages/admin/dashboard/widgets/NumberOfCompetitions.tsx b/client/src/pages/admin/dashboard/widgets/NumberOfCompetitions.tsx
new file mode 100644
index 00000000..a6a73455
--- /dev/null
+++ b/client/src/pages/admin/dashboard/widgets/NumberOfCompetitions.tsx
@@ -0,0 +1,33 @@
+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
diff --git a/client/src/pages/admin/dashboard/widgets/NumberOfRegions.tsx b/client/src/pages/admin/dashboard/widgets/NumberOfRegions.tsx
index 7120e527..d2bf7251 100644
--- a/client/src/pages/admin/dashboard/widgets/NumberOfRegions.tsx
+++ b/client/src/pages/admin/dashboard/widgets/NumberOfRegions.tsx
@@ -4,16 +4,16 @@ import { getSearchUsers } from '../../../../actions/searchUser'
 import { useAppDispatch, useAppSelector } from '../../../../hooks'
 
 const NumberOfRegions: React.FC = () => {
-  const cities = useAppSelector((state) => state.cities.cities)
+  const competitionTotal = useAppSelector((state) => state.competitions.total)
   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>
+    if (competitionTotal >= 1000000) {
+      ;<div>{competitionTotal / 1000000 + 'M'}</div>
+    } else if (competitionTotal >= 1000) {
+      ;<div>{competitionTotal / 1000 + 'K'}</div>
     }
-    return <div>{cities.length}</div>
+    return <div>{competitionTotal}</div>
   }
 
   useEffect(() => {
@@ -23,7 +23,7 @@ const NumberOfRegions: React.FC = () => {
     <div>
       <Box color="text.primary" bgcolor="" fontFamily="h3.fontFamily" width="100%" height="100%">
         <div>
-          <h2>{handleCount()}</h2>
+          <h1>{handleCount()}</h1>
         </div>
       </Box>
     </div>
diff --git a/client/src/pages/admin/dashboard/widgets/NumberOfUsers.tsx b/client/src/pages/admin/dashboard/widgets/NumberOfUsers.tsx
index 79f4d4fb..1de1b5b9 100644
--- a/client/src/pages/admin/dashboard/widgets/NumberOfUsers.tsx
+++ b/client/src/pages/admin/dashboard/widgets/NumberOfUsers.tsx
@@ -23,7 +23,7 @@ const NumberOfUsers: React.FC = () => {
     <div>
       <Box color="text.primary" bgcolor="" fontFamily="h3.fontFamily" width="100%" height="100%">
         <div>
-          <h2>{handleCount()}</h2>
+          <h1>{handleCount()}</h1>
         </div>
       </Box>
     </div>
-- 
GitLab