From bc7a6e865eeaefd5a95c9a820f1dab148fa57e87 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sat, 6 Dec 2025 20:20:54 +0800 Subject: [PATCH] :bug: Fix some issues --- lib/pods/timeline.dart | 17 ++++++----------- lib/widgets/paging/pagination_list.dart | 8 ++++---- pubspec.yaml | 16 ++++++++-------- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/lib/pods/timeline.dart b/lib/pods/timeline.dart index 82e9e078..d1d36cf5 100644 --- a/lib/pods/timeline.dart +++ b/lib/pods/timeline.dart @@ -1,13 +1,11 @@ -import 'package:flutter/foundation.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:island/models/activity.dart'; import 'package:island/pods/network.dart'; import 'package:island/pods/paging.dart'; -final activityListProvider = - AsyncNotifierProvider>( - ActivityListNotifier.new, - ); +final activityListProvider = AsyncNotifierProvider.autoDispose( + ActivityListNotifier.new, +); class ActivityListNotifier extends AsyncNotifier> with @@ -28,8 +26,6 @@ class ActivityListNotifier extends AsyncNotifier> if (cursor != null) 'cursor': cursor, 'take': pageSize, if (currentFilter != null) 'filter': currentFilter, - if (kDebugMode) - 'debugInclude': 'realms,publishers,articles,shuffledPosts', }; final response = await client.get( @@ -37,10 +33,9 @@ class ActivityListNotifier extends AsyncNotifier> queryParameters: queryParameters, ); - final List items = - (response.data as List) - .map((e) => SnTimelineEvent.fromJson(e as Map)) - .toList(); + final List items = (response.data as List) + .map((e) => SnTimelineEvent.fromJson(e as Map)) + .toList(); final hasMore = (items.firstOrNull?.type ?? 'empty') != 'empty'; diff --git a/lib/widgets/paging/pagination_list.dart b/lib/widgets/paging/pagination_list.dart index 0a5ba3ce..19f0f3c7 100644 --- a/lib/widgets/paging/pagination_list.dart +++ b/lib/widgets/paging/pagination_list.dart @@ -39,8 +39,8 @@ class PaginationList extends HookConsumerWidget { final data = ref.watch(provider); final noti = ref.watch(notifier); + // For sliver cases, avoid animation to prevent complex sliver issues if (isSliver) { - // For slivers, return widgets directly without animation if ((data.isLoading || noti.isLoading) && data.value?.isEmpty == true) { final content = List.generate( 10, @@ -88,7 +88,7 @@ class PaginationList extends HookConsumerWidget { : listView; } - // For non-slivers, use AnimatedSwitcher for smooth transitions + // For non-sliver cases, use AnimatedSwitcher for smooth transitions Widget buildContent() { if ((data.isLoading || noti.isLoading) && data.value?.isEmpty == true) { final content = List.generate( @@ -175,8 +175,8 @@ class PaginationWidget extends HookConsumerWidget { final data = ref.watch(provider); final noti = ref.watch(notifier); + // For sliver cases, avoid animation to prevent complex sliver issues if (isSliver) { - // For slivers, return widgets directly without animation if ((data.isLoading || noti.isLoading) && data.value?.isEmpty == true) { final content = List.generate( 10, @@ -215,7 +215,7 @@ class PaginationWidget extends HookConsumerWidget { : content; } - // For non-slivers, use AnimatedSwitcher for smooth transitions + // For non-sliver cases, use AnimatedSwitcher for smooth transitions Widget buildContent() { if ((data.isLoading || noti.isLoading) && data.value?.isEmpty == true) { final content = List.generate( diff --git a/pubspec.yaml b/pubspec.yaml index 1cce0e93..ed80ff06 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -84,8 +84,8 @@ dependencies: firebase_core: ^4.2.1 web_socket_channel: ^3.0.3 material_symbols_icons: ^4.2892.0 - drift: ^2.29.0 - drift_flutter: ^0.2.7 + drift: ^2.30.0 + drift_flutter: ^0.2.8 path: ^1.9.1 collection: ^1.19.1 markdown_editor_plus: ^0.2.15 @@ -154,11 +154,11 @@ dependencies: dart_ipc: ^1.0.1 pretty_diff_text: ^2.1.0 window_manager: ^0.5.1 - talker: ^5.1.3 - talker_flutter: ^5.1.3 - talker_logger: ^5.1.3 - talker_dio_logger: ^5.1.3 - talker_riverpod_logger: ^5.1.3 + talker: ^5.1.4 + talker_flutter: ^5.1.4 + talker_logger: ^5.1.4 + talker_dio_logger: ^5.1.4 + talker_riverpod_logger: ^5.1.4 syncfusion_flutter_pdfviewer: ^31.1.21 swipe_to: ^1.0.6 fl_heatmap: ^0.4.6 @@ -188,7 +188,7 @@ dev_dependencies: riverpod_generator: ^3.0.3 custom_lint: ^0.8.1 riverpod_lint: ^3.0.3 - drift_dev: ^2.29.0 + drift_dev: ^2.30.0 flutter_launcher_icons: ^0.14.4 msix: ^3.16.12