diff --git a/Frontend/patient_manager/lib/mih_packages/patient_profile/patient_files.dart b/Frontend/patient_manager/lib/mih_packages/patient_profile/patient_files.dart index a7550e2e..e68979f1 100644 --- a/Frontend/patient_manager/lib/mih_packages/patient_profile/patient_files.dart +++ b/Frontend/patient_manager/lib/mih_packages/patient_profile/patient_files.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; +import 'package:patient_manager/mih_components/mih_layout/mih_window.dart'; import 'package:patient_manager/mih_packages/patient_profile/builder/build_files_list.dart'; import 'package:patient_manager/mih_components/mih_inputs_and_buttons/mih_file_input.dart'; import 'package:patient_manager/mih_components/med_cert_input.dart'; @@ -426,109 +427,63 @@ class _PatientFilesState extends State { showDialog( context: context, barrierDismissible: false, - builder: (context) => Dialog( - child: Stack( - children: [ - Container( - padding: const EdgeInsets.all(10.0), - width: 700.0, - //height: 475.0, - decoration: BoxDecoration( - color: MzanziInnovationHub.of(context)!.theme.primaryColor(), - borderRadius: BorderRadius.circular(25.0), - border: Border.all( - color: - MzanziInnovationHub.of(context)!.theme.secondaryColor(), - width: 5.0), - ), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - "Upload File", - textAlign: TextAlign.center, - style: TextStyle( - color: MzanziInnovationHub.of(context)! - .theme - .secondaryColor(), - fontSize: 35.0, - fontWeight: FontWeight.bold, - ), - ), - const SizedBox(height: 25.0), - SizedBox( - width: 700, - child: MIHFileField( - controller: selectedFileController, - hintText: "Select File", - editable: false, - required: true, - onPressed: () async { - FilePickerResult? result = - await FilePicker.platform.pickFiles( - type: FileType.custom, - allowedExtensions: ['jpg', 'png', 'pdf'], - ); - if (result == null) return; - final selectedFile = result.files.first; - setState(() { - selected = selectedFile; - }); + builder: (context) => MIHWindow( + fullscreen: false, + windowTitle: "Upload File", + windowTools: const [], + onWindowTapClose: () { + Navigator.pop(context); + }, + windowBody: [ + SizedBox( + width: 700, + child: MIHFileField( + controller: selectedFileController, + hintText: "Select File", + editable: false, + required: true, + onPressed: () async { + FilePickerResult? result = await FilePicker.platform.pickFiles( + type: FileType.custom, + allowedExtensions: ['jpg', 'png', 'pdf'], + ); + if (result == null) return; + final selectedFile = result.files.first; + setState(() { + selected = selectedFile; + }); - setState(() { - selectedFileController.text = selectedFile.name; - }); - }, - ), - ), - const SizedBox(height: 30), - SizedBox( - width: 300, - height: 50, - child: MIHButton( - buttonText: "Add File", - buttonColor: MzanziInnovationHub.of(context)! - .theme - .secondaryColor(), - textColor: - MzanziInnovationHub.of(context)!.theme.primaryColor(), - onTap: () { - if (isFileFieldsFilled()) { - uploadSelectedFile(selected); - Navigator.pop(context); - } else { - showDialog( - context: context, - builder: (context) { - return const MIHErrorMessage( - errorType: "Input Error"); - }, - ); - } - }, - ), - ) - ], - ), + setState(() { + selectedFileController.text = selectedFile.name; + }); + }, ), - Positioned( - top: 5, - right: 5, - width: 50, - height: 50, - child: IconButton( - onPressed: () { + ), + const SizedBox(height: 15), + SizedBox( + width: 300, + height: 50, + child: MIHButton( + buttonText: "Add File", + buttonColor: + MzanziInnovationHub.of(context)!.theme.secondaryColor(), + textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), + onTap: () { + if (isFileFieldsFilled()) { + uploadSelectedFile(selected); Navigator.pop(context); - }, - icon: Icon( - Icons.close, - color: MzanziInnovationHub.of(context)!.theme.errorColor(), - size: 35, - ), - ), + } else { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Input Error"); + }, + ); + } + }, ), - ], - ), + ) + ], ), ); }