Fix(bugs):

Can't logout
ui display when user doesn't has device
This commit is contained in:
anhtunz
2025-05-26 11:58:19 +07:00
parent f80e234b1d
commit 01ae020374
10 changed files with 417 additions and 278 deletions

View File

@@ -1,6 +1,7 @@
// ignore_for_file: use_build_context_synchronously
import 'package:flutter/material.dart';
import 'package:sfm_app/bloc/devices_manager_bloc.dart';
import 'package:sfm_app/product/shared/shared_snack_bar.dart';
import '../../product/utils/response_status_utils.dart';
import '../../product/constant/enums/role_enums.dart';
@@ -10,7 +11,7 @@ import '../../product/constant/icon/icon_constants.dart';
import '../../product/extension/context_extension.dart';
import '../../product/services/language_services.dart';
addNewDevice(BuildContext context, String role) async {
addNewDevice(BuildContext context, String role, DevicesManagerBloc deviceManagerBloc) async {
TextEditingController extIDController = TextEditingController(text: "");
TextEditingController deviceNameController = TextEditingController(text: "");
ScaffoldMessenger.of(context).showSnackBar(
@@ -76,7 +77,7 @@ addNewDevice(BuildContext context, String role) async {
Colors.white);
ScaffoldMessenger.of(context).hideCurrentSnackBar();
} else {
addDevices(context, role, extID, deviceName);
addDevices(context, role, extID, deviceName, deviceManagerBloc);
ScaffoldMessenger.of(context).hideCurrentSnackBar();
}
},
@@ -90,7 +91,7 @@ addNewDevice(BuildContext context, String role) async {
}
void addDevices(
BuildContext context, String role, String extID, String deviceName) async {
BuildContext context, String role, String extID, String deviceName, DevicesManagerBloc deviceManagerBloc) async {
APIServices apiServices = APIServices();
Map<String, dynamic> body = {};
if (role == RoleEnums.ADMIN.name) {
@@ -101,6 +102,7 @@ void addDevices(
statusCode,
appLocalization(context).notification_create_device_success,
appLocalization(context).notification_create_device_failed);
deviceManagerBloc.getDeviceByState(-2);
} else {
body = {"ext_id": extID};
int statusCode = await apiServices.registerDevice(body);
@@ -109,5 +111,7 @@ void addDevices(
statusCode,
appLocalization(context).notification_add_device_success,
appLocalization(context).notification_device_not_exist);
deviceManagerBloc.getDeviceByState(-2);
}
}