This repository has been archived on 2024-10-18. You can view files and clone it, but cannot push or open issues or pull requests.
ftc_patient_app/lib/controllers/rota/your_rota_screen_controller...

46 lines
1.3 KiB
Dart

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<ScaffoldState> screenKey = GlobalKey<ScaffoldState>();
final loadingShifts = false.obs;
final myShiftsList = RxList<DaysArrayData>();
@override
void onInit() {
getAvailableShifts();
super.onInit();
}
void removeFocus() {
FocusScope.of(screenKey.currentContext!).unfocus();
}
Future<void> 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<YourRotaScreenController>();
super.dispose();
}
}