Adds a mobile-only sticky Fit / Today / Available rail to the full Plan Today workflow. The controller scrolls the planner panel, tracks the visible section, honors reduced motion, preserves selection through list rerenders, and resets on a fresh open. It is included in the content-addressed runtime and offline shell.
Rendered Chromium at 320x568 and 390x844: 44px targets, no horizontal overflow, planner-only scrolling, desktop rail hidden.
Closes #975
Adds a mobile-only sticky Fit / Today / Available rail to the full Plan Today workflow. The controller scrolls the planner panel, tracks the visible section, honors reduced motion, preserves selection through list rerenders, and resets on a fresh open. It is included in the content-addressed runtime and offline shell.
Validation:
- `pytest tests/test_mobile_plan_today_navigation.py tests/test_frontend_bundle.py tests/test_service_worker.py -q` (80 passed)
- `pytest -q` (1847 passed, 2 skipped)
- Rendered Chromium at 320x568 and 390x844: 44px targets, no horizontal overflow, planner-only scrolling, desktop rail hidden.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #975
Adds a mobile-only sticky Fit / Today / Available rail to the full Plan Today workflow. The controller scrolls the planner panel, tracks the visible section, honors reduced motion, preserves selection through list rerenders, and resets on a fresh open. It is included in the content-addressed runtime and offline shell.
Validation:
pytest tests/test_mobile_plan_today_navigation.py tests/test_frontend_bundle.py tests/test_service_worker.py -q(80 passed)pytest -q(1847 passed, 2 skipped)