remove future getting

This commit is contained in:
2025-04-29 10:46:56 +02:00
parent 869098e432
commit 6867538edf
2 changed files with 41 additions and 196 deletions

View File

@@ -10,16 +10,17 @@ import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.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_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
class MihBusinessDetails extends StatefulWidget { class MihBusinessDetails extends StatefulWidget {
final BusinessArguments arguments; final BusinessArguments arguments;
final ImageProvider<Object>? logoImage;
const MihBusinessDetails({ const MihBusinessDetails({
super.key, super.key,
required this.arguments, required this.arguments,
required this.logoImage,
}); });
@override @override
@@ -27,7 +28,6 @@ class MihBusinessDetails extends StatefulWidget {
} }
class _MihBusinessDetailsState extends State<MihBusinessDetails> { class _MihBusinessDetailsState extends State<MihBusinessDetails> {
late Future<String> fileUrlFuture;
PlatformFile? imageFile; PlatformFile? imageFile;
final fileNameController = TextEditingController(); final fileNameController = TextEditingController();
final regController = TextEditingController(); final regController = TextEditingController();
@@ -220,10 +220,6 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
emailController.text = widget.arguments.business!.bus_email; emailController.text = widget.arguments.business!.bus_email;
locationController.text = widget.arguments.business!.gps_location; locationController.text = widget.arguments.business!.gps_location;
}); });
fileUrlFuture = MihFileApi.getMinioFileUrl(
widget.arguments.business!.logo_path,
context,
);
} }
@override @override
@@ -247,36 +243,13 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
), ),
Divider(color: MzanziInnovationHub.of(context)?.theme.secondaryColor()), Divider(color: MzanziInnovationHub.of(context)?.theme.secondaryColor()),
const SizedBox(height: 10), const SizedBox(height: 10),
FutureBuilder( MihCircleAvatar(
future: fileUrlFuture, imageFile: widget.logoImage,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Container(
// alignment: Alignment.center,
width: 150,
height: 150,
child: FittedBox(
alignment: Alignment.center,
fit: BoxFit.fill,
child: Icon(
MihIcons.mihCircleFrame,
color:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
),
),
);
} else if (snapshot.connectionState == ConnectionState.done &&
snapshot.hasData &&
snapshot.data != null &&
snapshot.data.toString().isNotEmpty) {
return MihCircleAvatar(
imageFile: NetworkImage(snapshot.data.toString()),
width: 150, width: 150,
editable: true, editable: true,
fileNameController: fileNameController, fileNameController: fileNameController,
userSelectedfile: imageFile, userSelectedfile: imageFile,
frameColor: frameColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
backgroundColor: backgroundColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
onChange: (selectedfile) { onChange: (selectedfile) {
@@ -284,29 +257,6 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
imageFile = selectedfile; imageFile = selectedfile;
}); });
}, },
);
} else if (snapshot.hasError) {
return Text("Error: ${snapshot.error}");
} else {
return MihCircleAvatar(
imageFile: null,
width: 150,
editable: true,
fileNameController: fileNameController,
userSelectedfile: imageFile,
frameColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onChange: (selectedfile) {
setState(() {
imageFile = selectedfile;
});
},
);
// return const Text("Error loading image");
}
},
), ),
Visibility( Visibility(
visible: false, visible: false,

View File

@@ -10,7 +10,6 @@ import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih-app_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_app_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_circle_avatar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_image_display.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_image_display.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_success_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_success_message.dart';
@@ -18,9 +17,14 @@ import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
class MihMyBusinessUser extends StatefulWidget { class MihMyBusinessUser extends StatefulWidget {
final BusinessArguments arguments; final BusinessArguments arguments;
final ImageProvider<Object>? userProPicImage;
final ImageProvider<Object>? userSignatureImage;
const MihMyBusinessUser({ const MihMyBusinessUser({
super.key, super.key,
required this.arguments, required this.arguments,
required this.userProPicImage,
required this.userSignatureImage,
}); });
@override @override
@@ -28,8 +32,6 @@ class MihMyBusinessUser extends StatefulWidget {
} }
class _MihMyBusinessUserState extends State<MihMyBusinessUser> { class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
late Future<String> userPicUrlFuture;
late Future<String> userSignatureUrlFuture;
PlatformFile? userPicFile; PlatformFile? userPicFile;
PlatformFile? userSignatureFile; PlatformFile? userSignatureFile;
final fileNameController = TextEditingController(); final fileNameController = TextEditingController();
@@ -190,14 +192,6 @@ class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
lnameController.text = widget.arguments.signedInUser.lname; lnameController.text = widget.arguments.signedInUser.lname;
accessController.text = widget.arguments.businessUser!.access; accessController.text = widget.arguments.businessUser!.access;
}); });
userPicUrlFuture = MihFileApi.getMinioFileUrl(
widget.arguments.signedInUser.pro_pic_path,
context,
);
userSignatureUrlFuture = MihFileApi.getMinioFileUrl(
widget.arguments.businessUser!.sig_path,
context,
);
} }
@override @override
@@ -222,59 +216,16 @@ class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
Divider( Divider(
color: MzanziInnovationHub.of(context)?.theme.secondaryColor()), color: MzanziInnovationHub.of(context)?.theme.secondaryColor()),
const SizedBox(height: 10), const SizedBox(height: 10),
FutureBuilder( MihCircleAvatar(
future: userPicUrlFuture, imageFile: widget.userProPicImage,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Container(
// alignment: Alignment.center,
width: 150,
height: 150,
child: FittedBox(
alignment: Alignment.center,
fit: BoxFit.fill,
child: Icon(
MihIcons.mihCircleFrame,
color: MzanziInnovationHub.of(context)!
.theme
.secondaryColor(),
),
),
);
} else if (snapshot.connectionState == ConnectionState.done &&
snapshot.hasData &&
snapshot.data != null &&
snapshot.data.toString().isNotEmpty) {
return MihCircleAvatar(
imageFile: NetworkImage(snapshot.data.toString()),
width: 150, width: 150,
editable: false, editable: false,
fileNameController: fileNameController, fileNameController: fileNameController,
userSelectedfile: userPicFile, userSelectedfile: userPicFile,
frameColor: frameColor: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
backgroundColor: backgroundColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(), MzanziInnovationHub.of(context)!.theme.primaryColor(),
onChange: (_) {}, onChange: (_) {},
);
} else if (snapshot.hasError) {
return Text("Error: ${snapshot.error}");
} else {
return MihCircleAvatar(
imageFile: null,
width: 150,
editable: false,
fileNameController: fileNameController,
userSelectedfile: userPicFile,
frameColor:
MzanziInnovationHub.of(context)!.theme.secondaryColor(),
backgroundColor:
MzanziInnovationHub.of(context)!.theme.primaryColor(),
onChange: (_) {},
);
// return const Text("Error loading image");
}
},
), ),
Visibility( Visibility(
visible: false, visible: false,
@@ -334,12 +285,8 @@ class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
), ),
), ),
), ),
FutureBuilder( MihImageDisplay(
future: userSignatureUrlFuture, imageFile: widget.userSignatureImage,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return MihImageDisplay(
imageFile: null,
width: 300, width: 300,
height: 200, height: 200,
editable: true, editable: true,
@@ -350,58 +297,6 @@ class _MihMyBusinessUserState extends State<MihMyBusinessUser> {
userSignatureFile = selectedFile; userSignatureFile = selectedFile;
}); });
}, },
);
// return Container(
// // alignment: Alignment.center,
// width: 300,
// height: 200,
// child: FittedBox(
// alignment: Alignment.center,
// fit: BoxFit.fill,
// child: Icon(
// MihIcons.mihCircleFrame,
// color: MzanziInnovationHub.of(context)!
// .theme
// .secondaryColor(),
// ),
// ),
// );
} else if (snapshot.connectionState == ConnectionState.done &&
snapshot.hasData &&
snapshot.data != null &&
snapshot.data.toString().isNotEmpty) {
return MihImageDisplay(
imageFile: NetworkImage(snapshot.data.toString()),
width: 300,
height: 200,
editable: true,
fileNameController: signtureController,
userSelectedfile: userSignatureFile,
onChange: (selectedFile) {
setState(() {
userSignatureFile = selectedFile;
});
},
);
} else if (snapshot.hasError) {
return Text("Error: ${snapshot.error}");
} else {
return MihImageDisplay(
imageFile: null,
width: 300,
height: 200,
editable: true,
fileNameController: signtureController,
userSelectedfile: userSignatureFile,
onChange: (selectedFile) {
setState(() {
userSignatureFile = selectedFile;
});
},
);
// return const Text("Error loading image");
}
},
), ),
const SizedBox(height: 10), const SizedBox(height: 10),
Visibility( Visibility(