Merge pull request #33 from yaso-meth/bug-profile-pictire-update-fix

Bug-profile-pictire-update-fix
This commit is contained in:
yaso-meth
2025-01-13 12:31:32 +02:00
committed by GitHub
4 changed files with 63 additions and 14 deletions

View File

@@ -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),
),

View File

@@ -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,

View File

@@ -346,10 +346,10 @@ packages:
dependency: "direct main"
description:
name: file_picker
sha256: "16dc141db5a2ccc6520ebb6a2eb5945b1b09e95085c021d9f914f8ded7f1465c"
sha256: c904b4ab56d53385563c7c39d8e9fa9af086f91495dfc48717ad84a42c3cf204
url: "https://pub.dev"
source: hosted
version: "8.1.4"
version: "8.1.7"
firebase_core:
dependency: "direct main"
description:

View File

@@ -40,7 +40,7 @@ dependencies:
syncfusion_flutter_core: ^26.2.10
syncfusion_flutter_pdfviewer: ^26.1.39
universal_html: ^2.2.4
file_picker: ^8.1.4
file_picker: ^8.1.7
supertokens_flutter: ^0.6.0
http: ^1.2.1
google_nav_bar: ^5.0.6