21 changed files with 317 additions and 87 deletions
-
BINassets/images/leaf.png
-
1lib/common_ui/resources/my_assets.dart
-
5lib/common_ui/resources/my_text_style.dart
-
46lib/core/widgets/answer_box/answer_box.dart
-
91lib/core/widgets/answer_box/styles/picture_box.dart
-
80lib/core/widgets/hadith_dialog/hadith_dialog.dart
-
2lib/features/level/presentation/ui/level_page.dart
-
4lib/features/level/presentation/ui/widgets/level_widget.dart
-
20lib/features/question/data/datasource/question_datasource.dart
-
11lib/features/question/domain/entity/answer_entity.dart
-
7lib/features/question/domain/entity/answer_entity.g.dart
-
25lib/features/question/presentation/bloc/question_bloc.dart
-
8lib/features/question/presentation/bloc/question_event.dart
-
14lib/features/question/presentation/bloc/question_state.dart
-
34lib/features/question/presentation/ui/question_page.dart
-
22lib/features/question/presentation/ui/widgets/black_white_effect.dart
-
14lib/features/question/presentation/ui/widgets/question_stepper.dart
-
2lib/init_bindings.dart
-
3lib/l10n/app_en.arb
-
6lib/l10n/app_localizations.dart
-
3lib/l10n/app_localizations_en.dart
After Width: 23 | Height: 24 | Size: 436 B |
@ -0,0 +1,80 @@ |
|||
import 'dart:ui'; |
|||
|
|||
import 'package:flutter/material.dart'; |
|||
import 'package:go_router/go_router.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_colors.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_spaces.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_text_style.dart'; |
|||
import 'package:hadi_hoda_flutter/core/utils/check_platform.dart'; |
|||
import 'package:hadi_hoda_flutter/core/utils/my_image.dart'; |
|||
import 'package:hadi_hoda_flutter/core/widgets/about_us_dialog/styles/background.dart'; |
|||
|
|||
Future<void> showHadithDialog({required BuildContext context}) async { |
|||
await showDialog( |
|||
context: context, |
|||
builder: (context) => HadithDialog(), |
|||
barrierColor: MyColors.purple.withValues(alpha: 0.82), |
|||
useSafeArea: false, |
|||
); |
|||
} |
|||
|
|||
class HadithDialog extends StatelessWidget { |
|||
const HadithDialog({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Scaffold( |
|||
backgroundColor: MyColors.transparent, |
|||
body: BackdropFilter( |
|||
filter: ImageFilter.blur(sigmaX: 6, sigmaY: 6), |
|||
child: Center( |
|||
child: Padding( |
|||
padding: EdgeInsets.symmetric( |
|||
horizontal: checkSize( |
|||
context: context, |
|||
mobile: 18, |
|||
tablet: 120, |
|||
) ?? 0, |
|||
), |
|||
child: Stack( |
|||
clipBehavior: Clip.none, |
|||
children: [ |
|||
AboutUSDialogBackground( |
|||
child: ListView.separated( |
|||
itemCount: 3, |
|||
separatorBuilder: (context, index) => Divider( |
|||
height: 40, |
|||
thickness: 1, |
|||
endIndent: MySpaces.s20, |
|||
indent: MySpaces.s20, |
|||
color: Color(0xFFC2BDE4), |
|||
), |
|||
itemBuilder: (context, index) => Text( |
|||
'Prophet Muhammad (PBUH) said: "Teeth, which are smooth and beautiful, become dirty as a result of chewing food, and gradually the smell of the mouth changes and causes corruption in the nasal organs. When a person brushes her teeth, the corruption disappears and the teeth become clean and pure again."', |
|||
style: Marhey.medium14.copyWith( |
|||
color: Color(0XFF494178), |
|||
), |
|||
), |
|||
), |
|||
), |
|||
Positioned( |
|||
right: checkSize(context: context, mobile: 30, tablet: 40), |
|||
top: -12, |
|||
child: GestureDetector( |
|||
onTap: context.pop, |
|||
behavior: HitTestBehavior.opaque, |
|||
child: MyImage( |
|||
image: MyAssets.closeBtn, |
|||
size: checkSize(context: context, mobile: 40, tablet: 60), |
|||
), |
|||
), |
|||
), |
|||
], |
|||
), |
|||
), |
|||
), |
|||
), |
|||
); |
|||
} |
|||
} |
@ -1,17 +1,11 @@ |
|||
import 'package:hadi_hoda_flutter/features/question/domain/entity/answer_entity.dart'; |
|||
|
|||
sealed class QuestionEvent { |
|||
const QuestionEvent(); |
|||
} |
|||
|
|||
class GetLevelEvent extends QuestionEvent { |
|||
final String? id; |
|||
|
|||
const GetLevelEvent(this.id); |
|||
} |
|||
|
|||
class ChooseAnswerEvent extends QuestionEvent { |
|||
final AnswerEntity? answer; |
|||
|
|||
const ChooseAnswerEvent(this.answer); |
|||
class ChangeQuestionEvent extends QuestionEvent { |
|||
} |
@ -1,31 +1,27 @@ |
|||
import 'package:hadi_hoda_flutter/core/status/base_status.dart'; |
|||
import 'package:hadi_hoda_flutter/features/level/domain/entity/level_entity.dart'; |
|||
import 'package:hadi_hoda_flutter/features/question/domain/entity/answer_entity.dart'; |
|||
import 'package:hadi_hoda_flutter/features/question/domain/entity/question_entity.dart'; |
|||
|
|||
class QuestionState { |
|||
final BaseStatus getQuestionStatus; |
|||
final LevelEntity? levelEntity; |
|||
final int currentStep; |
|||
final AnswerEntity? chooseAnswer; |
|||
final QuestionEntity? currentQuestion; |
|||
|
|||
const QuestionState({ |
|||
this.getQuestionStatus = const BaseInit(), |
|||
this.levelEntity, |
|||
this.currentStep = 0, |
|||
this.chooseAnswer, |
|||
this.currentQuestion, |
|||
}); |
|||
|
|||
QuestionState copyWith({ |
|||
BaseStatus? getQuestionStatus, |
|||
LevelEntity? levelEntity, |
|||
int? currentStep, |
|||
AnswerEntity? chooseAnswer, |
|||
QuestionEntity? currentQuestion, |
|||
}) { |
|||
return QuestionState( |
|||
getQuestionStatus: getQuestionStatus ?? this.getQuestionStatus, |
|||
levelEntity: levelEntity ?? this.levelEntity, |
|||
currentStep: currentStep ?? this.currentStep, |
|||
chooseAnswer: chooseAnswer ?? this.chooseAnswer, |
|||
currentQuestion: currentQuestion ?? this.currentQuestion, |
|||
); |
|||
} |
|||
} |
@ -0,0 +1,22 @@ |
|||
import 'package:flutter/material.dart'; |
|||
|
|||
class BlackWhiteEffect extends StatelessWidget { |
|||
const BlackWhiteEffect({super.key, required this.child}); |
|||
|
|||
final Widget child; |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return ColorFiltered( |
|||
colorFilter: ColorFilter.matrix( |
|||
<double>[ |
|||
0.2126, 0.7152, 0.0722, 0, 0, |
|||
0.2126, 0.7152, 0.0722, 0, 0, |
|||
0.2126, 0.7152, 0.0722, 0, 0, |
|||
0, 0, 0, 1, 0, |
|||
], |
|||
), |
|||
child: child, |
|||
); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue