This will be the first page that a player sees when they click on a challenge set. It will give the challenge set's title and instructions, and should have a button for the player to start the challenge set. When the button is clicked, we should create a ChallengeSetResponse for the player with the current time as the start time and direct them to the first Challenge in the set.
I think last year I also saved the start time in local storage so I could calculate a clientRecordedTime on the ChallengeSetResponse when the user finishes, just in case something goes weird.
If the challenge set's timeAvailableStart is in the future it should 404.
If the challenge set's timeAvailableEnd exists and is in the past, that should be indicated. Might not have a start button then, or probably better, have a start button, but record that the challenge was begun after the timeAvailableEnd. That way people can play still, but we can maybe count them differently on the scoreboard if we want.
If the user has completed the challenge set (has a ChallengeSetResponse for the ChallengeSet with a completedAt time), that should be indicated. In that case, the start button will be more a review button, since the challenge pages will not be editable, but will show the player's answer and the correct answer (probably?).
This will be the first page that a player sees when they click on a challenge set. It will give the challenge set's title and instructions, and should have a button for the player to start the challenge set. When the button is clicked, we should create a ChallengeSetResponse for the player with the current time as the start time and direct them to the first Challenge in the set.
I think last year I also saved the start time in local storage so I could calculate a clientRecordedTime on the ChallengeSetResponse when the user finishes, just in case something goes weird.
If the challenge set's
timeAvailableStart
is in the future it should 404.If the challenge set's
timeAvailableEnd
exists and is in the past, that should be indicated. Might not have a start button then, or probably better, have a start button, but record that the challenge was begun after thetimeAvailableEnd
. That way people can play still, but we can maybe count them differently on the scoreboard if we want.If the user has completed the challenge set (has a ChallengeSetResponse for the ChallengeSet with a
completedAt
time), that should be indicated. In that case, the start button will be more a review button, since the challenge pages will not be editable, but will show the player's answer and the correct answer (probably?).