Skip to content

Commit

Permalink
[feature] Search completed
Browse files Browse the repository at this point in the history
  • Loading branch information
cihangirtuncer committed Jun 28, 2022
1 parent 6594cf1 commit 666dd48
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 1 deletion.
50 changes: 50 additions & 0 deletions lib/feature/search_view.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_clean_app_examples/core/manager/cache/user_cache_manager.dart';
import 'package:flutter_clean_app_examples/feature/user/model/user_model.dart';


class SearchView extends StatefulWidget {
SearchView({Key? key, required this.model}) : super(key: key);
final ICacheManager<User> model;
@override
State<SearchView> createState() => _SearchViewState();
}

class _SearchViewState extends State<SearchView> {
List<User> _items = [];

void findAndSet(String key){
_items = widget.model.getValues()?.where((element) => element.name?.toLowerCase().contains(key.toLowerCase()) ?? false).toList() ?? [];
setState(() {

});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: TextField(
onChanged: (value){
findAndSet(value);
},
),
leading: InkWell(
child: Icon(CupertinoIcons.back),
onTap: (){
Navigator.pop(context);
},
),
),
body: ListView.builder(
itemCount:_items.length ,
itemBuilder: (((context, index) {
return Card(
child: ListTile(
title: Text(_items.map((e) => '${e.name}').join('')),
),
);
}) ) ),
);
}
}
20 changes: 19 additions & 1 deletion lib/feature/user/view/user_view.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_clean_app_examples/core/manager/cache/user_cache_manager.dart';
import 'package:flutter_clean_app_examples/feature/user/view_model/user_view_model.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:provider/provider.dart';

import '../../search_view.dart';
import '../model/user_model.dart';

class UserViewWidget extends StatefulWidget {
Expand All @@ -22,7 +24,7 @@ class _UserViewWidgetState extends State<UserViewWidget> {
void initState() {
super.initState();
userViewModel = UserViewModel();
cacheManager = UserCacheManager('usersCacheFinaly3');
cacheManager = UserCacheManager('usersCacheFinaly4');
userViewModel.fetchItem();
fetchDatasInit();
}
Expand Down Expand Up @@ -55,6 +57,14 @@ class _UserViewWidgetState extends State<UserViewWidget> {
print("sükür");
return Scaffold(
appBar: AppBar(
actions: [IconButton(onPressed: (){
Navigator.push<void>(
context,
MaterialPageRoute<void>(
builder: (BuildContext context) => SearchView(model: cacheManager,),
),
);
}, icon: Icon(CupertinoIcons.search))],
title: const Text("Users"),
centerTitle: true,
),
Expand Down Expand Up @@ -88,6 +98,14 @@ class _UserViewWidgetState extends State<UserViewWidget> {
print("üzdü");
return Scaffold(
appBar: AppBar(
actions: [IconButton(onPressed: (){
Navigator.push<void>(
context,
MaterialPageRoute<void>(
builder: (BuildContext context) => SearchView(model: cacheManager,),
),
);
}, icon: Icon(CupertinoIcons.search))],
title: const Text("Users"),
centerTitle: true,
),
Expand Down

0 comments on commit 666dd48

Please sign in to comment.