improvements

main_production_asset_tracking
Sikander Saleem 5 days ago
parent 9c4fd1088c
commit 8f793042b2

@ -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<AlertsListPage> createState() => _AlertsListPageState();
@ -25,34 +23,31 @@ class _AlertsListPageState extends State<AlertsListPage> {
_provider = Provider.of<AlertProvider>(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<AlertProvider>(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<AlertProvider>(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,
),
);
});
}
}

@ -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),

@ -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<AssetTrackingPage> with SingleTicker
label: const Text("Map"),
icon: Icon(Icons.map, color: AppColor.icon2Color(context)),
),
ButtonSegment<int>(
value: 4,
label: const Text("Alerts"),
icon: Icon(Icons.warning_amber_rounded, color: AppColor.icon2Color(context)),
),
],
selected: <int>{selectedIndex},
onSelectionChanged: (Set<int> newSelection) {
@ -138,7 +144,9 @@ class _AssetTrackingPageState extends State<AssetTrackingPage> with SingleTicker
? assetsListView()
: selectedIndex == 2
? assetsGridView()
: MapTrackingPage()
: selectedIndex == 3
? MapTrackingPage()
: AlertsListPage()
// selectedIndex == 3 ? MapTrackingPage() : assetsListView(),
),
@ -229,7 +237,7 @@ class _AssetTrackingPageState extends State<AssetTrackingPage> 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,
),

@ -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(

@ -132,7 +132,6 @@ class _LandPageState extends State<LandPage> {
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<LandPage> {
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<LandPage> {
builder: (context) => const ContactUsBottomSheet(),
);
} else {
if (index == 4) {
Provider.of<AlertProvider>(context, listen: false).reset();
Provider.of<AlertProvider>(context, listen: false).getAlerts();
}
setState(() {
currentPageIndex = index;
});

@ -132,7 +132,7 @@ class _MyAssetsPageState extends State<MyAssetsPage> 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,

Loading…
Cancel
Save