6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit e55866ce
Changed files
.../booking_details/bloc/booking_details_bloc.dart | 21 ++-- .../pregistration/cubit/preregistration_cubit.dart | 62 ++++++++--- .../pregistration/cubit/preregistration_state.dart | 25 +++++ .../pages/prereg_up_sales_catalog_page.dart | 124 ++++++++++++--------- comwell_key_app/lib/routing/app_router.dart | 14 ++- comwell_key_app/lib/routing/app_routes.dart | 2 +- comwell_key_app/lib/services/api.dart | 2 +- .../components/catalog/addon_upgrade_catalog.dart | 15 ++- .../lib/up_sales/components/item_counter.dart | 5 +- .../lib/up_sales/pages/addon_upgrade_page.dart | 32 ++++-- comwell_key_app/lib/up_sales/up_sales_catalog.dart | 9 +- 11 files changed, 209 insertions(+), 102 deletions(-)
Diff
diff --git a/comwell_key_app/lib/booking_details/bloc/booking_details_bloc.dart b/comwell_key_app/lib/booking_details/bloc/booking_details_bloc.dart
index 8f1e08bf..bbf62ecc 100644
--- a/comwell_key_app/lib/booking_details/bloc/booking_details_bloc.dart
+++ b/comwell_key_app/lib/booking_details/bloc/booking_details_bloc.dart
@@ -62,8 +62,13 @@ class BookingDetailsBloc
});
on<GetUpSalesEvent>((event, emit) async {
- await getUpSales(emit);
- emit(state.main());
+ try {
+ await getUpSales(emit);
+ emit(state.main());
+ } catch (e) {
+ if (kDebugMode) print("err=$e");
+ emit(state.setupError());
+ }
});
on<UpdateRemainingEvent>((event, emit) async {
@@ -92,12 +97,14 @@ class BookingDetailsBloc
}
Future<void> getUpSales(Emitter<BookingDetailsState> emit) async {
- upSales = await upSaleRepository.getUpSales(
- booking.confirmationId, booking.hotelCode);
+
+ upSales = await upSaleRepository.getUpSales(
+ booking.confirmationId, booking.hotelCode);
+
+ if (upSales != null) {
+ emit(state.getUpSales(upSales!));
+ }
- if (upSales != null) {
- emit(state.getUpSales(upSales!));
- }
}
Future<Booking> getBookingDetails(
diff --git a/comwell_key_app/lib/pregistration/cubit/preregistration_cubit.dart b/comwell_key_app/lib/pregistration/cubit/preregistration_cubit.dart
index f67769a3..b94b5c89 100644
--- a/comwell_key_app/lib/pregistration/cubit/preregistration_cubit.dart
+++ b/comwell_key_app/lib/pregistration/cubit/preregistration_cubit.dart
@@ -8,8 +8,11 @@ import 'package:comwell_key_app/profile_settings/model/address.dart';
import 'package:comwell_key_app/profile_settings/repostiory/profile_settings_repository.dart';
import 'package:comwell_key_app/tracking/comwell_tracking.dart';
import 'package:comwell_key_app/tracking/models/analytics_event_item.dart';
+import 'package:comwell_key_app/up_sales/models/addon_list.dart';
+import 'package:comwell_key_app/up_sales/models/room_upgrade.dart';
import 'package:comwell_key_app/up_sales/models/upgrade.dart';
import 'package:comwell_key_app/up_sales/models/up_sales.dart';
+import 'package:comwell_key_app/up_sales/up_sales_repository.dart';
import 'package:comwell_key_app/utils/locator.dart';
import 'package:comwell_key_app/utils/phone_utils.dart';
import 'package:country_code_picker/country_code_picker.dart';
@@ -22,6 +25,7 @@ class PreregistrationCubit extends Cubit<PreregistrationState> {
final _profileSettingsRepository = locator<ProfileSettingsRepository>();
final _tracking = locator<ComwellTracking>();
final _preregistrationRepository = locator<PreregistrationRepository>();
+ final _upSalesRepository = locator<UpSalesRepository>();
final Booking booking;
final UpSales upSales;
@@ -145,7 +149,8 @@ class PreregistrationCubit extends Cubit<PreregistrationState> {
void onUpSalesContinueClicked() {
emit(state.updateSelectedUpSales(
selectedUpSales: state.selectedUpSales,
- numOfExtras: state.selectedUpSales.length,
+ numOfExtras: state.selectedUpSales.length +
+ (state.selectedRoomUpgrade.isNotEmpty ? 1 : 0),
extrasTotalPrice: extrasTotalPrice));
_navigateNextPage();
@@ -209,6 +214,8 @@ class PreregistrationCubit extends Cubit<PreregistrationState> {
final preRegResponse = await _preregistrationRepository
.createPreregistration(confirmationId);
+ addUpSalesToBooking(state.selectedUpSales, state.selectedRoomUpgrade);
+
if (preRegResponse != null) {
Future.delayed(const Duration(seconds: 3), () {
emit(state.copyWith(isLoading: false));
@@ -221,6 +228,25 @@ class PreregistrationCubit extends Cubit<PreregistrationState> {
}
}
+ Future<void> addUpSalesToBooking(
+ List<Upgrade> selectedUpSales, String? selectedRoomUpgrade) async {
+ try {
+ // Extract RoomUpgrade from selectedUpSales to get the roomType
+ final roomType = selectedRoomUpgrade ?? '';
+
+ // Convert selected up sales to AddOnList objects using their individual quantities
+ final List<AddOnList> addonList = selectedUpSales
+ .map((upgrade) =>
+ AddOnList(itemCode: upgrade.id, quantity: upgrade.quantity))
+ .toList();
+
+ await _upSalesRepository.addUpSalesToBooking(
+ booking.confirmationId, booking.hotelCode, roomType, addonList);
+ } catch (e) {
+ print(e);
+ }
+ }
+
void onEditProfileClicked() {
_navigateTo(PreregistrationPage.profile);
}
@@ -287,7 +313,14 @@ class PreregistrationCubit extends Cubit<PreregistrationState> {
}
int get extrasTotalPrice {
- return state.selectedUpSales.fold(0, (sum, upgrade) => sum + upgrade.price);
+ //This is the total price of the selected up sales and the price of the selected room upgrade if it is selected
+ return state.selectedUpSales
+ .fold(0, (sum, upgrade) => sum + upgrade.price * upgrade.quantity) +
+ (state.selectedRoomUpgrade.isNotEmpty
+ ? upSales.roomUpgrades
+ .firstWhere((e) => e.id == state.selectedRoomUpgrade)
+ .price
+ : 0);
}
@override
@@ -361,14 +394,18 @@ class PreregistrationCubit extends Cubit<PreregistrationState> {
}
void addSelected(Upgrade upgrade) {
- if (upgrade.tags.contains('room')) {
- final filteredUpSales = state.selectedUpSales
- .where((item) => !item.tags.contains('room'))
- .toList();
- emit(state.copyWith(selectedUpSales: [...filteredUpSales, upgrade]));
+ if (upgrade is RoomUpgrade) {
+ emit(state.updateRoomUpgrade(roomUpgrade: upgrade));
} else {
- emit(
- state.copyWith(selectedUpSales: [...state.selectedUpSales, upgrade]));
+ emit(state.addSelectedUpsales(upgrade: upgrade));
+ }
+ }
+
+ void removeUpgrade(Upgrade upgrade) {
+ if (upgrade is RoomUpgrade) {
+ emit(state.removeRoomUpgrade());
+ } else {
+ emit(state.removeSelectedUpSales(upgrade: upgrade));
}
}
@@ -403,13 +440,6 @@ class PreregistrationCubit extends Cubit<PreregistrationState> {
}
}
- void removeUpgrade(Upgrade upgrade) {
- emit(state.copyWith(
- selectedUpSales: state.selectedUpSales
- .where((item) => item.id != upgrade.id)
- .toList()));
- }
-
int extrasTotalQuantity(Upgrade upgrade) {
return state.selectedUpSales
.where((element) => element.id == upgrade.id)
diff --git a/comwell_key_app/lib/pregistration/cubit/preregistration_state.dart b/comwell_key_app/lib/pregistration/cubit/preregistration_state.dart
index 0ced04ed..0f267bb4 100644
--- a/comwell_key_app/lib/pregistration/cubit/preregistration_state.dart
+++ b/comwell_key_app/lib/pregistration/cubit/preregistration_state.dart
@@ -93,6 +93,31 @@ class PreregistrationState extends Equatable {
numOfExtras: numOfExtras,
extrasTotalPrice: extrasTotalPrice);
+ PreregistrationState addSelectedUpsales({required Upgrade upgrade}) {
+ if (upgrade is AddOnUpgrade) {
+ final newUpsale = upgrade.copyWith(quantity: 1);
+ return copyWith(
+ selectedUpSales: [...selectedUpSales, newUpsale],
+ selectedRoomUpgrade: selectedRoomUpgrade);
+ } else {
+ return copyWith(
+ selectedUpSales: [...selectedUpSales, upgrade],
+ selectedRoomUpgrade: selectedRoomUpgrade);
+ }
+ }
+
+ PreregistrationState updateRoomUpgrade({required RoomUpgrade roomUpgrade}) =>
+ copyWith(selectedRoomUpgrade: roomUpgrade.id);
+
+ PreregistrationState removeRoomUpgrade() =>
+ copyWith(selectedRoomUpgrade: '');
+
+ PreregistrationState removeSelectedUpSales({required Upgrade upgrade}) => copyWith(
+ selectedUpSales:
+ selectedUpSales.where((item) => item.id != upgrade.id).toList(),
+ selectedRoomUpgrade: selectedRoomUpgrade);
+
+
PreregistrationState copyWith({
bool? isLoading,
bool? selected,
diff --git a/comwell_key_app/lib/pregistration/pages/prereg_up_sales_catalog_page.dart b/comwell_key_app/lib/pregistration/pages/prereg_up_sales_catalog_page.dart
index 2e057003..e458442a 100644
--- a/comwell_key_app/lib/pregistration/pages/prereg_up_sales_catalog_page.dart
+++ b/comwell_key_app/lib/pregistration/pages/prereg_up_sales_catalog_page.dart
@@ -23,6 +23,16 @@ class PreregUpSalesCatalogPage extends StatelessWidget {
return BlocBuilder<PreregistrationCubit, PreregistrationState>(
builder: (context, state) {
final cubit = context.read<PreregistrationCubit>();
+ final serviceUpgrades = cubit.state.availableAddOnUpgrades
+ .where((upgrade) => upgrade.isService)
+ .toList();
+ final addonUpgrade = cubit.state.availableAddOnUpgrades
+ .where((upgrade) => !upgrade.isService)
+ .toList();
+ final selectedRoomUpgrade = cubit.state.selectedRoomUpgrade.isEmpty
+ ? null
+ : cubit.state.availableRoomUpgrades
+ .firstWhere((e) => e.id == cubit.state.selectedRoomUpgrade);
if (state.isLoading) {
return const Center(
@@ -45,15 +55,16 @@ class PreregUpSalesCatalogPage extends StatelessWidget {
style: theme.textTheme.headlineLarge),
),
const SizedBox(height: 40),
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16),
- child: Text('services'.tr(),
- style: theme.textTheme.headlineMedium),
- ),
- const SizedBox(height: 8),
- ServiceCatalog(
+ if (serviceUpgrades.isNotEmpty) ...[
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 16),
+ child: Text('services'.tr(),
+ style: theme.textTheme.headlineMedium),
+ ),
+ const SizedBox(height: 8),
+ ServiceCatalog(
booking: cubit.booking,
- upSales: cubit.state.availableAddOnUpgrades,
+ upSales: serviceUpgrades,
selectedUpSales: state.selectedUpSales,
onServiceSelected: (upgrade, isSelected) {
if (isSelected) {
@@ -62,59 +73,68 @@ class PreregUpSalesCatalogPage extends StatelessWidget {
cubit.addSelected(upgrade);
}
},
+ onTap: (upgrade) {
+ final isSelected = cubit.state.selectedUpSales
+ .any((e) => e.id == upgrade.id);
+ if (isSelected) {
+ cubit.removeUpgrade(upgrade);
+ } else {
+ cubit.addSelected(upgrade);
+ }
+ },
+ ),
+ ],
+ if (cubit.state.availableRoomUpgrades.isNotEmpty) ...[
+ const SizedBox(height: 24),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 16),
+ child: Text('room_upgrades'.tr(),
+ style: theme.textTheme.headlineMedium),
+ ),
+ const SizedBox(height: 8),
+ RoomUpgradeCatalog(
+ booking: cubit.booking,
+ availableRoomUpgrades: cubit.state.availableRoomUpgrades,
+ selectedRoomUpgrade: cubit.state.selectedRoomUpgrade,
+ selectedUpSales: cubit.state.selectedUpSales,
+ onRoomUpgradeSelected: (upgrade, isSelected) {
+ if (isSelected) {
+ cubit.removeUpgrade(upgrade);
+ } else {
+ cubit.addSelected(upgrade);
+ }
+ },
onTap: (upgrade) {
final isSelected =
- state.selectedUpSales.contains(upgrade);
+ cubit.state.selectedRoomUpgrade == upgrade.id;
if (isSelected) {
cubit.removeUpgrade(upgrade);
} else {
cubit.addSelected(upgrade);
}
},
- ),
- const SizedBox(height: 24),
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16),
- child: Text('room_upgrades'.tr(),
- style: theme.textTheme.headlineMedium),
- ),
- const SizedBox(height: 8),
- RoomUpgradeCatalog(
- booking: cubit.booking,
- availableRoomUpgrades: cubit.state.availableRoomUpgrades,
- selectedRoomUpgrade: cubit.state.selectedRoomUpgrade,
- selectedUpSales: cubit.state.selectedUpSales,
- onRoomUpgradeSelected: (upgrade, isSelected) {
- if (isSelected) {
- cubit.removeUpgrade(upgrade);
- } else {
- cubit.addSelected(upgrade);
- }
- },
- onTap: (upgrade) {
- final isSelected =
- cubit.state.selectedUpSales.contains(upgrade);
- if (isSelected) {
- cubit.removeUpgrade(upgrade);
- } else {
+ ),
+ ],
+ if (addonUpgrade.isNotEmpty) ...[
+ const SizedBox(height: 24),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 16),
+ child: Text('other_up_sales'.tr(),
+ style: theme.textTheme.headlineMedium),
+ ),
+ const SizedBox(height: 8),
+ AddOnUpgradeCatalog(
+ addOnUpgrades: addonUpgrade,
+ selectedUpSales: cubit.state.selectedUpSales
+ .whereType<AddOnUpgrade>()
+ .toList(),
+ extrasTotalPrice: cubit.extrasTotalPrice,
+ selectedRoomUpgrade: selectedRoomUpgrade?.id ?? '',
+ onAddOnUpgradeSelected: (upgrade) {
cubit.addSelected(upgrade);
- }
- },
- ),
- const SizedBox(height: 24),
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16),
- child: Text('other_up_sales'.tr(),
- style: theme.textTheme.headlineMedium),
- ),
- const SizedBox(height: 8),
- AddOnUpgradeCatalog(
- addOnUpgrades: cubit.state.availableAddOnUpgrades,
- selectedUpSales: cubit.state.selectedUpSales.whereType<AddOnUpgrade>().toList(),
- onAddOnUpgradeSelected: (upgrade) {
- cubit.addSelected(upgrade);
- },
- ),
+ },
+ ),
+ ],
const SizedBox(height: 24),
],
),
diff --git a/comwell_key_app/lib/routing/app_router.dart b/comwell_key_app/lib/routing/app_router.dart
index 56d53015..a52cf9e4 100644
--- a/comwell_key_app/lib/routing/app_router.dart
+++ b/comwell_key_app/lib/routing/app_router.dart
@@ -446,12 +446,17 @@ GoRouter goRouter() {
},
),
GoRoute(
- path: "/${AppRoutes.otherUpgrade.name}",
- name: AppRoutes.otherUpgrade.name,
+ path: "/${AppRoutes.addonUpgrade.name}",
+ name: AppRoutes.addonUpgrade.name,
builder: (context, state) {
//with extra
+ final extras = state.extra as List<dynamic>;
return AddonUpgradePage(
- addonUpgrade: state.extra as AddOnUpgrade);
+ addonUpgrade: extras[0] as AddOnUpgrade,
+ selectedUpSales: extras[1] as List<Upgrade>,
+ extrasTotalPrice: extras[2] as int,
+ selectedRoomUpgrade: extras[3] as String,
+ );
}),
GoRoute(
path: "/${AppRoutes.servicesUpgrade.name}",
@@ -489,8 +494,7 @@ GoRouter goRouter() {
selectedRoomUpgrade);
return BlocBuilder<UpSalesCubit, UpSalesState>(
builder: (context, state) {
- return UpSalesProcessingPage(
- key: ValueKey(state));
+ return UpSalesProcessingPage(key: ValueKey(state));
});
},
),
diff --git a/comwell_key_app/lib/routing/app_routes.dart b/comwell_key_app/lib/routing/app_routes.dart
index fb0583d9..c354f0f5 100644
--- a/comwell_key_app/lib/routing/app_routes.dart
+++ b/comwell_key_app/lib/routing/app_routes.dart
@@ -28,7 +28,7 @@ enum AppRoutes {
myBooking,
upSalesCatalog,
roomUpgrade,
- otherUpgrade,
+ addonUpgrade,
servicesUpgrade,
upSaleConfirmation,
upSalesProcessing,
diff --git a/comwell_key_app/lib/services/api.dart b/comwell_key_app/lib/services/api.dart
index 83179a46..6f57dc18 100644
--- a/comwell_key_app/lib/services/api.dart
+++ b/comwell_key_app/lib/services/api.dart
@@ -38,7 +38,7 @@ class Api {
Locale get _currentLocale {
final navigatorKey = locator<GlobalKey<NavigatorState>>();
return EasyLocalization.of(navigatorKey.currentContext!)?.locale ??
- const Locale('da', 'DK');
+ const Locale('en', 'US');
}
Future<Response<dynamic>> logout() async {
diff --git a/comwell_key_app/lib/up_sales/components/catalog/addon_upgrade_catalog.dart b/comwell_key_app/lib/up_sales/components/catalog/addon_upgrade_catalog.dart
index 84e2b4a1..069881c2 100644
--- a/comwell_key_app/lib/up_sales/components/catalog/addon_upgrade_catalog.dart
+++ b/comwell_key_app/lib/up_sales/components/catalog/addon_upgrade_catalog.dart
@@ -12,11 +12,15 @@ class AddOnUpgradeCatalog extends StatelessWidget {
final List<AddOnUpgrade> addOnUpgrades;
final List<AddOnUpgrade> selectedUpSales;
final void Function(AddOnUpgrade)? onAddOnUpgradeSelected;
+ final int extrasTotalPrice;
+ final String selectedRoomUpgrade;
const AddOnUpgradeCatalog({
super.key,
required this.addOnUpgrades,
required this.selectedUpSales,
- this.onAddOnUpgradeSelected
+ this.onAddOnUpgradeSelected,
+ required this.extrasTotalPrice,
+ required this.selectedRoomUpgrade,
});
@override
@@ -40,13 +44,14 @@ class AddOnUpgradeCatalog extends StatelessWidget {
itemCount: addOnUpgrades.length,
itemBuilder: (context, index) {
final isSelected = selectedUpSales.any((e) => e.id == addOnUpgrades.elementAt(index).id);
+
+
return GestureDetector(
onTap: () async {
final result = await context.pushNamed(
- AppRoutes.otherUpgrade.name,
- extra: addOnUpgrades.elementAt(index)
+ AppRoutes.addonUpgrade.name,
+ extra: [addOnUpgrades.elementAt(index), selectedUpSales, extrasTotalPrice, selectedRoomUpgrade]
);
- print("result ${addOnUpgrades.elementAt(index)}");
if (result is AddOnUpgrade) {
onAddOnUpgradeSelected?.call(result);
}
@@ -56,7 +61,7 @@ class AddOnUpgradeCatalog extends StatelessWidget {
height: 268,
upgrade: addOnUpgrades.elementAt(index),
isSelected: isSelected,
- routeName: AppRoutes.otherUpgrade.name,
+ routeName: AppRoutes.addonUpgrade.name,
showCounter: true,
selectedUpSales: selectedUpSales,
onTap: (upgrade) {},
diff --git a/comwell_key_app/lib/up_sales/components/item_counter.dart b/comwell_key_app/lib/up_sales/components/item_counter.dart
index 23768d08..fe7a59ba 100644
--- a/comwell_key_app/lib/up_sales/components/item_counter.dart
+++ b/comwell_key_app/lib/up_sales/components/item_counter.dart
@@ -7,7 +7,8 @@ import 'package:flutter_bloc/flutter_bloc.dart';
class ItemCounter extends StatelessWidget {
final AddOnUpgrade addonUpgrade;
- const ItemCounter({super.key, required this.addonUpgrade});
+ final int quantity;
+ const ItemCounter({super.key, required this.addonUpgrade, required this.quantity});
@override
Widget build(BuildContext context) {
@@ -44,7 +45,7 @@ class ItemCounter extends StatelessWidget {
),
),
const SizedBox(width: 16),
- Text('${cubit.state.addOnUpgrades.firstWhere((e) => e.id == addonUpgrade.id).quantity}',
+ Text('$quantity',
style: theme.textTheme.headlineMedium),
const SizedBox(width: 16),
// Plus button
diff --git a/comwell_key_app/lib/up_sales/pages/addon_upgrade_page.dart b/comwell_key_app/lib/up_sales/pages/addon_upgrade_page.dart
index 9c79f4d2..fe170bde 100644
--- a/comwell_key_app/lib/up_sales/pages/addon_upgrade_page.dart
+++ b/comwell_key_app/lib/up_sales/pages/addon_upgrade_page.dart
@@ -3,6 +3,7 @@ import 'package:comwell_key_app/common/const.dart';
import 'package:comwell_key_app/up_sales/components/item_counter.dart';
import 'package:comwell_key_app/up_sales/cubit/up_sales_cubit.dart';
import 'package:comwell_key_app/up_sales/models/addon_upgrade.dart';
+import 'package:comwell_key_app/up_sales/models/upgrade.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
@@ -11,15 +12,26 @@ import '../components/up_sales_bottom_button.dart';
class AddonUpgradePage extends StatelessWidget {
final AddOnUpgrade addonUpgrade;
- const AddonUpgradePage({super.key, required this.addonUpgrade});
+ final List<Upgrade> selectedUpSales;
+ final int extrasTotalPrice;
+ final String selectedRoomUpgrade;
+ const AddonUpgradePage(
+ {super.key,
+ required this.addonUpgrade,
+ required this.selectedUpSales,
+ required this.extrasTotalPrice,
+ required this.selectedRoomUpgrade});
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final width = MediaQuery.of(context).size.width;
final height = MediaQuery.of(context).size.height;
- final cubit = context.read<UpSalesCubit>();
- final quantity = cubit.state.addOnUpgrades.firstWhere((e) => e.id == addonUpgrade.id).quantity;
+ final quantity = selectedUpSales
+ .where((e) => e.id == addonUpgrade.id)
+ .firstOrNull
+ ?.quantity ??
+ 0;
return Scaffold(
backgroundColor: Theme.of(context).colorScheme.surface,
@@ -100,19 +112,21 @@ class AddonUpgradePage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
- ItemCounter(addonUpgrade: addonUpgrade),
+ ItemCounter(addonUpgrade: addonUpgrade, quantity: quantity),
Expanded(
flex: 2,
child: UpSalesBottomButton(
onAddUpSale: () {
- Navigator.pop(context, addonUpgrade.copyWith(quantity: quantity));
+ Navigator.pop(
+ context, addonUpgrade.copyWith(quantity: quantity));
},
onContinue: () {
- Navigator.pop(context, addonUpgrade.copyWith(quantity: quantity));
+ Navigator.pop(
+ context, addonUpgrade.copyWith(quantity: quantity));
},
- selectedUpSales: cubit.state.selectedUpSales,
- extrasTotalPrice: cubit.extrasTotalPrice,
- selectedRoomUpgrade: cubit.state.selectedRoomUpgrade,
+ selectedUpSales: selectedUpSales,
+ extrasTotalPrice: extrasTotalPrice,
+ selectedRoomUpgrade: selectedRoomUpgrade,
children: [Text('add_to_booking'.tr())],
),
),
diff --git a/comwell_key_app/lib/up_sales/up_sales_catalog.dart b/comwell_key_app/lib/up_sales/up_sales_catalog.dart
index 9dbdfc3b..87bf9c43 100644
--- a/comwell_key_app/lib/up_sales/up_sales_catalog.dart
+++ b/comwell_key_app/lib/up_sales/up_sales_catalog.dart
@@ -22,7 +22,7 @@ class UpSalesCatalog extends StatelessWidget {
final serviceUpgrades = cubit.upSales.addOnUpgrades
.where((upgrade) => upgrade.isService)
.toList();
- final addonUpgrade = cubit.upSales.addOnUpgrades
+ final addonUpgrades = cubit.upSales.addOnUpgrades
.where((upgrade) => !upgrade.isService)
.toList();
final selectedRoomUpgrade = cubit.state.selectedRoomUpgrade.isEmpty
@@ -111,7 +111,7 @@ class UpSalesCatalog extends StatelessWidget {
),
const SizedBox(height: 24),
],
- if (addonUpgrade.isNotEmpty) ...[
+ if (addonUpgrades.isNotEmpty) ...[
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Text('other_up_sales'.tr(),
@@ -119,12 +119,13 @@ class UpSalesCatalog extends StatelessWidget {
),
const SizedBox(height: 8),
AddOnUpgradeCatalog(
- addOnUpgrades: addonUpgrade,
+ addOnUpgrades: addonUpgrades,
selectedUpSales: cubit.state.selectedUpSales
.whereType<AddOnUpgrade>()
.toList(),
+ extrasTotalPrice: cubit.extrasTotalPrice,
+ selectedRoomUpgrade: selectedRoomUpgrade?.id ?? '',
onAddOnUpgradeSelected: (upgrade) {
- print("onAddOnUpgradeSelected ${upgrade.quantity}");
cubit.updateAddonUpgradeQuantity(upgrade);
},
),