fix order history, add CheckUser check before starting the trip, fix dialog for cancel the order, add dialog for finish the order

This commit is contained in:
2026-05-21 18:00:26 +03:00
parent c996d0847f
commit 591265a7fc
6 changed files with 217 additions and 110 deletions

View File

@@ -21,14 +21,14 @@ class OrderHistoryState {
final List<ScooterOrder> orders;
final String? errorMessage;
final int currentPage;
final bool hasMore;
final bool hasMore; // можно оставить, но всегда будет false
OrderHistoryState({
required this.status,
this.orders = const [],
this.errorMessage,
this.currentPage = 1,
this.hasMore = true,
this.hasMore = false, // ✅ По умолчанию — нет больше данных
});
OrderHistoryState copyWith({
@@ -51,7 +51,8 @@ class OrderHistoryState {
class OrderHistoryBloc extends Bloc<OrderHistoryEvent, OrderHistoryState> {
final GetScooterOrderHistoryUsecase _usecase;
OrderHistoryBloc(this._usecase) : super(OrderHistoryState(status: OrderHistoryStatus.initial)) {
OrderHistoryBloc(this._usecase)
: super(OrderHistoryState(status: OrderHistoryStatus.initial)) {
on<OrderHistoryFetchRequested>(_onFetchRequested);
on<OrderHistoryRefreshRequested>(_onRefreshRequested);
}
@@ -64,9 +65,11 @@ class OrderHistoryBloc extends Bloc<OrderHistoryEvent, OrderHistoryState> {
emit(state.copyWith(status: OrderHistoryStatus.loading));
}
final result = await _usecase.call(page: event.page);
final result = await _usecase.call(
page: event.page,
pageSize: 1000,
);
// ✅ Явная проверка с правильным типом
if (result is Success<List<ScooterOrder>>) {
final orders = result.data;
@@ -84,12 +87,10 @@ class OrderHistoryBloc extends Bloc<OrderHistoryEvent, OrderHistoryState> {
status: OrderHistoryStatus.success,
orders: newOrders,
currentPage: event.page,
hasMore: orders.length == 20,
hasMore: false,
));
}
}
// ✅ Явно указываем тип Failure
else if (result is Failure<List<ScooterOrder>>) {
} else if (result is Failure<List<ScooterOrder>>) {
emit(state.copyWith(
status: OrderHistoryStatus.failure,
errorMessage: result.failure.message ?? 'Неизвестная ошибка',