Skip to content

Gym mode UI Updates - #1255

Draft
jontyms wants to merge 1 commit into
wger-project:masterfrom
jontyms:gym-mode-ui-2
Draft

Gym mode UI Updates#1255
jontyms wants to merge 1 commit into
wger-project:masterfrom
jontyms:gym-mode-ui-2

Conversation

@jontyms

@jontyms jontyms commented Jul 7, 2026

Copy link
Copy Markdown

Proposed Changes

Reworks gym mode around a single active-session screen: everything lives on, or one tap away from, the log page. The old per-set / per-timer chevron flow is replaced by a swipeable page-per-exercise with persistent chrome (session header + scrollable exercise queue).
This PR is heavily AI generated but I have tested and used this prototype for weeks.

Screenshot_20260706_212532 Screenshot_20260706_212511 Screenshot_20260706_212445 Screenshot_20260706_214102

Related Issue(s)

Please check that the PR fulfills these requirements

  • Tests for the changes have been added (for bug fixes / features)
  • Set a 100-character limit to avoid white space diffs (run dart format .)

@rolandgeider

Copy link
Copy Markdown
Member

hey! thanks for the PR. I don't think I can merge this as it is (I think it makes the screen a bit restless), but there's definitely some good ideas here. I've marked this for the next release so it doesn't get lost

Rework the gym-mode logging experience around a redesigned log page,
rebased onto current master:

- Split the monolithic log_page.dart into focused widgets under
  log_page/ (chrome, hero, palette, set_panel, sets_section, sheets).
- Add a dedicated rest-timer notifier so the inline rest timer runs off
  shared state instead of ad-hoc timers.
- Support a dynamic number of sets per page and per-set editing via
  bottom sheets.
- Add gym-mode theme extensions and a local palette for the new UI.
- Extend gym state and wire up navigation, start page, summary and the
  workout menu accordingly; drop the now-unused standalone timer page
  and header menu button in favor of the new navigation.
- Make the horizontal action bar scroll like the exercise-queue strip
  (touch/mouse/trackpad drag + mouse-wheel to horizontal).
- Add the accompanying l10n strings.
- Rework log_page and gym_mode widget/integration tests for the
  redesigned logging UI and dynamic sets; refresh the affected goldens.
- Fix json_serializable codegen for SetConfigData.exercise (the
  exclusion annotation needs to live on the getter, not the private
  backing field).
- Drop gym_log_notifier: the redesigned log page was its last
  production caller, leaving the provider referenced only by its own
  test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSJFoyiDE1RTcmf9G5tfGR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants