feat: splash page done
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:food_delivery_client/food_delivery_client.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
part 'splash_event.dart';
|
||||
|
||||
part 'splash_state.dart';
|
||||
|
||||
part 'splash_bloc.freezed.dart';
|
||||
|
||||
@injectable
|
||||
class SplashBloc extends Bloc<SplashEvent, SplashState> {
|
||||
final StorageService _storageService;
|
||||
|
||||
SplashBloc(this._storageService) : super(const SplashState()) {
|
||||
on<_Started>(_onStarted);
|
||||
}
|
||||
|
||||
_onStarted(_Started event, Emitter<SplashState> emit) async {
|
||||
await Future.delayed(TimeDelayConst.duration2);
|
||||
final token = _storageService.getString(key: AppLocaleKeys.token);
|
||||
if (token != null) {
|
||||
emit(state.copyWith(status: RequestStatus.loaded));
|
||||
} else {
|
||||
emit(state.copyWith(status: RequestStatus.error));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
part of 'splash_bloc.dart';
|
||||
|
||||
@freezed
|
||||
class SplashEvent with _$SplashEvent {
|
||||
const factory SplashEvent.started() = _Started;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
part of 'splash_bloc.dart';
|
||||
|
||||
@freezed
|
||||
abstract class SplashState with _$SplashState {
|
||||
const factory SplashState({
|
||||
@Default(RequestStatus.initial) RequestStatus status,
|
||||
}) = _SplashState;
|
||||
}
|
||||
Reference in New Issue
Block a user