🐛 Fix post refresh

This commit is contained in:
2025-10-31 19:18:34 +08:00
parent b52eb95b14
commit 7de98a1731

View File

@@ -27,6 +27,7 @@ import 'package:island/widgets/realm/realm_card.dart';
import 'package:island/widgets/publisher/publisher_card.dart'; import 'package:island/widgets/publisher/publisher_card.dart';
import 'package:island/widgets/web_article_card.dart'; import 'package:island/widgets/web_article_card.dart';
import 'package:island/widgets/extended_refresh_indicator.dart'; import 'package:island/widgets/extended_refresh_indicator.dart';
import 'package:island/services/event_bus.dart';
import 'package:styled_widget/styled_widget.dart'; import 'package:styled_widget/styled_widget.dart';
part 'explore.g.dart'; part 'explore.g.dart';
@@ -90,6 +91,17 @@ class ExploreScreen extends HookConsumerWidget {
return () => tabController.removeListener(listener); return () => tabController.removeListener(listener);
}, [tabController]); }, [tabController]);
// Listen for post creation events to refresh activities
useEffect(() {
final subscription = eventBus.on<PostCreatedEvent>().listen((event) {
// Refresh all activity lists when a new post is created
ref.invalidate(activityListNotifierProvider(null));
ref.invalidate(activityListNotifierProvider('subscriptions'));
ref.invalidate(activityListNotifierProvider('friends'));
});
return subscription.cancel;
}, []);
final now = DateTime.now(); final now = DateTime.now();
final query = useState( final query = useState(
@@ -479,10 +491,11 @@ class ExploreScreen extends HookConsumerWidget {
borderRadius: const BorderRadius.all(Radius.circular(8)), borderRadius: const BorderRadius.all(Radius.circular(8)),
child: CustomScrollView( child: CustomScrollView(
slivers: [ slivers: [
const SliverGap(8),
if (user.value != null) if (user.value != null)
SliverToBoxAdapter( SliverToBoxAdapter(
child: CheckInWidget( child: CheckInWidget(
margin: const EdgeInsets.only(bottom: 8, top: 8), margin: const EdgeInsets.only(bottom: 8),
), ),
), ),
SliverToBoxAdapter( SliverToBoxAdapter(