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?> {
|
extends AsyncNotifier<Event?> {
|
||||||
@override
|
@override
|
||||||
Future<Event?> build() async {
|
Future<Event?> build() async {
|
||||||
final room = ref.watch(
|
final event = ref.watch(
|
||||||
RoomsController.provider.select((value) => value[request.roomId]),
|
RoomsController.provider.select(
|
||||||
);
|
(rooms) => rooms[request.roomId]?.events.values.firstWhereOrNull(
|
||||||
final event = room?.events.values.firstWhereOrNull(
|
(event) => event.eventId == request.eventId,
|
||||||
(event) => event.eventId == request.eventId,
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (event != null) return event;
|
if (event != null) return event;
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,8 @@ class const PinnedEventsDiff(
|
||||||
.new(roomId: roomId, eventId: change.$1),
|
.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),
|
borderRadius: .circular(4),
|
||||||
hoverColor: color.withValues(alpha: 0.12),
|
hoverColor: color.withValues(alpha: 0.12),
|
||||||
onTap: jumpToEvent == null
|
onTap: jumpToEvent == null
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue