Skip to content

Commit

Permalink
fix(departments): reduce animation re-rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
simon-the-shark committed Aug 27, 2024
1 parent ee5a415 commit 5b261d1
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
5 changes: 3 additions & 2 deletions lib/features/departments_view/departments_view.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import "package:auto_route/auto_route.dart";
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:flutter/material.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";

Expand Down Expand Up @@ -42,10 +43,10 @@ class _DepartmentsViewListBody extends ConsumerWidget {
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 24),
child: switch (state) {
AsyncLoading() => const DepartmentsViewLoading(),
AsyncError(:final error) => MyErrorWidget(error),
AsyncValue(:final value) =>
AsyncValue(:final IList<Department?> value) =>
_DepartmentsDataView(value.whereNonNull.toList()),
_ => const DepartmentsViewLoading(),
},
);
}
Expand Down
19 changes: 10 additions & 9 deletions lib/features/departments_view/departments_view_controllers.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:riverpod_annotation/riverpod_annotation.dart";

import "../../utils/contains_lower_case.dart";
Expand All @@ -16,15 +17,15 @@ class SearchDepartmentsController extends _$SearchDepartmentsController {
}

@riverpod
Future<List<Department?>?> departmentsList(DepartmentsListRef ref) async {
Future<IList<Department?>> departmentsList(DepartmentsListRef ref) async {
final originalList = await ref.watch(departmentsRepositoryProvider.future);
final query = ref.watch(searchDepartmentsControllerProvider);
return originalList
?.where(
(element) =>
element == null ||
element.name.containsLowerCase(query) ||
element.code.containsLowerCase(query),
)
.toList();
return (originalList?.where(
(element) =>
element == null ||
element.name.containsLowerCase(query) ||
element.code.containsLowerCase(query),
) ??
[])
.toIList();
}

0 comments on commit 5b261d1

Please sign in to comment.