import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../../data/services/db/sqflite_api.dart'; import '../model/meeting_details_model.dart'; import '../model/meeting_model.dart'; class MeetingEditController extends GetxController with GetSingleTickerProviderStateMixin { late AnimationController lottieController; late TextEditingController titleController; late TextEditingController contentController; int id = 0; RxBool isLoading = true.obs; Rx meetingData = MeetingModel().obs; Rx dataDetails = MeetingDetailsModel().obs; RxBool isPlay = false.obs; @override void onInit() { super.onInit(); lottieController = AnimationController(vsync: this); final Map args = Get.arguments ?? {}; id = args['id']; _getDataDetails(); } @override void onClose() { lottieController.dispose(); titleController.dispose(); contentController.dispose(); super.onClose(); } void _getDataDetails() async { final data = await SqfliteApi.getMeetingDetails(id); meetingData.value = MeetingModel.fromJson(data); dataDetails.value = MeetingDetailsModel.fromJson(data['details']); titleController = TextEditingController( text: meetingData.value.title, ); contentController = TextEditingController( text: dataDetails.value.content, ); isLoading.value = false; } void start() { if (isPlay.value) { lottieController.stop(); isPlay.value = false; } else { lottieController.repeat(); isPlay.value = true; } } }