@@ -11,7 +11,8 @@ import '../../models/todo_model.dart';
1111import '../../viewmodels/todo_view_model.dart' ;
1212
1313class TodosView extends StatelessWidget with BaseSingleton {
14- const TodosView ({super .key});
14+ final _todoController = TextEditingController ();
15+ TodosView ({super .key});
1516
1617 @override
1718 Widget build (BuildContext context) {
@@ -29,12 +30,13 @@ class TodosView extends StatelessWidget with BaseSingleton {
2930 default :
3031 return Consumer <TodoViewModel >(
3132 builder: (context, pv, _) {
33+ bool shrinkWrap = true ;
3234 return FadeInLeft (
3335 child: ListView (
3436 padding: context.padding2x,
35- shrinkWrap: true ,
37+ shrinkWrap: shrinkWrap ,
3638 children: [
37- _searchField (context),
39+ _searchField (context,pv ),
3840 context.emptySizedHeightBox3x,
3941 _todos (context, pv)
4042 ],
@@ -54,26 +56,34 @@ class TodosView extends StatelessWidget with BaseSingleton {
5456 );
5557 }
5658
57- DefaultTextFormField _searchField (BuildContext context) {
59+ DefaultTextFormField _searchField (BuildContext context, TodoViewModel pv ) {
5860 bool filled = true ;
5961 return DefaultTextFormField (
6062 context: context,
6163 filled: filled,
6264 fillColor: colors.white,
6365 labelText: AppLocalizations .of (context)! .searchTodo,
6466 prefixIcon: icons.search,
67+ controller: _todoController,
68+ onChanged: pv.searchTodo,
6569 );
6670 }
6771
6872 ListView _todos (BuildContext context, TodoViewModel pv) {
6973 bool shrinkWrap = true ;
7074 int todoLength = pv.todoList.length;
75+ if (_todoController.text.isNotEmpty) {
76+ todoLength = pv.searchList.length;
77+ }
7178 return ListView .separated (
7279 shrinkWrap: shrinkWrap,
7380 // TODO: ADD CORE STRUCTURE
7481 physics: const NeverScrollableScrollPhysics (),
7582 itemBuilder: (context, index) {
7683 TodoModel todo = pv.todoList[index];
84+ if (_todoController.text.isNotEmpty) {
85+ todo = pv.searchList[index];
86+ }
7787 return _todo (context, todo);
7888 },
7989 separatorBuilder: (_, __) => context.emptySizedHeightBox3x,
0 commit comments