import 'package:flutter/material.dart'; import 'package:ftc_mobile_app/models/rota/LiveRoasterResponseData.dart'; import 'package:ftc_mobile_app/models/rota/WeekArrayData.dart'; import 'package:get/get.dart'; import '../../ftc_mobile_app.dart'; class YourRotaScreenController extends GetxController{ final GlobalKey screenKey = GlobalKey(); final loadingShifts = false.obs; final myShiftsList = RxList(); @override void onInit() { getAvailableShifts(); super.onInit(); } void removeFocus() { FocusScope.of(screenKey.currentContext!).unfocus(); } Future getAvailableShifts() async { loadingShifts.value = true; var response = await RotaService().getMyShifts( startDateMills: DateTime.now().toUtc().subtract(30.days).millisecondsSinceEpoch, endDateMills: DateTime.now().toUtc().add(30.days).millisecondsSinceEpoch); if (response is LiveRoasterResponseData) { myShiftsList.value = response.daysArray ?? []; } else if (response is String && response.isNotEmpty) { FrequentFunctions.showToast(message: response); } loadingShifts.value = false; } @override void dispose() { Get.delete(); super.dispose(); } }