fix: uncommitted changes, add: loading indicator for search
parent
0caee992ec
commit
d5861bdb78
|
@ -4,7 +4,7 @@ import 'package:release_schedule/model/movie.dart';
|
|||
import 'package:release_schedule/model/movie_manager.dart';
|
||||
import 'package:release_schedule/view/movie_list.dart';
|
||||
import 'package:release_schedule/view/movie_manager_list.dart';
|
||||
import 'package:release_schedule/view/swipe-transition.dart';
|
||||
import 'package:release_schedule/view/swipe_transition.dart';
|
||||
|
||||
void main() {
|
||||
runApp(const MyApp());
|
||||
|
@ -31,7 +31,7 @@ class MyApp extends StatelessWidget {
|
|||
class HomePage extends StatefulWidget {
|
||||
final MovieManager manager;
|
||||
|
||||
HomePage(this.manager, {super.key});
|
||||
const HomePage(this.manager, {super.key});
|
||||
|
||||
@override
|
||||
State<HomePage> createState() => _HomePageState();
|
||||
|
@ -102,7 +102,10 @@ class SearchResultPage extends StatelessWidget {
|
|||
return AnimatedBuilder(
|
||||
animation: liveSearch,
|
||||
builder: (context, child) {
|
||||
return MovieList(liveSearch.searchResults);
|
||||
return Column(children: [
|
||||
liveSearch.loading ? const LinearProgressIndicator() : Container(),
|
||||
Expanded(child: MovieList(liveSearch.searchResults)),
|
||||
]);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ class LiveSearch extends ChangeNotifier {
|
|||
Duration minTimeBetweenRequests = const Duration(milliseconds: 200);
|
||||
late final DelayedFunctionCaller _searchCaller;
|
||||
final MovieManager manager;
|
||||
bool loading = false;
|
||||
bool searchingOnline = false;
|
||||
|
||||
LiveSearch(this.manager) {
|
||||
|
@ -21,16 +22,21 @@ class LiveSearch extends ChangeNotifier {
|
|||
return;
|
||||
}
|
||||
searchResults = manager.localSearch(search);
|
||||
loading = true;
|
||||
_searchCaller.call();
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void searchOnline() async {
|
||||
if (searchTerm.isEmpty) {
|
||||
loading = false;
|
||||
notifyListeners();
|
||||
return;
|
||||
}
|
||||
if (searchingOnline) {
|
||||
loading = true;
|
||||
_searchCaller.call();
|
||||
notifyListeners();
|
||||
return;
|
||||
}
|
||||
searchingOnline = true;
|
||||
|
@ -49,6 +55,8 @@ class LiveSearch extends ChangeNotifier {
|
|||
notifyListeners();
|
||||
} finally {
|
||||
searchingOnline = false;
|
||||
loading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue