app red screen, on drawer & asset filter fixed.

design_3.0_latest
Sikander Saleem 1 year ago
parent 318ae666c1
commit 58f5f6103a

@ -34,7 +34,6 @@ class AppDrawer extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Consumer<UserProvider>(builder: (context, snapshot, _) { Consumer<UserProvider>(builder: (context, snapshot, _) {
print('profile photo i got is ${snapshot.user!.profilePhotoName!}');
return CircleAvatar( return CircleAvatar(
radius: 45, radius: 45,
backgroundColor: context.isDark ? AppColor.neutral50 : AppColor.neutral40, backgroundColor: context.isDark ? AppColor.neutral50 : AppColor.neutral40,
@ -43,7 +42,7 @@ class AppDrawer extends StatelessWidget {
child: ClipOval( child: ClipOval(
child: snapshot.profileImage != null child: snapshot.profileImage != null
? Image.file(snapshot.profileImage!) ? Image.file(snapshot.profileImage!)
: (snapshot.user!.profilePhotoName?.isNotEmpty ?? false) : (snapshot.user?.profilePhotoName?.isNotEmpty ?? false)
? Image.network(snapshot.user!.profilePhotoName!) ? Image.network(snapshot.user!.profilePhotoName!)
: const Icon(Icons.person, size: 50, color: Colors.white), : const Icon(Icons.person, size: 50, color: Colors.white),
), ),

@ -1,13 +1,13 @@
import 'dart:convert'; import 'dart:convert';
import 'package:http/http.dart'; import 'package:http/http.dart';
import 'package:test_sa/models/lookup.dart';
import '../../controllers/api_routes/api_manager.dart'; import '../../controllers/api_routes/api_manager.dart';
import '../../controllers/api_routes/urls.dart'; import '../../controllers/api_routes/urls.dart';
import '../models/new_models/department.dart';
import 'loading_list_notifier.dart'; import 'loading_list_notifier.dart';
class DepartmentProvider extends LoadingListNotifier<Department> { class DepartmentProvider extends LoadingListNotifier<Lookup> {
@override @override
Future getDate() async { Future getDate() async {
if (loading ?? false) return -2; if (loading ?? false) return -2;
@ -15,7 +15,7 @@ class DepartmentProvider extends LoadingListNotifier<Department> {
notifyListeners(); notifyListeners();
Response response; Response response;
try { try {
response = await ApiManager.instance.post(URLs.getDepartments, body: {"pageSize": 50}); response = await ApiManager.instance.post(URLs.getDepartments, body: {"pageSize": 50});
} catch (error) { } catch (error) {
loading = false; loading = false;
stateCode = -1; stateCode = -1;
@ -26,7 +26,7 @@ class DepartmentProvider extends LoadingListNotifier<Department> {
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received // client's request was successfully received
List listJson = json.decode(response.body)["data"]; List listJson = json.decode(response.body)["data"];
items = listJson.map((department) => Department.fromJson(department)).toList(); items = listJson.map((department) => Lookup.fromJson(department)).toList();
} }
loading = false; loading = false;
notifyListeners(); notifyListeners();

@ -6,7 +6,6 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/department.dart';
import 'package:test_sa/models/new_models/site.dart'; import 'package:test_sa/models/new_models/site.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
@ -34,7 +33,7 @@ class _AssetFilterScreenState extends State<AssetFilterScreen> {
late AssetSearch filter; late AssetSearch filter;
Lookup? _commissioningStatus; Lookup? _commissioningStatus;
Site? _site; Site? _site;
Department? _department; Lookup? _department;
String? startDate, endDate; String? startDate, endDate;
bool loading = false; bool loading = false;
@ -50,8 +49,8 @@ class _AssetFilterScreenState extends State<AssetFilterScreen> {
final siteProvider = Provider.of<SiteProvider>(context, listen: false); final siteProvider = Provider.of<SiteProvider>(context, listen: false);
if (departmentProvider.items.isEmpty ?? true) await departmentProvider.getDate(); if (departmentProvider.items.isEmpty ?? true) await departmentProvider.getDate();
if (siteProvider.items.isEmpty ?? true) await siteProvider.getDate(); if (siteProvider.items.isEmpty ?? true) await siteProvider.getDate();
_department = departmentProvider.items.firstWhere((element) => element.name == filter.department, orElse: null); _department = departmentProvider.items.where((element) => element.name == filter.department).firstOrNull;
_site = siteProvider.items.firstWhere((element) => element.name == filter.site, orElse: null); _site = siteProvider.items.where((element) => element.name == filter.site).firstOrNull;
loading = false; loading = false;
setState(() {}); setState(() {});
}); });
@ -99,7 +98,7 @@ class _AssetFilterScreenState extends State<AssetFilterScreen> {
}, },
), ),
16.height, 16.height,
SingleItemDropDownMenu<Department, DepartmentProvider>( SingleItemDropDownMenu<Lookup, DepartmentProvider>(
context: context, context: context,
title: context.translation.byDepartment, title: context.translation.byDepartment,
initialValue: _department, initialValue: _department,
@ -161,7 +160,7 @@ class _AssetFilterScreenState extends State<AssetFilterScreen> {
void _search() async { void _search() async {
filter.site = _site?.name; filter.site = _site?.name;
filter.department = _department?.departmentName; filter.department = _department?.name;
filter.supplyDateFrom = startDate; filter.supplyDateFrom = startDate;
filter.supplyDateTo = endDate; filter.supplyDateTo = endDate;
final deviceProvider = Provider.of<AssetProvider>(context, listen: false); final deviceProvider = Provider.of<AssetProvider>(context, listen: false);

@ -132,7 +132,7 @@ class _MyAssetsPageState extends State<MyAssetsPage> {
context.translation.filter, context.translation.filter,
style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)), style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)),
).onPress(() async { ).onPress(() async {
final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AssetFilterScreen(data: _searchAsset!))); final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AssetFilterScreen(data: _searchAsset)));
if (result != null) { if (result != null) {
_searchAsset = result; _searchAsset = result;
} }

Loading…
Cancel
Save