diff --git a/lib/modules/updates/updates_screen.dart b/lib/modules/updates/updates_screen.dart index f369e2a..3c5bf06 100644 --- a/lib/modules/updates/updates_screen.dart +++ b/lib/modules/updates/updates_screen.dart @@ -44,26 +44,25 @@ class _UpdatesScreenState extends ConsumerState .and() .isMangaEqualTo(_tabBarController.index == 0) .findAllSync(); - int numbers = 0; - - for (var manga in mangaList) { - try { - await ref.read( - updateMangaDetailProvider(mangaId: manga.id, isInit: false).future); - } catch (_) {} - numbers++; + + try { + await Future.wait( + mangaList.map((manga) async { + try { + await ref.read( + updateMangaDetailProvider(mangaId: manga.id, isInit: false).future, + ); + } catch (e) { + debugPrint("Failed to update manga with ID ${manga.id}: $e"); + } + }), + ); + } finally { + BotToast.cleanAll(); + setState(() { + _isLoading = false; + }); } - await Future.doWhile(() async { - await Future.delayed(const Duration(seconds: 1)); - if (mangaList.length == numbers) { - return false; - } - return true; - }); - BotToast.cleanAll(); - setState(() { - _isLoading = false; - }); } @override