initial commit
This commit is contained in:
22
lib/ui/viewmodel/wikipedia_viewmodel.dart
Normal file
22
lib/ui/viewmodel/wikipedia_viewmodel.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:survive_app/data/wikipedia/model.dart';
|
||||
import 'package:survive_app/data/wikipedia/repository.dart';
|
||||
|
||||
class WikipediaViewmodel {
|
||||
final IWikipediaRepository wikipediaRepo;
|
||||
WikipediaViewmodel({required this.wikipediaRepo});
|
||||
|
||||
final TextEditingController controller = TextEditingController();
|
||||
|
||||
final ValueNotifier<List<WikiArticleModel>> articles = ValueNotifier([]);
|
||||
|
||||
void downloadArticles() async => await wikipediaRepo.downloadArticles();
|
||||
|
||||
void returnClick(BuildContext context) => context.pop();
|
||||
|
||||
Future<void> searchArticles() async {
|
||||
final articleQueryData = WikiArticleQueryModel(title: controller.text);
|
||||
articles.value = await wikipediaRepo.queryArticles(articleQueryData);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user