sync changes

This commit is contained in:
2026-05-12 11:25:19 +03:00
parent 3616f84556
commit fdc5aefdd2
25 changed files with 313 additions and 152 deletions

View File

@@ -1,4 +1,6 @@
import 'dart:async';
import 'package:be_happy/core/failures.dart';
import 'package:be_happy/domain/entities/scooter_order.dart';
import 'package:be_happy/domain/usecase/get_profile_usecase.dart';
import 'package:collection/collection.dart';
@@ -29,6 +31,7 @@ class TariffSheetBloc extends Bloc<TariffSheetEvent, TariffSheetState> {
on<PaymentCardChanged>(_onPaymentCardChanged);
on<BookScooterPressed>(_onBookScooterPressed);
on<SelectBalancePressed>(_onSelectBalancePressed);
on<InsuranceToggled>(_onInsuranceToggled);
}
Future<void> _onStarted(
@@ -92,12 +95,12 @@ class TariffSheetBloc extends Bloc<TariffSheetEvent, TariffSheetState> {
}
}
FutureOr<void> _onBookScooterPressed(
FutureOr<void> _onBookScooterPressed (
BookScooterPressed event,
Emitter<TariffSheetState> emit,
) {
) async {
try {
_bookScooterUsecase(
final result = await _bookScooterUsecase(
scooterId: event.scooterId,
planId: event.planId,
cardId: event.cardId,
@@ -105,7 +108,23 @@ class TariffSheetBloc extends Bloc<TariffSheetEvent, TariffSheetState> {
isBalance: event.isBalance,
isInsurance: event.isInsurance,
);
Future.delayed(const Duration(milliseconds: 300));
switch (result) {
case Success<ScooterOrder>():
// TODO: Handle this case.
throw UnimplementedError();
case Failure<ScooterOrder>():
if (result is WrongZoneFailure) {
emit(
state.copyWith(
status: TariffSheetStatus.failure,
errorMessage: result.failure.message,
),
);
}
}
} catch (e) {
emit(
state.copyWith(
@@ -125,4 +144,8 @@ class TariffSheetBloc extends Bloc<TariffSheetEvent, TariffSheetState> {
selectedCard: null,
));
}
FutureOr<void> _onInsuranceToggled(InsuranceToggled event, Emitter<TariffSheetState> emit) async {
emit(state.copyWith(isInsurance: event.isEnabled));
}
}