QOL: Mzansi Profile Package performance improvements pt2

This commit is contained in:
2025-11-28 13:48:25 +02:00
parent ef4c3102a9
commit ad96725478
4 changed files with 31 additions and 43 deletions

View File

@@ -35,8 +35,6 @@ class _BuildEmployeeListState extends State<BuildEmployeeList> {
builder: (BuildContext context, builder: (BuildContext context,
MzansiProfileProvider mzansiProfileProvider, Widget? child) { MzansiProfileProvider mzansiProfileProvider, Widget? child) {
return ListView.separated( return ListView.separated(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
separatorBuilder: (BuildContext context, index) { separatorBuilder: (BuildContext context, index) {
return Divider( return Divider(
color: MihColors.getSecondaryColor( color: MihColors.getSecondaryColor(

View File

@@ -42,8 +42,6 @@ class _BuildUserListState extends State<BuildUserList> {
builder: (BuildContext context, MzansiProfileProvider profileProvider, builder: (BuildContext context, MzansiProfileProvider profileProvider,
Widget? child) { Widget? child) {
return ListView.separated( return ListView.separated(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
separatorBuilder: (BuildContext context, index) { separatorBuilder: (BuildContext context, index) {
return Divider( return Divider(
color: MihColors.getSecondaryColor( color: MihColors.getSecondaryColor(

View File

@@ -1,6 +1,5 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_search_bar.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_search_bar.dart';
import 'package:mzansi_innovation_hub/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_objects/app_user.dart';
@@ -44,7 +43,7 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
Widget displayUserList(MzansiProfileProvider profileProvider) { Widget displayUserList(MzansiProfileProvider profileProvider) {
if (profileProvider.userSearchResults.isNotEmpty) { if (profileProvider.userSearchResults.isNotEmpty) {
return BuildUserList(); return Expanded(child: BuildUserList());
} }
if (hasSearchedBefore && userSearch.isNotEmpty) { if (hasSearchedBefore && userSearch.isNotEmpty) {
return Column( return Column(
@@ -168,37 +167,35 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
return Consumer<MzansiProfileProvider>( return Consumer<MzansiProfileProvider>(
builder: (BuildContext context, MzansiProfileProvider profileProvider, builder: (BuildContext context, MzansiProfileProvider profileProvider,
Widget? child) { Widget? child) {
return MihSingleChildScroll( return Column(
child: Column( mainAxisSize: MainAxisSize.max,
mainAxisSize: MainAxisSize.max, children: [
children: [ Padding(
Padding( padding: EdgeInsets.symmetric(horizontal: width / 20),
padding: EdgeInsets.symmetric(horizontal: width / 20), child: MihSearchBar(
child: MihSearchBar( controller: searchController,
controller: searchController, hintText: "Search Users",
hintText: "Search Users", prefixIcon: Icons.search,
prefixIcon: Icons.search, fillColor: MihColors.getSecondaryColor(
fillColor: MihColors.getSecondaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
MzansiInnovationHub.of(context)!.theme.mode == "Dark"), hintColor: MihColors.getPrimaryColor(
hintColor: MihColors.getPrimaryColor( MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
MzansiInnovationHub.of(context)!.theme.mode == "Dark"), onPrefixIconTap: () {
onPrefixIconTap: () { submitUserForm(profileProvider);
submitUserForm(profileProvider); },
}, onClearIconTap: () {
onClearIconTap: () { setState(() {
setState(() { searchController.clear();
searchController.clear(); userSearch = "";
userSearch = ""; });
}); profileProvider.setUserearchResults(userSearchResults: []);
profileProvider.setUserearchResults(userSearchResults: []); },
}, searchFocusNode: _searchFocusNode,
searchFocusNode: _searchFocusNode,
),
), ),
const SizedBox(height: 10), ),
displayUserList(profileProvider), const SizedBox(height: 10),
], displayUserList(profileProvider),
), ],
); );
}, },
); );

View File

@@ -1,5 +1,4 @@
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_package_components/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart'; import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart';
@@ -31,7 +30,7 @@ class _MihMyBusinessTeamState extends State<MihMyBusinessTeam> {
Widget displayEmployeeList(List<BusinessEmployee> employeeList) { Widget displayEmployeeList(List<BusinessEmployee> employeeList) {
if (employeeList.isNotEmpty) { if (employeeList.isNotEmpty) {
return BuildEmployeeList(); return Expanded(child: BuildEmployeeList());
} }
return Center( return Center(
child: Text( child: Text(
@@ -71,11 +70,7 @@ class _MihMyBusinessTeamState extends State<MihMyBusinessTeam> {
child: Mihloadingcircle(), child: Mihloadingcircle(),
); );
} }
return MihSingleChildScroll( return displayEmployeeList(mzansiProfileProvider.employeeList!);
child: Column(mainAxisSize: MainAxisSize.max, children: [
displayEmployeeList(mzansiProfileProvider.employeeList!),
]),
);
}, },
); );
} }