reminder
This commit is contained in:
@@ -147,4 +147,52 @@
|
||||
|
||||
### Exit
|
||||
|
||||
- Clean exit - no work assigned
|
||||
- Clean exit - no work assigned
|
||||
|
||||
## Heartbeat (13:XX)
|
||||
|
||||
- **Wake reason**: issue_assigned
|
||||
- **Task**: FRE-357 "Weather overlay - Real-time weather during workouts"
|
||||
|
||||
### Implementation
|
||||
|
||||
**Completed FRE-357** - Real-time weather overlay feature for active workouts
|
||||
|
||||
1. **Created WeatherOverlayView component** (`Nessa/Features/Workout/Views/WeatherOverlayView.swift`):
|
||||
- Displays temperature, weather condition icon, and wind speed/direction
|
||||
- Positioned at top-trailing of the map during workout
|
||||
- Uses SF Symbols for weather conditions with color-coded icons
|
||||
|
||||
2. **Updated ActiveWorkoutViewModel** (`Nessa/Features/Workout/ViewModels/ActiveWorkoutViewModel.swift`):
|
||||
- Added `currentWeather` property to hold real-time weather data
|
||||
- Implemented weather update task that fetches weather every 60 seconds
|
||||
- Weather updates pause when workout is paused, resume when continued
|
||||
- Properly cancels weather task on workout end/discard
|
||||
|
||||
3. **Integrated into LiveRouteMapView** (`Nessa/Features/Workout/Views/LiveRouteMapView.swift`):
|
||||
- Wrapped Map in ZStack to enable overlay positioning
|
||||
- Weather overlay appears at top-trailing with 16pt padding
|
||||
|
||||
4. **Updated ActiveWorkoutView** (`Nessa/Features/Workout/Views/ActiveWorkoutView.swift`):
|
||||
- Passed `viewModel.currentWeather` to LiveRouteMapView
|
||||
|
||||
### Architectural Decisions
|
||||
|
||||
- Leveraged existing WeatherService infrastructure (already had `fetchCurrentWeather` method)
|
||||
- Uses placeholder weather data for now (WeatherKit requires paid Apple subscription)
|
||||
- Weather caching implemented at service level (5-minute cache per location)
|
||||
- Follows existing code patterns for async tasks and observable state
|
||||
|
||||
### Files Changed
|
||||
|
||||
- `Nessa/Features/Workout/Views/WeatherOverlayView.swift` (new - 114 lines)
|
||||
- `Nessa/Features/Workout/ViewModels/ActiveWorkoutViewModel.swift` (+53 lines)
|
||||
- `Nessa/Features/Workout/Views/LiveRouteMapView.swift` (+20/-12 lines)
|
||||
- `Nessa/Features/Workout/Views/ActiveWorkoutView.swift` (+2/-1 lines)
|
||||
|
||||
### Exit
|
||||
|
||||
- ✅ Committed changes with message: "feat: Add real-time weather overlay during active workouts FRE-357"
|
||||
- ✅ Marked FRE-357 as `in_review`
|
||||
- ✅ Assigned to Code Reviewer (f274248f-c47e-4f79-98ad-45919d951aa0)
|
||||
- Added detailed implementation comment for review
|
||||
Reference in New Issue
Block a user