Skip to content

feat: add a tab indicator to analysis bottom tabs to make them more discoverable#3090

Merged
veloce merged 1 commit into
lichess-org:mainfrom
tom-anders:fullBlownTabIndicator
May 2, 2026
Merged

feat: add a tab indicator to analysis bottom tabs to make them more discoverable#3090
veloce merged 1 commit into
lichess-org:mainfrom
tom-anders:fullBlownTabIndicator

Conversation

@tom-anders

Copy link
Copy Markdown
Collaborator

Problem

For users, it's currently very hard to discover that the bottom view in the analysis board can be swiped. This leads to users not finding important features like server analysis or conditional premoves. A tour would help, but it's also a fact that users like to skip those and then complain anyway. Also, we have different tabs on different screens (e.g. conditional premoves is only on correspondence analysis board), making it hard to remember for the user which screen has which tabs available.

Solution

Add a small TabBar above the TabBarView. This way, it's immediately obvious which additional tabs are available.

This takes away roughly one row from the PGN move list, so I'd say the UX benefits outweigh the loss of space here.

Demo

tabbar.webm

@tom-anders tom-anders requested a review from Copilot May 2, 2026 10:06
@tom-anders tom-anders force-pushed the fullBlownTabIndicator branch 2 times, most recently from c732315 to 32334a2 Compare May 2, 2026 10:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR primarily moves analysis/broadcast/study tab discovery from an app-bar action into an inline tab strip rendered above the analysis TabBarView, with accompanying widget-test updates. It also includes an unrelated change to tournament list sorting and a small PGN tree divider tweak.

Changes:

  • Add inline analysis tab-strip support in AnalysisLayout and wire it into analysis, broadcast, and study screens.
  • Update widget tests to target the new always-visible tab UI instead of the old app-bar action sheet.
  • Adjust tournament list sorting for upcoming tournaments and tweak PGN tree divider rendering.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
test/view/game/game_screen_test.dart Updates game-to-analysis UI tests for the new tab-strip navigation.
test/view/broadcast/broadcast_game_screen_test.dart Updates broadcast test flow to tap the inline analysis tabs directly.
test/view/analysis/analysis_screen_test.dart Updates analysis-screen tests to assert visible tabs and direct tab switching.
lib/src/widgets/pgn.dart Tweaks top-border rendering for the first two-column PGN block.
lib/src/view/tournament/tournament_list_screen.dart Adds view-mode-aware tournament sorting, especially for upcoming events.
lib/src/view/study/study_screen.dart Removes the app-bar tab indicator and passes tabs into AnalysisLayout.
lib/src/view/broadcast/broadcast_game_screen.dart Removes the app-bar tab indicator and passes tabs into AnalysisLayout.
lib/src/view/analysis/analysis_screen.dart Removes the app-bar tab indicator and passes tabs into AnalysisLayout.
lib/src/view/analysis/analysis_layout.dart Introduces the inline _AnalysisTabView/TabBar used by analysis-like screens.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lib/src/view/analysis/analysis_layout.dart
Comment thread lib/src/widgets/pgn.dart Outdated
Comment thread test/view/game/game_screen_test.dart
Comment thread lib/src/view/study/study_screen.dart
@tom-anders tom-anders force-pushed the fullBlownTabIndicator branch from 32334a2 to 1954a67 Compare May 2, 2026 10:35
@tom-anders tom-anders marked this pull request as ready for review May 2, 2026 10:35
@tom-anders tom-anders requested a review from veloce May 2, 2026 10:36

@veloce veloce left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks :)

@veloce veloce merged commit 6118d9f into lichess-org:main May 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants