83 lines
3.3 KiB
Dart
83 lines
3.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:ftc_mobile_app/ftc_mobile_app.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class CalendarScreen extends StatefulWidget {
|
|
const CalendarScreen({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
State<CalendarScreen> createState() => _CalendarScreenState();
|
|
}
|
|
|
|
class _CalendarScreenState extends State<CalendarScreen> {
|
|
final CalendarViewScreenController controller =
|
|
Get.find<CalendarViewScreenController>();
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return CustomScaffold(
|
|
backgroundColor: CustomAppColors.kPrimaryColor,
|
|
screenKey: controller.scaffoldKey,
|
|
onScreenTap: controller.removeFocus,
|
|
body: Obx(
|
|
() => controller.isLoading.value
|
|
? const Center(
|
|
child: CircularProgressIndicator(),
|
|
)
|
|
: Column(
|
|
children: [
|
|
// Obx(
|
|
// () => SetMonthAndYearWidget(
|
|
// currentMonthName: controller.currentMonthName.value,
|
|
// nextMonthTap: controller.onNextMonthTap,
|
|
// previousMonthTap: controller.onPreviousMonthTap),
|
|
// ),
|
|
Obx(
|
|
() => CalendarWidget(
|
|
markedDatesMap: controller.events(),
|
|
targetDateTime: controller.targetDateTime.value,
|
|
onEventTap: (events) {
|
|
if (events.isNotEmpty) {
|
|
controller.selectedDate.value =
|
|
MarkDatesModel.addDate(
|
|
date: events.first.date,
|
|
title: events.first.title ?? "");
|
|
controller.datesToShowList.value = [
|
|
RotaShift(
|
|
name: "",
|
|
staffRequired: "",
|
|
workerType: "",
|
|
location: "",
|
|
startTime: controller.selectedDate.value.date
|
|
.toIso8601String(),
|
|
endTime: "",
|
|
breakTime: "",
|
|
notes: "")
|
|
];
|
|
}
|
|
}),
|
|
),
|
|
10.verticalSpace,
|
|
Expanded(
|
|
child: Obx(
|
|
() => ListView.builder(
|
|
itemCount: controller.datesToShowList.length,
|
|
itemBuilder: (BuildContext context, int index) {
|
|
Rx<RotaShift> dateModel =
|
|
controller.datesToShowList[index].obs;
|
|
//Todo: RotaWidget need to reconfigure here
|
|
return SizedBox.shrink();
|
|
// return RotaWidget(
|
|
// startDateTime: dateModel.value.shiftStartTime,
|
|
// endDateTime: dateModel.value.shiftEndTime);
|
|
},
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|