WT 1.1.17 FAQ,

This commit is contained in:
bossanyit
2021-05-15 15:14:07 +02:00
parent ae51cb6716
commit 07868c6b8e
30 changed files with 812 additions and 168 deletions
+33
View File
@@ -0,0 +1,33 @@
import 'dart:async';
import 'package:aitrainer_app/model/cache.dart';
import 'package:aitrainer_app/model/faq.dart';
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
part 'faq_event.dart';
part 'faq_state.dart';
class FaqBloc extends Bloc<FaqEvent, FaqState> {
List<Faq>? faqs;
FaqBloc() : super(FaqInitial()) {
faqs = Cache().getFaqs();
}
@override
Stream<FaqState> mapEventToState(
FaqEvent event,
) async* {
try {
if (event is FaqLoad) {
yield FaqLoading();
yield FaqReady();
} else if (event is FaqClickDetail) {
yield FaqLoading();
yield FaqReady();
}
} on Exception catch (e) {
yield FaqError(message: e.toString());
}
}
}
+20
View File
@@ -0,0 +1,20 @@
part of 'faq_bloc.dart';
abstract class FaqEvent extends Equatable {
const FaqEvent();
@override
List<Object> get props => [];
}
class FaqLoad extends FaqEvent {
const FaqLoad();
}
class FaqClickDetail extends FaqEvent {
final String name;
const FaqClickDetail({required this.name});
@override
List<Object> get props => [name];
}
+28
View File
@@ -0,0 +1,28 @@
part of 'faq_bloc.dart';
abstract class FaqState extends Equatable {
const FaqState();
@override
List<Object> get props => [];
}
class FaqInitial extends FaqState {
const FaqInitial();
}
class FaqLoading extends FaqState {
const FaqLoading();
}
class FaqReady extends FaqState {
const FaqReady();
}
class FaqError extends FaqState {
final String message;
const FaqError({required this.message});
@override
List<Object> get props => [message];
}