diff --git a/lib/modules/alerts/alerts_list_page.dart b/lib/modules/alerts/alerts_list_page.dart index fc7b4020..90b0f5fb 100644 --- a/lib/modules/alerts/alerts_list_page.dart +++ b/lib/modules/alerts/alerts_list_page.dart @@ -9,9 +9,7 @@ import 'package:test_sa/views/widgets/loaders/lazy_loading.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; class AlertsListPage extends StatefulWidget { - final bool fromBottomBar; - - const AlertsListPage({Key? key, this.fromBottomBar = false}) : super(key: key); + const AlertsListPage({Key? key}) : super(key: key); @override State createState() => _AlertsListPageState(); @@ -25,34 +23,31 @@ class _AlertsListPageState extends State { _provider = Provider.of(context); if (_provider!.items == null && !_provider!.isLoading) { WidgetsBinding.instance.addPostFrameCallback((_) { + _provider!.reset(); _provider!.getAlerts(); }); } - return Scaffold( - appBar: DefaultAppBar(title: "Alerts", showBackButton: !widget.fromBottomBar), - body: Consumer(builder: (context, snapshot, _) { - final list = snapshot.items ?? []; - if (list.isEmpty && !snapshot.isLoading) { - return NoDataFound(message: context.translation.noDataFound).center; - } - return LazyLoading( - nextPage: snapshot.nextPage, - onLazyLoad: () async { - await snapshot.getAlerts(); + return Consumer(builder: (context, snapshot, _) { + final list = snapshot.items ?? []; + if (list.isEmpty && !snapshot.isLoading) { + return NoDataFound(message: context.translation.noDataFound).center; + } + return LazyLoading( + nextPage: snapshot.nextPage, + onLazyLoad: () async { + await snapshot.getAlerts(); + }, + child: ListView.separated( + padding: const EdgeInsets.all(16), + itemBuilder: (cxt, index) { + if (index >= list.length) return const SizedBox(); + return AlertItemView(alert: list[index]); }, - child: ListView.separated( - padding: const EdgeInsets.all(16), - itemBuilder: (cxt, index) { - if (index >= list.length) return const SizedBox(); - return AlertItemView(alert: list[index]); - }, - separatorBuilder: (cxt, index) => const SizedBox(height: 12), - itemCount: list.length, - ), - ); - }), - ); + separatorBuilder: (cxt, index) => const SizedBox(height: 12), + itemCount: list.length, + ), + ); + }); } } - diff --git a/lib/modules/asset_tracking/asset_tracking_item_view.dart b/lib/modules/asset_tracking/asset_tracking_item_view.dart index 784dfb16..36d9e614 100644 --- a/lib/modules/asset_tracking/asset_tracking_item_view.dart +++ b/lib/modules/asset_tracking/asset_tracking_item_view.dart @@ -30,7 +30,7 @@ class AssetTrackingListItemView extends StatelessWidget { backgroundColor: AppColor.getPriorityStatusColor(context, (asset.location?.isLive ?? false) ? 0 : 1), ), 4.height, - InfoHeader16Widget(asset.label ?? ""), + isGridView ? InfoHeaderWidget(asset.label ?? "") : InfoHeader16Widget(asset.label ?? ""), InfoTextWidget(label: "Serial No", value: asset.label, showEmptyValue: true), InfoTextWidget(label: "Type", value: asset.type?.name, showEmptyValue: true), InfoTextWidget(label: "Status", value: asset.status?.name, showEmptyValue: true), diff --git a/lib/modules/asset_tracking/asset_tracking_page.dart b/lib/modules/asset_tracking/asset_tracking_page.dart index f371af00..75930358 100644 --- a/lib/modules/asset_tracking/asset_tracking_page.dart +++ b/lib/modules/asset_tracking/asset_tracking_page.dart @@ -6,6 +6,7 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; +import 'package:test_sa/modules/alerts/alerts_list_page.dart'; import 'package:test_sa/modules/asset_tracking/asset_tracking_provider.dart'; import 'package:test_sa/modules/asset_tracking/asset_tracking_search_screen.dart'; import 'package:test_sa/modules/asset_tracking/models/asset_tracking_search_model.dart'; @@ -122,6 +123,11 @@ class _AssetTrackingPageState extends State with SingleTicker label: const Text("Map"), icon: Icon(Icons.map, color: AppColor.icon2Color(context)), ), + ButtonSegment( + value: 4, + label: const Text("Alerts"), + icon: Icon(Icons.warning_amber_rounded, color: AppColor.icon2Color(context)), + ), ], selected: {selectedIndex}, onSelectionChanged: (Set newSelection) { @@ -138,7 +144,9 @@ class _AssetTrackingPageState extends State with SingleTicker ? assetsListView() : selectedIndex == 2 ? assetsGridView() - : MapTrackingPage() + : selectedIndex == 3 + ? MapTrackingPage() + : AlertsListPage() // selectedIndex == 3 ? MapTrackingPage() : assetsListView(), ), @@ -229,7 +237,7 @@ class _AssetTrackingPageState extends State with SingleTicker padding: const EdgeInsets.all(16), gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, - childAspectRatio: 1.1, // need to fix this it's not flexiable with content.. + childAspectRatio: 0.9, // need to fix this it's not flexiable with content.. crossAxisSpacing: 12, mainAxisSpacing: 12, ), diff --git a/lib/new_views/common_widgets/app_bottom_nav_bar.dart b/lib/new_views/common_widgets/app_bottom_nav_bar.dart index a4346455..001cb8b0 100644 --- a/lib/new_views/common_widgets/app_bottom_nav_bar.dart +++ b/lib/new_views/common_widgets/app_bottom_nav_bar.dart @@ -26,8 +26,7 @@ class AppBottomNavigationBar extends StatelessWidget { if(!isHouseKeeper) NavItemModel(1, "request_icon", context.translation.workOrder), if (!commissioningEng && !isHouseKeeper) NavItemModel(2, "add_icon", context.translation.calendar, showLabel: false), if(!isHouseKeeper) NavItemModel(3, "assets", context.translation.assets), - NavItemModel(4, "warning", "Alerts"), - NavItemModel(5, "contact", context.translation.contact), + NavItemModel(4, "contact", context.translation.contact), ]; return Container( diff --git a/lib/new_views/pages/land_page/land_page.dart b/lib/new_views/pages/land_page/land_page.dart index dd9f235d..764afeac 100644 --- a/lib/new_views/pages/land_page/land_page.dart +++ b/lib/new_views/pages/land_page/land_page.dart @@ -132,7 +132,6 @@ class _LandPageState extends State { const SizedBox(), // if (_userProvider!.user!.type != UsersTypes.engineer) const CalendarPage(), const MyAssetsPage(fromBottomBar: true), - const AlertsListPage(fromBottomBar: true), ]; if (isFCM) { FirebaseNotificationManger.initialized(context); @@ -186,7 +185,7 @@ class _LandPageState extends State { backgroundColor: Colors.white, builder: (context) => CreateRequestTypeBottomSheet(), ); - } else if (index == 5) { + } else if (index == 4) { showModalBottomSheet( context: context, useSafeArea: true, @@ -194,10 +193,6 @@ class _LandPageState extends State { builder: (context) => const ContactUsBottomSheet(), ); } else { - if (index == 4) { - Provider.of(context, listen: false).reset(); - Provider.of(context, listen: false).getAlerts(); - } setState(() { currentPageIndex = index; }); diff --git a/lib/views/widgets/equipment/my_assets_page.dart b/lib/views/widgets/equipment/my_assets_page.dart index e5a0965a..1ca55993 100644 --- a/lib/views/widgets/equipment/my_assets_page.dart +++ b/lib/views/widgets/equipment/my_assets_page.dart @@ -132,7 +132,7 @@ class _MyAssetsPageState extends State with SingleTickerProviderSt _searchableList.clear(); _searchableList.addAll(_devicesProvider.devices); }).expanded, - // 12.width, + 8.width, IconButton( icon:'asset_tracking'.toSvgAsset(height: 24, width: 24, color: AppColor.icon2Color(context)), padding: EdgeInsets.zero,