6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 0d0f2d08
Changed files
comwell_key_app/assets/translations/intl_da.arb | 5 ++- comwell_key_app/assets/translations/intl_en.arb | 5 ++- .../lib/.generated/l10n/app_localizations.dart | 18 +++++--- .../lib/.generated/l10n/app_localizations_da.dart | 13 +++--- .../lib/.generated/l10n/app_localizations_en.dart | 13 +++--- .../template_pages/payment_page_template.dart | 51 ++++++++++++---------- .../components/check_in_button.dart | 32 +++++++++++--- .../check_in/components/check_in_bottom_sheet.dart | 2 +- .../check_in/pages/check_in_payment_page.dart | 6 +-- 9 files changed, 92 insertions(+), 53 deletions(-)
Diff
diff --git a/comwell_key_app/assets/translations/intl_da.arb b/comwell_key_app/assets/translations/intl_da.arb
index fad6bc8f..b42560b8 100644
--- a/comwell_key_app/assets/translations/intl_da.arb
+++ b/comwell_key_app/assets/translations/intl_da.arb
@@ -276,7 +276,6 @@
"edit": "Rediger",
"error_cards": "Fejl ved indlæsning af kort, prøv igen senere.",
"check_in_button_timer_days_hours_minutes": "Om {d} dage, {h} timer og {m} minutter",
- "check_in_button_timer_days_minutes": "Om {d} dage og {m} minutter",
"check_in_button_timer_hours_minutes": "Om {h} timer og {m} minutter",
"check_in_button_timer_minutes": "Om {m} minutter",
"check_in_button_timer_seconds": "Om {s} sekunder",
@@ -419,5 +418,7 @@
"preregistration_accept_terms_prefix": "Jeg accepterer Comwells",
"preregistration_accept_terms_privacy_policy": "persondataspolitik",
"preregistration_accept_terms_and": "og",
- "preregistration_accept_terms_trade_conditions": "handelsbetingelser"
+ "preregistration_accept_terms_trade_conditions": "handelsbetingelser",
+ "check_in_button_timer_days_minutes": "Om {d} dage og {m} minutter",
+ "check_in_page_payment_payment_title": "Betal og check ind"
}
\ No newline at end of file
diff --git a/comwell_key_app/assets/translations/intl_en.arb b/comwell_key_app/assets/translations/intl_en.arb
index 3c124626..d6bae0b8 100644
--- a/comwell_key_app/assets/translations/intl_en.arb
+++ b/comwell_key_app/assets/translations/intl_en.arb
@@ -276,7 +276,6 @@
"edit": "Edit",
"error_cards": "Error loading map, please try again later.",
"check_in_button_timer_days_hours_minutes": "In {d} days, {h} hours and {m} minutes",
- "check_in_button_timer_days_minutes": "In {d} days and {m} minutes",
"check_in_button_timer_hours_minutes": "In {h} hours and {m} minutes",
"check_in_button_timer_minutes": "In {m} minutes",
"check_in_button_timer_seconds": "In {s} seconds",
@@ -419,5 +418,7 @@
"preregistration_accept_terms_prefix": "I accept Comwell's",
"preregistration_accept_terms_privacy_policy": "personal data policy",
"preregistration_accept_terms_and": "and",
- "preregistration_accept_terms_trade_conditions": "terms of trade"
+ "preregistration_accept_terms_trade_conditions": "terms of trade",
+ "check_in_button_timer_days_minutes": "In {d} days and {m} minutes",
+ "check_in_page_payment_payment_title": "Pay and check in"
}
\ No newline at end of file
diff --git a/comwell_key_app/lib/.generated/l10n/app_localizations.dart b/comwell_key_app/lib/.generated/l10n/app_localizations.dart
index 97cf35c4..67a80a81 100644
--- a/comwell_key_app/lib/.generated/l10n/app_localizations.dart
+++ b/comwell_key_app/lib/.generated/l10n/app_localizations.dart
@@ -1749,12 +1749,6 @@ abstract class AppLocalizations {
/// **'In {d} days, {h} hours and {m} minutes'**
String check_in_button_timer_days_hours_minutes(Object d, Object h, Object m);
- /// No description provided for @check_in_button_timer_days_minutes.
- ///
- /// In en, this message translates to:
- /// **'In {d} days and {m} minutes'**
- String check_in_button_timer_days_minutes(Object d, Object m);
-
/// No description provided for @check_in_button_timer_hours_minutes.
///
/// In en, this message translates to:
@@ -2612,6 +2606,18 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'terms of trade'**
String get preregistration_accept_terms_trade_conditions;
+
+ /// No description provided for @check_in_button_timer_days_minutes.
+ ///
+ /// In en, this message translates to:
+ /// **'In {d} days and {m} minutes'**
+ String check_in_button_timer_days_minutes(Object d, Object m);
+
+ /// No description provided for @check_in_page_payment_payment_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Pay and check in'**
+ String get check_in_page_payment_payment_title;
}
class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
diff --git a/comwell_key_app/lib/.generated/l10n/app_localizations_da.dart b/comwell_key_app/lib/.generated/l10n/app_localizations_da.dart
index 46e3fe14..6a391279 100644
--- a/comwell_key_app/lib/.generated/l10n/app_localizations_da.dart
+++ b/comwell_key_app/lib/.generated/l10n/app_localizations_da.dart
@@ -884,11 +884,6 @@ class AppLocalizationsDa extends AppLocalizations {
return 'Om $d dage, $h timer og $m minutter';
}
- @override
- String check_in_button_timer_days_minutes(Object d, Object m) {
- return 'Om $d dage og $m minutter';
- }
-
@override
String check_in_button_timer_hours_minutes(Object h, Object m) {
return 'Om $h timer og $m minutter';
@@ -1355,4 +1350,12 @@ class AppLocalizationsDa extends AppLocalizations {
@override
String get preregistration_accept_terms_trade_conditions => 'handelsbetingelser';
+
+ @override
+ String check_in_button_timer_days_minutes(Object d, Object m) {
+ return 'Om $d dage og $m minutter';
+ }
+
+ @override
+ String get check_in_page_payment_payment_title => 'Betal og check ind';
}
diff --git a/comwell_key_app/lib/.generated/l10n/app_localizations_en.dart b/comwell_key_app/lib/.generated/l10n/app_localizations_en.dart
index 3cd7adb3..906732b7 100644
--- a/comwell_key_app/lib/.generated/l10n/app_localizations_en.dart
+++ b/comwell_key_app/lib/.generated/l10n/app_localizations_en.dart
@@ -887,11 +887,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'In $d days, $h hours and $m minutes';
}
- @override
- String check_in_button_timer_days_minutes(Object d, Object m) {
- return 'In $d days and $m minutes';
- }
-
@override
String check_in_button_timer_hours_minutes(Object h, Object m) {
return 'In $h hours and $m minutes';
@@ -1358,4 +1353,12 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get preregistration_accept_terms_trade_conditions => 'terms of trade';
+
+ @override
+ String check_in_button_timer_days_minutes(Object d, Object m) {
+ return 'In $d days and $m minutes';
+ }
+
+ @override
+ String get check_in_page_payment_payment_title => 'Pay and check in';
}
diff --git a/comwell_key_app/lib/common/template_pages/payment_page_template.dart b/comwell_key_app/lib/common/template_pages/payment_page_template.dart
index d45bb6e4..3ab2115d 100644
--- a/comwell_key_app/lib/common/template_pages/payment_page_template.dart
+++ b/comwell_key_app/lib/common/template_pages/payment_page_template.dart
@@ -21,20 +21,21 @@ class PaymentPageTemplate extends StatelessWidget {
final void Function() onShowTermsAndConditions;
final void Function(bool) onApplyClubPointsChanged;
- const PaymentPageTemplate(
- {super.key,
- required this.addOnItems,
- required this.applyClubPoints,
- required this.totalPriceBeforeDiscount,
- required this.totalPriceAfterDiscount,
- required this.trimmedBalance,
- required this.clubPoints,
- required this.isTermsAccepted,
- required this.userEmail,
- required this.onAcceptTermsChanged,
- required this.showError,
- required this.onShowTermsAndConditions,
- required this.onApplyClubPointsChanged});
+ const PaymentPageTemplate({
+ super.key,
+ required this.addOnItems,
+ required this.applyClubPoints,
+ required this.totalPriceBeforeDiscount,
+ required this.totalPriceAfterDiscount,
+ required this.trimmedBalance,
+ required this.clubPoints,
+ required this.isTermsAccepted,
+ required this.userEmail,
+ required this.onAcceptTermsChanged,
+ required this.showError,
+ required this.onShowTermsAndConditions,
+ required this.onApplyClubPointsChanged,
+ });
@override
Widget build(BuildContext context) {
@@ -44,6 +45,8 @@ class PaymentPageTemplate extends StatelessWidget {
final dynamicBottomPadding =
bottomSheetHeight + safeAreaBottom + 20.0; // Extra 20px for comfort
+ print('addOnItems: $addOnItems');
+
return SingleChildScrollView(
key: PageStorageKey("$runtimeType"),
child: Padding(
@@ -58,11 +61,12 @@ class PaymentPageTemplate extends StatelessWidget {
),
const SizedBox(height: 26),
CheckoutItemizedBill(
- addOnItems: addOnItems,
- applyClubPoints: applyClubPoints,
- totalPriceBeforeDiscount: totalPriceBeforeDiscount,
- totalPriceAfterDiscount: totalPriceAfterDiscount,
- trimmedBalance: trimmedBalance),
+ addOnItems: addOnItems,
+ applyClubPoints: applyClubPoints,
+ totalPriceBeforeDiscount: totalPriceBeforeDiscount,
+ totalPriceAfterDiscount: totalPriceAfterDiscount,
+ trimmedBalance: trimmedBalance,
+ ),
const SizedBox(height: 52),
ApplyClubPoints(
applyClubPoints: applyClubPoints,
@@ -80,10 +84,11 @@ class PaymentPageTemplate extends StatelessWidget {
),
const SizedBox(height: 10),
AcceptTermsToggle(
- isTermsAccepted: isTermsAccepted,
- onAcceptTermsChanged: onAcceptTermsChanged,
- showError: showError,
- onShowTermsAndConditions: onShowTermsAndConditions),
+ isTermsAccepted: isTermsAccepted,
+ onAcceptTermsChanged: onAcceptTermsChanged,
+ showError: showError,
+ onShowTermsAndConditions: onShowTermsAndConditions,
+ ),
SizedBox(height: dynamicBottomPadding),
],
),
diff --git a/comwell_key_app/lib/presentation/screens/booking_details/components/check_in_button.dart b/comwell_key_app/lib/presentation/screens/booking_details/components/check_in_button.dart
index 7798ca99..7986bf2c 100644
--- a/comwell_key_app/lib/presentation/screens/booking_details/components/check_in_button.dart
+++ b/comwell_key_app/lib/presentation/screens/booking_details/components/check_in_button.dart
@@ -13,22 +13,31 @@ class CheckInButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cubit = context.read<BookingDetailsCubit>();
- return cubit.booking.digitalCard
- ? getDigitalCardWidget(context, cubit)
- : getPhysicalCardWidget(context);
+ final hasAddons = cubit.booking.addOnItems?.isNotEmpty ?? false;
+ return Builder(builder: (context) {
+ if (!cubit.booking.digitalCard) {
+ return getPhysicalCardWidget(context);
+ }
+ return getDigitalCardWidget(context, cubit);
+ });
}
Widget getDigitalCardWidget(BuildContext context, BookingDetailsCubit cubit) {
final hasBalance = (cubit.booking.balance ?? 0) > 0;
+ final hasAddons = cubit.booking.addOnItems?.isNotEmpty ?? false;
+ print('hasAddons: $hasAddons');
+ print('hasBalance: ${cubit.booking.balance}');
return Container(
margin: const EdgeInsets.symmetric(horizontal: 10),
child: ElevatedButton(
onPressed: () async {
- final result = hasBalance
+ if (context.mounted) {
+ final result = hasAddons
? await context.push(AppRoutes.checkInPayment, extra: cubit.booking)
: await context.push(AppRoutes.checkIn, extra: [cubit.booking, false]);
- if (result == true && !cubit.isClosed) {
- cubit.checkInEvent();
+ if (result == true && !cubit.isClosed) {
+ cubit.checkInEvent();
+ }
}
},
child: Padding(
@@ -64,6 +73,17 @@ class CheckInButton extends StatelessWidget {
);
}
+ Widget getAddonCardWidget(BuildContext context) {
+ return Container(
+ margin: const EdgeInsets.symmetric(horizontal: 10),
+ child: Container(
+ decoration: BoxDecoration(
+ color: sandColor[80],
+ ),
+ ),
+ );
+ }
+
Widget getPhysicalCardWidget(BuildContext context) {
return Container(
margin: const EdgeInsets.symmetric(horizontal: 10),
diff --git a/comwell_key_app/lib/presentation/screens/check_in/components/check_in_bottom_sheet.dart b/comwell_key_app/lib/presentation/screens/check_in/components/check_in_bottom_sheet.dart
index 054d0d13..eea6a3c2 100644
--- a/comwell_key_app/lib/presentation/screens/check_in/components/check_in_bottom_sheet.dart
+++ b/comwell_key_app/lib/presentation/screens/check_in/components/check_in_bottom_sheet.dart
@@ -46,7 +46,7 @@ class CheckInBottomSheet extends StatelessWidget {
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 17.0),
child: Text(
- context.strings.checkout_page_payment_payment_title,
+ context.strings.check_in_page_payment_payment_title,
style: theme.textTheme.bodyMedium
?.copyWith(color: colorBackground),
),
diff --git a/comwell_key_app/lib/presentation/screens/check_in/pages/check_in_payment_page.dart b/comwell_key_app/lib/presentation/screens/check_in/pages/check_in_payment_page.dart
index a7b82896..1b8aa8ac 100644
--- a/comwell_key_app/lib/presentation/screens/check_in/pages/check_in_payment_page.dart
+++ b/comwell_key_app/lib/presentation/screens/check_in/pages/check_in_payment_page.dart
@@ -9,11 +9,11 @@ class CheckInPaymentPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cubit = context.read<CheckInCubit>();
- final addOnItems = cubit.state.items;
+ final addOnItems = cubit.booking.addOnItems ?? [];
final applyClubPoints = cubit.state.applyClubPoints;
final totalPriceBeforeDiscount = cubit.state.totalPriceBeforeDiscount;
final totalPriceAfterDiscount = cubit.state.totalPriceAfterDiscount;
- final trimmedBalance = cubit.trimmedBalance;
+ final trimmedBalance = cubit.booking.balance ?? 0;
final clubPoints = cubit.state.clubPoints;
final isTermsAccepted = cubit.state.isTermsAccepted;
final onAcceptTermsChanged = cubit.onAcceptTermsChanged;
@@ -26,7 +26,7 @@ class CheckInPaymentPage extends StatelessWidget {
applyClubPoints: applyClubPoints,
totalPriceBeforeDiscount: totalPriceBeforeDiscount,
totalPriceAfterDiscount: totalPriceAfterDiscount,
- trimmedBalance: trimmedBalance,
+ trimmedBalance: trimmedBalance.toInt(),
clubPoints: clubPoints,
isTermsAccepted: isTermsAccepted,
userEmail: cubit.booking.bookerLastName,