File tree Expand file tree Collapse file tree
hooks/useNotifyCompRemoteActivities Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -160,6 +160,12 @@ export function useNotifyCompRemoteActivities({
160160 variables : { competitionId, activityIds } ,
161161 } ) ,
162162 ) ,
163+ resetAllActivities : ( ) =>
164+ runMutation ( ( ) =>
165+ resetActivities ( {
166+ variables : { competitionId } ,
167+ } ) ,
168+ ) ,
163169 resetActivity : ( activityId : number ) =>
164170 runMutation ( ( ) =>
165171 resetActivity ( {
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import { useParams } from 'react-router-dom';
44import { BarLoader } from 'react-spinners' ;
55import { Button , Container , NoteBox } from '@/components' ;
66import { useCompetitionRemoteControl } from '@/hooks/useCompetitionRemoteControl' ;
7+ import { isCompetitionDay } from '@/lib/competitionDates' ;
78import { RemoteActivityGroup } from '@/lib/notifyCompRemoteActivities' ;
89import { useNotifyCompRemoteAuth } from '@/providers/NotifyCompRemoteAuthProvider' ;
910import { useWCIF } from '@/providers/WCIFProvider' ;
@@ -38,6 +39,10 @@ export default function CompetitionRemote() {
3839 return null ;
3940 }
4041
42+ const hasStartedRemoteActivities = remote . activities . some ( ( activity ) => activity . startTime ) ;
43+ const canResetAllActivities =
44+ Boolean ( remote . competition ) && ! isCompetitionDay ( wcif ) && hasStartedRemoteActivities ;
45+
4146 const selectGroup = ( group : RemoteActivityGroup ) => {
4247 const action =
4348 group . status === 'done'
@@ -140,6 +145,26 @@ export default function CompetitionRemote() {
140145 onSelectGroup = { selectGroup }
141146 />
142147 </ div >
148+
149+ { canResetAllActivities && (
150+ < div className = "border-t border-tertiary-weak pt-4 text-right" >
151+ < Button
152+ type = "button"
153+ variant = "gray"
154+ disabled = { remote . isSaving }
155+ onClick = { ( ) => {
156+ if (
157+ confirmAction (
158+ 'Reset all NotifyComp activities for this competition? This will clear every remote start and stop time.' ,
159+ )
160+ ) {
161+ void remote . resetAllActivities ( ) ;
162+ }
163+ } } >
164+ Reset all activities
165+ </ Button >
166+ </ div >
167+ ) }
143168 </ div >
144169 ) }
145170 </ >
You can’t perform that action at this time.
0 commit comments