Daily commit
This commit is contained in:
21
lib/bloc/message_wrapper/message_bloc.dart
Normal file
21
lib/bloc/message_wrapper/message_bloc.dart
Normal file
@ -0,0 +1,21 @@
|
||||
import 'package:bloc/bloc.dart';
|
||||
|
||||
import 'message_event.dart';
|
||||
import 'message_state.dart';
|
||||
|
||||
class MessageBloc extends Bloc<MessageEvent, MessageState> {
|
||||
MessageBloc() : super(MessageInitialState()) {
|
||||
on<MessageShow>(_show);
|
||||
on<MessageHide>(_hide);
|
||||
}
|
||||
|
||||
void _show(MessageShow event, Emitter<MessageState> emit) async {
|
||||
emit(MessageShowState(message: event.message));
|
||||
await Future.delayed(event.duration);
|
||||
emit(MessageHideState());
|
||||
}
|
||||
|
||||
void _hide(MessageHide event, Emitter<MessageState> emit) {
|
||||
emit(MessageHideState());
|
||||
}
|
||||
}
|
||||
10
lib/bloc/message_wrapper/message_event.dart
Normal file
10
lib/bloc/message_wrapper/message_event.dart
Normal file
@ -0,0 +1,10 @@
|
||||
abstract class MessageEvent {}
|
||||
|
||||
class MessageShow extends MessageEvent {
|
||||
String message;
|
||||
Duration duration;
|
||||
|
||||
MessageShow({required this.message}) : duration = Duration(seconds: 5);
|
||||
}
|
||||
|
||||
class MessageHide extends MessageEvent {}
|
||||
7
lib/bloc/message_wrapper/message_state.dart
Normal file
7
lib/bloc/message_wrapper/message_state.dart
Normal file
@ -0,0 +1,7 @@
|
||||
abstract class MessageState {}
|
||||
class MessageInitialState extends MessageState {}
|
||||
class MessageShowState extends MessageState {
|
||||
String message;
|
||||
MessageShowState({required this.message});
|
||||
}
|
||||
class MessageHideState extends MessageState {}
|
||||
Reference in New Issue
Block a user