diff --git a/assets/locale/en.json b/assets/locale/en.json index 5f0efa14..9c0db1de 100644 --- a/assets/locale/en.json +++ b/assets/locale/en.json @@ -50,5 +50,13 @@ "permission_button_more_info": "More info", "debug_permissions_title": "Permissions", "debug_permissions_show_analytics_permission": "Show analytics permission screen", - "debug_permission_reset_analytics": "Reset analytics permission" + "debug_permission_reset_analytics": "Reset analytics permission", + "semantic_analytics_screen_image": "Analytics permission", + "semantic_todo_list_screen_download_action": "Download todo's", + "semantic_todo_list_screen_add_action": "Voeg todo toe", + "semantic_toggle": "Toggle $1%s", + "semantic_toggle_on": "Aan", + "semantic_toggle_off": "Off", + "semantic_bottom_navigation_item": "Bottom navigation item $1%s", + "semantic_back": "Back" } \ No newline at end of file diff --git a/assets/locale/nl.json b/assets/locale/nl.json index b5e08177..8111be9c 100644 --- a/assets/locale/nl.json +++ b/assets/locale/nl.json @@ -50,5 +50,13 @@ "permission_button_more_info": "Meer informatie", "debug_permissions_title": "Permissies", "debug_permissions_show_analytics_permission": "Toon analytics permissie scherm ", - "debug_permission_reset_analytics": "Reset analytics permissie" + "debug_permission_reset_analytics": "Reset analytics permissie", + "semantic_analytics_screen_image": "Analytics permissie", + "semantic_todo_list_screen_download_action": "Download todo's", + "semantic_todo_list_screen_add_action": "Add todo", + "semantic_toggle": "Toggle $1%s", + "semantic_toggle_on": "On", + "semantic_toggle_off": "Uit", + "semantic_bottom_navigation_item": "Bottom navigation item $1%s", + "semantic_back": "Terug" } \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f5eea6c6..c5af647b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -4,111 +4,111 @@ PODS: - ReachabilitySwift - device_info_plus (0.0.1): - Flutter - - Firebase/Analytics (10.25.0): + - Firebase/Analytics (11.6.0): - Firebase/Core - - Firebase/Core (10.25.0): + - Firebase/Core (11.6.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 10.25.0) - - Firebase/CoreOnly (10.25.0): - - FirebaseCore (= 10.25.0) - - Firebase/Crashlytics (10.25.0): + - FirebaseAnalytics (~> 11.6.0) + - Firebase/CoreOnly (11.6.0): + - FirebaseCore (~> 11.6.0) + - Firebase/Crashlytics (11.6.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 10.25.0) - - Firebase/RemoteConfig (10.25.0): + - FirebaseCrashlytics (~> 11.6.0) + - Firebase/RemoteConfig (11.6.0): - Firebase/CoreOnly - - FirebaseRemoteConfig (~> 10.25.0) - - Firebase/Storage (10.25.0): + - FirebaseRemoteConfig (~> 11.6.0) + - Firebase/Storage (11.6.0): - Firebase/CoreOnly - - FirebaseStorage (~> 10.25.0) - - firebase_analytics (10.10.7): - - Firebase/Analytics (= 10.25.0) + - FirebaseStorage (~> 11.6.0) + - firebase_analytics (11.4.1): + - Firebase/Analytics (= 11.6.0) - firebase_core - Flutter - - firebase_core (2.32.0): - - Firebase/CoreOnly (= 10.25.0) + - firebase_core (3.10.1): + - Firebase/CoreOnly (= 11.6.0) - Flutter - - firebase_crashlytics (3.5.7): - - Firebase/Crashlytics (= 10.25.0) + - firebase_crashlytics (4.3.1): + - Firebase/Crashlytics (= 11.6.0) - firebase_core - Flutter - - firebase_remote_config (4.4.7): - - Firebase/RemoteConfig (= 10.25.0) + - firebase_remote_config (5.3.1): + - Firebase/RemoteConfig (= 11.6.0) - firebase_core - Flutter - - firebase_storage (11.7.7): - - Firebase/Storage (= 10.25.0) + - firebase_storage (12.4.1): + - Firebase/Storage (= 11.6.0) - firebase_core - Flutter - - FirebaseABTesting (10.29.0): - - FirebaseCore (~> 10.0) - - FirebaseAnalytics (10.25.0): - - FirebaseAnalytics/AdIdSupport (= 10.25.0) - - FirebaseCore (~> 10.0) - - FirebaseInstallations (~> 10.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (10.25.0): - - FirebaseCore (~> 10.0) - - FirebaseInstallations (~> 10.0) - - GoogleAppMeasurement (= 10.25.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseAppCheckInterop (10.29.0) - - FirebaseAuthInterop (10.29.0) - - FirebaseCore (10.25.0): - - FirebaseCoreInternal (~> 10.0) - - GoogleUtilities/Environment (~> 7.12) - - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreExtension (10.29.0): - - FirebaseCore (~> 10.0) - - FirebaseCoreInternal (10.29.0): - - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseCrashlytics (10.25.0): - - FirebaseCore (~> 10.5) - - FirebaseInstallations (~> 10.0) - - FirebaseRemoteConfigInterop (~> 10.23) - - FirebaseSessions (~> 10.5) - - GoogleDataTransport (~> 9.2) - - GoogleUtilities/Environment (~> 7.8) - - nanopb (< 2.30911.0, >= 2.30908.0) - - PromisesObjC (~> 2.1) - - FirebaseInstallations (10.29.0): - - FirebaseCore (~> 10.0) - - GoogleUtilities/Environment (~> 7.8) - - GoogleUtilities/UserDefaults (~> 7.8) - - PromisesObjC (~> 2.1) - - FirebaseRemoteConfig (10.25.0): - - FirebaseABTesting (~> 10.0) - - FirebaseCore (~> 10.0) - - FirebaseInstallations (~> 10.0) - - FirebaseRemoteConfigInterop (~> 10.23) - - FirebaseSharedSwift (~> 10.0) - - GoogleUtilities/Environment (~> 7.8) - - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseRemoteConfigInterop (10.29.0) - - FirebaseSessions (10.29.0): - - FirebaseCore (~> 10.5) - - FirebaseCoreExtension (~> 10.0) - - FirebaseInstallations (~> 10.0) - - GoogleDataTransport (~> 9.2) - - GoogleUtilities/Environment (~> 7.13) - - GoogleUtilities/UserDefaults (~> 7.13) - - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseABTesting (11.6.0): + - FirebaseCore (~> 11.6.0) + - FirebaseAnalytics (11.6.0): + - FirebaseAnalytics/AdIdSupport (= 11.6.0) + - FirebaseCore (~> 11.6.0) + - FirebaseInstallations (~> 11.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseAnalytics/AdIdSupport (11.6.0): + - FirebaseCore (~> 11.6.0) + - FirebaseInstallations (~> 11.0) + - GoogleAppMeasurement (= 11.6.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseAppCheckInterop (11.8.0) + - FirebaseAuthInterop (11.8.0) + - FirebaseCore (11.6.0): + - FirebaseCoreInternal (~> 11.6.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.6.0): + - FirebaseCore (~> 11.6.0) + - FirebaseCoreInternal (11.6.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseCrashlytics (11.6.0): + - FirebaseCore (~> 11.6.0) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSessions (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/Environment (~> 8.0) + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) + - FirebaseInstallations (11.6.0): + - FirebaseCore (~> 11.6.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - FirebaseRemoteConfig (11.6.0): + - FirebaseABTesting (~> 11.0) + - FirebaseCore (~> 11.6.0) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSharedSwift (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseRemoteConfigInterop (11.8.0) + - FirebaseSessions (11.6.0): + - FirebaseCore (~> 11.6.0) + - FirebaseCoreExtension (~> 11.6.0) + - FirebaseInstallations (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - nanopb (~> 3.30910.0) - PromisesSwift (~> 2.1) - - FirebaseSharedSwift (10.29.0) - - FirebaseStorage (10.25.0): - - FirebaseAppCheckInterop (~> 10.0) - - FirebaseAuthInterop (~> 10.25) - - FirebaseCore (~> 10.0) - - FirebaseCoreExtension (~> 10.0) - - GoogleUtilities/Environment (~> 7.12) - - GTMSessionFetcher/Core (< 4.0, >= 2.1) + - FirebaseSharedSwift (11.8.0) + - FirebaseStorage (11.6.0): + - FirebaseAppCheckInterop (~> 11.0) + - FirebaseAuthInterop (~> 11.0) + - FirebaseCore (~> 11.6.0) + - FirebaseCoreExtension (~> 11.6.0) + - GoogleUtilities/Environment (~> 8.0) + - GTMSessionFetcher/Core (< 5.0, >= 3.4) - Flutter (1.0.0) - flutter_key_value_file_storage (0.0.1): - Flutter @@ -116,64 +116,62 @@ PODS: - Flutter - flutter_secure_storage (6.0.0): - Flutter - - GoogleAppMeasurement (10.25.0): - - GoogleAppMeasurement/AdIdSupport (= 10.25.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.25.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.25.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.25.0): - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleDataTransport (9.4.1): - - GoogleUtilities/Environment (~> 7.7) - - nanopb (< 2.30911.0, >= 2.30908.0) - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/AppDelegateSwizzler (7.13.3): + - GoogleAppMeasurement (11.6.0): + - GoogleAppMeasurement/AdIdSupport (= 11.6.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/AdIdSupport (11.6.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.6.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/WithoutAdIdSupport (11.6.0): + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleDataTransport (10.1.0): + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) + - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Privacy - - GoogleUtilities/Environment (7.13.3): + - GoogleUtilities/Environment (8.0.2): - GoogleUtilities/Privacy - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.13.3): + - GoogleUtilities/Logger (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Privacy - - GoogleUtilities/MethodSwizzler (7.13.3): + - GoogleUtilities/MethodSwizzler (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GoogleUtilities/Network (7.13.3): + - GoogleUtilities/Network (8.0.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Privacy - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.13.3)": + - "GoogleUtilities/NSData+zlib (8.0.2)": - GoogleUtilities/Privacy - - GoogleUtilities/Privacy (7.13.3) - - GoogleUtilities/Reachability (7.13.3): + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GoogleUtilities/UserDefaults (7.13.3): + - GoogleUtilities/UserDefaults (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GTMSessionFetcher/Core (3.5.0) - - nanopb (2.30910.0): - - nanopb/decode (= 2.30910.0) - - nanopb/encode (= 2.30910.0) - - nanopb/decode (2.30910.0) - - nanopb/encode (2.30910.0) + - GTMSessionFetcher/Core (4.3.0) + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS @@ -187,24 +185,6 @@ PODS: - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS - - "sqlite3 (3.46.1+1)": - - "sqlite3/common (= 3.46.1+1)" - - "sqlite3/common (3.46.1+1)" - - "sqlite3/dbstatvtab (3.46.1+1)": - - sqlite3/common - - "sqlite3/fts5 (3.46.1+1)": - - sqlite3/common - - "sqlite3/perf-threadsafe (3.46.1+1)": - - sqlite3/common - - "sqlite3/rtree (3.46.1+1)": - - sqlite3/common - - sqlite3_flutter_libs (0.0.1): - - Flutter - - "sqlite3 (~> 3.46.0+1)" - - sqlite3/dbstatvtab - - sqlite3/fts5 - - sqlite3/perf-threadsafe - - sqlite3/rtree - url_launcher_ios (0.0.1): - Flutter @@ -223,7 +203,6 @@ DEPENDENCIES: - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) - - sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) SPEC REPOS: @@ -251,7 +230,6 @@ SPEC REPOS: - PromisesObjC - PromisesSwift - ReachabilitySwift - - sqlite3 EXTERNAL SOURCES: connectivity_plus: @@ -282,51 +260,47 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite_darwin: :path: ".symlinks/plugins/sqflite_darwin/darwin" - sqlite3_flutter_libs: - :path: ".symlinks/plugins/sqlite3_flutter_libs/ios" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" SPEC CHECKSUMS: connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 - Firebase: 0312a2352584f782ea56f66d91606891d4607f06 - firebase_analytics: cc06e24d6a2343c44f845b3112143db72d10ef78 - firebase_core: a626d00494efa398e7c54f25f1454a64c8abf197 - firebase_crashlytics: 17e856fabec68d993662abaf2f6fe2413f0abece - firebase_remote_config: 7b05c80210ab558c80f7a756681022b4ee98eea0 - firebase_storage: 5c0f552d6b27d621429d7fd16ebab4be94a3c954 - FirebaseABTesting: d87f56707159bae64e269757a6e963d490f2eebe - FirebaseAnalytics: ec00fe8b93b41dc6fe4a28784b8e51da0647a248 - FirebaseAppCheckInterop: 6a1757cfd4067d8e00fccd14fcc1b8fd78cfac07 - FirebaseAuthInterop: 17db81e9b198afb0f95ce48c133825727eed55d3 - FirebaseCore: 7ec4d0484817f12c3373955bc87762d96842d483 - FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f - FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 - FirebaseCrashlytics: 4b96efb0ce73b38b2a85e8b8bd1bd8f63f09d015 - FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd - FirebaseRemoteConfig: 9f3935cefecd85d5b312192117f444957de24a75 - FirebaseRemoteConfigInterop: 6efda51fb5e2f15b16585197e26eaa09574e8a4d - FirebaseSessions: dbd14adac65ce996228652c1fc3a3f576bdf3ecc - FirebaseSharedSwift: 20530f495084b8d840f78a100d8c5ee613375f6e - FirebaseStorage: 44f4e25073f6fa0d4d8c09f5bec299ee9e4eb985 + Firebase: 374a441a91ead896215703a674d58cdb3e9d772b + firebase_analytics: 13ea4ad8a42c5060bad7e6694304dabb8b02fe7e + firebase_core: e2aa06dbd854d961f8ce46c2e20933bee1bf2d2b + firebase_crashlytics: 868f9aa408c704313eebff880c26c1446081679e + firebase_remote_config: 63c9a32cc875d2f66a6bd12a32ef8a9835168cce + firebase_storage: 5f8f929f2b1a4f3d37d32ef6b8c474db40bfbe13 + FirebaseABTesting: 663ece168d2d65a31f71603d71937e326020a887 + FirebaseAnalytics: 7114c698cac995602e3b1b96663473e50d54d6e7 + FirebaseAppCheckInterop: 7bf86d55a2b7e9bd91464120eba3e52e4b63b2e2 + FirebaseAuthInterop: 651756e70d9a0b9160db39ead71fd5507dbb6c84 + FirebaseCore: 48b0dd707581cf9c1a1220da68223fb0a562afaa + FirebaseCoreExtension: 2d77d6430c16cf43ca2b04608302ed02b3598361 + FirebaseCoreInternal: d98ab91e2d80a56d7b246856a8885443b302c0c2 + FirebaseCrashlytics: b21c665fb50138766480bce73ebdb1aa30f7f300 + FirebaseInstallations: efc0946fc756e4d22d8113f7c761948120322e8c + FirebaseRemoteConfig: ee5161282c4e857ad81c0197cd8baec9d5dfef0e + FirebaseRemoteConfigInterop: 98897a64aa372eac3c5b3fe2816594ccfaac55ef + FirebaseSessions: 9529d14180868e29a8da164b3a729c036204918b + FirebaseSharedSwift: 672954eac7b141d6954fab9a32d45d6b1d922df8 + FirebaseStorage: 52fb65a69d3e87675186881a08e2a5db86452ace Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_key_value_file_storage: b91fb1747ffa3e36810c752a1763655fda0b9f3d flutter_secure_file_storage: cdf659810f1849916ea5371ed5df339a3aaa802c flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 - GoogleAppMeasurement: 9abf64b682732fed36da827aa2a68f0221fd2356 - GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a - GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 - GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 - nanopb: 438bc412db1928dac798aa6fd75726007be04262 + GoogleAppMeasurement: 6a9e6317b6a6d810ad03d4a66564ca6c4c5818a3 + GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d + GTMSessionFetcher: 257ead9ba8e15a2d389d79496e02b9cc5dd0c62c + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 ReachabilitySwift: 32793e867593cfc1177f5d16491e3a197d2fccda shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 - sqflite_darwin: a553b1fd6fe66f53bbb0fe5b4f5bab93f08d7a13 - sqlite3: 0bb0e6389d824e40296f531b858a2a0b71c0d2fb - sqlite3_flutter_libs: c00457ebd31e59fa6bb830380ddba24d44fbcd3b + sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index d346eed5..e6a45618 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -326,8 +326,6 @@ "${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework", "${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework", "${BUILT_PRODUCTS_DIR}/sqflite_darwin/sqflite_darwin.framework", - "${BUILT_PRODUCTS_DIR}/sqlite3/sqlite3.framework", - "${BUILT_PRODUCTS_DIR}/sqlite3_flutter_libs/sqlite3_flutter_libs.framework", "${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework", ); name = "[CP] Embed Pods Frameworks"; @@ -360,8 +358,6 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite_darwin.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqlite3.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqlite3_flutter_libs.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -519,7 +515,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -652,7 +648,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -686,7 +682,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -775,7 +771,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -864,7 +860,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -952,7 +948,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1040,7 +1036,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1125,7 +1121,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1208,7 +1204,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1290,7 +1286,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1372,7 +1368,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1452,7 +1448,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1533,7 +1529,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1613,7 +1609,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1692,7 +1688,7 @@ "$(PROJECT_DIR)/Flutter", ); INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/lib/screen/permission/analytics_permission_screen.dart b/lib/screen/permission/analytics_permission_screen.dart index 2c79d205..47a82a83 100644 --- a/lib/screen/permission/analytics_permission_screen.dart +++ b/lib/screen/permission/analytics_permission_screen.dart @@ -28,10 +28,14 @@ class AnalyticsPermissionScreen extends StatelessWidget { const Spacer(), Expanded( flex: 5, - child: SvgPicture.asset( - ThemeAssets.analyticsImage, - alignment: Alignment.center, - fit: BoxFit.scaleDown, + child: Semantics( + label: localization.semanticAnalyticsScreenImage, + image: true, + child: SvgPicture.asset( + ThemeAssets.analyticsImage, + alignment: Alignment.center, + fit: BoxFit.scaleDown, + ), ), ), const Spacer(), diff --git a/lib/screen/todo/todo_list/todo_list_screen.dart b/lib/screen/todo/todo_list/todo_list_screen.dart index 872c5c4e..16cd292f 100644 --- a/lib/screen/todo/todo_list/todo_list_screen.dart +++ b/lib/screen/todo/todo_list/todo_list_screen.dart @@ -36,12 +36,14 @@ class TodoListScreenState extends State { icon: IcappsIcons.arrowDownToLine, onClick: viewModel.onDownloadClicked, color: theme.main, + semanticsLabel: localization.semanticTodoListScreenDownloadAction, ), ActionItem( key: Keys.addAction, icon: IcappsIcons.plus, onClick: viewModel.onAddClicked, color: theme.main, + semanticsLabel: localization.semanticTodoListScreenAddAction, ), ], child: Builder( diff --git a/lib/util/locale/localization.dart b/lib/util/locale/localization.dart index 0c0f9600..d4a2450b 100644 --- a/lib/util/locale/localization.dart +++ b/lib/util/locale/localization.dart @@ -421,6 +421,62 @@ class Localization { /// en: **'Reset analytics permission'** String get debugPermissionResetAnalytics => _t(LocalizationKeys.debugPermissionResetAnalytics); + /// Translations: + /// + /// nl: **'Analytics permissie'** + /// + /// en: **'Analytics permission'** + String get semanticAnalyticsScreenImage => _t(LocalizationKeys.semanticAnalyticsScreenImage); + + /// Translations: + /// + /// nl: **'Download todo's'** + /// + /// en: **'Download todo's'** + String get semanticTodoListScreenDownloadAction => _t(LocalizationKeys.semanticTodoListScreenDownloadAction); + + /// Translations: + /// + /// nl: **'Add todo'** + /// + /// en: **'Voeg todo toe'** + String get semanticTodoListScreenAddAction => _t(LocalizationKeys.semanticTodoListScreenAddAction); + + /// Translations: + /// + /// nl: **'Toggle $1%s'** + /// + /// en: **'Toggle $1%s'** + String semanticToggle(String arg1) => _t(LocalizationKeys.semanticToggle, args: [arg1]); + + /// Translations: + /// + /// nl: **'On'** + /// + /// en: **'Aan'** + String get semanticToggleOn => _t(LocalizationKeys.semanticToggleOn); + + /// Translations: + /// + /// nl: **'Uit'** + /// + /// en: **'Off'** + String get semanticToggleOff => _t(LocalizationKeys.semanticToggleOff); + + /// Translations: + /// + /// nl: **'Bottom navigation item $1%s'** + /// + /// en: **'Bottom navigation item $1%s'** + String semanticBottomNavigationItem(String arg1) => _t(LocalizationKeys.semanticBottomNavigationItem, args: [arg1]); + + /// Translations: + /// + /// nl: **'Terug'** + /// + /// en: **'Back'** + String get semanticBack => _t(LocalizationKeys.semanticBack); + String getTranslation(String key, {List? args}) => _t(key, args: args ?? []); } diff --git a/lib/util/locale/localization_keys.dart b/lib/util/locale/localization_keys.dart index 49155141..e3eff6e7 100644 --- a/lib/util/locale/localization_keys.dart +++ b/lib/util/locale/localization_keys.dart @@ -367,4 +367,60 @@ class LocalizationKeys { /// en: **'Reset analytics permission'** static const debugPermissionResetAnalytics = 'debug_permission_reset_analytics'; + /// Translations: + /// + /// nl: **'Analytics permissie'** + /// + /// en: **'Analytics permission'** + static const semanticAnalyticsScreenImage = 'semantic_analytics_screen_image'; + + /// Translations: + /// + /// nl: **'Download todo's'** + /// + /// en: **'Download todo's'** + static const semanticTodoListScreenDownloadAction = 'semantic_todo_list_screen_download_action'; + + /// Translations: + /// + /// nl: **'Add todo'** + /// + /// en: **'Voeg todo toe'** + static const semanticTodoListScreenAddAction = 'semantic_todo_list_screen_add_action'; + + /// Translations: + /// + /// nl: **'Toggle $1%s'** + /// + /// en: **'Toggle $1%s'** + static const semanticToggle = 'semantic_toggle'; + + /// Translations: + /// + /// nl: **'On'** + /// + /// en: **'Aan'** + static const semanticToggleOn = 'semantic_toggle_on'; + + /// Translations: + /// + /// nl: **'Uit'** + /// + /// en: **'Off'** + static const semanticToggleOff = 'semantic_toggle_off'; + + /// Translations: + /// + /// nl: **'Bottom navigation item $1%s'** + /// + /// en: **'Bottom navigation item $1%s'** + static const semanticBottomNavigationItem = 'semantic_bottom_navigation_item'; + + /// Translations: + /// + /// nl: **'Terug'** + /// + /// en: **'Back'** + static const semanticBack = 'semantic_back'; + } diff --git a/lib/widget/debug/debug_switch_row_item.dart b/lib/widget/debug/debug_switch_row_item.dart index efccba6a..6a0ae758 100644 --- a/lib/widget/debug/debug_switch_row_item.dart +++ b/lib/widget/debug/debug_switch_row_item.dart @@ -20,8 +20,8 @@ class DebugRowSwitchItem extends StatelessWidget { @override Widget build(BuildContext context) { - return DataProviderWidget(childBuilderTheme: (context, theme) { - return TouchFeedBack( + return DataProviderWidget( + childBuilder: (context, theme, localization) => TouchFeedBack( onTapped: () => onChanged(!value), child: Padding( padding: const EdgeInsets.all(16), @@ -43,14 +43,17 @@ class DebugRowSwitchItem extends StatelessWidget { ], ), ), - FlutterTemplateSwitch( - value: value, - onChanged: onChanged, - ) + Semantics( + label: localization.semanticToggle(value ? localization.semanticToggleOff : localization.semanticToggleOn), + child: FlutterTemplateSwitch( + value: value, + onChanged: onChanged, + ), + ), ], ), ), - ); - }); + ), + ); } } diff --git a/lib/widget/general/action/action_item.dart b/lib/widget/general/action/action_item.dart index 253c5609..320e8e6d 100644 --- a/lib/widget/general/action/action_item.dart +++ b/lib/widget/general/action/action_item.dart @@ -5,11 +5,13 @@ import 'package:icapps_architecture/icapps_architecture.dart'; class ActionItem extends StatelessWidget { final IconData icon; final VoidCallback? onClick; + final String? semanticsLabel; final Color? color; - const ActionItem( { + const ActionItem({ required this.icon, required this.onClick, + this.semanticsLabel, this.color, super.key, }); @@ -25,6 +27,7 @@ class ActionItem extends StatelessWidget { height: 48, width: 48, child: TouchFeedBack( + semanticsLabel: semanticsLabel, borderRadius: BorderRadius.circular(48), onTapped: onClick, child: Center( diff --git a/lib/widget/general/bottom_navigation/bottom_navigation_item.dart b/lib/widget/general/bottom_navigation/bottom_navigation_item.dart index be3aaf8d..43034ab3 100644 --- a/lib/widget/general/bottom_navigation/bottom_navigation_item.dart +++ b/lib/widget/general/bottom_navigation/bottom_navigation_item.dart @@ -64,32 +64,44 @@ class BottomNavigationItem extends StatelessWidget { ); if (context.isIOSTheme) { return Expanded( - child: GestureDetector( - onTap: onTap, - child: Container( - color: Colors.transparent, - height: _itemHeight, - child: child, + child: DataProviderWidget( + childBuilderLocalization: (context, localization) => Semantics( + button: true, + label: 'Bottom navigation item ${localization.getTranslation(labelKey)}', + child: GestureDetector( + onTap: onTap, + child: Container( + color: Colors.transparent, + height: _itemHeight, + child: child, + ), + ), ), ), ); } return Expanded( - child: LayoutBuilder( - builder: (context, constraint) => Container( - height: _itemHeight, - decoration: const BoxDecoration(color: Colors.transparent), - child: OverflowBox( - maxHeight: constraint.maxHeight < _itemHeight * 2 ? _itemHeight * 2 : constraint.maxHeight * 3, - maxWidth: constraint.maxWidth < _itemHeight * 2 ? _itemHeight * 2 : constraint.maxWidth, - child: ClipOval( - child: SizedBox( - height: 128, - child: Material( - color: Colors.transparent, - child: InkWell( - onTap: onTap, - child: child, + child: DataProviderWidget( + childBuilderLocalization: (context, localization) => LayoutBuilder( + builder: (context, constraint) => Container( + height: _itemHeight, + decoration: const BoxDecoration(color: Colors.transparent), + child: OverflowBox( + maxHeight: constraint.maxHeight < _itemHeight * 2 ? _itemHeight * 2 : constraint.maxHeight * 3, + maxWidth: constraint.maxWidth < _itemHeight * 2 ? _itemHeight * 2 : constraint.maxWidth, + child: ClipOval( + child: Semantics( + button: true, + label: localization.semanticBottomNavigationItem(localization.getTranslation(labelKey)), + child: SizedBox( + height: 128, + child: Material( + color: Colors.transparent, + child: InkWell( + onTap: onTap, + child: child, + ), + ), ), ), ), diff --git a/lib/widget/library/flutter_template_back_button.dart b/lib/widget/library/flutter_template_back_button.dart index 39ca4a80..646aef7b 100644 --- a/lib/widget/library/flutter_template_back_button.dart +++ b/lib/widget/library/flutter_template_back_button.dart @@ -33,10 +33,11 @@ class FlutterTemplateBackButton extends StatelessWidget { @override Widget build(BuildContext context) { return DataProviderWidget( - childBuilderTheme: (context, theme) => ActionItem( + childBuilder: (context, theme, localization) => ActionItem( key: Keys.backButton, icon: getCorrectIcon(context), color: isLight ? theme.pureWhite : theme.main, + semanticsLabel: localization.semanticBack, onClick: onClick, ), ); diff --git a/pubspec.lock b/pubspec.lock index d6520ef1..7d441d65 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1328,14 +1328,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.7.2" - sqlite3_flutter_libs: - dependency: "direct main" - description: - name: sqlite3_flutter_libs - sha256: "50a7e3f294c741d3142eed0ff228e38498334e11e0ccb9d73e0496e005949e44" - url: "https://pub.dev" - source: hosted - version: "0.5.29" sqlparser: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 6fb9b21a..351d4972 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -56,7 +56,6 @@ dependencies: shared_preferences: ^2.0.16 shared_preferences_web: ^2.0.4 sprintf: ^7.0.0 - sqlite3_flutter_libs: ^0.5.12 storage_inspector: ^0.4.0 synchronized: ^3.3.0+3 url_launcher: ^6.3.1