handle enter click when typing search field
This commit is contained in:
		@@ -1,4 +1,5 @@
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter/services.dart';
 | 
			
		||||
import 'package:flutter_svg/svg.dart';
 | 
			
		||||
import 'package:go_router/go_router.dart';
 | 
			
		||||
import '../../constants/color_constants.dart';
 | 
			
		||||
@@ -12,29 +13,39 @@ class SearchField extends StatelessWidget {
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    return TextField(
 | 
			
		||||
      controller: controller,
 | 
			
		||||
      decoration: InputDecoration(
 | 
			
		||||
        hintText: "Search",
 | 
			
		||||
        fillColor: secondaryColor,
 | 
			
		||||
        filled: true,
 | 
			
		||||
        border: const OutlineInputBorder(
 | 
			
		||||
          borderSide: BorderSide.none,
 | 
			
		||||
          borderRadius: BorderRadius.all(Radius.circular(10)),
 | 
			
		||||
        ),
 | 
			
		||||
        suffixIcon: InkWell(
 | 
			
		||||
          onTap: () async {
 | 
			
		||||
            context.push("/aur?query=${controller.text}");
 | 
			
		||||
          },
 | 
			
		||||
          child: Container(
 | 
			
		||||
            padding: const EdgeInsets.all(defaultPadding * 0.75),
 | 
			
		||||
            margin: const EdgeInsets.symmetric(horizontal: defaultPadding / 2),
 | 
			
		||||
            decoration: const BoxDecoration(
 | 
			
		||||
              color: darkgreenColor,
 | 
			
		||||
              borderRadius: BorderRadius.all(Radius.circular(10)),
 | 
			
		||||
            ),
 | 
			
		||||
            child: SvgPicture.asset(
 | 
			
		||||
              "assets/icons/Search.svg",
 | 
			
		||||
    return RawKeyboardListener(
 | 
			
		||||
      focusNode: FocusNode(),
 | 
			
		||||
      onKey: (event) {
 | 
			
		||||
        if (event.runtimeType == RawKeyDownEvent &&
 | 
			
		||||
            event.logicalKey == LogicalKeyboardKey.enter) {
 | 
			
		||||
          context.push("/aur?query=${controller.text}");
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      child: TextField(
 | 
			
		||||
        controller: controller,
 | 
			
		||||
        decoration: InputDecoration(
 | 
			
		||||
          hintText: "Search",
 | 
			
		||||
          fillColor: secondaryColor,
 | 
			
		||||
          filled: true,
 | 
			
		||||
          border: const OutlineInputBorder(
 | 
			
		||||
            borderSide: BorderSide.none,
 | 
			
		||||
            borderRadius: BorderRadius.all(Radius.circular(10)),
 | 
			
		||||
          ),
 | 
			
		||||
          suffixIcon: InkWell(
 | 
			
		||||
            onTap: () async {
 | 
			
		||||
              context.push("/aur?query=${controller.text}");
 | 
			
		||||
            },
 | 
			
		||||
            child: Container(
 | 
			
		||||
              padding: const EdgeInsets.all(defaultPadding * 0.75),
 | 
			
		||||
              margin:
 | 
			
		||||
                  const EdgeInsets.symmetric(horizontal: defaultPadding / 2),
 | 
			
		||||
              decoration: const BoxDecoration(
 | 
			
		||||
                color: darkgreenColor,
 | 
			
		||||
                borderRadius: BorderRadius.all(Radius.circular(10)),
 | 
			
		||||
              ),
 | 
			
		||||
              child: SvgPicture.asset(
 | 
			
		||||
                "assets/icons/Search.svg",
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
          ),
 | 
			
		||||
        ),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user