From 8e0eb6dc15ce9612078e9090b5fac2f3e7756689 Mon Sep 17 00:00:00 2001
From: robban64 <carl@schonfelder.se>
Date: Tue, 20 Apr 2021 12:54:56 +0200
Subject: [PATCH] fix: everything with stuff

---
 client/src/actions/presentation.ts                           | 3 ++-
 client/src/pages/admin/AdminPage.tsx                         | 4 +++-
 client/src/pages/admin/competitions/CompetitionManager.tsx   | 5 +++--
 .../src/pages/presentationEditor/PresentationEditorPage.tsx  | 2 +-
 client/src/reducers/presentationReducer.ts                   | 1 +
 5 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/client/src/actions/presentation.ts b/client/src/actions/presentation.ts
index d1fddd97..c967131f 100644
--- a/client/src/actions/presentation.ts
+++ b/client/src/actions/presentation.ts
@@ -1,6 +1,7 @@
 import axios from 'axios'
 import { Slide } from '../interfaces/ApiModels'
-import { AppDispatch } from './../store'
+import { Timer } from '../interfaces/Timer'
+import store, { AppDispatch } from './../store'
 import Types from './types'
 
 export const getPresentationCompetition = (id: string) => async (dispatch: AppDispatch) => {
diff --git a/client/src/pages/admin/AdminPage.tsx b/client/src/pages/admin/AdminPage.tsx
index beff5f93..30cfe656 100644
--- a/client/src/pages/admin/AdminPage.tsx
+++ b/client/src/pages/admin/AdminPage.tsx
@@ -59,7 +59,9 @@ const AdminView: React.FC = () => {
   const [openIndex, setOpenIndex] = React.useState(0)
   const { path, url } = useRouteMatch()
   const currentUser = useAppSelector((state) => state.user.userInfo)
-  const isAdmin = useAppSelector((state) => Boolean(state.roles.roles.find((x) => x.id === currentUser?.role_id)))
+  const isAdmin = useAppSelector(
+    (state) => state.roles.roles.find((x) => x.id === currentUser?.role_id)?.name === 'Admin'
+  )
   const dispatch = useAppDispatch()
   const handleLogout = () => {
     dispatch(logoutUser())
diff --git a/client/src/pages/admin/competitions/CompetitionManager.tsx b/client/src/pages/admin/competitions/CompetitionManager.tsx
index 08a18581..6c7da5db 100644
--- a/client/src/pages/admin/competitions/CompetitionManager.tsx
+++ b/client/src/pages/admin/competitions/CompetitionManager.tsx
@@ -36,6 +36,7 @@ const CompetitionManager: React.FC = (props: any) => {
   const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null)
   const [activeId, setActiveId] = React.useState<number | undefined>(undefined)
   const [timerHandle, setTimerHandle] = React.useState<number | undefined>(undefined)
+  const loading = useAppSelector((state) => state.user.userInfo === null)
   const competitions = useAppSelector((state) => state.competitions.competitions)
   const filterParams = useAppSelector((state) => state.competitions.filterParams)
   const competitionTotal = useAppSelector((state) => state.competitions.total)
@@ -125,12 +126,12 @@ const CompetitionManager: React.FC = (props: any) => {
             label="Ã…r"
             name="model.year"
             type="number"
-            value={filterParams.year || new Date().getFullYear()}
+            value={filterParams.year || ''}
             onChange={(event) => handleFilterChange({ ...filterParams, year: +event.target.value })}
             margin="normal"
           />
         </FilterContainer>
-        <AddCompetition />
+        {!loading && <AddCompetition />}
       </TopBar>
       <TableContainer component={Paper}>
         <Table className={classes.table} aria-label="simple table">
diff --git a/client/src/pages/presentationEditor/PresentationEditorPage.tsx b/client/src/pages/presentationEditor/PresentationEditorPage.tsx
index d57b0b98..eb60cee2 100644
--- a/client/src/pages/presentationEditor/PresentationEditorPage.tsx
+++ b/client/src/pages/presentationEditor/PresentationEditorPage.tsx
@@ -8,7 +8,7 @@ import { createStyles, makeStyles, Theme } from '@material-ui/core/styles'
 import React, { useEffect } from 'react'
 import { useParams } from 'react-router-dom'
 import { getCities } from '../../actions/cities'
-import { getEditorCompetition } from '../../actions/editor'
+import { getEditorCompetition, setEditorSlideId } from '../../actions/editor'
 import { getTypes } from '../../actions/typesAction'
 import { useAppDispatch, useAppSelector } from '../../hooks'
 import { Content } from '../views/styled'
diff --git a/client/src/reducers/presentationReducer.ts b/client/src/reducers/presentationReducer.ts
index f706ba54..5ba3ac5b 100644
--- a/client/src/reducers/presentationReducer.ts
+++ b/client/src/reducers/presentationReducer.ts
@@ -1,6 +1,7 @@
 import { AnyAction } from 'redux'
 import Types from '../actions/types'
 import { Slide, Team } from '../interfaces/ApiModels'
+import { Timer } from '../interfaces/Timer'
 import { RichCompetition } from './../interfaces/ApiRichModels'
 
 interface PresentationState {
-- 
GitLab