added simple search feature
This commit is contained in:
@@ -1,11 +1,43 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SearchPage extends StatelessWidget {
|
||||
import '../model/bookmark.dart';
|
||||
import '../service/storage.dart';
|
||||
import '../widgets/search_widgets/search_bar_widget.dart';
|
||||
import '../widgets/search_widgets/search_results_widget.dart';
|
||||
|
||||
class SearchPage extends StatefulWidget {
|
||||
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 const Placeholder();
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: Text('Search')),
|
||||
body: Column(
|
||||
children: [
|
||||
SearchBarWidget(
|
||||
onEditingComplete: (searchString) => setState(() {
|
||||
this.searchString = searchString;
|
||||
}),
|
||||
),
|
||||
Expanded(
|
||||
child: SearchResultsWidget(
|
||||
bookmarks: allBookmarks.where(
|
||||
(bookmark) => bookmark.name.contains(searchString),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user