Files
eatvio_app/lib/features/consultations/models/consultation_progress.dart

32 lines
941 B
Dart

enum ConsultationStep { startDate, paid, inProgress, finished }
enum PersonalDietStatus { notRequired, notProposed, proposed }
enum ConsultationPhase { active, canceled, paymentFailed }
class ConsultationProgress {
const ConsultationProgress({
required this.completedSteps,
required this.showProgressPlank,
required this.dietStatus,
required this.phase,
});
final Set<ConsultationStep> completedSteps;
final bool showProgressPlank;
final PersonalDietStatus dietStatus;
final ConsultationPhase phase;
bool isStepCompleted(ConsultationStep step) => completedSteps.contains(step);
bool get hasDietChip => dietStatus != PersonalDietStatus.notRequired;
bool get hasStatusChip => phase != ConsultationPhase.active;
bool get hasChip => hasDietChip || hasStatusChip;
bool get isCanceled => phase == ConsultationPhase.canceled;
bool get isPaymentFailed => phase == ConsultationPhase.paymentFailed;
}