bug fixes
This commit is contained in:
@@ -15,9 +15,11 @@ import '../../../domain/usecase/add_payment_card_usecase.dart';
|
||||
import '../../../domain/usecase/get_payment_cards_usecase.dart';
|
||||
import '../../../domain/usecase/get_profile_usecase.dart';
|
||||
import '../../../domain/usecase/set_main_payment_card_usecase.dart';
|
||||
import '../../event/map_event.dart';
|
||||
import '../../event/payment_method_sheet_event.dart';
|
||||
import '../../event/tariff_sheet_event.dart';
|
||||
import '../../state/tariff_sheet_state.dart';
|
||||
import '../../viewmodel/map_bloc.dart';
|
||||
import '../../viewmodel/tariff_sheet_bloc.dart';
|
||||
import '../gradient_button.dart';
|
||||
import '../scooter/mini_battery_indicator.dart';
|
||||
@@ -62,6 +64,14 @@ class _TariffSheetState extends State<TariffSheet> {
|
||||
}
|
||||
return BlocConsumer<TariffSheetBloc, TariffSheetState>(
|
||||
listener: (context, state) {
|
||||
if (state.status == TariffSheetStatus.success &&
|
||||
state.tariffs.isNotEmpty &&
|
||||
_selectedTariffIndex == null) {
|
||||
setState(() {
|
||||
_selectedTariffIndex = 0;
|
||||
});
|
||||
}
|
||||
|
||||
if (state.status == TariffSheetStatus.failure && state.errorMessage != null) {
|
||||
ScaffoldMessenger.of(context).hideCurrentSnackBar();
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
@@ -82,6 +92,8 @@ class _TariffSheetState extends State<TariffSheet> {
|
||||
}
|
||||
},
|
||||
builder: (context, state) {
|
||||
final selectedIndex = _selectedTariffIndex ?? (state.tariffs.isNotEmpty ? 0 : null);
|
||||
|
||||
if (state.status == TariffSheetStatus.loading) {
|
||||
return Align(
|
||||
alignment: Alignment.bottomCenter,
|
||||
@@ -283,7 +295,7 @@ class _TariffSheetState extends State<TariffSheet> {
|
||||
'Далее ${tariff.drivePrice.toStringAsFixed(2)} ${tariff.currency}/мин.',
|
||||
'Минута на паузе ${tariff.pausePrice.toStringAsFixed(2)} ${tariff.currency}',
|
||||
],
|
||||
isSelected: _selectedTariffIndex == index,
|
||||
isSelected: selectedIndex == index,
|
||||
isInsurance: state.isInsurance,
|
||||
tariff: tariff,
|
||||
onTap: () {
|
||||
@@ -412,19 +424,20 @@ class _TariffSheetState extends State<TariffSheet> {
|
||||
height: 56,
|
||||
width: double.infinity,
|
||||
fontSize: 16,
|
||||
enabled: _selectedTariffIndex != null && (state.selectedCard != null || state.useBalance),
|
||||
onTap: (_selectedTariffIndex != null && (state.selectedCard != null || state.useBalance))
|
||||
enabled: selectedIndex != null && (state.selectedCard != null || state.useBalance),
|
||||
onTap: (selectedIndex != null && (state.selectedCard != null || state.useBalance))
|
||||
? () {
|
||||
context.read<TariffSheetBloc>().add(
|
||||
BookScooterPressed(
|
||||
widget.scooter.id,
|
||||
state.tariffs[_selectedTariffIndex!].id,
|
||||
state.tariffs[_selectedTariffIndex!].subscriptionId,
|
||||
state.tariffs[selectedIndex].id,
|
||||
state.tariffs[selectedIndex].subscriptionId,
|
||||
state.useBalance ? null : state.selectedCard?.id,
|
||||
state.useBalance,
|
||||
state.isInsurance
|
||||
)
|
||||
);
|
||||
context.read<MapBloc>().add(FetchActiveOrders());
|
||||
context.pushReplacement('/home/current-rides-sheet');
|
||||
}
|
||||
: null,
|
||||
|
||||
Reference in New Issue
Block a user