Timer implemented. No working tests.
This commit is contained in:
@@ -29,7 +29,7 @@ The system relies on JWT-based authentication.
|
||||
* **Input**: Email, Password.
|
||||
* **Logic**:
|
||||
* Email must be unique.
|
||||
* Creates a `UserProfile` with default values (e.g., default weight 70kg) upon account creation.
|
||||
* Creates a `UserProfile` with default values (e.g., default weight 70kg, default rest timer 120s) upon account creation.
|
||||
* Sets `isFirstLogin` to true.
|
||||
* **3.1.3 First-Time Setup (Password Change)**
|
||||
* **Trigger**: If `User.isFirstLogin` is true.
|
||||
@@ -50,6 +50,7 @@ Users can structure their training via Plans.
|
||||
* User selects exercises from the global/personal library.
|
||||
* **Ordering**: Exercises must be ordered (0-indexed).
|
||||
* **Weighted Flag**: specific exercises in a plan can be marked as `isWeighted` (visual indicator).
|
||||
* **Rest Time**: specific exercises can have a defined `restTime` (seconds).
|
||||
* **Logic**: Supports reordering capabilities via drag-and-drop in UI.
|
||||
* **3.2.2 Plan Deletion**
|
||||
* Standard soft or hard delete (Cascades to PlanExercises).
|
||||
@@ -98,7 +99,32 @@ The core feature. States: **Idle**, **Active Session**, **Sporadic Mode**.
|
||||
* `POST /sessions/quick-log/set`:
|
||||
* Finds OR Creates the daily Quick Log session.
|
||||
* Appends the set.
|
||||
* **UI**: Separate "Sporadic Mode" view specialized for fast, one-off entries without a timer or plan context.
|
||||
* **UI**: Separate "Sporadic Mode" view specialized for fast, one-off entries without a timer or plan context. Matches "Free Session" timer logic (see 3.4.3).
|
||||
|
||||
* **3.4.3 Rest Timer**
|
||||
* **Concept**: A configurable timer to track rest periods between sets.
|
||||
* **Contexts**:
|
||||
* **Free Session / Quick Log**:
|
||||
* Manual setup.
|
||||
* Default value: 2 minutes (120s).
|
||||
* **Persistence**: The last manually set value becomes the new default for the user.
|
||||
* **Planned Session**:
|
||||
* **Config**: Each step in a plan can have a specific `restTime` (seconds).
|
||||
* **Auto-Set**: When a set is logged, the timer resets to the value defined for the *current* step.
|
||||
* **Fallback**: If plan step has no `restTime`, use User's default.
|
||||
* **Behavior**:
|
||||
* **Start**: Manual trigger by user.
|
||||
* **Countdown**: Visual display.
|
||||
* **Completion**:
|
||||
* Audio signal (3 seconds).
|
||||
* Visual alert (Red color for 3 seconds).
|
||||
* Auto-reset to next expected rest time.
|
||||
* **UI Component**:
|
||||
* Floating Action Button (FAB).
|
||||
* **Idle**: Green Icon.
|
||||
* **Running**: Shows digits.
|
||||
* **Finished**: Red animation.
|
||||
|
||||
|
||||
### 3.5. History & Analysis
|
||||
* **3.5.1 Session History**
|
||||
|
||||
Reference in New Issue
Block a user