6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 9908867c

AuthorEdmir Suljic<esu@dwarf.dk>
Date2025-06-24 15:11:16 +0200
finished feature

Changed files

.../booking_details/bloc/booking_details_bloc.dart |  2 ++
 .../lib/booking_details/booking_details_page.dart  |  2 +-
 .../hotel_information_shimmer_loader.dart          | 14 +++++++-----
 .../shimmer_loader/overview_shimmer_loader.dart    | 26 ++++++++++++++++++++++
 .../components/shimmer_loader/shimmer_loader.dart  | 26 ----------------------
 .../components/current_bookings_tab_view.dart      |  8 +++----
 .../pregistration/pages/prereg_address_page.dart   |  2 +-
 .../pregistration/pages/prereg_profile_page.dart   |  2 +-
 .../lib/pregistration/preregistration_flow.dart    | 19 +---------------
 9 files changed, 44 insertions(+), 57 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 4223a6a1..ae896860 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
@@ -48,6 +48,7 @@ class BookingDetailsBloc
add(GetUserEvent());
add(UpdateRemainingEvent(getCheckInTime().difference(DateTime.now())));
add(GetUpSalesEvent(upSales));
+
} catch (e, st) {
if (kDebugMode) print("err=$e, $st");
emit(state.setupError());
@@ -56,6 +57,7 @@ class BookingDetailsBloc
on<GetUpSalesEvent>((event, emit) async {
await getUpSales(emit);
+ emit(state.main());
});
on<UpdateRemainingEvent>((event, emit) async {
diff --git a/comwell_key_app/lib/booking_details/booking_details_page.dart b/comwell_key_app/lib/booking_details/booking_details_page.dart
index 2a5cc623..b94aea38 100644
--- a/comwell_key_app/lib/booking_details/booking_details_page.dart
+++ b/comwell_key_app/lib/booking_details/booking_details_page.dart
@@ -40,7 +40,7 @@ class BookingDetailsPage extends StatelessWidget {
builder: (context) {
if (state.status == BookingDetailsStatus.loading) {
return const Center(
- child: BookingDetailsShimmerLoader(),
+ child: CircularProgressIndicator(),
);
} else {
return _buildBookingDetailsPage(context, state, cubit);
diff --git a/comwell_key_app/lib/common/components/shimmer_loader/hotel_information_shimmer_loader.dart b/comwell_key_app/lib/common/components/shimmer_loader/hotel_information_shimmer_loader.dart
index dfde81ad..7a3ec439 100644
--- a/comwell_key_app/lib/common/components/shimmer_loader/hotel_information_shimmer_loader.dart
+++ b/comwell_key_app/lib/common/components/shimmer_loader/hotel_information_shimmer_loader.dart
@@ -12,18 +12,20 @@ class HotelInformationShimmerLoader extends StatelessWidget {
highlightColor: Colors.grey.shade100,
enabled: true,
child: ListView(
- padding: const EdgeInsets.all(24.0),
children: [
const BannerPlaceholder(),
const SizedBox(height: 16),
const TitlePlaceholder(width: double.infinity),
const SizedBox(height: 16),
- ...List.generate(3, (index) => Padding(
- padding: const EdgeInsets.symmetric(vertical: 8.0),
- child: ContentPlaceholder(lineType: ContentLineType.threeLines),
- )),
+ ...List.generate(
+ 3,
+ (index) => const Padding(
+ padding: EdgeInsets.symmetric(vertical: 8.0),
+ child: ContentPlaceholder(
+ lineType: ContentLineType.threeLines),
+ )),
],
),
);
}
-}
\ No newline at end of file
+}
diff --git a/comwell_key_app/lib/common/components/shimmer_loader/overview_shimmer_loader.dart b/comwell_key_app/lib/common/components/shimmer_loader/overview_shimmer_loader.dart
new file mode 100644
index 00000000..5dc883a7
--- /dev/null
+++ b/comwell_key_app/lib/common/components/shimmer_loader/overview_shimmer_loader.dart
@@ -0,0 +1,26 @@
+import 'package:comwell_key_app/common/components/placeholders.dart';
+import 'package:flutter/material.dart';
+import 'package:shimmer/shimmer.dart';
+
+class OverviewShimmerLoader extends StatelessWidget {
+ const OverviewShimmerLoader({super.key});
+
+ @override
+ Widget build(BuildContext context) {
+ return Shimmer.fromColors(
+ baseColor: Colors.grey.shade300,
+ highlightColor: Colors.grey.shade100,
+ enabled: true,
+ child: const Column(
+ children: [
+ BannerPlaceholder(),
+ TitlePlaceholder(width: double.infinity),
+ SizedBox(height: 16.0),
+ ContentPlaceholder(
+ lineType: ContentLineType.threeLines,
+ ),
+ ],
+ ),
+ );
+ }
+}
diff --git a/comwell_key_app/lib/common/components/shimmer_loader/shimmer_loader.dart b/comwell_key_app/lib/common/components/shimmer_loader/shimmer_loader.dart
deleted file mode 100644
index 24cba5ae..00000000
--- a/comwell_key_app/lib/common/components/shimmer_loader/shimmer_loader.dart
+++ /dev/null
@@ -1,26 +0,0 @@
-import 'package:comwell_key_app/common/components/placeholders.dart';
-import 'package:flutter/material.dart';
-import 'package:shimmer/shimmer.dart';
-
-class ShimmerLoader extends StatelessWidget {
- const ShimmerLoader({super.key});
-
- @override
- Widget build(BuildContext context) {
- return Shimmer.fromColors(
- baseColor: Colors.grey.shade300,
- highlightColor: Colors.grey.shade100,
- enabled: true,
- child: const Column(
- children: [
- BannerPlaceholder(),
- TitlePlaceholder(width: double.infinity),
- SizedBox(height: 16.0),
- ContentPlaceholder(
- lineType: ContentLineType.threeLines,
- ),
- ],
- ),
- );
- }
-}
diff --git a/comwell_key_app/lib/overview/components/current_bookings_tab_view.dart b/comwell_key_app/lib/overview/components/current_bookings_tab_view.dart
index fb001f79..f8db25d6 100644
--- a/comwell_key_app/lib/overview/components/current_bookings_tab_view.dart
+++ b/comwell_key_app/lib/overview/components/current_bookings_tab_view.dart
@@ -5,7 +5,7 @@ import 'package:comwell_key_app/themes/light_theme.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:shimmer/shimmer.dart';
-import 'package:comwell_key_app/common/components/shimmer_loader/shimmer_loader.dart';
+import 'package:comwell_key_app/common/components/shimmer_loader/overview_shimmer_loader.dart';
class CurrentBookingsTabView extends StatelessWidget {
final Iterable<Booking> bookings;
@@ -32,11 +32,11 @@ class CurrentBookingsTabView extends StatelessWidget {
return ListView(
children: const [
SizedBox(height: 20),
- ShimmerLoader(),
+ OverviewShimmerLoader(),
SizedBox(height: 20),
- ShimmerLoader(),
+ OverviewShimmerLoader(),
SizedBox(height: 20),
- ShimmerLoader(),
+ OverviewShimmerLoader(),
],
);
}
diff --git a/comwell_key_app/lib/pregistration/pages/prereg_address_page.dart b/comwell_key_app/lib/pregistration/pages/prereg_address_page.dart
index 8f1cfed4..46cc2e91 100644
--- a/comwell_key_app/lib/pregistration/pages/prereg_address_page.dart
+++ b/comwell_key_app/lib/pregistration/pages/prereg_address_page.dart
@@ -17,7 +17,7 @@ class PreregAddressPage extends StatelessWidget {
builder: (context, state) {
final cubit = context.read<PreregistrationCubit>();
- if (state.loading) {
+ if (state.isLoading) {
return const Center(child: PreregAddressShimmerLoader());
}
if (state.error != null) {
diff --git a/comwell_key_app/lib/pregistration/pages/prereg_profile_page.dart b/comwell_key_app/lib/pregistration/pages/prereg_profile_page.dart
index 12ca2072..d1693f6a 100644
--- a/comwell_key_app/lib/pregistration/pages/prereg_profile_page.dart
+++ b/comwell_key_app/lib/pregistration/pages/prereg_profile_page.dart
@@ -16,7 +16,7 @@ class PreregProfilePage extends StatelessWidget {
final theme = Theme.of(context);
return BlocBuilder<PreregistrationCubit, PreregistrationState>(
builder: (context, state) {
- if (state.loading) {
+ if (state.isLoading) {
return const Center(child: PreregProfileShimmerLoader());
}
if (state.user != null) {
diff --git a/comwell_key_app/lib/pregistration/preregistration_flow.dart b/comwell_key_app/lib/pregistration/preregistration_flow.dart
index bf910ff1..7520bfc9 100644
--- a/comwell_key_app/lib/pregistration/preregistration_flow.dart
+++ b/comwell_key_app/lib/pregistration/preregistration_flow.dart
@@ -32,7 +32,7 @@ class _PreregistrationFlowState extends State<PreregistrationFlow> {
body: Builder(
builder: (context) {
if (state.isLoading) {
- return const Center(child: CircularProgressIndicator());
+ return const Center(child: PreregFlowShimmerLoader());
}
return PageView(
key: const PageStorageKey("prereg_flow"),
@@ -86,23 +86,6 @@ class _PreregistrationFlowState extends State<PreregistrationFlow> {
],
);
}),
- body: Padding(
- padding: const EdgeInsets.symmetric(horizontal: 12.0),
- child: Builder(
- builder: (context) {
- if (state.loading) {
- return const Center(child: PreregFlowShimmerLoader());
- }
- return PageView(
- key: const PageStorageKey("prereg_flow"),
- physics: const NeverScrollableScrollPhysics(),
- controller: cubit.pageController,
- children:
- PreregistrationPage.getPages(ValueKey(state)).toList(),
- );
- },
- ),
- ),
);
},
),