feat: auto-fill 12pm-2pm break when disabling continuous day on schedule
When toggling off jornada continua, range1Hour2 defaults to 12:00 and range2Hour1 defaults to 14:00 if not already set. Existing values are preserved so the user can still edit them freely. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
706b78b737
commit
dbeda22e19
@@ -92,13 +92,16 @@ class _ScheduleViewState extends State<ScheduleView> {
|
|||||||
},
|
},
|
||||||
onContinuousDayChanged: (value) {
|
onContinuousDayChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
final cur = profesional.schedules.monday;
|
||||||
|
final updated = !value
|
||||||
|
? cur.copyWith(
|
||||||
|
continuousDay: false,
|
||||||
|
range1Hour2: cur.range1Hour2 ?? const TimeOfDay(hour: 12, minute: 0),
|
||||||
|
range2Hour1: cur.range2Hour1 ?? const TimeOfDay(hour: 14, minute: 0),
|
||||||
|
)
|
||||||
|
: cur.copyWith(continuousDay: true);
|
||||||
professionalFormProvider.copyProfesionalWith(
|
professionalFormProvider.copyProfesionalWith(
|
||||||
schedules: profesional.schedules.copyWith(
|
schedules: profesional.schedules.copyWith(monday: updated));
|
||||||
monday: profesional.schedules.monday.copyWith(
|
|
||||||
continuousDay: value,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRange1Hour1Pick: (pickedTime) {
|
onRange1Hour1Pick: (pickedTime) {
|
||||||
@@ -155,13 +158,16 @@ class _ScheduleViewState extends State<ScheduleView> {
|
|||||||
},
|
},
|
||||||
onContinuousDayChanged: (value) {
|
onContinuousDayChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
final cur = profesional.schedules.tuesday;
|
||||||
|
final updated = !value
|
||||||
|
? cur.copyWith(
|
||||||
|
continuousDay: false,
|
||||||
|
range1Hour2: cur.range1Hour2 ?? const TimeOfDay(hour: 12, minute: 0),
|
||||||
|
range2Hour1: cur.range2Hour1 ?? const TimeOfDay(hour: 14, minute: 0),
|
||||||
|
)
|
||||||
|
: cur.copyWith(continuousDay: true);
|
||||||
professionalFormProvider.copyProfesionalWith(
|
professionalFormProvider.copyProfesionalWith(
|
||||||
schedules: profesional.schedules.copyWith(
|
schedules: profesional.schedules.copyWith(tuesday: updated));
|
||||||
tuesday: profesional.schedules.tuesday.copyWith(
|
|
||||||
continuousDay: value,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRange1Hour1Pick: (pickedTime) {
|
onRange1Hour1Pick: (pickedTime) {
|
||||||
@@ -218,14 +224,16 @@ class _ScheduleViewState extends State<ScheduleView> {
|
|||||||
},
|
},
|
||||||
onContinuousDayChanged: (value) {
|
onContinuousDayChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
final cur = profesional.schedules.wednesday;
|
||||||
|
final updated = !value
|
||||||
|
? cur.copyWith(
|
||||||
|
continuousDay: false,
|
||||||
|
range1Hour2: cur.range1Hour2 ?? const TimeOfDay(hour: 12, minute: 0),
|
||||||
|
range2Hour1: cur.range2Hour1 ?? const TimeOfDay(hour: 14, minute: 0),
|
||||||
|
)
|
||||||
|
: cur.copyWith(continuousDay: true);
|
||||||
professionalFormProvider.copyProfesionalWith(
|
professionalFormProvider.copyProfesionalWith(
|
||||||
schedules: profesional.schedules.copyWith(
|
schedules: profesional.schedules.copyWith(wednesday: updated));
|
||||||
wednesday:
|
|
||||||
profesional.schedules.wednesday.copyWith(
|
|
||||||
continuousDay: value,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRange1Hour1Pick: (pickedTime) {
|
onRange1Hour1Pick: (pickedTime) {
|
||||||
@@ -282,13 +290,16 @@ class _ScheduleViewState extends State<ScheduleView> {
|
|||||||
},
|
},
|
||||||
onContinuousDayChanged: (value) {
|
onContinuousDayChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
final cur = profesional.schedules.thursday;
|
||||||
|
final updated = !value
|
||||||
|
? cur.copyWith(
|
||||||
|
continuousDay: false,
|
||||||
|
range1Hour2: cur.range1Hour2 ?? const TimeOfDay(hour: 12, minute: 0),
|
||||||
|
range2Hour1: cur.range2Hour1 ?? const TimeOfDay(hour: 14, minute: 0),
|
||||||
|
)
|
||||||
|
: cur.copyWith(continuousDay: true);
|
||||||
professionalFormProvider.copyProfesionalWith(
|
professionalFormProvider.copyProfesionalWith(
|
||||||
schedules: profesional.schedules.copyWith(
|
schedules: profesional.schedules.copyWith(thursday: updated));
|
||||||
thursday: profesional.schedules.thursday.copyWith(
|
|
||||||
continuousDay: value,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRange1Hour1Pick: (pickedTime) {
|
onRange1Hour1Pick: (pickedTime) {
|
||||||
@@ -345,13 +356,16 @@ class _ScheduleViewState extends State<ScheduleView> {
|
|||||||
},
|
},
|
||||||
onContinuousDayChanged: (value) {
|
onContinuousDayChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
final cur = profesional.schedules.friday;
|
||||||
|
final updated = !value
|
||||||
|
? cur.copyWith(
|
||||||
|
continuousDay: false,
|
||||||
|
range1Hour2: cur.range1Hour2 ?? const TimeOfDay(hour: 12, minute: 0),
|
||||||
|
range2Hour1: cur.range2Hour1 ?? const TimeOfDay(hour: 14, minute: 0),
|
||||||
|
)
|
||||||
|
: cur.copyWith(continuousDay: true);
|
||||||
professionalFormProvider.copyProfesionalWith(
|
professionalFormProvider.copyProfesionalWith(
|
||||||
schedules: profesional.schedules.copyWith(
|
schedules: profesional.schedules.copyWith(friday: updated));
|
||||||
friday: profesional.schedules.friday.copyWith(
|
|
||||||
continuousDay: value,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRange1Hour1Pick: (pickedTime) {
|
onRange1Hour1Pick: (pickedTime) {
|
||||||
@@ -408,13 +422,16 @@ class _ScheduleViewState extends State<ScheduleView> {
|
|||||||
},
|
},
|
||||||
onContinuousDayChanged: (value) {
|
onContinuousDayChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
final cur = profesional.schedules.saturday;
|
||||||
|
final updated = !value
|
||||||
|
? cur.copyWith(
|
||||||
|
continuousDay: false,
|
||||||
|
range1Hour2: cur.range1Hour2 ?? const TimeOfDay(hour: 12, minute: 0),
|
||||||
|
range2Hour1: cur.range2Hour1 ?? const TimeOfDay(hour: 14, minute: 0),
|
||||||
|
)
|
||||||
|
: cur.copyWith(continuousDay: true);
|
||||||
professionalFormProvider.copyProfesionalWith(
|
professionalFormProvider.copyProfesionalWith(
|
||||||
schedules: profesional.schedules.copyWith(
|
schedules: profesional.schedules.copyWith(saturday: updated));
|
||||||
saturday: profesional.schedules.saturday.copyWith(
|
|
||||||
continuousDay: value,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRange1Hour1Pick: (pickedTime) {
|
onRange1Hour1Pick: (pickedTime) {
|
||||||
@@ -471,13 +488,16 @@ class _ScheduleViewState extends State<ScheduleView> {
|
|||||||
},
|
},
|
||||||
onContinuousDayChanged: (value) {
|
onContinuousDayChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
final cur = profesional.schedules.sunday;
|
||||||
|
final updated = !value
|
||||||
|
? cur.copyWith(
|
||||||
|
continuousDay: false,
|
||||||
|
range1Hour2: cur.range1Hour2 ?? const TimeOfDay(hour: 12, minute: 0),
|
||||||
|
range2Hour1: cur.range2Hour1 ?? const TimeOfDay(hour: 14, minute: 0),
|
||||||
|
)
|
||||||
|
: cur.copyWith(continuousDay: true);
|
||||||
professionalFormProvider.copyProfesionalWith(
|
professionalFormProvider.copyProfesionalWith(
|
||||||
schedules: profesional.schedules.copyWith(
|
schedules: profesional.schedules.copyWith(sunday: updated));
|
||||||
sunday: profesional.schedules.sunday.copyWith(
|
|
||||||
continuousDay: value,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRange1Hour1Pick: (pickedTime) {
|
onRange1Hour1Pick: (pickedTime) {
|
||||||
|
|||||||
Reference in New Issue
Block a user