From 4adfaa4170439c3249265d107bcd97bc54125f31 Mon Sep 17 00:00:00 2001 From: kodjomoustapha <107993382+kodjodevf@users.noreply.github.com> Date: Tue, 24 Dec 2024 13:04:35 +0100 Subject: [PATCH] fix --- lib/modules/main_view/main_screen.dart | 77 +++++++++++--------------- 1 file changed, 33 insertions(+), 44 deletions(-) diff --git a/lib/modules/main_view/main_screen.dart b/lib/modules/main_view/main_screen.dart index e5e7e07..8e67e9b 100644 --- a/lib/modules/main_view/main_screen.dart +++ b/lib/modules/main_view/main_screen.dart @@ -81,7 +81,7 @@ class MainScreen extends ConsumerWidget { if (hideNovel) { dest.removeWhere((d) => d == "/NovelLibrary"); } - int currentIndex = dest.indexOf(location ?? "/more"); + int currentIndex = location == null ? 0 : dest.indexOf(location); if (currentIndex == -1) { currentIndex = dest.length - 1; } @@ -188,16 +188,12 @@ class MainScreen extends ConsumerWidget { top: 5), child: Text(l10n.novel))), NavigationRailDestination( - selectedIcon: Badge( - label: _updatesTotalNumbers(ref), - child: const Icon( - Icons.new_releases), - ), - icon: Badge( - label: _updatesTotalNumbers(ref), - child: const Icon( - Icons.new_releases_outlined), - ), + selectedIcon: _updatesTotalNumbers( + ref, Icon(Icons.new_releases)), + icon: _updatesTotalNumbers( + ref, + Icon(Icons + .new_releases_outlined)), label: Padding( padding: const EdgeInsets.only( top: 5), @@ -226,19 +222,12 @@ class MainScreen extends ConsumerWidget { top: 5), child: Text(l10n.history))), NavigationRailDestination( - selectedIcon: Badge( - label: - _extensionUpdateTotalNumbers( - ref), - child: const Icon(Icons.explore), - ), - icon: Badge( - label: - _extensionUpdateTotalNumbers( - ref), - child: const Icon( - Icons.explore_outlined), - ), + selectedIcon: + _extensionUpdateTotalNumbers( + ref, Icon(Icons.explore)), + icon: _extensionUpdateTotalNumbers( + ref, + Icon(Icons.explore_outlined)), label: Padding( padding: const EdgeInsets.only( top: 5), @@ -342,26 +331,20 @@ class MainScreen extends ConsumerWidget { Icons.local_library_outlined), label: l10n.novel), NavigationDestination( - selectedIcon: Badge( - label: _updatesTotalNumbers(ref), - child: const Icon(Icons.new_releases), - ), - icon: Badge( - label: _updatesTotalNumbers(ref), - child: const Icon(Icons.new_releases), - ), + selectedIcon: _updatesTotalNumbers( + ref, Icon(Icons.new_releases)), + icon: _updatesTotalNumbers( + ref, Icon(Icons.new_releases_outlined)), label: l10n.updates), NavigationDestination( selectedIcon: const Icon(Icons.history), icon: const Icon(Icons.history_outlined), label: l10n.history), NavigationDestination( - selectedIcon: Badge( - label: _extensionUpdateTotalNumbers(ref), - child: const Icon(Icons.explore)), - icon: Badge( - label: _extensionUpdateTotalNumbers(ref), - child: const Icon(Icons.explore)), + selectedIcon: _extensionUpdateTotalNumbers( + ref, Icon(Icons.explore)), + icon: _extensionUpdateTotalNumbers( + ref, Icon(Icons.explore_outlined)), label: l10n.browse), NavigationDestination( selectedIcon: const Icon(Icons.more_horiz), @@ -407,7 +390,7 @@ class MainScreen extends ConsumerWidget { } } -Widget _extensionUpdateTotalNumbers(WidgetRef ref) { +Widget _extensionUpdateTotalNumbers(WidgetRef re, Widget widget) { return StreamBuilder( stream: isar.sources .filter() @@ -421,13 +404,16 @@ Widget _extensionUpdateTotalNumbers(WidgetRef ref) { .where((element) => compareVersions(element.version!, element.versionLast!) < 0) .toList(); - return entries.isEmpty ? Text("0") : Text("${entries.length}"); + if (entries.isEmpty) { + return widget; + } + return Badge(label: Text("${entries.length}"), child: widget); } - return Text("0"); + return widget; }); } -Widget _updatesTotalNumbers(WidgetRef ref) { +Widget _updatesTotalNumbers(WidgetRef ref, Widget widget) { return StreamBuilder( stream: isar.updates.filter().idIsNotNull().watch(fireImmediately: true), builder: (context, snapshot) { @@ -438,8 +424,11 @@ Widget _updatesTotalNumbers(WidgetRef ref) { } return !(element.chapter.value?.isRead ?? false); }).toList(); - return entries.isEmpty ? Text("0") : Text("${entries.length}"); + if (entries.isEmpty) { + return widget; + } + return Badge(label: Text("${entries.length}"), child: widget); } - return Text("0"); + return widget; }); }