Loading frontend/src/instructor/InstructorTeamSelector/Reloader.tsx 0 → 100644 +19 −0 Original line number Diff line number Diff line import { Button } from '@blueprintjs/core' import useTeamStateValidator from './useTeamStateValidator' const Reloader = () => { const validator = useTeamStateValidator() return ( <Button rightIcon='refresh' title='Reload the list of teams, note that this will show only the teams that are currently in the exercise.' minimal onClick={() => { validator() }} style={{ marginLeft: 'auto' }} /> ) } export default Reloader frontend/src/instructor/InstructorTeamSelector/index.tsx +1 −1 Original line number Diff line number Diff line import { toggleTeam, useTeams } from '@/clientsettings/vars/teams' import Reloader from '@/logic/TeamSelector/components/Reloader' import { Link, useParams } from '@/router' import { Button, Loading @@ -10,6 +9,7 @@ import { MenuItem, } from '@blueprintjs/core' import { useEffect, useState } from 'react' import Reloader from './Reloader' import useTeamStateValidator from './useTeamStateValidator' const InstructorTeamSelector = () => { Loading frontend/src/instructor/InstructorTeamSelector/useTeamStateValidator.ts +3 −3 Original line number Diff line number Diff line Loading @@ -5,12 +5,12 @@ import notEmpty from '@inject/shared/utils/notEmpty' const useTeamStateValidator = () => { const teamsVar = useTeams() const { data, refetch } = useGetRunningExercises({ const { refetch } = useGetRunningExercises({ fetchPolicy: 'network-only', }) return () => { refetch() return async () => { const { data } = await refetch() if (!data || !data.exercises) return const runningExercises = data.exercises.filter(notEmpty) if (runningExercises.length !== 1 || !data.exercises[0]) return Loading Loading
frontend/src/instructor/InstructorTeamSelector/Reloader.tsx 0 → 100644 +19 −0 Original line number Diff line number Diff line import { Button } from '@blueprintjs/core' import useTeamStateValidator from './useTeamStateValidator' const Reloader = () => { const validator = useTeamStateValidator() return ( <Button rightIcon='refresh' title='Reload the list of teams, note that this will show only the teams that are currently in the exercise.' minimal onClick={() => { validator() }} style={{ marginLeft: 'auto' }} /> ) } export default Reloader
frontend/src/instructor/InstructorTeamSelector/index.tsx +1 −1 Original line number Diff line number Diff line import { toggleTeam, useTeams } from '@/clientsettings/vars/teams' import Reloader from '@/logic/TeamSelector/components/Reloader' import { Link, useParams } from '@/router' import { Button, Loading @@ -10,6 +9,7 @@ import { MenuItem, } from '@blueprintjs/core' import { useEffect, useState } from 'react' import Reloader from './Reloader' import useTeamStateValidator from './useTeamStateValidator' const InstructorTeamSelector = () => { Loading
frontend/src/instructor/InstructorTeamSelector/useTeamStateValidator.ts +3 −3 Original line number Diff line number Diff line Loading @@ -5,12 +5,12 @@ import notEmpty from '@inject/shared/utils/notEmpty' const useTeamStateValidator = () => { const teamsVar = useTeams() const { data, refetch } = useGetRunningExercises({ const { refetch } = useGetRunningExercises({ fetchPolicy: 'network-only', }) return () => { refetch() return async () => { const { data } = await refetch() if (!data || !data.exercises) return const runningExercises = data.exercises.filter(notEmpty) if (runningExercises.length !== 1 || !data.exercises[0]) return Loading