Add WorkoutReview screen with Strava upload#54
Draft
Tyler-Lopez wants to merge 16 commits into
Draft
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit implements README with architecture decisions I've doubts about the format. What do you think?
- Add 12 new string keys to values/strings.xml across regions (Add Workout, Build Workouts, Confirmation Dialog, Home, Play Workout, Shared), all sorted alphabetically within each region - Add bracketed English placeholders for all 12 new keys in values-es/strings.xml - Add WorkoutPlayState enum (PAUSED, PLAYING) - Refactor PlayWorkoutVIewModel: replace text: StateFlow<String> with workoutPlayState: StateFlow<WorkoutPlayState>, keeping the VM Compose-free - Replace all hardcoded string literals with stringResource(resource = Res.string.<key>) across HomeScreen, BuildWorkoutsScreen, PlayWorkoutScreen, ConfirmationDialog, and RowClickable Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e649523 to
708895c
Compare
Replaces plain text Button with the official "Connect with Strava" PNG asset per Strava brand guidelines, sized at 48dp tall with natural aspect ratio preserved via ContentScale.FillHeight. Clip ripple to match Strava button corner radius Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removes client_secret from the app binary by proxying the OAuth token exchange through a Cloudflare Worker. StravaRepository now calls getAccessTokenViaProxy exclusively; logs proxy response status on each exchange. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…text Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add "See Workout" button to PlayWorkoutScreen shown on workout completion - Add WorkoutReviewScreen with Connect with Strava / Create Strava Activity - Move all Strava auth and activity creation out of HomeScreen/HomeViewModel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Capture start timestamp when user first presses Start - Compute elapsed time from workouts (sum of interval duration + rest) - Thread both values through the Route and into WorkoutReviewViewModel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Activity name = first workout's name - Description = each interval formatted as "<name>: Xs work / Ys rest" - Thread name and description through destination, route, factory, and ViewModel - Add description field to StravaApi, StravaRepository, CreateStravaActivityUseCase Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
708895c to
a2daa1f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PlayWorkoutScreenthat appears when the workout finishesWorkoutReviewScreenwith Connect with Strava / Create Strava Activity buttonsHomeScreen/HomeViewModelintoWorkoutReviewViewModelTest plan
WorkoutReviewScreenWorkoutReviewScreen, confirm "Connect with Strava" shows when not authenticatedHomeScreenno longer shows any Strava buttons🤖 Generated with Claude Code