From b6e6916fd3aa1be5518b5201b9ce2692e42113d6 Mon Sep 17 00:00:00 2001 From: Subhash-2005 Date: Fri, 15 May 2026 16:27:31 +0530 Subject: [PATCH 1/3] feat: add clearable search field to home search card --- README.md | 2 ++ lib/widgets/search_card.dart | 42 +++++++++++++++++++++++++++++++----- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 08e7814..09ce9e0 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,5 @@ A few resources to get you started if this is your first Flutter project: For help getting started with Flutter, view our [online documentation](https://flutter.io/docs), which offers tutorials, samples, guidance on mobile development, and a full API reference. +## ✅ Update +- Added a clearable search field in the home screen search card, making it easier to reset search text quickly. diff --git a/lib/widgets/search_card.dart b/lib/widgets/search_card.dart index 07c8e60..655b38d 100644 --- a/lib/widgets/search_card.dart +++ b/lib/widgets/search_card.dart @@ -1,7 +1,32 @@ import 'package:flutter/material.dart'; -class SearchCard extends StatelessWidget { - final TextEditingController _searchControl = new TextEditingController(); +class SearchCard extends StatefulWidget { + @override + _SearchCardState createState() => _SearchCardState(); +} + +class _SearchCardState extends State { + final TextEditingController _searchControl = TextEditingController(); + bool _hasText = false; + + void _onTextChanged() { + setState(() { + _hasText = _searchControl.text.isNotEmpty; + }); + } + + @override + void initState() { + super.initState(); + _searchControl.addListener(_onTextChanged); + } + + @override + void dispose() { + _searchControl.removeListener(_onTextChanged); + _searchControl.dispose(); + super.dispose(); + } @override Widget build(BuildContext context) { @@ -38,9 +63,16 @@ class SearchCard extends StatelessWidget { Icons.search, color: Colors.black, ), - suffixIcon: Icon( - Icons.filter_list, - color: Colors.black, + suffixIcon: IconButton( + icon: Icon( + _hasText ? Icons.clear : Icons.filter_list, + color: Colors.black, + ), + onPressed: _hasText + ? () { + _searchControl.clear(); + } + : null, ), hintStyle: TextStyle( fontSize: 15.0, From 2daf3b112caa8eb039e5d1c14972fb0e2d5f7613 Mon Sep 17 00:00:00 2001 From: Subhash-2005 Date: Sat, 16 May 2026 09:45:50 +0530 Subject: [PATCH 2/3] feat: add clearable search field to home search card --- README.md | 3 ++- lib/widgets/search_card.dart | 32 +++++++++++++++++++------------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 09ce9e0..882d1b9 100644 --- a/README.md +++ b/README.md @@ -42,5 +42,6 @@ A few resources to get you started if this is your first Flutter project: For help getting started with Flutter, view our [online documentation](https://flutter.io/docs), which offers tutorials, samples, guidance on mobile development, and a full API reference. -## ✅ Update + +## 🚀 Features - Added a clearable search field in the home screen search card, making it easier to reset search text quickly. diff --git a/lib/widgets/search_card.dart b/lib/widgets/search_card.dart index 655b38d..f1a65fd 100644 --- a/lib/widgets/search_card.dart +++ b/lib/widgets/search_card.dart @@ -10,9 +10,12 @@ class _SearchCardState extends State { bool _hasText = false; void _onTextChanged() { - setState(() { - _hasText = _searchControl.text.isNotEmpty; - }); + final hasTextNow = _searchControl.text.isNotEmpty; + if (hasTextNow != _hasText) { + setState(() { + _hasText = hasTextNow; + }); + } } @override @@ -63,17 +66,20 @@ class _SearchCardState extends State { Icons.search, color: Colors.black, ), - suffixIcon: IconButton( - icon: Icon( - _hasText ? Icons.clear : Icons.filter_list, - color: Colors.black, - ), - onPressed: _hasText - ? () { + suffixIcon: _hasText + ? IconButton( + icon: Icon( + Icons.clear, + color: Colors.black, + ), + onPressed: () { _searchControl.clear(); - } - : null, - ), + }, + ) + : Icon( + Icons.filter_list, + color: Colors.black, + ), hintStyle: TextStyle( fontSize: 15.0, color: Colors.black, From 497cdb1ed1f869ecfd3ede929f068094df82586a Mon Sep 17 00:00:00 2001 From: Subhash-2005 Date: Mon, 3 Aug 2026 17:44:06 +0530 Subject: [PATCH 3/3] docs: update README with clearable search feature --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 882d1b9..55c51b2 100644 --- a/README.md +++ b/README.md @@ -43,5 +43,5 @@ For help getting started with Flutter, view our [online documentation](https://flutter.io/docs), which offers tutorials, samples, guidance on mobile development, and a full API reference. -## 🚀 Features +## Update - Added a clearable search field in the home screen search card, making it easier to reset search text quickly.