refactored search function using provider

This commit is contained in:
2026-01-19 18:25:02 +01:00
parent 143206cd72
commit f0b3c11e63
5 changed files with 48 additions and 35 deletions

View File

@@ -1,23 +1,14 @@
import 'package:flutter/material.dart';
import '../model/bookmark.dart';
import '../service/storage.dart';
import 'package:provider/provider.dart';
import '../service/search_provider.dart';
import '../widgets/search_widgets/search_bar_widget.dart';
import '../widgets/search_widgets/search_results_widget.dart';
class SearchPage extends StatefulWidget {
class SearchPage extends StatelessWidget {
const SearchPage({super.key});
static const String routeName = '/search';
@override
State<SearchPage> createState() => _SearchPageState();
}
class _SearchPageState extends State<SearchPage> {
final List<Bookmark> allBookmarks = Storage.loadBookmarks();
String searchString = '';
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -25,17 +16,9 @@ class _SearchPageState extends State<SearchPage> {
body: Column(
children: [
SearchBarWidget(
onEditingComplete: (searchString) => setState(() {
this.searchString = searchString;
}),
),
Expanded(
child: SearchResultsWidget(
bookmarks: allBookmarks.where(
(bookmark) => bookmark.name.contains(searchString),
),
),
onEditingComplete: context.read<SearchProvider>().setSearchText,
),
Expanded(child: SearchResultsWidget()),
],
),
);