Files
tasks/lib/widgets/alarm_widgets/alarm_form_widget.dart
T
2026-07-17 17:08:31 +02:00

41 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import '../../model/alarm/alarm.dart' show AlarmType;
import '../../model/requests/create_alarm_request.dart';
import '../../model/requests/create_fixed_time_alarm_request.dart';
import '../../model/requests/create_location_alarm_request.dart';
import '../../model/requests/create_relative_time_alarm_request.dart';
import 'fixed_time_alarm_form.dart';
import 'location_alarm_form.dart';
import 'relative_time_alarm_form.dart';
class AlarmForm extends StatelessWidget {
const AlarmForm({super.key, required this.request, required this.onChanged});
final CreateAlarmRequest request;
final ValueChanged<CreateAlarmRequest> onChanged;
@override
Widget build(BuildContext context) {
switch (request.alarmType) {
case AlarmType.timeFixed:
return FixedTimeAlarmForm(
request: request as CreateFixedTimeAlarmRequest,
onChanged: onChanged,
);
case AlarmType.timeRelative:
return RelativeTimeAlarmForm(
request: request as CreateRelativeTimeAlarmRequest,
onChanged: onChanged,
);
case AlarmType.location:
return LocationAlarmForm(
request: request as CreateLocationAlarmRequest,
onChanged: onChanged,
);
}
}
}