You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemm-flutter-app/lib/ui/disclosure/widgets/disclosure_question_card_bu...

52 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/models/disclosure/disclosure_question_model.dart';
class DisclosureQuestionCardBuilder extends StatelessWidget {
final WidgetBuilder onQuestion;
final WidgetBuilder onCompleted;
final WidgetBuilder onWrongAnswer;
final WidgetBuilder onCorrectAnswer;
final WidgetBuilder onWinner;
final WidgetBuilder onSkippedAnswer;
final WidgetBuilder onFindingWinner;
final DisclosureQuestionCardStatus questionCardStatus;
const DisclosureQuestionCardBuilder({
Key? key,
required this.onQuestion,
required this.onCompleted,
required this.onCorrectAnswer,
required this.onWinner,
required this.onSkippedAnswer,
required this.onWrongAnswer,
required this.onFindingWinner,
required this.questionCardStatus,
}) : super(key: key);
@override
Widget build(BuildContext context) {
switch (questionCardStatus) {
case DisclosureQuestionCardStatus.question:
return onQuestion(context);
case DisclosureQuestionCardStatus.wrongAnswer:
return onWrongAnswer(context);
case DisclosureQuestionCardStatus.correctAnswer:
return onCorrectAnswer(context);
case DisclosureQuestionCardStatus.completed:
return onCompleted(context);
case DisclosureQuestionCardStatus.winnerFound:
return onWinner(context);
case DisclosureQuestionCardStatus.findingWinner:
return onFindingWinner(context);
case DisclosureQuestionCardStatus.skippedAnswer:
return onSkippedAnswer(context);
}
}
}