fix(tv): keep alpha bar alphabet visible

This commit is contained in:
edde746
2026-05-25 16:17:27 +02:00
parent 8d4ef2757a
commit 9365fcf246
2 changed files with 69 additions and 9 deletions
@@ -5,6 +5,57 @@ import 'package:plezy/media/library_first_character.dart';
import 'package:plezy/screens/libraries/alpha_jump_bar.dart';
void main() {
const alphabetCharacters = [
LibraryFirstCharacter(key: '#', title: '#', size: 1),
LibraryFirstCharacter(key: 'A', title: 'A', size: 1),
LibraryFirstCharacter(key: 'B', title: 'B', size: 1),
LibraryFirstCharacter(key: 'C', title: 'C', size: 1),
LibraryFirstCharacter(key: 'D', title: 'D', size: 1),
LibraryFirstCharacter(key: 'E', title: 'E', size: 1),
LibraryFirstCharacter(key: 'F', title: 'F', size: 1),
LibraryFirstCharacter(key: 'G', title: 'G', size: 1),
LibraryFirstCharacter(key: 'H', title: 'H', size: 1),
LibraryFirstCharacter(key: 'I', title: 'I', size: 1),
LibraryFirstCharacter(key: 'J', title: 'J', size: 1),
LibraryFirstCharacter(key: 'K', title: 'K', size: 1),
LibraryFirstCharacter(key: 'L', title: 'L', size: 1),
LibraryFirstCharacter(key: 'M', title: 'M', size: 1),
LibraryFirstCharacter(key: 'N', title: 'N', size: 1),
LibraryFirstCharacter(key: 'O', title: 'O', size: 1),
LibraryFirstCharacter(key: 'P', title: 'P', size: 1),
LibraryFirstCharacter(key: 'Q', title: 'Q', size: 1),
LibraryFirstCharacter(key: 'R', title: 'R', size: 1),
LibraryFirstCharacter(key: 'S', title: 'S', size: 1),
LibraryFirstCharacter(key: 'T', title: 'T', size: 1),
LibraryFirstCharacter(key: 'U', title: 'U', size: 1),
LibraryFirstCharacter(key: 'V', title: 'V', size: 1),
LibraryFirstCharacter(key: 'W', title: 'W', size: 1),
LibraryFirstCharacter(key: 'X', title: 'X', size: 1),
LibraryFirstCharacter(key: 'Y', title: 'Y', size: 1),
LibraryFirstCharacter(key: 'Z', title: 'Z', size: 1),
];
testWidgets('keeps the full alphabet visible in a short TV-height bar', (tester) async {
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: SizedBox(
height: 420,
child: AlphaJumpBar(firstCharacters: alphabetCharacters, currentLetter: '#', onJump: (_) {}),
),
),
),
);
expect(find.text('#'), findsOneWidget);
expect(find.text('U'), findsOneWidget);
expect(find.text('V'), findsOneWidget);
expect(find.text('W'), findsOneWidget);
expect(find.text('X'), findsOneWidget);
expect(find.text('Y'), findsOneWidget);
expect(find.text('Z'), findsOneWidget);
});
testWidgets('Enter jumps to the highlighted letter', (tester) async {
final focusNode = FocusNode(debugLabel: 'test_alpha_jump_bar');
addTearDown(focusNode.dispose);