feat: re-implement keyboard navigation

This commit is contained in:
edde746
2025-12-07 13:57:52 +01:00
parent a373477105
commit 223065cab0
34 changed files with 4287 additions and 542 deletions
+15 -1
View File
@@ -1,5 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import '../focus/dpad_navigator.dart';
import '../models/plex_metadata.dart';
import '../providers/settings_provider.dart';
import '../widgets/media_card.dart';
@@ -112,9 +114,20 @@ class _CollectionDetailScreenState
}
}
KeyEventResult _handleKeyEvent(FocusNode node, KeyEvent event) {
if (event is KeyDownEvent && event.logicalKey.isBackKey) {
Navigator.pop(context);
return KeyEventResult.handled;
}
return KeyEventResult.ignored;
}
@override
Widget build(BuildContext context) {
return Scaffold(
return Focus(
autofocus: true,
onKeyEvent: _handleKeyEvent,
child: Scaffold(
body: CustomScrollView(
slivers: [
CustomAppBar(
@@ -155,6 +168,7 @@ class _CollectionDetailScreenState
),
],
),
),
);
}
}