import 'dart:convert'; import 'package:get/get.dart'; import 'package:SEFER/constant/style.dart'; import 'package:SEFER/views/widgets/elevated_btn.dart'; import '../../constant/box_name.dart'; import '../../constant/links.dart'; import '../../main.dart'; import '../functions/crud.dart'; class NotificationCaptainController extends GetxController { bool isLoading = false; Map notificationData = {}; getNotifications() async { isLoading = true; update(); var res = await CRUD().get( link: AppLink.getNotificationCaptain, payload: {'driverID': box.read(BoxName.driverID)}); if (res == "failure") { Get.defaultDialog( title: 'There is no notification yet'.tr, titleStyle: AppStyle.title, middleText: '', confirm: MyElevatedButton( title: 'Back', onPressed: () { Get.back(); Get.back(); })); } notificationData = jsonDecode(res); // sql.insertData(notificationData['message'], TableName.captainNotification); isLoading = false; update(); } updateNotification(String id) async { await CRUD().post( link: AppLink.updateNotificationCaptain, payload: {'isShown': 'true', 'id': id}, ); } addNotificationCaptain(String driverId, title, body, isPin) async { await CRUD().post(link: AppLink.addNotificationCaptain, payload: { 'driverID': driverId, 'title': title, 'body': body, 'isPin': isPin }); } @override void onInit() { getNotifications(); super.onInit(); } }