Added configurable shift types and holiday settings

This commit is contained in:
2026-03-18 16:51:34 +08:00
parent 4eaf9444f0
commit 3af7a1e348
7 changed files with 1463 additions and 138 deletions
@@ -48,4 +48,34 @@ class RotationConfigController {
});
_ref.invalidate(rotationConfigProvider);
}
Future<void> updateShiftTypes(List<ShiftTypeConfig> shiftTypes) async {
final config = await _ref.read(rotationConfigProvider.future);
await save(config.copyWith(shiftTypes: shiftTypes));
}
Future<void> updateRoleWeeklyHours(Map<String, int> roleWeeklyHours) async {
final config = await _ref.read(rotationConfigProvider.future);
await save(config.copyWith(roleWeeklyHours: roleWeeklyHours));
}
Future<void> updateHolidays(List<Holiday> holidays) async {
final config = await _ref.read(rotationConfigProvider.future);
await save(config.copyWith(holidays: holidays));
}
Future<void> setHolidaySync({
required bool enabled,
required int year,
required List<Holiday> holidays,
}) async {
final config = await _ref.read(rotationConfigProvider.future);
await save(
config.copyWith(
syncPhilippinesHolidays: enabled,
holidaysYear: year,
holidays: holidays,
),
);
}
}