add new search to business profile

This commit is contained in:
2025-05-30 13:03:09 +02:00
parent ab147f48a8
commit c343f67906

View File

@@ -1,9 +1,8 @@
import 'dart:convert'; import 'dart:convert';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_inputs_and_buttons/mih_search_input.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_search_bar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_env/env.dart'; import 'package:mzansi_innovation_hub/mih_env/env.dart';
@@ -29,6 +28,7 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
final FocusNode _focusNode = FocusNode(); final FocusNode _focusNode = FocusNode();
final TextEditingController searchController = TextEditingController(); final TextEditingController searchController = TextEditingController();
late Future<List<AppUser>> userSearchResults; late Future<List<AppUser>> userSearchResults;
final FocusNode _searchFocusNode = FocusNode();
String userSearch = ""; String userSearch = "";
String errorCode = ""; String errorCode = "";
@@ -89,16 +89,25 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
userSearchResults = fetchUsers("abc"); userSearchResults = fetchUsers("abc");
} }
@override
void dispose() {
// TODO: implement dispose
super.dispose();
_searchFocusNode.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final Size size = MediaQuery.sizeOf(context);
final double width = size.width;
return MihPackageToolBody( return MihPackageToolBody(
borderOn: false, borderOn: false,
innerHorizontalPadding: 10, innerHorizontalPadding: 10,
bodyItem: getBody(), bodyItem: getBody(width),
); );
} }
Widget getBody() { Widget getBody(double width) {
return MihSingleChildScroll( return MihSingleChildScroll(
child: KeyboardListener( child: KeyboardListener(
focusNode: _focusNode, focusNode: _focusNode,
@@ -110,16 +119,21 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
} }
}, },
child: Column(mainAxisSize: MainAxisSize.max, children: [ child: Column(mainAxisSize: MainAxisSize.max, children: [
MIHSearchField( Padding(
padding: EdgeInsets.symmetric(horizontal: width / 20),
child: MihSearchBar(
controller: searchController, controller: searchController,
hintText: "Username or Email Search", hintText: "Search Users",
required: true, prefixIcon: Icons.search,
editable: true, fillColor:
onTap: () { MzanziInnovationHub.of(context)!.theme.secondaryColor(),
hintColor: MzanziInnovationHub.of(context)!.theme.primaryColor(),
onPrefixIconTap: () {
submitUserForm(); submitUserForm();
}, },
searchFocusNode: _searchFocusNode,
),
), ),
//spacer
const SizedBox(height: 10), const SizedBox(height: 10),
FutureBuilder( FutureBuilder(
future: userSearchResults, future: userSearchResults,