Merge pull request #78 from FRE-Informatica/fix/fd-1052

FIX/FD-1052 - Duplicata no Modal de Seleção de Local após "Desvincular Local"
This commit is contained in:
Ivan Antunes 2024-12-18 11:13:28 -03:00 committed by GitHub
commit a60f27c8bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 41 additions and 31 deletions

View File

@ -23,7 +23,7 @@ abstract class LocalsRemoteDataSource {
Future<bool> processLocals(BuildContext context); Future<bool> processLocals(BuildContext context);
Future<bool> processData(BuildContext context); Future<bool> processData(BuildContext context);
Future<bool> selectLocal(BuildContext context, ApiCallResponse? response); Future<bool> selectLocal(BuildContext context, ApiCallResponse? response);
Future<void> detachLocal(BuildContext context); Future<bool> detachLocal(BuildContext context);
} }
class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource { class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
@ -216,15 +216,15 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
} }
@override @override
Future<void> detachLocal(BuildContext context) async { Future<bool> detachLocal(BuildContext context) async {
String content; String content;
try { try {
content = FFLocalizations.of(context).getVariableText( content = FFLocalizations.of(context).getVariableText(
enText: 'Device unlinked successfully', enText: 'Device unlinked successfully',
ptText: 'Dispositivo desvinculado com sucesso', ptText: 'Dispositivo desvinculado com sucesso',
); );
final bool status =
await PhpGroup.resopndeVinculo.call(tarefa: 'I').then((value) async { await PhpGroup.resopndeVinculo.call(tarefa: 'I').then((value) async {
if (value.jsonBody['error'] == false) { if (value.jsonBody['error'] == false) {
await StorageHelper().set(KeychainStorageKey.clientName.value, ''); await StorageHelper().set(KeychainStorageKey.clientName.value, '');
await StorageHelper().set(KeychainStorageKey.ownerName.value, ''); await StorageHelper().set(KeychainStorageKey.ownerName.value, '');
@ -233,7 +233,9 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
context.go('/homePage', context.go('/homePage',
extra: {'update': LocalsRepositoryImpl().update}); extra: {'update': LocalsRepositoryImpl().update});
SnackBarUtil.showSnackBar(context, content); SnackBarUtil.showSnackBar(context, content);
return true;
} }
return false;
}).catchError((err, stack) { }).catchError((err, stack) {
context.pop(); context.pop();
content = FFLocalizations.of(context).getVariableText( content = FFLocalizations.of(context).getVariableText(
@ -241,7 +243,9 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
ptText: 'Erro ao desvincular dispositivo', ptText: 'Erro ao desvincular dispositivo',
); );
SnackBarUtil.showSnackBar(context, content, isError: true); SnackBarUtil.showSnackBar(context, content, isError: true);
return false;
}); });
return status;
} catch (err, stack) { } catch (err, stack) {
context.pop(); context.pop();
log(err.toString(), stackTrace: stack); log(err.toString(), stackTrace: stack);
@ -250,6 +254,7 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
ptText: 'Erro ao desvincular dispositivo', ptText: 'Erro ao desvincular dispositivo',
); );
SnackBarUtil.showSnackBar(context, content, isError: true); SnackBarUtil.showSnackBar(context, content, isError: true);
return false;
} }
} }
} }

View File

@ -3,6 +3,7 @@ import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:hub/backend/notifications/firebase_messaging_service.dart'; import 'package:hub/backend/notifications/firebase_messaging_service.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/shared/components/molecules/locals/index.dart'; import 'package:hub/shared/components/molecules/locals/index.dart';
import 'package:hub/shared/components/molecules/menu/presentation/blocs/menu_bloc.dart'; import 'package:hub/shared/components/molecules/menu/presentation/blocs/menu_bloc.dart';
import 'package:hub/shared/components/molecules/modules/index.dart'; import 'package:hub/shared/components/molecules/modules/index.dart';
@ -83,7 +84,11 @@ class LocalsRepositoryImpl implements LocalsRepository {
@override @override
Future<void> unlinkLocal(BuildContext context) async { Future<void> unlinkLocal(BuildContext context) async {
await remoteDataSource.detachLocal(context); final bool response = await remoteDataSource.detachLocal(context);
await select(context); if (!response) return;
await localDataSource.unlinkLocal();
context.pop();
context.go('/homePage', extra: {'update': update});
await update(context);
} }
} }

View File

@ -5,10 +5,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: _fe_analyzer_shared name: _fe_analyzer_shared
sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "72.0.0" version: "76.0.0"
_flutterfire_internals: _flutterfire_internals:
dependency: transitive dependency: transitive
description: description:
@ -21,15 +21,15 @@ packages:
dependency: transitive dependency: transitive
description: dart description: dart
source: sdk source: sdk
version: "0.3.2" version: "0.3.3"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
name: analyzer name: analyzer
sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.7.0" version: "6.11.0"
app_links: app_links:
dependency: "direct main" dependency: "direct main"
description: description:
@ -274,10 +274,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: collection name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.18.0" version: "1.19.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -1013,18 +1013,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.5" version: "10.0.7"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.5" version: "3.0.8"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
@ -1093,10 +1093,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: macros name: macros
sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.2-main.4" version: "0.1.3-main.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -1541,7 +1541,7 @@ packages:
dependency: transitive dependency: transitive
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.99" version: "0.0.0"
source_gen: source_gen:
dependency: transitive dependency: transitive
description: description:
@ -1618,10 +1618,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.1" version: "1.12.0"
state_notifier: state_notifier:
dependency: transitive dependency: transitive
description: description:
@ -1650,10 +1650,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: string_scanner name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
sync_http: sync_http:
dependency: transitive dependency: transitive
description: description:
@ -1682,10 +1682,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.2" version: "0.7.3"
timeago: timeago:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1818,10 +1818,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.2.5" version: "14.3.0"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
@ -1858,10 +1858,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: webdriver name: webdriver
sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.3" version: "3.0.4"
webview_flutter: webview_flutter:
dependency: "direct main" dependency: "direct main"
description: description:

View File

@ -20,7 +20,7 @@ dependencies:
flutter_inappwebview: ^6.0.0 flutter_inappwebview: ^6.0.0
webview_flutter: ^4.8.0 webview_flutter: ^4.8.0
rxdart: ^0.28.0 rxdart: ^0.28.0
collection: 1.18.0 collection: ^1.19.0
app_links: ^6.3.2 app_links: ^6.3.2
# crop_your_image: 1.1.0 # crop_your_image: 1.1.0
csv: 6.0.0 csv: 6.0.0