handle enter click when typing search field

This commit is contained in:
lukas-heiligenbrunner 2024-02-19 20:53:11 +01:00
parent d6b388fa03
commit 70f1d76554

View File

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import '../../constants/color_constants.dart'; import '../../constants/color_constants.dart';
@ -12,7 +13,15 @@ class SearchField extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return TextField( return RawKeyboardListener(
focusNode: FocusNode(),
onKey: (event) {
if (event.runtimeType == RawKeyDownEvent &&
event.logicalKey == LogicalKeyboardKey.enter) {
context.push("/aur?query=${controller.text}");
}
},
child: TextField(
controller: controller, controller: controller,
decoration: InputDecoration( decoration: InputDecoration(
hintText: "Search", hintText: "Search",
@ -28,7 +37,8 @@ class SearchField extends StatelessWidget {
}, },
child: Container( child: Container(
padding: const EdgeInsets.all(defaultPadding * 0.75), padding: const EdgeInsets.all(defaultPadding * 0.75),
margin: const EdgeInsets.symmetric(horizontal: defaultPadding / 2), margin:
const EdgeInsets.symmetric(horizontal: defaultPadding / 2),
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: darkgreenColor, color: darkgreenColor,
borderRadius: BorderRadius.all(Radius.circular(10)), borderRadius: BorderRadius.all(Radius.circular(10)),
@ -39,6 +49,7 @@ class SearchField extends StatelessWidget {
), ),
), ),
), ),
),
); );
} }
} }