diff --git a/packages/flutter_availability/lib/src/ui/view_models/availability_view_model.dart b/packages/flutter_availability/lib/src/ui/view_models/availability_view_model.dart index eb4c0d6..172c6e7 100644 --- a/packages/flutter_availability/lib/src/ui/view_models/availability_view_model.dart +++ b/packages/flutter_availability/lib/src/ui/view_models/availability_view_model.dart @@ -130,6 +130,10 @@ class AvailabilityViewModel { templateSelected || (startTime != null && endTime != null); + /// Whether a message should be shown to the user that the start and end times + /// are conflicting and they can't be filled in automatically + bool get showConflictingMessage => templateSelected && conflictingTime; + /// Whether a template deviation should be shown to the user bool get isDeviatingFromTemplate => startTime != null && diff --git a/packages/flutter_availability/lib/src/ui/widgets/availabillity_time_selection.dart b/packages/flutter_availability/lib/src/ui/widgets/availabillity_time_selection.dart index 851bac1..510bcab 100644 --- a/packages/flutter_availability/lib/src/ui/widgets/availabillity_time_selection.dart +++ b/packages/flutter_availability/lib/src/ui/widgets/availabillity_time_selection.dart @@ -40,6 +40,8 @@ class AvailabilityTimeSelection extends StatelessWidget { explanationText = isSingleDay ? translations.availabilityTemplateDeviationExplanation : translations.availabilitiesTemplateDeviationExplanation; + } else if (viewModel.showConflictingMessage) { + explanationText = translations.availabilitiesConflictingTimeExplanation; } return Column( @@ -68,6 +70,7 @@ class _AvailabilityExplanation extends StatelessWidget { required this.explanation, }); + /// The explanation text to show to the user final String explanation; @override