From c5713cf6e0a7721bbd1ea9636cf9ac867be53e54 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Thu, 13 Nov 2025 14:33:31 +0200 Subject: [PATCH] QOL: Patient Manager overhaul pt2 --- .../build_claim_statement_files_list.dart | 6 +++ .../list_builders/build_files_list.dart | 48 +++++++++++++++++++ .../list_builders/build_notes_list.dart | 6 +++ 3 files changed, 60 insertions(+) diff --git a/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_claim_statement_files_list.dart b/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_claim_statement_files_list.dart index 30bec822..b34611ed 100644 --- a/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_claim_statement_files_list.dart +++ b/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_claim_statement_files_list.dart @@ -331,6 +331,12 @@ class _BuildClaimStatementFileListState itemCount: patientManagerProvider.patientClaimsDocuments!.length, itemBuilder: (context, index) { return ListTile( + leading: Icon( + Icons.picture_as_pdf, + size: 50, + color: MihColors.getRedColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ), title: Text( patientManagerProvider .patientClaimsDocuments![index].file_name, diff --git a/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_files_list.dart b/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_files_list.dart index a7b38555..b6050814 100644 --- a/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_files_list.dart +++ b/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_files_list.dart @@ -2,7 +2,9 @@ import 'dart:async'; import 'package:fl_downloader/fl_downloader.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:go_router/go_router.dart'; +import 'package:ken_logger/ken_logger.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_providers/mzansi_profile_provider.dart'; @@ -324,6 +326,46 @@ class _BuildFilesListState extends State { ); } + Widget getFileIcon(String extension) { + switch (extension) { + case ("pdf"): + return Icon( + Icons.picture_as_pdf, + size: 50, + color: MihColors.getRedColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ); + case ("jpg"): + return Icon( + FontAwesomeIcons.image, + size: 50, + color: MihColors.getGreenColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ); + case ("png"): + return Icon( + FontAwesomeIcons.image, + size: 50, + color: MihColors.getGreenColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ); + case ("gif"): + return Icon( + FontAwesomeIcons.image, + size: 50, + color: MihColors.getOrangeColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ); + default: + return Icon( + Icons.image_not_supported, + size: 50, + color: MihColors.getSilverColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ); + } + } + @override void dispose() { // TODO: implement dispose @@ -367,7 +409,13 @@ class _BuildFilesListState extends State { }, itemCount: patientManagerProvider.patientDocuments!.length, itemBuilder: (context, index) { + String fileExtension = patientManagerProvider + .patientDocuments![index].file_name + .split(".")[1] + .toLowerCase(); + KenLogger.success(fileExtension); return ListTile( + leading: getFileIcon(fileExtension), title: Text( patientManagerProvider.patientDocuments![index].file_name, style: TextStyle( diff --git a/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_notes_list.dart b/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_notes_list.dart index 832d0d9f..993c12b1 100644 --- a/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_notes_list.dart +++ b/Frontend/lib/mih_packages/patient_manager/pat_profile/list_builders/build_notes_list.dart @@ -282,6 +282,12 @@ class _BuildNotesListState extends State { notePreview = "${notePreview.substring(0, 30)} ..."; } return ListTile( + leading: Icon( + Icons.note, + size: 50, + color: MihColors.getGoldColor( + MzansiInnovationHub.of(context)!.theme.mode == "Dark"), + ), title: Text( "${patientManagerProvider.consultationNotes![index].note_name}\n${patientManagerProvider.consultationNotes![index].doc_office} - ${patientManagerProvider.consultationNotes![index].doctor}", style: TextStyle(