import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:SEFER/constant/colors.dart'; import 'package:SEFER/constant/style.dart'; import '../../controller/notification/passenger_notification_controller.dart'; import '../widgets/elevated_btn.dart'; import '../widgets/my_scafold.dart'; import '../widgets/mycircular.dart'; class NotificationPage extends StatelessWidget { const NotificationPage({super.key}); @override Widget build(BuildContext context) { Get.put(PassengerNotificationController()); return MyScafolld( isleading: true, title: 'Notifications', body: [ GetBuilder( builder: (notificationCaptainController) => notificationCaptainController.isloading ? const MyCircularProgressIndicator() : SafeArea( child: ListView.builder( itemCount: notificationCaptainController .notificationData['message'].length, itemBuilder: (BuildContext context, int index) { if (notificationCaptainController .notificationData['message'] == "No notification data found") { Get.defaultDialog(); } var res = notificationCaptainController .notificationData['message'][index]; return Card( elevation: 4, color: res['isShown'] == 'true' ? AppColor.secondaryColor.withOpacity(.5) : AppColor.secondaryColor.withOpacity(.9), child: ListTile( onTap: () { Get.defaultDialog( title: res['title'], titleStyle: AppStyle.title, content: SizedBox( width: Get.width * .8, // height: Get.height * .4, child: Text( res['body'], style: AppStyle.title, ), ), confirm: MyElevatedButton( title: 'Ok', onPressed: () { notificationCaptainController .updateNotification( res['id'].toString()); })); }, leading: res['isShown'] == 'true' ? const Icon( Icons.notifications_off_outlined) : const Icon(Icons.notifications_active), title: Text( res['title'], style: AppStyle.title, ), subtitle: Text( res['body'], style: AppStyle.subtitle, ), ), ); }, ), )) ], ); } }