diff --git a/lib/controllers/pinned_events.dart b/lib/controllers/pinned_events.dart index 323a275..d0d7bb5 100644 --- a/lib/controllers/pinned_events.dart +++ b/lib/controllers/pinned_events.dart @@ -2,26 +2,25 @@ import "package:fast_immutable_collections/fast_immutable_collections.dart"; import "package:hooks_riverpod/hooks_riverpod.dart"; import "package:nexus/controllers/event.dart"; import "package:nexus/controllers/pinned_ids.dart"; -import "package:nexus/models/event.dart"; class PinnedEventsController(final String roomId) - extends AsyncNotifier> { + extends AsyncNotifier> { @override - Future> build() async { + Future> build() async { final pinIds = ref.watch(PinnedIdsController.provider(roomId)); return (await Future.wait( pinIds.map( (eventId) => ref.watch( EventController.provider(.new(eventId: eventId, roomId: roomId)) - .future, + .selectAsync((data) => data?.rowId), ), ), )).nonNulls.toIList(); } static final provider = AsyncNotifierProvider.family - .autoDispose, String>( + .autoDispose, String>( PinnedEventsController.new, ); } diff --git a/lib/widgets/pinned_events_drawer.dart b/lib/widgets/pinned_events_drawer.dart index f6bf9d2..cff6ad6 100644 --- a/lib/widgets/pinned_events_drawer.dart +++ b/lib/widgets/pinned_events_drawer.dart @@ -57,19 +57,19 @@ final class const PinnedEventsDrawer( reverse: true, itemCount: value.length, itemBuilder: (context, index) { - final event = value.reversed[index]; + final rowId = value.reversed[index]; return InkWell( borderRadius: .circular(12), onTap: () { Navigator.of(context).pop(); - jumpToEvent(event.rowId); + jumpToEvent(rowId); }, child: Padding( padding: .symmetric(vertical: 4), child: IgnorePointer( child: EventRenderer( - event.rowId, + rowId, roomId: roomId, maxLines: 2, getEventOptions: getEventOptions,