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

@ -1,13 +1,13 @@
import 'dart:convert';
import 'package:http/http.dart';
import 'package:test_sa/models/lookup.dart';
import '../../controllers/api_routes/api_manager.dart';
import '../../controllers/api_routes/urls.dart';
import '../models/new_models/department.dart';
import 'loading_list_notifier.dart';
class DepartmentProvider extends LoadingListNotifier<Department> {
class DepartmentProvider extends LoadingListNotifier<Lookup> {
@override
Future getDate() async {
if (loading ?? false) return -2;
@ -15,7 +15,7 @@ class DepartmentProvider extends LoadingListNotifier<Department> {
notifyListeners();
Response response;
try {
response = await ApiManager.instance.post(URLs.getDepartments, body: {"pageSize": 50});
response = await ApiManager.instance.post(URLs.getDepartments, body: {"pageSize": 50});
} catch (error) {
loading = false;
stateCode = -1;
@ -26,7 +26,7 @@ class DepartmentProvider extends LoadingListNotifier<Department> {
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
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;
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/widget_extensions.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/new_views/app_style/app_color.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;
Lookup? _commissioningStatus;
Site? _site;
Department? _department;
Lookup? _department;
String? startDate, endDate;
bool loading = false;
@ -50,8 +49,8 @@ class _AssetFilterScreenState extends State<AssetFilterScreen> {
final siteProvider = Provider.of<SiteProvider>(context, listen: false);
if (departmentProvider.items.isEmpty ?? true) await departmentProvider.getDate();
if (siteProvider.items.isEmpty ?? true) await siteProvider.getDate();
_department = departmentProvider.items.firstWhere((element) => element.name == filter.department, orElse: null);
_site = siteProvider.items.firstWhere((element) => element.name == filter.site, orElse: null);
_department = departmentProvider.items.where((element) => element.name == filter.department).firstOrNull;
_site = siteProvider.items.where((element) => element.name == filter.site).firstOrNull;
loading = false;
setState(() {});
});
@ -99,7 +98,7 @@ class _AssetFilterScreenState extends State<AssetFilterScreen> {
},
),
16.height,
SingleItemDropDownMenu<Department, DepartmentProvider>(
SingleItemDropDownMenu<Lookup, DepartmentProvider>(
context: context,
title: context.translation.byDepartment,
initialValue: _department,
@ -161,7 +160,7 @@ class _AssetFilterScreenState extends State<AssetFilterScreen> {
void _search() async {
filter.site = _site?.name;
filter.department = _department?.departmentName;
filter.department = _department?.name;
filter.supplyDateFrom = startDate;
filter.supplyDateTo = endDate;
final deviceProvider = Provider.of<AssetProvider>(context, listen: false);

@ -132,7 +132,7 @@ class _MyAssetsPageState extends State<MyAssetsPage> {
context.translation.filter,
style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)),
).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) {
_searchAsset = result;
}

Loading…
Cancel
Save