23 lines
804 B
Dart
23 lines
804 B
Dart
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);
|
|
}
|
|
}
|