From 61472df11075acf35f42475a5ca47b8287814255 Mon Sep 17 00:00:00 2001 From: WaseemAbbasi22 <50428976+WaseemAbbasi22@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:55:05 +0300 Subject: [PATCH] bug fixes for api error messages --- .../signup/providers/signup_provider.dart | 27 ++++++++++++------- lib/modules/signup/screens/signup_screen.dart | 20 +++++++++----- .../screens/site_request_history_screen.dart | 1 + 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/lib/modules/signup/providers/signup_provider.dart b/lib/modules/signup/providers/signup_provider.dart index 257ecadb..1e9f292e 100644 --- a/lib/modules/signup/providers/signup_provider.dart +++ b/lib/modules/signup/providers/signup_provider.dart @@ -56,6 +56,15 @@ class SignUpProvider extends ChangeNotifier { if (response.statusCode >= 200 && response.statusCode < 300) { final data = json.decode(response.body); + + // Check if data is null (employee not found case) + if (data['data'] == null) { + _errorMessage = data['message']; + loading = false; + notifyListeners(); + return null; + } + _employeeData = EmployeeERPModel.fromJson(data['data']); loading = false; @@ -63,13 +72,13 @@ class SignUpProvider extends ChangeNotifier { return _employeeData; } else { final data = json.decode(response.body); - _errorMessage = data['message'] ?? 'Failed to fetch employee details'; + _errorMessage = data['message']; loading = false; notifyListeners(); return null; } } catch (error) { - _errorMessage = 'Failed to fetch employee details'; + _errorMessage = error.toString(); loading = false; notifyListeners(); return null; @@ -94,19 +103,19 @@ class SignUpProvider extends ChangeNotifier { if (response.statusCode >= 200 && response.statusCode < 300) { final data = json.decode(response.body); - _successMessage = data['message'] ?? 'Your signup request has been submitted successfully.'; + _successMessage = data['message']; loading = false; notifyListeners(); return true; } else { final data = json.decode(response.body); - _errorMessage = data['message'] ?? 'Failed to submit signup request'; + _errorMessage = data['message']; loading = false; notifyListeners(); return false; } } catch (error) { - _errorMessage = 'Failed to submit signup request'; + _errorMessage = error.toString(); loading = false; notifyListeners(); return false; @@ -139,13 +148,13 @@ class SignUpProvider extends ChangeNotifier { return _sites; } else { final data = json.decode(response.body); - _errorMessage = data['message'] ?? 'Failed to fetch sites'; + _errorMessage = data['message']; loading = false; notifyListeners(); return []; } } catch (error) { - _errorMessage = 'Failed to fetch sites'; + _errorMessage = error.toString(); loading = false; notifyListeners(); return []; @@ -179,13 +188,13 @@ class SignUpProvider extends ChangeNotifier { return _departments; } else { final data = json.decode(response.body); - _errorMessage = data['message'] ?? 'Failed to fetch departments'; + _errorMessage = data['message']; loading = false; notifyListeners(); return []; } } catch (error) { - _errorMessage = 'Failed to fetch departments'; + _errorMessage = error.toString(); loading = false; notifyListeners(); return []; diff --git a/lib/modules/signup/screens/signup_screen.dart b/lib/modules/signup/screens/signup_screen.dart index a5d1f341..18b5f32a 100644 --- a/lib/modules/signup/screens/signup_screen.dart +++ b/lib/modules/signup/screens/signup_screen.dart @@ -441,20 +441,24 @@ class _SignUpScreenState extends State { _employeeFetched = false; _employeeERPData = null; }); - Fluttertoast.showToast( - msg: _signUpProvider.errorMessage ?? "Failed to fetch employee details", - ); + if (_signUpProvider.errorMessage != null) { + Fluttertoast.showToast( + msg: _signUpProvider.errorMessage!, + ); + } } } } void _showDuplicateAccountDialog() { + final errorMessage = _signUpProvider.errorMessage ?? "Already you have an account on Atoms"; + showDialog( context: context, builder: (context) => AlertDialog( backgroundColor: AppColor.background(context), title: "Account Exists".bodyText(context), - content: "Already you have an account on Atoms".bodyText(context), + content: errorMessage.bodyText(context), actions: [ TextButton( onPressed: () { @@ -631,9 +635,11 @@ class _SignUpScreenState extends State { _showSuccessDialog(); } } else { - Fluttertoast.showToast( - msg: _signUpProvider.errorMessage ?? "Failed to submit signup request", - ); + if (_signUpProvider.errorMessage != null) { + Fluttertoast.showToast( + msg: _signUpProvider.errorMessage!, + ); + } } } diff --git a/lib/modules/site_request_module/screens/site_request_history_screen.dart b/lib/modules/site_request_module/screens/site_request_history_screen.dart index f8807ae2..d3c6f5b7 100644 --- a/lib/modules/site_request_module/screens/site_request_history_screen.dart +++ b/lib/modules/site_request_module/screens/site_request_history_screen.dart @@ -179,6 +179,7 @@ class _SiteRequestHistoryScreenState extends State { Widget _buildUserInfo(SiteRequestModel request) { return Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ InfoTextWidget(label: "Full Name", value: request.fullName), InfoTextWidget(label: "Employee ID", value: request.employeeId),