forked from eatvio/eatvio_app
32 lines
941 B
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;
|
|
}
|