UNLV-CS472-672 / 2024-S-GROUP3-Barbell

A workout-tracking app with a support website that does more than just track workouts. Cross platform in IOS and Android
4 stars 0 forks source link

Frontend - Rest Timer for Workout Tracker #241

Closed StefanoRubini closed 6 months ago

StefanoRubini commented 6 months ago

What type of PR is this? (Check all that apply)

Description

What did you change? How did you change it? The purpose of this PR is to create a functional rest timer for the workout tracker that has the following functionality:

  1. Timer has minutes and seconds field that allows for custom rest times that ONLY accepts numeric whole numbers.
  2. Both minutes and seconds fields have to have valid input before a timer can start, if either is empty or both are empty, no timer can be started.
  3. Once a timer starts, their minutes and seconds fields cannot be modified to prevent the timer from being changed. The same applies to a timer that has been paused with time remaining, these fields cannot be modified until the timer expires or is reset.
  4. A timer can be reset when it is paused or while it is running, both are valid options that do not break the timer.
  5. When a timer is reset, the amount of time that it was given is discarded and it goes to a default timer of 00:00 with an empty progress bar.

Tests

How was this tested?

[Optional] Screenshots

https://github.com/UNLV-CS472-672/2024-S-GROUP3-Barbell/assets/124111831/e7eff3cc-f90a-4a54-b2ec-538ed4a333d9

Documentation

Link to external documentation: N/A

[Optional] Are there any post-deployment tasks we need to perform?

No

Usage of AI

For this specific task, I did not use ChatGPT to help me with finishing the PR, as I was provided with an excellent documentation link about the 'react-native-countdown-circle-timer' library that was used to bring this rest timer to life. Any other general questions that I had for fixing the issues I ran into was answered with Google searches.

Additional Information

Closes Issue #233

mva919 commented 6 months ago

Fixed merge conflict