forked from yaso_meth/mih-project
Merge pull request #33 from yaso-meth/bug-profile-pictire-update-fix
Bug-profile-pictire-update-fix
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../main.dart';
|
||||
@@ -69,18 +71,54 @@ class _MIHProfilePictureState extends State<MIHProfilePicture> {
|
||||
type: FileType.custom,
|
||||
allowedExtensions: ['jpg', 'png'],
|
||||
);
|
||||
if (result == null) return;
|
||||
final selectedFile = result.files.first;
|
||||
setState(() {
|
||||
widget.onChange(selectedFile);
|
||||
widget.proPic = selectedFile;
|
||||
//print("MIH Profile Picture: ${widget.proPic}");
|
||||
propicPreview = MemoryImage(widget.proPic!.bytes!);
|
||||
});
|
||||
// print(
|
||||
// "Platform: ${MzanziInnovationHub.of(context)!.theme.getPlatform()}");
|
||||
if (MzanziInnovationHub.of(context)!.theme.getPlatform() ==
|
||||
"Web") {
|
||||
if (result == null) return;
|
||||
final selectedFile = result.files.first;
|
||||
setState(() {
|
||||
widget.onChange(selectedFile);
|
||||
widget.proPic = selectedFile;
|
||||
//print("MIH Profile Picture: ${widget.proPic}");
|
||||
propicPreview = MemoryImage(widget.proPic!.bytes!);
|
||||
});
|
||||
|
||||
setState(() {
|
||||
widget.proPicController.text = selectedFile.name;
|
||||
});
|
||||
setState(() {
|
||||
widget.proPicController.text = selectedFile.name;
|
||||
});
|
||||
} else {
|
||||
// print(
|
||||
// "================\nHere for Android\n========================");
|
||||
if (result != null) {
|
||||
// print("here 1");
|
||||
File file = File(result.files.single.path!);
|
||||
PlatformFile? androidFile = PlatformFile(
|
||||
path: file.path,
|
||||
name: file.path.split('/').last,
|
||||
size: file.lengthSync(),
|
||||
bytes: await file.readAsBytes(), // Read file bytes
|
||||
//extension: fileExtension,
|
||||
);
|
||||
// print("here 2");
|
||||
setState(() {
|
||||
// print("here 3");
|
||||
widget.onChange(androidFile);
|
||||
// print("here 4");
|
||||
widget.proPic = androidFile;
|
||||
// print("here 5");
|
||||
//print("MIH Profile Picture: ${widget.proPic}");
|
||||
//print("bytes: ${widget.proPic!.bytes!}");
|
||||
propicPreview = FileImage(file);
|
||||
});
|
||||
|
||||
setState(() {
|
||||
widget.proPicController.text = widget.proPic!.name;
|
||||
});
|
||||
} else {
|
||||
// User canceled the picker
|
||||
}
|
||||
}
|
||||
},
|
||||
icon: const Icon(Icons.edit),
|
||||
),
|
||||
|
||||
@@ -218,8 +218,12 @@ class _ProfileUserUpdateState extends State<ProfileUserUpdate> {
|
||||
}
|
||||
|
||||
Future<void> submitForm() async {
|
||||
// print("============\nsubmiit form\n=================");
|
||||
if (isFieldsFilled()) {
|
||||
if (oldProPicName != proPicController.text) {
|
||||
// print("here 1");
|
||||
// print("Pro File Name: ${proPic!.name}");
|
||||
// print("Pro File Bytes: ${proPic!.bytes}");
|
||||
await uploadSelectedFile(proPic);
|
||||
}
|
||||
await updateUserApiCall();
|
||||
@@ -308,6 +312,13 @@ class _ProfileUserUpdateState extends State<ProfileUserUpdate> {
|
||||
},
|
||||
),
|
||||
),
|
||||
// const SizedBox(height: 10.0),
|
||||
// MIHTextField(
|
||||
// controller: proPicController,
|
||||
// hintText: "Pro Pic",
|
||||
// editable: true,
|
||||
// required: true,
|
||||
// ),
|
||||
const SizedBox(height: 10.0),
|
||||
MIHTextField(
|
||||
controller: usernameController,
|
||||
|
||||
Reference in New Issue
Block a user