|
|
|
|
@ -48,14 +48,17 @@ class _PrescriptionAiAnalysisDetailedPageState extends State<PrescriptionAiAnaly
|
|
|
|
|
initiallyExpanded: true,
|
|
|
|
|
children: [
|
|
|
|
|
SizedBox(height: 10.h),
|
|
|
|
|
Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFF0B85F7)),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
child: Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFF0B85F7)),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: (analysis.prescriptionSummary ?? "").toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: (analysis.prescriptionSummary ?? "").toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(height: 8.h),
|
|
|
|
|
],
|
|
|
|
|
@ -94,28 +97,31 @@ class _PrescriptionAiAnalysisDetailedPageState extends State<PrescriptionAiAnaly
|
|
|
|
|
title: LocaleKeys.importantWarnings.tr(context: context).toText18(weight: FontWeight.w700, color: AppColors.blackColor),
|
|
|
|
|
children: [
|
|
|
|
|
SizedBox(height: 10.h),
|
|
|
|
|
Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFFFF5252)),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: analysis.importantWarnings!.map((warning) {
|
|
|
|
|
return Padding(
|
|
|
|
|
padding: EdgeInsets.only(bottom: 8.h),
|
|
|
|
|
child: Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Icon(Icons.warning_amber_rounded, color: Color(0xFFFF5252), size: 18.w),
|
|
|
|
|
SizedBox(width: 8.w),
|
|
|
|
|
Expanded(child: warning.toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400)),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}).toList(),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
child: Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFFFF5252)),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: analysis.importantWarnings!.map((warning) {
|
|
|
|
|
return Padding(
|
|
|
|
|
padding: EdgeInsets.only(bottom: 8.h),
|
|
|
|
|
child: Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Icon(Icons.warning_amber_rounded, color: Color(0xFFFF5252), size: 18.w),
|
|
|
|
|
SizedBox(width: 8.w),
|
|
|
|
|
Expanded(child: warning.toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400)),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}).toList(),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(height: 8.h),
|
|
|
|
|
@ -123,7 +129,6 @@ class _PrescriptionAiAnalysisDetailedPageState extends State<PrescriptionAiAnaly
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Medicine Interactions Section
|
|
|
|
|
if (analysis.medicineInteractions != null && analysis.medicineInteractions!.isNotEmpty) {
|
|
|
|
|
expandableItems.add(
|
|
|
|
|
@ -133,28 +138,31 @@ class _PrescriptionAiAnalysisDetailedPageState extends State<PrescriptionAiAnaly
|
|
|
|
|
title: LocaleKeys.medicineInteractions.tr(context: context).toText18(weight: FontWeight.w700, color: AppColors.blackColor),
|
|
|
|
|
children: [
|
|
|
|
|
SizedBox(height: 10.h),
|
|
|
|
|
Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFFFFAF15)),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: analysis.medicineInteractions!.map((interaction) {
|
|
|
|
|
return Padding(
|
|
|
|
|
padding: EdgeInsets.only(bottom: 8.h),
|
|
|
|
|
child: Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Icon(Icons.info_outline, color: Color(0xFFFFAF15), size: 18.w),
|
|
|
|
|
SizedBox(width: 8.w),
|
|
|
|
|
Expanded(child: interaction.toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400)),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}).toList(),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
child: Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFFFFAF15)),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: analysis.medicineInteractions!.map((interaction) {
|
|
|
|
|
return Padding(
|
|
|
|
|
padding: EdgeInsets.only(bottom: 8.h),
|
|
|
|
|
child: Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Icon(Icons.info_outline, color: Color(0xFFFFAF15), size: 18.w),
|
|
|
|
|
SizedBox(width: 8.w),
|
|
|
|
|
Expanded(child: interaction.toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400)),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}).toList(),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(height: 8.h),
|
|
|
|
|
@ -172,14 +180,17 @@ class _PrescriptionAiAnalysisDetailedPageState extends State<PrescriptionAiAnaly
|
|
|
|
|
title: LocaleKeys.followUpNeeded.tr(context: context).toText18(weight: FontWeight.w700, color: AppColors.blackColor),
|
|
|
|
|
children: [
|
|
|
|
|
SizedBox(height: 10.h),
|
|
|
|
|
Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: AppColors.primaryRedColor),
|
|
|
|
|
SizedBox(
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
child: Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: AppColors.primaryRedColor),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: (analysis.followUpNeeded ?? "").toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: (analysis.followUpNeeded ?? "").toText14(color: AppColors.textColorLight, height: 1.5, weight: FontWeight.w400),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(height: 8.h),
|
|
|
|
|
],
|
|
|
|
|
@ -224,14 +235,16 @@ class _PrescriptionAiAnalysisDetailedPageState extends State<PrescriptionAiAnaly
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Widget _buildMedicineCard(MedicineAnalysis medicine) {
|
|
|
|
|
return Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFF4CAF50)),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: Column(
|
|
|
|
|
return SizedBox(
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
child: Container(
|
|
|
|
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
|
|
|
|
color: AppColors.whiteColor,
|
|
|
|
|
borderRadius: 12.r,
|
|
|
|
|
side: BorderSide(width: 1, color: Color(0xFF4CAF50)),
|
|
|
|
|
),
|
|
|
|
|
padding: EdgeInsets.all(16.r),
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
// Medicine Name
|
|
|
|
|
@ -282,7 +295,7 @@ class _PrescriptionAiAnalysisDetailedPageState extends State<PrescriptionAiAnaly
|
|
|
|
|
],
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Widget _buildInfoRow({
|
|
|
|
|
|