1import 'package:connect/core/localization/app_localizations.dart';
3import '/core/ui/screens/views/faild_to_fetch_data_view.dart';
4import '/features/settings/domain/entities/faq_entity.dart';
5import '/features/settings/presentation/logic/faq_cubit/faq_cubit.dart';
6import 'package:flutter/material.dart';
7import 'package:flutter_bloc/flutter_bloc.dart';
8import 'package:flutter_screenutil/flutter_screenutil.dart';
17class _FaqDialogState
extends State<FaqDialog> {
25 context.read<FaqCubit>().loadFaq();
29 Widget
build(BuildContext context) {
31 mainAxisSize: MainAxisSize.min,
33 BlocBuilder<FaqCubit, FaqState>(
34 builder: (context, state) {
35 if (state is FaqLoadingSuccessfully) {
36 return FAQListWidget(faqs: state.faqs);
38 return FailedToFetchDataView(
43 failureMessage: state.failure.message,
52 child:
const CircularProgressIndicator(),
65 final List<FAQEntity>
faqs;
70 Widget
build(BuildContext context) {
77 .
translate(
'Nothing to show here right now'),
78 style: Theme.of(context).textTheme.bodySmall,
84 itemCount:
faqs.length,
85 separatorBuilder: (context, index) => Divider(
89 itemBuilder: (context, index) {
103 Widget
build(BuildContext context) {
105 data: Theme.of(context).copyWith(dividerColor: Colors.transparent),
106 child: ExpansionTile(
110 style: Theme.of(context).textTheme.bodySmall,
114 padding: EdgeInsets.symmetric(horizontal: 14.sp, vertical: 5.sp),
120 .translate(
'No answer available'),
121 style: Theme.of(context).textTheme.bodySmall,
AppLocalizations(this.locale)
String translate(String key)
static AppLocalizations of(BuildContext context)
override void initState()
const FaqDialog({super.key})
const FAQItemWidget({super.key, required this.faq})
class FAQListWidget extends StatelessWidget faq
const FaqLoadingFailure({required this.failure})
override Widget build(BuildContext context)