avoid un-needed reloads for diffs
This commit is contained in:
parent
9e6951818a
commit
868023a4a1
2 changed files with 8 additions and 6 deletions
|
|
@ -9,11 +9,12 @@ class EventController(final GetEventRequest request)
|
|||
extends AsyncNotifier<Event?> {
|
||||
@override
|
||||
Future<Event?> build() async {
|
||||
final room = ref.watch(
|
||||
RoomsController.provider.select((value) => value[request.roomId]),
|
||||
);
|
||||
final event = room?.events.values.firstWhereOrNull(
|
||||
final event = ref.watch(
|
||||
RoomsController.provider.select(
|
||||
(rooms) => rooms[request.roomId]?.events.values.firstWhereOrNull(
|
||||
(event) => event.eventId == request.eventId,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
if (event != null) return event;
|
||||
|
|
|
|||
|
|
@ -53,7 +53,8 @@ class const PinnedEventsDiff(
|
|||
.new(roomId: roomId, eventId: change.$1),
|
||||
),
|
||||
)) {
|
||||
AsyncData(value: final event?) => InkWell(
|
||||
// Keeps showing the event while it reloads
|
||||
AsyncValue(value: final event?) => InkWell(
|
||||
borderRadius: .circular(4),
|
||||
hoverColor: color.withValues(alpha: 0.12),
|
||||
onTap: jumpToEvent == null
|
||||
|
|
|
|||
Loading…
Reference in a new issue