diff --git a/.dart_tool/extension_discovery/devtools.json b/.dart_tool/extension_discovery/devtools.json
new file mode 100644
index 00000000..ae1a36a6
--- /dev/null
+++ b/.dart_tool/extension_discovery/devtools.json
@@ -0,0 +1 @@
+{"version":2,"entries":[{"package":"sf_app_platform_mono_repo","rootUri":"../","packageUri":"lib/"}]}
\ No newline at end of file
diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies
index ad128130..a52794ea 100644
--- a/.flutter-plugins-dependencies
+++ b/.flutter-plugins-dependencies
@@ -1 +1 @@
-{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_secure_storage","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.3/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"flutter_secure_storage","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"flutter_secure_storage_macos","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.3/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"flutter_secure_storage_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"flutter_secure_storage_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false}],"web":[{"name":"flutter_secure_storage_web","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"flutter_secure_storage","dependencies":["flutter_secure_storage_linux","flutter_secure_storage_macos","flutter_secure_storage_web","flutter_secure_storage_windows"]},{"name":"flutter_secure_storage_linux","dependencies":[]},{"name":"flutter_secure_storage_macos","dependencies":[]},{"name":"flutter_secure_storage_web","dependencies":[]},{"name":"flutter_secure_storage_windows","dependencies":["path_provider"]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2026-02-27 12:35:56.235180","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}}
\ No newline at end of file
+{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_secure_storage","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.3/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"flutter_secure_storage","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"flutter_secure_storage_macos","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.3/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"flutter_secure_storage_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"flutter_secure_storage_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false}],"web":[{"name":"flutter_secure_storage_web","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"flutter_secure_storage","dependencies":["flutter_secure_storage_linux","flutter_secure_storage_macos","flutter_secure_storage_web","flutter_secure_storage_windows"]},{"name":"flutter_secure_storage_linux","dependencies":[]},{"name":"flutter_secure_storage_macos","dependencies":[]},{"name":"flutter_secure_storage_web","dependencies":[]},{"name":"flutter_secure_storage_windows","dependencies":["path_provider"]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2026-03-13 09:52:54.635963","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}}
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index ba0bef40..b1a096bd 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -24,6 +24,7 @@
+
diff --git a/apps/mobile_app/android/app/src/main/AndroidManifest.xml b/apps/mobile_app/android/app/src/main/AndroidManifest.xml
index 74727fc6..787e42db 100644
--- a/apps/mobile_app/android/app/src/main/AndroidManifest.xml
+++ b/apps/mobile_app/android/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
function configurationCacheProblems() { return (
// begin-report-data
-{"diagnostics":[{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21},{"path":"build file '/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/android/build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]}],"problemsReport":{"totalProblemCount":10,"buildName":"android","requestedTasks":"assembleStagingDebug","documentationLink":"https://docs.gradle.org/8.12/userguide/problems-report.html","documentationLinkCaption":"Problem report","summaries":[]}}
+{"diagnostics":[{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21},{"path":"build file 'C:\\dev\\sf-app-platform\\packages\\flutter_treezor_entrust_sdk_bridge\\android\\build.gradle'","line":21}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]}],"problemsReport":{"totalProblemCount":10,"buildName":"android","requestedTasks":"assembleDevelopmentDebug","documentationLink":"https://docs.gradle.org/8.12/userguide/problems-report.html","documentationLinkCaption":"Problem report","summaries":[]}}
// end-report-data
);}
diff --git a/apps/mobile_app/android/gradle.properties b/apps/mobile_app/android/gradle.properties
index f018a618..4d5dfcc5 100644
--- a/apps/mobile_app/android/gradle.properties
+++ b/apps/mobile_app/android/gradle.properties
@@ -1,3 +1,6 @@
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
+
+# permission_handler: enable contacts permission
+PERMISSION_CONTACTS=1
diff --git a/apps/mobile_app/config/development.json b/apps/mobile_app/config/development.json
index 7289aa3f..638b13e4 100644
--- a/apps/mobile_app/config/development.json
+++ b/apps/mobile_app/config/development.json
@@ -1,5 +1,5 @@
{
"env": "development",
"apiBaseUrl": "https://api-neki-b2b.neki.es/gateway/api/",
- "apiOrigin": "https://neki-b2b.neki.es"
+ "apiOrigin": "bde6ea73-d09c-475f-aabf-1d11137e4d0d"
}
diff --git a/apps/mobile_app/ios/Runner/Info.plist b/apps/mobile_app/ios/Runner/Info.plist
index c5fc1abe..ffa7c373 100644
--- a/apps/mobile_app/ios/Runner/Info.plist
+++ b/apps/mobile_app/ios/Runner/Info.plist
@@ -47,6 +47,8 @@
UIStatusBarHidden
+ NSContactsUsageDescription
+ Necesitamos acceso a tus contactos para seleccionar números de teléfono.
NSCameraUsageDescription
Necesitamos la cámara para escanear códigos QR
NSLocationWhenInUseUsageDescription
diff --git a/apps/mobile_app/lib/navigation/app_router.dart b/apps/mobile_app/lib/navigation/app_router.dart
index f6660d14..abfe569a 100644
--- a/apps/mobile_app/lib/navigation/app_router.dart
+++ b/apps/mobile_app/lib/navigation/app_router.dart
@@ -16,6 +16,7 @@ import 'package:navigation/navigation.dart';
import 'package:notifications/notifications.dart';
import 'package:payments/payments.dart';
import 'package:profile/profile.dart';
+import 'package:settings/settings.dart';
import 'package:splash/splash.dart';
final GlobalKey rootNavigatorKey = GlobalKey();
@@ -93,10 +94,27 @@ void configureAppRouter() {
name: 'device_management',
pageBuilder: DeviceManagementBuilder().buildPage,
routes: [
+ GoRoute(
+ path: 'scheduled_activities',
+ name: 'scheduled_activities',
+ pageBuilder: const ScheduledActivitiesBuilder().buildPage,
+ ),
GoRoute(
path: 'contacts',
name: 'contacts',
- pageBuilder: ContactsBuilder().buildPage,
+ pageBuilder: const ContactsBuilder().buildPage,
+ routes: [
+ GoRoute(
+ path: 'edit/:contactId',
+ name: 'edit_contact',
+ pageBuilder: const EditContactBuilder().buildPage,
+ ),
+ ],
+ ),
+ GoRoute(
+ path: 'health',
+ name: 'health',
+ pageBuilder: const HealthBuilder().buildPage,
),
GoRoute(
path: 'remote_connection',
@@ -108,6 +126,21 @@ void configureAppRouter() {
name: 'locate_device',
pageBuilder: LocateDeviceBuilder().buildPage,
),
+ GoRoute(
+ path: 'rewards',
+ name: 'rewards',
+ pageBuilder: RewardsBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'activity_meter',
+ name: 'activity_meter',
+ pageBuilder: const ActivityMeterBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'apps_use',
+ name: 'apps_use',
+ pageBuilder: const AppsUseBuilder().buildPage,
+ ),
],
),
],
@@ -136,8 +169,95 @@ void configureAppRouter() {
),
],
),
+ StatefulShellBranch(
+ routes: [
+ GoRoute(
+ path: AppRoutes.settings,
+ name: 'settings',
+ pageBuilder: SettingsBuilder().buildPage,
+ routes: [
+ GoRoute(
+ path: 'alarm',
+ name: 'alarm',
+ pageBuilder: AlarmBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'remote_management',
+ name: 'remote_management',
+ pageBuilder: RemoteManagementBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'sos_agenda',
+ name: 'sos_agenda',
+ pageBuilder: SosContactsBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'sound',
+ name: 'sound',
+ pageBuilder: SoundBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'sync_clock',
+ name: 'sync_clock',
+ pageBuilder: SyncClockBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'app_store',
+ name: 'app_store',
+ pageBuilder: AppStoreBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'battery',
+ name: 'battery',
+ pageBuilder: BatteryBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'block_phone',
+ name: 'block_phone',
+ pageBuilder: BlockPhoneBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'disable_functions',
+ name: 'disable_functions',
+ pageBuilder: DisableFunctionsBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'language',
+ name: 'language',
+ pageBuilder: LanguageBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'legacy_notifications',
+ name: 'legacy_notifications',
+ pageBuilder: LegacyNotificationsBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'remote_on_off',
+ name: 'remote_on_off',
+ pageBuilder: RemoteOnOffBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'sms_alert',
+ name: 'sms_alert',
+ pageBuilder: SmsAlertBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'timezone',
+ name: 'timezone',
+ pageBuilder: TimezoneBuilder().buildPage,
+ ),
+ GoRoute(
+ path: 'wifi_settings',
+ name: 'wifi_settings',
+ pageBuilder: WifiSettingsBuilder().buildPage,
+ ),
+ ],
+ ),
+ ],
+ ),
],
),
+
GoRoute(
path: AppRoutes.login,
name: 'login',
diff --git a/apps/mobile_app/lib/providers/legacy_heartbeat_service.dart b/apps/mobile_app/lib/providers/legacy_heartbeat_service.dart
new file mode 100644
index 00000000..411bcba3
--- /dev/null
+++ b/apps/mobile_app/lib/providers/legacy_heartbeat_service.dart
@@ -0,0 +1,42 @@
+import 'dart:async';
+
+import 'package:flutter/foundation.dart';
+import 'package:sf_infrastructure/sf_infrastructure.dart';
+
+class LegacyHeartbeatService {
+ LegacyHeartbeatService({
+ required QuestiaRepository repository,
+ required void Function() onUnauthorized,
+ }) : _repository = repository,
+ _onUnauthorized = onUnauthorized;
+
+ final QuestiaRepository _repository;
+ final void Function() _onUnauthorized;
+ Timer? _timer;
+
+ static const _interval = Duration(minutes: 3);
+
+ void start() {
+ if (_timer != null) return;
+ _beat();
+ _timer = Timer.periodic(_interval, (_) => _beat());
+ debugPrint('[LegacyHeartbeat] started');
+ }
+
+ void stop() {
+ _timer?.cancel();
+ _timer = null;
+ debugPrint('[LegacyHeartbeat] stopped');
+ }
+
+ Future _beat() async {
+ try {
+ await _repository.get('/auth/me');
+ debugPrint('[LegacyHeartbeat] /auth/me => OK');
+ } catch (e) {
+ debugPrint('[LegacyHeartbeat] error: $e');
+ stop();
+ _onUnauthorized();
+ }
+ }
+}
diff --git a/apps/mobile_app/lib/save_family_app.dart b/apps/mobile_app/lib/save_family_app.dart
index 53a32bf9..7a02cffd 100644
--- a/apps/mobile_app/lib/save_family_app.dart
+++ b/apps/mobile_app/lib/save_family_app.dart
@@ -6,7 +6,9 @@ import 'package:sf_app_platform/navigation/app_router.dart';
import 'package:navigation/navigation.dart';
import 'package:sf_app_platform/providers/app_state_provider.dart';
import 'package:sf_app_platform/providers/permissions/permissions_provider.dart';
+import 'package:sf_app_platform/providers/legacy_heartbeat_service.dart';
import 'package:sf_app_platform/providers/wallet_heartbeat_service.dart';
+import 'package:get_it/get_it.dart';
import 'package:sf_infrastructure/sf_infrastructure.dart';
import 'package:sf_shared/sf_shared.dart';
import 'package:sf_localizations/sf_localizations.dart';
@@ -23,6 +25,7 @@ class SaveFamilyApp extends ConsumerStatefulWidget {
class SaveFamilyAppState extends ConsumerState
with WidgetsBindingObserver {
late final WalletHeartbeatService walletHeartbeat;
+ late final LegacyHeartbeatService legacyHeartbeat;
@override
void initState() {
@@ -33,13 +36,25 @@ class SaveFamilyAppState extends ConsumerState
sessionLocal: SessionLocalDatasourceImpl(),
onError: () => appRouter.go(AppRoutes.scaTreezor),
);
- onBeforeSessionCleared = walletHeartbeat.stop;
- walletHeartbeat.start();
+ legacyHeartbeat = LegacyHeartbeatService(
+ repository: GetIt.I(),
+ onUnauthorized: () {
+ clearSessionData();
+ appRouter.go(AppRoutes.legacyLogin);
+ },
+ );
+ onBeforeSessionCleared = () {
+ walletHeartbeat.stop();
+ legacyHeartbeat.stop();
+ };
+ // walletHeartbeat.start();
+ legacyHeartbeat.start();
}
@override
void dispose() {
walletHeartbeat.stop();
+ legacyHeartbeat.stop();
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@@ -49,10 +64,12 @@ class SaveFamilyAppState extends ConsumerState
debugPrint('State: $state');
ref.read(appLifecycleStateProvider.notifier).setState(state);
if (state == AppLifecycleState.resumed) {
- walletHeartbeat.start();
+ // walletHeartbeat.start();
+ legacyHeartbeat.start();
ref.read(permissionsProvider.notifier).checkPermissions();
} else if (state == AppLifecycleState.paused) {
- walletHeartbeat.stop();
+ // walletHeartbeat.stop();
+ legacyHeartbeat.stop();
}
super.didChangeAppLifecycleState(state);
}
diff --git a/apps/mobile_app/pubspec.lock b/apps/mobile_app/pubspec.lock
index ba2d4ca1..de07dea0 100644
--- a/apps/mobile_app/pubspec.lock
+++ b/apps/mobile_app/pubspec.lock
@@ -406,6 +406,14 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
+ flutter_contacts:
+ dependency: transitive
+ description:
+ name: flutter_contacts
+ sha256: "388d32cd33f16640ee169570128c933b45f3259bddbfae7a100bb49e5ffea9ae"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.9+2"
flutter_launcher_icons:
dependency: "direct dev"
description:
@@ -1081,6 +1089,13 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.5.0"
+ settings:
+ dependency: "direct main"
+ description:
+ path: "../../modules/legacy/modules/settings"
+ relative: true
+ source: path
+ version: "1.0.0+1"
sf_infrastructure:
dependency: "direct main"
description:
diff --git a/apps/mobile_app/pubspec.yaml b/apps/mobile_app/pubspec.yaml
index cae23142..7cda24e1 100644
--- a/apps/mobile_app/pubspec.yaml
+++ b/apps/mobile_app/pubspec.yaml
@@ -65,6 +65,8 @@ dependencies:
path: ../../modules/legacy/modules/location
legacy_auth:
path: ../../modules/legacy/modules/legacy_auth
+ settings:
+ path: ../../modules/legacy/modules/settings
#packages dependencies go here
navigation:
path: ../../packages/navigation
diff --git a/apps/mobile_app/pubspec_overrides.yaml b/apps/mobile_app/pubspec_overrides.yaml
index 4b31be77..f25a1e73 100644
--- a/apps/mobile_app/pubspec_overrides.yaml
+++ b/apps/mobile_app/pubspec_overrides.yaml
@@ -1,4 +1,6 @@
# melos_managed_dependency_overrides: account,activity,auth,customer_service,dashboard_shell,design_system,flutter_treezor_entrust_sdk_bridge,fonts,home,legacy_dashboard_shell,legacy_shared,navigation,notifications,payments,profile,sca_treezor,sf_infrastructure,sf_localizations,sf_shared,splash,utils,control_panel,device_management,legacy_auth,location
+# melos_managed_dependency_overrides: settings
+# melos_managed_dependency_overrides: account,activity,auth,customer_service,dashboard_shell,design_system,flutter_treezor_entrust_sdk_bridge,fonts,home,legacy_dashboard_shell,legacy_shared,navigation,notifications,payments,profile,sca_treezor,sf_infrastructure,sf_localizations,sf_shared,splash,utils,control_panel,device_management
dependency_overrides:
account:
path: ../../modules/legacy/modules/account
@@ -40,6 +42,8 @@ dependency_overrides:
path: ../../modules/profile
sca_treezor:
path: ../../packages/sca_treezor
+ settings:
+ path: ../../modules/legacy/modules/settings
sf_infrastructure:
path: ../../packages/sf_infrastructure
sf_localizations:
diff --git a/melos_sf-app-platform.iml b/melos_sf-app-platform.iml
index 531e8329..a86691d3 100644
--- a/melos_sf-app-platform.iml
+++ b/melos_sf-app-platform.iml
@@ -22,6 +22,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/modules/activity/.dart_tool/extension_discovery/devtools.json b/modules/activity/.dart_tool/extension_discovery/devtools.json
new file mode 100644
index 00000000..dcdbc0fa
--- /dev/null
+++ b/modules/activity/.dart_tool/extension_discovery/devtools.json
@@ -0,0 +1 @@
+{"version":2,"entries":[{"package":"design_system","rootUri":"../../../packages/design_system/","packageUri":"lib/"},{"package":"flutter_treezor_entrust_sdk_bridge","rootUri":"../../../packages/flutter_treezor_entrust_sdk_bridge/","packageUri":"lib/"},{"package":"fonts","rootUri":"../../../packages/fonts/","packageUri":"lib/"},{"package":"get_it","rootUri":"file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/get_it-9.2.0/","packageUri":"lib/","config":{"name":"get_it","issueTracker":"https://github.com/fluttercommunity/get_it/issues","version":"0.0.1","materialIconCodePoint":"0xe189"}},{"package":"sca_treezor","rootUri":"../../../packages/sca_treezor/","packageUri":"lib/"},{"package":"sf_infrastructure","rootUri":"../../../packages/sf_infrastructure/","packageUri":"lib/"},{"package":"sf_localizations","rootUri":"../../../packages/sf_localizations/","packageUri":"lib/"},{"package":"sf_shared","rootUri":"../../../packages/sf_shared/","packageUri":"lib/"},{"package":"shared_preferences","rootUri":"file:///Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences-2.5.4/","packageUri":"lib/","config":{"name":"shared_preferences","issueTracker":"https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22","version":"1.0.0","materialIconCodePoint":"0xe683"}},{"package":"utils","rootUri":"../../../packages/utils/","packageUri":"lib/"},{"package":"activity","rootUri":"../","packageUri":"lib/"}]}
\ No newline at end of file
diff --git a/modules/activity/.flutter-plugins-dependencies b/modules/activity/.flutter-plugins-dependencies
index f18fa932..fd7257d2 100644
--- a/modules/activity/.flutter-plugins-dependencies
+++ b/modules/activity/.flutter-plugins-dependencies
@@ -1 +1 @@
-{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.22/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"path_provider_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false}],"windows":[{"name":"path_provider_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false}],"web":[{"name":"shared_preferences_web","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"flutter_treezor_entrust_sdk_bridge","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2026-02-28 20:18:36.684471","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}}
\ No newline at end of file
+{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"flutter_treezor_entrust_sdk_bridge","path":"/Users/juliandalcalaf/Desktop/apps/sf-app-platform/packages/flutter_treezor_entrust_sdk_bridge/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_android-2.2.22/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.20/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"path_provider_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"path_provider_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false}],"windows":[{"name":"path_provider_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false}],"web":[{"name":"shared_preferences_web","path":"/Users/juliandalcalaf/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"flutter_treezor_entrust_sdk_bridge","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2026-03-13 09:49:15.619720","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}}
\ No newline at end of file
diff --git a/modules/activity/devtools_options.yaml b/modules/activity/devtools_options.yaml
new file mode 100644
index 00000000..fa0b357c
--- /dev/null
+++ b/modules/activity/devtools_options.yaml
@@ -0,0 +1,3 @@
+description: This file stores settings for Dart & Flutter DevTools.
+documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
+extensions:
diff --git a/modules/auth/lib/src/features/onboarding/presentation/onboarding_screen.dart b/modules/auth/lib/src/features/onboarding/presentation/onboarding_screen.dart
index 770aabe3..904c7610 100644
--- a/modules/auth/lib/src/features/onboarding/presentation/onboarding_screen.dart
+++ b/modules/auth/lib/src/features/onboarding/presentation/onboarding_screen.dart
@@ -32,7 +32,7 @@ class OnboardingScreen extends ConsumerWidget {
void goToNext() {
if (isLast) {
- navigationContract.goTo(AppRoutes.login);
+ navigationContract.goTo(AppRoutes.legacyLogin);
} else {
pageController.nextPage(
duration: const Duration(milliseconds: 400),
@@ -111,7 +111,7 @@ class OnboardingScreen extends ConsumerWidget {
? const SizedBox.shrink()
: TextButton(
onPressed: () =>
- navigationContract.goTo(AppRoutes.login),
+ navigationContract.goTo(AppRoutes.legacyLogin),
child: Text(
context.translate(I18n.skip),
style: AppFonts.stolzlStyle(
diff --git a/modules/dashboard_shell/devtools_options.yaml b/modules/dashboard_shell/devtools_options.yaml
new file mode 100644
index 00000000..fa0b357c
--- /dev/null
+++ b/modules/dashboard_shell/devtools_options.yaml
@@ -0,0 +1,3 @@
+description: This file stores settings for Dart & Flutter DevTools.
+documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
+extensions:
diff --git a/modules/legacy/melos_legacy.iml b/modules/legacy/melos_legacy.iml
index 97528209..cecc6de8 100644
--- a/modules/legacy/melos_legacy.iml
+++ b/modules/legacy/melos_legacy.iml
@@ -29,10 +29,13 @@
+
+
+
-
+
\ No newline at end of file
diff --git a/modules/legacy/modules/account/lib/account.dart b/modules/legacy/modules/account/lib/account.dart
index 376624e9..d4fc6089 100644
--- a/modules/legacy/modules/account/lib/account.dart
+++ b/modules/legacy/modules/account/lib/account.dart
@@ -5,4 +5,4 @@ export 'src/features/personal_data/personal_data_builder.dart';
export 'src/features/change_password/change_password_builder.dart';
export 'src/features/linked_devices/linked_devices_builder.dart';
export 'src/features/app_users/app_users_builder.dart';
-export 'src/features/delete_account/delete_account_builder.dart';
+export 'src/features/delete_account/delete_account_builder.dart';
\ No newline at end of file
diff --git a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource.dart b/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource.dart
deleted file mode 100644
index 2110d5d4..00000000
--- a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource.dart
+++ /dev/null
@@ -1,21 +0,0 @@
-import 'package:account/src/features/change_password/domain/models/entities/change_password_request_entity.dart';
-import 'package:legacy_shared/src/data/models/entities/device_entity.dart';
-import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart';
-import 'package:account/src/features/personal_data/domain/entities/update_user_request_entity.dart';
-import 'package:legacy_shared/legacy_shared.dart';
-
-abstract class AccountRemoteDatasource {
- Future> getLinkedDevices({required String userId});
-
- Future deleteDevice({required String userId, required String deviceId});
-
- Future updateDevice({required String userId, required String deviceId, required UpdateDeviceRequestEntity request});
-
- Future updateUser({required String userId, required UpdateUserRequestEntity request});
-
- Future> getAppUsers({required String userId});
-
- Future deleteAppUser({required String userId});
-
- Future changePassword({required String userId, required ChangePasswordRequestEntity request});
-}
diff --git a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource_impl.dart b/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource_impl.dart
deleted file mode 100644
index 78c92f7e..00000000
--- a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource_impl.dart
+++ /dev/null
@@ -1,244 +0,0 @@
-import 'dart:convert';
-
-import 'package:account/src/core/data/datasource/account_remote_datasource.dart';
-import 'package:account/src/core/data/models/change_password_request_model.dart';
-import 'package:account/src/core/data/models/get_app_users_response_model.dart';
-import 'package:account/src/core/data/models/get_linked_devices_response_model.dart';
-import 'package:account/src/core/data/models/update_device_request_model.dart';
-import 'package:account/src/core/data/models/update_user_request_model.dart';
-import 'package:account/src/features/change_password/domain/models/entities/change_password_request_entity.dart';
-import 'package:legacy_shared/src/data/models/entities/device_entity.dart';
-import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart';
-import 'package:account/src/features/personal_data/domain/entities/update_user_request_entity.dart';
-import 'package:legacy_shared/legacy_shared.dart';
-import 'package:dio/dio.dart';
-// import 'package:flutter/material.dart';
-import 'package:sf_infrastructure/sf_infrastructure.dart';
-
-class AccountRemoteDatasourceImpl implements AccountRemoteDatasource {
- AccountRemoteDatasourceImpl(this._repository);
-
- final QuestiaRepository _repository;
-
- @override
- Future> getLinkedDevices({required String userId}) async {
- try {
- /*final response = await _repository.get