From c7b1b72783d4796829f54578cd4415ef0094125a Mon Sep 17 00:00:00 2001 From: yaso Date: Tue, 8 Oct 2024 12:40:47 +0200 Subject: [PATCH] Pop up notification pt1 --- .../patient_manager/images/notify_logo.png | Bin 0 -> 55824 bytes .../mih_notification_message.dart | 197 ++++++++++++++++++ .../lib/mih_objects/arguments.dart | 10 + .../lib/mih_packages/mih_home/mih_home.dart | 50 ++++- .../lib/mih_router/routeGenerator.dart | 11 + 5 files changed, 264 insertions(+), 4 deletions(-) create mode 100644 Frontend/patient_manager/images/notify_logo.png create mode 100644 Frontend/patient_manager/lib/mih_components/mih_pop_up_messages/mih_notification_message.dart diff --git a/Frontend/patient_manager/images/notify_logo.png b/Frontend/patient_manager/images/notify_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1041552cda575963fc01db9631f1e64d385caa2c GIT binary patch literal 55824 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 literal 0 HcmV?d00001 diff --git a/Frontend/patient_manager/lib/mih_components/mih_pop_up_messages/mih_notification_message.dart b/Frontend/patient_manager/lib/mih_components/mih_pop_up_messages/mih_notification_message.dart new file mode 100644 index 00000000..9e4717fe --- /dev/null +++ b/Frontend/patient_manager/lib/mih_components/mih_pop_up_messages/mih_notification_message.dart @@ -0,0 +1,197 @@ +import 'package:flutter/material.dart'; +import 'package:patient_manager/main.dart'; +import 'package:patient_manager/mih_objects/arguments.dart'; + +class MIHNotificationMessage extends StatefulWidget { + final NotificationArguments arguments; + const MIHNotificationMessage({ + super.key, + required this.arguments, + }); + + @override + State createState() => _MIHNotificationMessageState(); +} + +class _MIHNotificationMessageState extends State + with SingleTickerProviderStateMixin { + //var messageTypes = {}; + late AnimationController _animationController; + late Animation _scaleAnimation; + late double popUpWidth; + late double? popUpheight; + late double popUpTitleSize; + late double popUpSubtitleSize; + late double popUpBodySize; + late double popUpIconSize; + late double popUpPaddingSize; + Size? size; + + void checkScreenSize() { + if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") { + setState(() { + popUpWidth = (size!.width / 4) * 2; + popUpheight = 90; + popUpTitleSize = 20.0; + popUpSubtitleSize = 20.0; + popUpBodySize = 15; + popUpPaddingSize = 5.0; + popUpIconSize = 100; + }); + } else { + setState(() { + popUpWidth = size!.width - 20; + popUpheight = 90; + popUpTitleSize = 20.0; + popUpSubtitleSize = 18.0; + popUpBodySize = 15; + popUpPaddingSize = 15.0; + popUpIconSize = 100; + }); + } + } + + Widget NotifyPopUp() { + //messageTypes["Input Error"] = + return Stack( + children: [ + Container( + padding: EdgeInsets.all(popUpPaddingSize), + alignment: Alignment.topLeft, + width: popUpWidth, + height: popUpheight, + decoration: BoxDecoration( + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + borderRadius: BorderRadius.circular(25.0), + // border: Border.all( + // color: MzanziInnovationHub.of(context)!.theme.primaryColor(), + // width: 5.0), + ), + child: SingleChildScrollView( + child: Column( + // crossAxisAlignment: CrossAxisAlignment.start, + // mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + //const SizedBox(height: 5), + Row( + children: [ + Icon( + Icons.notifications, + color: + MzanziInnovationHub.of(context)!.theme.primaryColor(), + ), + Flexible( + child: Text( + widget.arguments.title, + textAlign: TextAlign.left, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + fontSize: popUpTitleSize, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + const SizedBox(height: 5), + Row( + children: [ + Text( + widget.arguments.body, + textAlign: TextAlign.left, + style: TextStyle( + color: MzanziInnovationHub.of(context)! + .theme + .primaryColor(), + fontSize: popUpBodySize, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ], + ), + ), + ), + Positioned( + top: 5, + right: 5, + width: 50, + height: 50, + child: IconButton( + onPressed: () { + Navigator.pop(context); + }, + icon: Icon( + Icons.close, + color: MzanziInnovationHub.of(context)!.theme.errorColor(), + size: 35, + ), + ), + ), + ], + ); + } + + @override + void dispose() { + _animationController.dispose(); + super.dispose(); + } + + @override + void initState() { + super.initState(); + + _animationController = AnimationController( + vsync: this, + duration: + const Duration(milliseconds: 200), // Adjust the duration as needed + ); + + _scaleAnimation = Tween( + begin: const Offset(0, -1), + end: Offset.zero, + ).animate(_animationController); + + // Start the animation when + // the dialog is displayed + _animationController.forward(); + } + + @override + Widget build(BuildContext context) { + size = MediaQuery.of(context).size; + checkScreenSize(); + //setInputError(); + + //print(size); + // setState(() { + // width = size.width; + // height = size.height; + // }); + return SlideTransition( + position: _scaleAnimation, + child: Dialog( + insetAnimationDuration: const Duration(milliseconds: 1000), + insetAnimationCurve: Curves.bounceIn, + alignment: Alignment.topCenter, + child: NotifyPopUp(), + ), + ); + // return SlideTransition( + // position: Tween( + // begin: const Offset(0, -1), + // end: Offset.zero, + // ).animate(widget.animationController), + // child: Dialog( + // alignment: Alignment.topCenter, + // child: NotifyPopUp(), + // ), + // ); + } +} diff --git a/Frontend/patient_manager/lib/mih_objects/arguments.dart b/Frontend/patient_manager/lib/mih_objects/arguments.dart index ccc57108..c4657bfb 100644 --- a/Frontend/patient_manager/lib/mih_objects/arguments.dart +++ b/Frontend/patient_manager/lib/mih_objects/arguments.dart @@ -7,6 +7,16 @@ import 'package:patient_manager/mih_objects/business_user.dart'; import 'package:patient_manager/mih_objects/notification.dart'; import 'package:patient_manager/mih_objects/patients.dart'; +class NotificationArguments { + final String title; + final String body; + + NotificationArguments( + this.title, + this.body, + ); +} + class BusinessArguments { final AppUser signedInUser; final BusinessUser? businessUser; diff --git a/Frontend/patient_manager/lib/mih_packages/mih_home/mih_home.dart b/Frontend/patient_manager/lib/mih_packages/mih_home/mih_home.dart index 7d712adc..91a83fd0 100644 --- a/Frontend/patient_manager/lib/mih_packages/mih_home/mih_home.dart +++ b/Frontend/patient_manager/lib/mih_packages/mih_home/mih_home.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:convert'; import 'package:flutter/material.dart'; @@ -14,6 +15,7 @@ import 'package:patient_manager/mih_components/mih_layout/mih_app_drawer.dart'; import 'package:patient_manager/mih_components/mih_layout/mih_window.dart'; import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_delete_message.dart'; import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; +import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_notification_message.dart'; import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_warning_message.dart'; import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_success_message.dart'; @@ -239,6 +241,30 @@ class _MIHHomeState extends State { void setAppsDev(List tileList) { if (AppEnviroment.getEnv() == "Dev") { + tileList.add(MIHTile( + onTap: () { + showDialog( + barrierColor: const Color(0x01000000), + context: context, + builder: (context) { + return MIHNotificationMessage( + arguments: NotificationArguments( + "Testing", + "Testing the new MIH Notification", + ), + ); + }, + ); + }, + tileName: "Notify - Dev", + tileIcon: Icon( + Icons.notifications, + color: getSec(), + size: 200, + ), + p: getPrim(), + s: getSec(), + )); tileList.add(MIHTile( onTap: () { showDialog( @@ -705,9 +731,7 @@ class _MIHHomeState extends State { bool hasNewNotifications() { //print(widget.notifications.toString()); - if (widget.notifications - .map((item) => item.notification_read) - .contains("No")) { + if (notifiList.map((item) => item.notification_read).contains("No")) { //print("New Notification Available"); return true; } else { @@ -736,6 +760,25 @@ class _MIHHomeState extends State { setState(() { notifiList = notifi; }); + + if (hasNewNotifications()) { + print("New Notifications"); + // await MIHNotificationServices.showNotification( + // title: "New Notification waiting", + // body: + // "You have new notification waiting for you in the notification panel", + // ); + notificationPopUp(); + } + } + + void notificationPopUp() { + showDialog( + context: context, + builder: (context) { + return const MIHErrorMessage(errorType: "Internet Connection"); + }, + ); } @override @@ -752,7 +795,6 @@ class _MIHHomeState extends State { businessUserSwitch = false; notifiList = widget.notifications; }); - super.initState(); } diff --git a/Frontend/patient_manager/lib/mih_router/routeGenerator.dart b/Frontend/patient_manager/lib/mih_router/routeGenerator.dart index 2328a45f..ca600d1e 100644 --- a/Frontend/patient_manager/lib/mih_router/routeGenerator.dart +++ b/Frontend/patient_manager/lib/mih_router/routeGenerator.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:patient_manager/mih_components/mih_layout/mih_print_prevew.dart'; +import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_notification_message.dart'; import 'package:patient_manager/mih_packages/authentication/auth_check.dart'; import 'package:patient_manager/mih_packages/patient_profile/add_or_view_patient.dart'; import 'package:patient_manager/mih_packages/patient_profile/patient_add.dart'; @@ -40,6 +41,16 @@ class RouteGenerator { case '/': return MaterialPageRoute( settings: settings, builder: (_) => const AuthCheck()); + case '/notifications': + if (args is NotificationArguments) { + return MaterialPageRoute( + settings: settings, + builder: (_) => MIHNotificationMessage( + arguments: args, + ), + ); + } + return _errorRoute(); case '/forgot-password': return MaterialPageRoute( settings: settings, builder: (_) => const ForgotPassword());