diff --git a/packages/wyatt_authentication_bloc/.vscode/extensions.json b/packages/wyatt_authentication_bloc/.vscode/extensions.json new file mode 100644 index 00000000..30cd2233 --- /dev/null +++ b/packages/wyatt_authentication_bloc/.vscode/extensions.json @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2022 WYATT GROUP + * Please see the AUTHORS file for details. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +{ + "recommendations": [ + "psioniq.psi-header", + "blaugold.melos-code" + ] +} \ No newline at end of file diff --git a/packages/wyatt_authentication_bloc/.vscode/settings.json b/packages/wyatt_authentication_bloc/.vscode/settings.json new file mode 100644 index 00000000..708f5ba6 --- /dev/null +++ b/packages/wyatt_authentication_bloc/.vscode/settings.json @@ -0,0 +1,71 @@ +{ + "psi-header.changes-tracking": { + "isActive": true + }, + "psi-header.config": { + "blankLinesAfter": 1, + "forceToTop": true + }, + "psi-header.lang-config": [ + { + "beforeHeader": [ + "# -*- coding:utf-8 -*-", + "#!/usr/bin/env python3" + ], + "begin": "###", + "end": "###", + "language": "python", + "prefix": "# " + }, + { + "beforeHeader": [ + "#!/usr/bin/env sh", + "" + ], + "language": "shellscript", + "begin": "", + "end": "", + "prefix": "# " + }, + { + "begin": "", + "end": "", + "language": "dart", + "prefix": "// " + }, + { + "begin": "", + "end": "", + "language": "yaml", + "prefix": "# " + }, + { + "begin": "", + "language": "markdown", + }, + ], + "psi-header.templates": [ + { + "language": "*", + "template": [ + "Copyright (C) <> WYATT GROUP", + "Please see the AUTHORS file for details.", + "", + "This program is free software: you can redistribute it and/or modify", + "it under the terms of the GNU General Public License as published by", + "the Free Software Foundation, either version 3 of the License, or", + "any later version.", + "", + "This program is distributed in the hope that it will be useful,", + "but WITHOUT ANY WARRANTY; without even the implied warranty of", + "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the", + "GNU General Public License for more details.", + "", + "You should have received a copy of the GNU General Public License", + "along with this program. If not, see ." + ], + } + ], + "dart.runPubGetOnPubspecChanges": false, +} \ No newline at end of file diff --git a/packages/wyatt_authentication_bloc/README.md b/packages/wyatt_authentication_bloc/README.md index 0eead7cd..4d1a1e6d 100644 --- a/packages/wyatt_authentication_bloc/README.md +++ b/packages/wyatt_authentication_bloc/README.md @@ -18,7 +18,12 @@ # Flutter - Authentication BLoC -[![style: wyatt analysis](https://img.shields.io/badge/Style-Wyatt%20Analysis-blue)](https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt_analysis) +

+ + Style: Wyatt Analysis + + SDK: Flutter +

Authentication Bloc for Flutter. @@ -40,15 +45,10 @@ Authentication Bloc for Flutter. * Start/Stop listening on demand - `start()` to listen to user changes - `stop()` to cancel listener -- Form - * FormInput: validation of one input - * Form: validation of all form inputs - * FormEntry: contains data of one input - * FormData: contains all entries - SignUpCubit * Handles email/password validation and password confirmation * Handles register with email/password - * Handles custom form fields + * Handles custom form fields thanks `wyatt_form_bloc` - Use `entries` to pass a `FormData` object - You can use several pre configured `FormInput` for validation - You can use `updateFormData()` to change FormData and validators during runtime (intersection, union, difference or replace) diff --git a/packages/wyatt_authentication_bloc/example/.metadata b/packages/wyatt_authentication_bloc/example/.metadata index fd70cabc..3c3e4b52 100644 --- a/packages/wyatt_authentication_bloc/example/.metadata +++ b/packages/wyatt_authentication_bloc/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: 77d935af4db863f6abd0b9c31c7e6df2a13de57b + revision: 5464c5bac742001448fe4fc0597be939379f88ea channel: stable project_type: app diff --git a/packages/wyatt_authentication_bloc/example/README.md b/packages/wyatt_authentication_bloc/example/README.md index a1356260..fdbadcff 100644 --- a/packages/wyatt_authentication_bloc/example/README.md +++ b/packages/wyatt_authentication_bloc/example/README.md @@ -1,4 +1,4 @@ -# example +# authentication_bloc_example A new Flutter project. diff --git a/packages/wyatt_authentication_bloc/example/android/app/build.gradle b/packages/wyatt_authentication_bloc/example/android/app/build.gradle index c1b80db7..39180987 100644 --- a/packages/wyatt_authentication_bloc/example/android/app/build.gradle +++ b/packages/wyatt_authentication_bloc/example/android/app/build.gradle @@ -22,6 +22,9 @@ if (flutterVersionName == null) { } apply plugin: 'com.android.application' +// START: FlutterFire Configuration +apply plugin: 'com.google.gms.google-services' +// END: FlutterFire Configuration apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" @@ -43,8 +46,8 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.example" - minSdkVersion 21 + applicationId "com.example.authentication_bloc_example" + minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/packages/wyatt_authentication_bloc/example/android/app/google-services.json b/packages/wyatt_authentication_bloc/example/android/app/google-services.json new file mode 100644 index 00000000..93ee728e --- /dev/null +++ b/packages/wyatt_authentication_bloc/example/android/app/google-services.json @@ -0,0 +1,99 @@ +{ + "project_info": { + "project_number": "136771801992", + "firebase_url": "https://tchat-beta.firebaseio.com", + "project_id": "tchat-beta", + "storage_bucket": "tchat-beta.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:136771801992:android:4ff419f07afdad6097203d", + "android_client_info": { + "package_name": "com.example.authentication_bloc_example" + } + }, + "oauth_client": [ + { + "client_id": "136771801992-ncuib3rbu7p4ro4eo5su4vaudn2u4qrv.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyAYS14uXupkS158Q5QAFP1864UrUN_yDSk" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "136771801992-ncuib3rbu7p4ro4eo5su4vaudn2u4qrv.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "136771801992-e585bm1n9b3lv89t4phrl9u0glsg52ua.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.example" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:136771801992:android:d20e0361057e815197203d", + "android_client_info": { + "package_name": "com.example.example" + } + }, + "oauth_client": [ + { + "client_id": "136771801992-n2pq8oqutvrqj58e05hbavvc7n1jdfjb.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.example.example", + "certificate_hash": "5d8790309e13b68c35e5d4d8437c35c6d15e6131" + } + }, + { + "client_id": "136771801992-pj9s88ao7d99pnp4ace75nj1abtmoq7e.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.example.example", + "certificate_hash": "bc8faf31c0b0085dc358b2319684e10c93f42719" + } + }, + { + "client_id": "136771801992-ncuib3rbu7p4ro4eo5su4vaudn2u4qrv.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyAYS14uXupkS158Q5QAFP1864UrUN_yDSk" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "136771801992-ncuib3rbu7p4ro4eo5su4vaudn2u4qrv.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "136771801992-e585bm1n9b3lv89t4phrl9u0glsg52ua.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.example" + } + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/packages/wyatt_authentication_bloc/example/android/app/src/debug/AndroidManifest.xml b/packages/wyatt_authentication_bloc/example/android/app/src/debug/AndroidManifest.xml index c208884f..5c8faebc 100644 --- a/packages/wyatt_authentication_bloc/example/android/app/src/debug/AndroidManifest.xml +++ b/packages/wyatt_authentication_bloc/example/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.example.authentication_bloc_example"> diff --git a/packages/wyatt_authentication_bloc/example/android/app/src/main/AndroidManifest.xml b/packages/wyatt_authentication_bloc/example/android/app/src/main/AndroidManifest.xml index 3f41384d..ad585ac2 100644 --- a/packages/wyatt_authentication_bloc/example/android/app/src/main/AndroidManifest.xml +++ b/packages/wyatt_authentication_bloc/example/android/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + package="com.example.authentication_bloc_example"> + package="com.example.authentication_bloc_example"> diff --git a/packages/wyatt_authentication_bloc/example/android/build.gradle b/packages/wyatt_authentication_bloc/example/android/build.gradle index 4256f917..111a0724 100644 --- a/packages/wyatt_authentication_bloc/example/android/build.gradle +++ b/packages/wyatt_authentication_bloc/example/android/build.gradle @@ -7,6 +7,9 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:4.1.0' + // START: FlutterFire Configuration + classpath 'com.google.gms:google-services:4.3.10' + // END: FlutterFire Configuration classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/packages/wyatt_authentication_bloc/example/ios/.gitignore b/packages/wyatt_authentication_bloc/example/ios/.gitignore deleted file mode 100644 index 7a7f9873..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/packages/wyatt_authentication_bloc/example/ios/Flutter/AppFrameworkInfo.plist b/packages/wyatt_authentication_bloc/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 8d4492f9..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 9.0 - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Flutter/Debug.xcconfig b/packages/wyatt_authentication_bloc/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/packages/wyatt_authentication_bloc/example/ios/Flutter/Release.xcconfig b/packages/wyatt_authentication_bloc/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bfe..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/packages/wyatt_authentication_bloc/example/ios/Podfile b/packages/wyatt_authentication_bloc/example/ios/Podfile deleted file mode 100644 index 9411102b..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Podfile +++ /dev/null @@ -1,41 +0,0 @@ -# Uncomment this line to define a global platform for your project -platform :ios, '10.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/packages/wyatt_authentication_bloc/example/ios/Podfile.lock b/packages/wyatt_authentication_bloc/example/ios/Podfile.lock deleted file mode 100644 index 5c71db22..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Podfile.lock +++ /dev/null @@ -1,97 +0,0 @@ -PODS: - - Firebase/Auth (8.10.0): - - Firebase/CoreOnly - - FirebaseAuth (~> 8.10.0) - - Firebase/CoreOnly (8.10.0): - - FirebaseCore (= 8.10.0) - - firebase_auth (3.3.5): - - Firebase/Auth (= 8.10.0) - - firebase_core - - Flutter - - firebase_core (1.11.0): - - Firebase/CoreOnly (= 8.10.0) - - Flutter - - FirebaseAuth (8.10.0): - - FirebaseCore (~> 8.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.6) - - GoogleUtilities/Environment (~> 7.6) - - GTMSessionFetcher/Core (~> 1.5) - - FirebaseCore (8.10.0): - - FirebaseCoreDiagnostics (~> 8.0) - - GoogleUtilities/Environment (~> 7.6) - - GoogleUtilities/Logger (~> 7.6) - - FirebaseCoreDiagnostics (8.10.0): - - GoogleDataTransport (~> 9.1) - - GoogleUtilities/Environment (~> 7.6) - - GoogleUtilities/Logger (~> 7.6) - - nanopb (~> 2.30908.0) - - Flutter (1.0.0) - - GoogleDataTransport (9.1.2): - - GoogleUtilities/Environment (~> 7.2) - - nanopb (~> 2.30908.0) - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/AppDelegateSwizzler (7.7.0): - - GoogleUtilities/Environment - - GoogleUtilities/Logger - - GoogleUtilities/Network - - GoogleUtilities/Environment (7.7.0): - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.7.0): - - GoogleUtilities/Environment - - GoogleUtilities/Network (7.7.0): - - GoogleUtilities/Logger - - "GoogleUtilities/NSData+zlib" - - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.7.0)" - - GoogleUtilities/Reachability (7.7.0): - - GoogleUtilities/Logger - - GTMSessionFetcher/Core (1.7.0) - - nanopb (2.30908.0): - - nanopb/decode (= 2.30908.0) - - nanopb/encode (= 2.30908.0) - - nanopb/decode (2.30908.0) - - nanopb/encode (2.30908.0) - - PromisesObjC (2.0.0) - -DEPENDENCIES: - - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - - Flutter (from `Flutter`) - -SPEC REPOS: - trunk: - - Firebase - - FirebaseAuth - - FirebaseCore - - FirebaseCoreDiagnostics - - GoogleDataTransport - - GoogleUtilities - - GTMSessionFetcher - - nanopb - - PromisesObjC - -EXTERNAL SOURCES: - firebase_auth: - :path: ".symlinks/plugins/firebase_auth/ios" - firebase_core: - :path: ".symlinks/plugins/firebase_core/ios" - Flutter: - :path: Flutter - -SPEC CHECKSUMS: - Firebase: 44213362f1dcc52555b935dc925ed35ac55f1b20 - firebase_auth: 9d959bddc3b255ddfb67cf630a5bbb6186964356 - firebase_core: 2ca2d6cc8a11693e701b37126afae4800be5dbac - FirebaseAuth: 59a2d2b933b5b79e18fb1e6ad230c6abdaa73d26 - FirebaseCore: 04186597c095da37d90ff9fd3e53bc61a1ff2440 - FirebaseCoreDiagnostics: 56fb7216d87e0e6ec2feddefa9d8a392fe8b2c18 - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - GoogleDataTransport: 629c20a4d363167143f30ea78320d5a7eb8bd940 - GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1 - GTMSessionFetcher: 43748f93435c2aa068b1cbe39655aaf600652e91 - nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - PromisesObjC: 68159ce6952d93e17b2dfe273b8c40907db5ba58 - -PODFILE CHECKSUM: fe0e1ee7f3d1f7d00b11b474b62dd62134535aea - -COCOAPODS: 1.11.2 diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.pbxproj b/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 0b90f66a..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,549 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - E0ACB97A2AC1EAE305AB816E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17811D4CD54BBE5A5A617A67 /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 08CA0F9F86D48F857AE8F6A9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 17811D4CD54BBE5A5A617A67 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5464F99483A75A45363198CF /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 60123E8F332B681F9E8E65D0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E0ACB97A2AC1EAE305AB816E /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 868018A8DFEB24F4BBF7C643 /* Pods */ = { - isa = PBXGroup; - children = ( - 5464F99483A75A45363198CF /* Pods-Runner.debug.xcconfig */, - 08CA0F9F86D48F857AE8F6A9 /* Pods-Runner.release.xcconfig */, - 60123E8F332B681F9E8E65D0 /* Pods-Runner.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 868018A8DFEB24F4BBF7C643 /* Pods */, - A25D987A122B465AA7E625CC /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; - A25D987A122B465AA7E625CC /* Frameworks */ = { - isa = PBXGroup; - children = ( - 17811D4CD54BBE5A5A617A67 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - FDCB4921C84D1E40D80F2BC5 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - EA7D75F2512D4CFC69FD736B /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - EA7D75F2512D4CFC69FD736B /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - FDCB4921C84D1E40D80F2BC5 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index c87d15a3..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/AppDelegate.swift b/packages/wyatt_authentication_bloc/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4a..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada47..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf03..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde1211..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc2306..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d3..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41e..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f585..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2f..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/wyatt_authentication_bloc/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Base.lproj/Main.storyboard b/packages/wyatt_authentication_bloc/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Info.plist b/packages/wyatt_authentication_bloc/example/ios/Runner/Info.plist deleted file mode 100644 index 27491e8a..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/Info.plist +++ /dev/null @@ -1,47 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Example - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/packages/wyatt_authentication_bloc/example/ios/Runner/Runner-Bridging-Header.h b/packages/wyatt_authentication_bloc/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a56..00000000 --- a/packages/wyatt_authentication_bloc/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/packages/wyatt_authentication_bloc/example/lib/app/app.dart b/packages/wyatt_authentication_bloc/example/lib/app/app.dart index 07e74a59..1c87d2ed 100644 --- a/packages/wyatt_authentication_bloc/example/lib/app/app.dart +++ b/packages/wyatt_authentication_bloc/example/lib/app/app.dart @@ -14,14 +14,15 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +import 'package:authentication_bloc_example/constants.dart'; +import 'package:authentication_bloc_example/home/home_page.dart'; +import 'package:authentication_bloc_example/login/login_page.dart'; +import 'package:authentication_bloc_example/model.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:example/constants.dart'; -import 'package:example/home/home_page.dart'; -import 'package:example/login/login_page.dart'; -import 'package:example/model.dart'; import 'package:flutter/material.dart'; -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; class App extends StatelessWidget { const App({Key? key}) : super(key: key); @@ -31,7 +32,8 @@ class App extends StatelessWidget { FormEntry(formFieldName, Name.pure()), FormEntry(formFieldPhone, Phone.pure()), FormEntry(formFieldPro, Boolean.pure()), - FormEntry(formFieldConfirmedPassword, ConfirmedPassword.pure(), export: false), + FormEntry(formFieldConfirmedPassword, ConfirmedPassword.pure(), + export: false), ]); } @@ -42,7 +44,8 @@ class App extends StatelessWidget { FormEntry(formFieldPro, Boolean.pure()), FormEntry(formFieldSiren, Siren.pure()), FormEntry(formFieldIban, Iban.pure()), - FormEntry(formFieldConfirmedPassword, ConfirmedPassword.pure(), export: false), + FormEntry(formFieldConfirmedPassword, ConfirmedPassword.pure(), + export: false), ]); } diff --git a/packages/wyatt_authentication_bloc/example/lib/firebase_options.dart b/packages/wyatt_authentication_bloc/example/lib/firebase_options.dart index 92a4d0da..59943527 100644 --- a/packages/wyatt_authentication_bloc/example/lib/firebase_options.dart +++ b/packages/wyatt_authentication_bloc/example/lib/firebase_options.dart @@ -1,5 +1,5 @@ // File generated by FlutterFire CLI. -// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; import 'package:flutter/foundation.dart' show defaultTargetPlatform, kIsWeb, TargetPlatform; @@ -17,54 +17,37 @@ import 'package:flutter/foundation.dart' class DefaultFirebaseOptions { static FirebaseOptions get currentPlatform { if (kIsWeb) { - return web; + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for web - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); } - // ignore: missing_enum_constant_in_switch switch (defaultTargetPlatform) { case TargetPlatform.android: return android; case TargetPlatform.iOS: - return ios; + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for ios - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); case TargetPlatform.macOS: throw UnsupportedError( 'DefaultFirebaseOptions have not been configured for macos - ' 'you can reconfigure this by running the FlutterFire CLI again.', ); + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); } - - throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', - ); } - static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyCxdDUpkpW7onOicIcIDcIVvPC8ll1twCQ', - appId: '1:136771801992:web:e757595ae62e646297203d', - messagingSenderId: '136771801992', - projectId: 'tchat-beta', - authDomain: 'tchat-beta.firebaseapp.com', - databaseURL: 'https://tchat-beta.firebaseio.com', - storageBucket: 'tchat-beta.appspot.com', - ); - static const FirebaseOptions android = FirebaseOptions( apiKey: 'AIzaSyAYS14uXupkS158Q5QAFP1864UrUN_yDSk', - appId: '1:136771801992:android:d20e0361057e815197203d', + appId: '1:136771801992:android:4ff419f07afdad6097203d', messagingSenderId: '136771801992', projectId: 'tchat-beta', databaseURL: 'https://tchat-beta.firebaseio.com', storageBucket: 'tchat-beta.appspot.com', ); - - static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyCDbbhjbFrQwLXuIANdJzjkDk8uOETnn7w', - appId: '1:136771801992:ios:6fe69c0bea08b7b397203d', - messagingSenderId: '136771801992', - projectId: 'tchat-beta', - databaseURL: 'https://tchat-beta.firebaseio.com', - storageBucket: 'tchat-beta.appspot.com', - iosClientId: - '136771801992-e585bm1n9b3lv89t4phrl9u0glsg52ua.apps.googleusercontent.com', - iosBundleId: 'com.example.example', - ); } diff --git a/packages/wyatt_authentication_bloc/example/lib/forgot_password/forgot_password_page.dart b/packages/wyatt_authentication_bloc/example/lib/forgot_password/forgot_password_page.dart index fe240987..7d24b2a7 100644 --- a/packages/wyatt_authentication_bloc/example/lib/forgot_password/forgot_password_page.dart +++ b/packages/wyatt_authentication_bloc/example/lib/forgot_password/forgot_password_page.dart @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:example/forgot_password/widgets/forgot_password_form.dart'; +import 'package:authentication_bloc_example/forgot_password/widgets/forgot_password_form.dart'; import 'package:flutter/material.dart'; import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/packages/wyatt_authentication_bloc/example/lib/forgot_password/widgets/forgot_password_form.dart b/packages/wyatt_authentication_bloc/example/lib/forgot_password/widgets/forgot_password_form.dart index d3879878..11f2d6a3 100644 --- a/packages/wyatt_authentication_bloc/example/lib/forgot_password/widgets/forgot_password_form.dart +++ b/packages/wyatt_authentication_bloc/example/lib/forgot_password/widgets/forgot_password_form.dart @@ -15,8 +15,9 @@ // along with this program. If not, see . import 'package:flutter/material.dart'; -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; class _EmailInput extends StatelessWidget { @override diff --git a/packages/wyatt_authentication_bloc/example/lib/home/home_page.dart b/packages/wyatt_authentication_bloc/example/lib/home/home_page.dart index 1ea8cc4b..2874834c 100644 --- a/packages/wyatt_authentication_bloc/example/lib/home/home_page.dart +++ b/packages/wyatt_authentication_bloc/example/lib/home/home_page.dart @@ -14,12 +14,12 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:example/home/widgets/infos.dart'; +import 'package:authentication_bloc_example/home/widgets/infos.dart'; import 'package:flutter/material.dart'; import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:example/home/widgets/email_verification.dart'; +import 'package:authentication_bloc_example/home/widgets/email_verification.dart'; class HomePage extends StatelessWidget { const HomePage({Key? key}) : super(key: key); diff --git a/packages/wyatt_authentication_bloc/example/lib/home/widgets/infos.dart b/packages/wyatt_authentication_bloc/example/lib/home/widgets/infos.dart index ae1ecb24..3821f589 100644 --- a/packages/wyatt_authentication_bloc/example/lib/home/widgets/infos.dart +++ b/packages/wyatt_authentication_bloc/example/lib/home/widgets/infos.dart @@ -14,11 +14,11 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:example/home/widgets/avatar.dart'; +import 'package:authentication_bloc_example/home/widgets/avatar.dart'; import 'package:flutter/material.dart'; import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:example/constants.dart'; +import 'package:authentication_bloc_example/constants.dart'; class UserInfo extends StatelessWidget { const UserInfo({Key? key}) : super(key: key); diff --git a/packages/wyatt_authentication_bloc/example/lib/login/login_page.dart b/packages/wyatt_authentication_bloc/example/lib/login/login_page.dart index 680cc066..f718af9a 100644 --- a/packages/wyatt_authentication_bloc/example/lib/login/login_page.dart +++ b/packages/wyatt_authentication_bloc/example/lib/login/login_page.dart @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:example/login/widgets/login_form.dart'; +import 'package:authentication_bloc_example/login/widgets/login_form.dart'; import 'package:flutter/material.dart'; class LoginPage extends StatelessWidget { diff --git a/packages/wyatt_authentication_bloc/example/lib/login/widgets/login_form.dart b/packages/wyatt_authentication_bloc/example/lib/login/widgets/login_form.dart index 32e0155b..e552f8d6 100644 --- a/packages/wyatt_authentication_bloc/example/lib/login/widgets/login_form.dart +++ b/packages/wyatt_authentication_bloc/example/lib/login/widgets/login_form.dart @@ -14,13 +14,14 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:example/app/app.dart'; -import 'package:example/constants.dart'; -import 'package:example/forgot_password/forgot_password_page.dart'; -import 'package:example/sign_up/sign_up_page.dart'; +import 'package:authentication_bloc_example/app/app.dart'; +import 'package:authentication_bloc_example/constants.dart'; +import 'package:authentication_bloc_example/forgot_password/forgot_password_page.dart'; +import 'package:authentication_bloc_example/sign_up/sign_up_page.dart'; import 'package:flutter/material.dart'; -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; class _EmailInput extends StatelessWidget { @override diff --git a/packages/wyatt_authentication_bloc/example/lib/main.dart b/packages/wyatt_authentication_bloc/example/lib/main.dart index d96ed05e..c8fd941f 100644 --- a/packages/wyatt_authentication_bloc/example/lib/main.dart +++ b/packages/wyatt_authentication_bloc/example/lib/main.dart @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:example/app/app.dart'; -import 'package:example/app/bloc_observer.dart'; -import 'package:example/firebase_options.dart'; +import 'package:authentication_bloc_example/app/app.dart'; +import 'package:authentication_bloc_example/app/bloc_observer.dart'; +import 'package:authentication_bloc_example/firebase_options.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/packages/wyatt_authentication_bloc/example/lib/sign_up/sign_up_page.dart b/packages/wyatt_authentication_bloc/example/lib/sign_up/sign_up_page.dart index df7e6377..64dd8717 100644 --- a/packages/wyatt_authentication_bloc/example/lib/sign_up/sign_up_page.dart +++ b/packages/wyatt_authentication_bloc/example/lib/sign_up/sign_up_page.dart @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:example/sign_up/widgets/sign_up_form.dart'; +import 'package:authentication_bloc_example/sign_up/widgets/sign_up_form.dart'; import 'package:flutter/material.dart'; class SignUpPage extends StatelessWidget { diff --git a/packages/wyatt_authentication_bloc/example/lib/sign_up/widgets/sign_up_form.dart b/packages/wyatt_authentication_bloc/example/lib/sign_up/widgets/sign_up_form.dart index 7bd026f3..6e48d10a 100644 --- a/packages/wyatt_authentication_bloc/example/lib/sign_up/widgets/sign_up_form.dart +++ b/packages/wyatt_authentication_bloc/example/lib/sign_up/widgets/sign_up_form.dart @@ -16,11 +16,12 @@ import 'dart:developer'; -import 'package:example/app/app.dart'; -import 'package:example/constants.dart'; +import 'package:authentication_bloc_example/app/app.dart'; +import 'package:authentication_bloc_example/constants.dart'; import 'package:flutter/material.dart'; -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; class _NameInput extends StatelessWidget { @override @@ -253,11 +254,11 @@ class _DebugButton extends StatelessWidget { return BlocBuilder( builder: (context, state) { return ElevatedButton( - onPressed: () { - log(state.toString()); - } , - child: const Text('DEBUG'), - ); + onPressed: () { + log(state.toString()); + }, + child: const Text('DEBUG'), + ); }, ); } diff --git a/packages/wyatt_authentication_bloc/example/pubspec.yaml b/packages/wyatt_authentication_bloc/example/pubspec.yaml index 3fb9f6f4..b906b6be 100644 --- a/packages/wyatt_authentication_bloc/example/pubspec.yaml +++ b/packages/wyatt_authentication_bloc/example/pubspec.yaml @@ -1,4 +1,4 @@ -name: example +name: authentication_bloc_example description: A new Flutter project. # The following line prevents the package from being accidentally published to @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ">=2.15.1 <3.0.0" + sdk: ">=2.16.2 <3.0.0" # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,15 +30,21 @@ dependencies: flutter: sdk: flutter - firebase_core: ^1.13.1 + firebase_core: ^1.14.1 flutter_bloc: ^8.0.1 wyatt_authentication_bloc: path: "../" + wyatt_form_bloc: + git: + url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages + ref: wyatt_form_bloc-v0.0.1-dev.0 + path: packages/wyatt_form_bloc + # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.4 - cloud_firestore: ^3.1.10 + cloud_firestore: ^3.1.12 dev_dependencies: flutter_test: @@ -49,7 +55,7 @@ dev_dependencies: # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^1.0.4 + flutter_lints: ^1.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/packages/wyatt_authentication_bloc/example/test/widget_test.dart b/packages/wyatt_authentication_bloc/example/test/widget_test.dart index 8b137891..e69de29b 100644 --- a/packages/wyatt_authentication_bloc/example/test/widget_test.dart +++ b/packages/wyatt_authentication_bloc/example/test/widget_test.dart @@ -1 +0,0 @@ - diff --git a/packages/wyatt_authentication_bloc/example/web/favicon.png b/packages/wyatt_authentication_bloc/example/web/favicon.png deleted file mode 100644 index 8aaa46ac..00000000 Binary files a/packages/wyatt_authentication_bloc/example/web/favicon.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/web/icons/Icon-192.png b/packages/wyatt_authentication_bloc/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef..00000000 Binary files a/packages/wyatt_authentication_bloc/example/web/icons/Icon-192.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/web/icons/Icon-512.png b/packages/wyatt_authentication_bloc/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48d..00000000 Binary files a/packages/wyatt_authentication_bloc/example/web/icons/Icon-512.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/web/icons/Icon-maskable-192.png b/packages/wyatt_authentication_bloc/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76..00000000 Binary files a/packages/wyatt_authentication_bloc/example/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/web/icons/Icon-maskable-512.png b/packages/wyatt_authentication_bloc/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c5669..00000000 Binary files a/packages/wyatt_authentication_bloc/example/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/packages/wyatt_authentication_bloc/example/web/index.html b/packages/wyatt_authentication_bloc/example/web/index.html deleted file mode 100644 index b6b9dd23..00000000 --- a/packages/wyatt_authentication_bloc/example/web/index.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - example - - - - - - - diff --git a/packages/wyatt_authentication_bloc/example/web/manifest.json b/packages/wyatt_authentication_bloc/example/web/manifest.json deleted file mode 100644 index 096edf8f..00000000 --- a/packages/wyatt_authentication_bloc/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "example", - "short_name": "example", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/packages/wyatt_authentication_bloc/lib/src/authentication/builder/authentication_builder.dart b/packages/wyatt_authentication_bloc/lib/src/authentication/builder/authentication_builder.dart index dba56b2b..a0dc8079 100644 --- a/packages/wyatt_authentication_bloc/lib/src/authentication/builder/authentication_builder.dart +++ b/packages/wyatt_authentication_bloc/lib/src/authentication/builder/authentication_builder.dart @@ -15,9 +15,9 @@ // along with this program. If not, see . import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:wyatt_authentication_bloc/src/authentication/cubit/authentication_cubit.dart'; import 'package:wyatt_authentication_bloc/src/models/user/user_interface.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; class AuthenticationBuilder extends StatelessWidget { const AuthenticationBuilder({ diff --git a/packages/wyatt_authentication_bloc/lib/src/email_verification/cubit/email_verification_cubit.dart b/packages/wyatt_authentication_bloc/lib/src/email_verification/cubit/email_verification_cubit.dart index fa99aeca..b5dca156 100644 --- a/packages/wyatt_authentication_bloc/lib/src/email_verification/cubit/email_verification_cubit.dart +++ b/packages/wyatt_authentication_bloc/lib/src/email_verification/cubit/email_verification_cubit.dart @@ -16,9 +16,9 @@ import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_status.dart'; import 'package:wyatt_authentication_bloc/src/models/exceptions/exceptions_interface.dart'; import 'package:wyatt_authentication_bloc/src/repositories/authentication_repository_interface.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart' show FormStatus; part 'email_verification_state.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/form/form.dart b/packages/wyatt_authentication_bloc/lib/src/form/form.dart deleted file mode 100644 index 62dfe624..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/form/form.dart +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -export 'form_data.dart'; -export 'form_entry.dart'; -export 'form_input.dart'; -export 'form_input_status.dart'; -export 'form_status.dart'; -export 'form_validator.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/form/form_data.dart b/packages/wyatt_authentication_bloc/lib/src/form/form_data.dart deleted file mode 100644 index 9054233b..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/form/form_data.dart +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:flutter/foundation.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_entry.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -@immutable -class FormData { - const FormData(this._entries); - - FormData.empty() : this([]); - - final List _entries; - - List get entries => _entries; - - List> inputs() { - return _entries - .map((FormEntry entry) => entry.input as FormInput) - .toList(); - } - - FormInput input(String field) { - if (contains(field)) { - return _entries - .firstWhere((FormEntry entry) => entry.field == field) - .input as FormInput; - } else { - throw Exception('Field $field does not exist in form'); - } - } - - bool contains(String field) { - return _entries.any((FormEntry entry) => entry.field == field); - } - - FormData intersection(FormData other) { - final List entries = []; - - for (final FormEntry entry in _entries) { - if (other.contains(entry.field)) { - entries.add(entry); - } - } - - return FormData(entries); - } - - FormData difference(FormData other) { - final List entries = []; - - for (final FormEntry otherEntry in other._entries) { - if (!contains(otherEntry.field)) { - entries.add(otherEntry); - } - } - - for (final FormEntry entry in _entries) { - if (!other.contains(entry.field)) { - entries.add(entry); - } - } - - return FormData(entries); - } - - FormData union(FormData other) { - final List entries = []; - - for (final FormEntry entry in _entries) { - entries.add(entry); - } - - for (final FormEntry otherEntry in other._entries) { - if (!contains(otherEntry.field)) { - entries.add(otherEntry); - } - } - - return FormData(entries); - } - - void update(String field, FormInput input) { - if (contains(field)) { - final index = _entries.indexOf( - _entries.firstWhere((FormEntry entry) => entry.field == field), - ); - _entries[index] = _entries[index].copyWith(input: input); - } - } - - FormData clone() { - return FormData( - _entries - .map((FormEntry entry) => entry.clone()) - .toList(), - ); - } - - Map toMap() { - final map = {}; - for (final entry in _entries) { - if (entry.export) { - map[entry.fieldName ?? entry.field] = entry.input.value; - } - } - return map; - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) return true; - - return other is FormData && listEquals(other._entries, _entries); - } - - @override - int get hashCode => _entries.hashCode; - - @override - String toString() => 'FormData(entries: $_entries)'; -} diff --git a/packages/wyatt_authentication_bloc/lib/src/form/form_entry.dart b/packages/wyatt_authentication_bloc/lib/src/form/form_entry.dart deleted file mode 100644 index 2a27b9f5..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/form/form_entry.dart +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:flutter/foundation.dart'; - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; - -@immutable -class FormEntry { - const FormEntry(this.field, this.input, {this.export = true, this.fieldName}); - - final String field; - final FormInput input; - final bool export; - final String? fieldName; - - FormEntry copyWith({ - String? field, - FormInput? input, - bool? export, - String? fieldName, - }) { - return FormEntry( - field ?? this.field, - input ?? this.input, - export: export ?? this.export, - fieldName: fieldName ?? this.fieldName, - ); - } - - FormEntry clone() { - return FormEntry( - field, - input, - export: export, - fieldName: fieldName, - ); - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) return true; - - return other is FormEntry && - other.field == field && - other.input == input && - other.export == export && - other.fieldName == fieldName; - } - - @override - int get hashCode { - return field.hashCode ^ - input.hashCode ^ - export.hashCode ^ - fieldName.hashCode; - } - - @override - String toString() { - // ignore: lines_longer_than_80_chars - return 'FormEntry(field: $field, input: $input, export: $export, fieldName: $fieldName)'; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/form/form_input.dart b/packages/wyatt_authentication_bloc/lib/src/form/form_input.dart deleted file mode 100644 index 1b5cbb53..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/form/form_input.dart +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:flutter/foundation.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_input_status.dart'; - -/// {@template form_input} -/// A [FormInput] represents the value of a single form input field. -/// It contains information about the [FormInputStatus], [value], as well -/// as validation status. -/// -/// [FormInput] should be extended to define custom [FormInput] instances. -/// -/// ```dart -/// enum FirstNameError { empty } -/// class FirstName extends FormInput { -/// const FirstName.pure({String value = ''}) : super.pure(value); -/// const FirstName.dirty({String value = ''}) : super.dirty(value); -/// -/// @override -/// FirstNameError? validator(String value) { -/// return value.isEmpty ? FirstNameError.empty : null; -/// } -/// } -/// ``` -/// {@endtemplate} -@immutable -abstract class FormInput { - const FormInput._(this.value, [this.pure = true]); - - /// Constructor which create a `pure` [FormInput] with a given value. - const FormInput.pure(T value) : this._(value); - - /// Constructor which create a `dirty` [FormInput] with a given value. - const FormInput.dirty(T value) : this._(value, false); - - /// The value of the given [FormInput]. - /// For example, if you have a `FormInput` for `FirstName`, - /// the value could be 'Joe'. - final T value; - - /// If the [FormInput] is pure (has been touched/modified). - /// Typically when the `FormInput` is initially created, - /// it is created using the `FormInput.pure` constructor to - /// signify that the user has not modified it. - /// - /// For subsequent changes (in response to user input), the - /// `FormInput.dirty` constructor should be used to signify that - /// the `FormInput` has been manipulated. - final bool pure; - - /// The [FormInputStatus] which can be one of the following: - /// * [FormInputStatus.pure] - /// - if the input has not been modified. - /// * [FormInputStatus.invalid] - /// - if the input has been modified and validation failed. - /// * [FormInputStatus.valid] - /// - if the input has been modified and validation succeeded. - FormInputStatus get status => pure - ? FormInputStatus.pure - : valid - ? FormInputStatus.valid - : FormInputStatus.invalid; - - /// Returns a validation error if the [FormInput] is invalid. - /// Returns `null` if the [FormInput] is valid. - E? get error => validator(value); - - /// Whether the [FormInput] value is valid according to the - /// overridden `validator`. - /// - /// Returns `true` if `validator` returns `null` for the - /// current [FormInput] value and `false` otherwise. - bool get valid => validator(value) == null; - - /// Whether the [FormInput] value is not valid. - /// A value is invalid when the overridden `validator` - /// returns an error (non-null value). - bool get invalid => status == FormInputStatus.invalid; - - /// A function that must return a validation error if the provided - /// [value] is invalid and `null` otherwise. - E? validator(T value); - - @override - int get hashCode => value.hashCode ^ pure.hashCode; - - @override - bool operator ==(Object other) { - if (other.runtimeType != runtimeType) return false; - return other is FormInput && - other.value == value && - other.pure == pure; - } - - @override - String toString() => '$runtimeType($value, $pure)'; -} diff --git a/packages/wyatt_authentication_bloc/lib/src/form/form_input_status.dart b/packages/wyatt_authentication_bloc/lib/src/form/form_input_status.dart deleted file mode 100644 index f8abb53e..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/form/form_input_status.dart +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -/// Enum representing the status of a form input at any given point in time. -enum FormInputStatus { - /// The form input has not been touched. - pure, - - /// The form input is valid. - valid, - - /// The form input is not valid. - invalid, -} diff --git a/packages/wyatt_authentication_bloc/lib/src/form/form_status.dart b/packages/wyatt_authentication_bloc/lib/src/form/form_status.dart deleted file mode 100644 index 8e0709be..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/form/form_status.dart +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -/// Enum representing the status of a form at any given point in time. -enum FormStatus { - /// The form has not been touched. - pure, - - /// The form has been completely validated. - valid, - - /// The form contains one or more invalid inputs. - invalid, - - /// The form is in the process of being submitted. - submissionInProgress, - - /// The form has been submitted successfully. - submissionSuccess, - - /// The form submission failed. - submissionFailure, - - /// The form submission has been canceled. - submissionCanceled -} - -const Set _validatedFormStatuses = { - FormStatus.valid, - FormStatus.submissionInProgress, - FormStatus.submissionSuccess, - FormStatus.submissionFailure, - FormStatus.submissionCanceled, -}; - -/// Useful extensions on [FormStatus] -extension FormStatusX on FormStatus { - /// Indicates whether the form is untouched. - bool get isPure => this == FormStatus.pure; - - /// Indicates whether the form is completely validated. - bool get isValid => this == FormStatus.valid; - - /// Indicates whether the form has been validated successfully. - /// This means the [FormStatus] is either: - /// * `FormStatus.valid` - /// * `FormStatus.submissionInProgress` - /// * `FormStatus.submissionSuccess` - /// * `FormStatus.submissionFailure` - bool get isValidated => _validatedFormStatuses.contains(this); - - /// Indicates whether the form contains one or more invalid inputs. - bool get isInvalid => this == FormStatus.invalid; - - /// Indicates whether the form is in the process of being submitted. - bool get isSubmissionInProgress => this == FormStatus.submissionInProgress; - - /// Indicates whether the form has been submitted successfully. - bool get isSubmissionSuccess => this == FormStatus.submissionSuccess; - - /// Indicates whether the form submission failed. - bool get isSubmissionFailure => this == FormStatus.submissionFailure; - - /// Indicates whether the form submission has been canceled. - bool get isSubmissionCanceled => this == FormStatus.submissionCanceled; -} diff --git a/packages/wyatt_authentication_bloc/lib/src/form/form_validator.dart b/packages/wyatt_authentication_bloc/lib/src/form/form_validator.dart deleted file mode 100644 index 72a57b9e..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/form/form_validator.dart +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_input_status.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_status.dart'; - -/// Class which contains methods that help manipulate and manage -/// [FormStatus] and [FormInputStatus] instances. -class FormValidator { - /// Returns a [FormStatus] given a list of [FormInput]. - static FormStatus validate(List inputs) { - return inputs.every((FormInput element) => element.pure) - ? FormStatus.pure - : inputs.any((FormInput input) => input.valid == false) - ? FormStatus.invalid - : FormStatus.valid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/boolean.dart b/packages/wyatt_authentication_bloc/lib/src/models/boolean.dart deleted file mode 100644 index 279216dc..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/boolean.dart +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template boolean} -/// Form input for a bool input -/// {@endtemplate} -class Boolean extends FormInput { - /// {@macro boolean} - const Boolean.pure({bool? defaultValue = false}) - : super.pure(defaultValue ?? false); - - /// {@macro boolean} - const Boolean.dirty({bool value = false}) : super.dirty(value); - - @override - ValidationError? validator(bool? value) { - return value != null ? null : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/confirmed_password.dart b/packages/wyatt_authentication_bloc/lib/src/models/confirmed_password.dart deleted file mode 100644 index 24cbb6d6..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/confirmed_password.dart +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template confirmed_password} -/// Form input for a confirmed password input. -/// {@endtemplate} -class ConfirmedPassword - extends FormInput { - /// {@macro confirmed_password} - const ConfirmedPassword.pure({this.password = ''}) : super.pure(''); - - /// {@macro confirmed_password} - const ConfirmedPassword.dirty({required this.password, String value = ''}) - : super.dirty(value); - - /// The original password. - final String password; - - @override - ValidationError? validator(String? value) { - return password == value ? null : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/email.dart b/packages/wyatt_authentication_bloc/lib/src/models/email.dart deleted file mode 100644 index aa9ae10d..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/email.dart +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template email} -/// Form input for an email input. -/// {@endtemplate} -class Email extends FormInput { - /// {@macro email} - const Email.pure() : super.pure(''); - - /// {@macro email} - const Email.dirty([String value = '']) : super.dirty(value); - - static final RegExp _emailRegExp = RegExp( - r'^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$', - ); - - @override - ValidationError? validator(String? value) { - return _emailRegExp.hasMatch(value ?? '') - ? null - : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/iban.dart b/packages/wyatt_authentication_bloc/lib/src/models/iban.dart deleted file mode 100644 index cdca734b..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/iban.dart +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template iban} -/// Form input for an IBAN input. -/// {@endtemplate} -class Iban extends FormInput { - /// {@macro iban} - const Iban.pure() : super.pure(''); - - /// {@macro iban} - const Iban.dirty([String value = '']) : super.dirty(value); - - static final RegExp _regExp = RegExp( - r'^(?:((?:IT|SM)\d{2}[A-Z]{1}\d{22})|(NL\d{2}[A-Z]{4}\d{10})|(LV\d{2}[A-Z]{4}\d{13})|((?:BG|GB|IE)\d{2}[A-Z]{4}\d{14})|(GI\d{2}[A-Z]{4}\d{15})|(RO\d{2}[A-Z]{4}\d{16})|(MT\d{2}[A-Z]{4}\d{23})|(NO\d{13})|((?:DK|FI)\d{16})|((?:SI)\d{17})|((?:AT|EE|LU|LT)\d{18})|((?:HR|LI|CH)\d{19})|((?:DE|VA)\d{20})|((?:AD|CZ|ES|MD|SK|SE)\d{22})|(PT\d{23})|((?:IS)\d{24})|((?:BE)\d{14})|((?:FR|MC|GR)\d{25})|((?:PL|HU|CY)\d{26}))$', - ); - - @override - ValidationError? validator(String? value) { - return _regExp.hasMatch(value ?? '') ? null : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/models.dart b/packages/wyatt_authentication_bloc/lib/src/models/models.dart index 310b85d7..1bd2db89 100644 --- a/packages/wyatt_authentication_bloc/lib/src/models/models.dart +++ b/packages/wyatt_authentication_bloc/lib/src/models/models.dart @@ -14,16 +14,5 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -export 'boolean.dart'; -export 'confirmed_password.dart'; -export 'email.dart'; export 'exceptions/exceptions.dart'; -export 'iban.dart'; -export 'name.dart'; -export 'operations.dart'; -export 'password.dart'; -export 'phone.dart'; -export 'siren.dart'; -export 'text_string.dart'; export 'user/user.dart'; -export 'validation_error.dart'; diff --git a/packages/wyatt_authentication_bloc/lib/src/models/name.dart b/packages/wyatt_authentication_bloc/lib/src/models/name.dart deleted file mode 100644 index 727ef6c9..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/name.dart +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template name} -/// Form input for a name input. -/// {@endtemplate} -class Name extends FormInput { - /// {@macro name} - const Name.pure() : super.pure(''); - - /// {@macro name} - const Name.dirty([String value = '']) : super.dirty(value); - - static final RegExp _nameRegExp = RegExp(r"^([ \u00c0-\u01ffa-zA-Z'\-])+$"); - - @override - ValidationError? validator(String? value) { - return _nameRegExp.hasMatch(value ?? '') ? null : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/operations.dart b/packages/wyatt_authentication_bloc/lib/src/models/operations.dart deleted file mode 100644 index 09658a52..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/operations.dart +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -enum SetOperation { replace, intersection, difference, union } diff --git a/packages/wyatt_authentication_bloc/lib/src/models/password.dart b/packages/wyatt_authentication_bloc/lib/src/models/password.dart deleted file mode 100644 index a79b4a87..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/password.dart +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template password} -/// Form input for a password input. -/// {@endtemplate} -class Password extends FormInput { - /// {@macro password} - const Password.pure() : super.pure(''); - - /// {@macro password} - const Password.dirty([String value = '']) : super.dirty(value); - - static final RegExp _passwordRegExp = - RegExp(r'^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$'); - - @override - ValidationError? validator(String? value) { - return _passwordRegExp.hasMatch(value ?? '') - ? null - : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/phone.dart b/packages/wyatt_authentication_bloc/lib/src/models/phone.dart deleted file mode 100644 index ebd81d8c..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/phone.dart +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template phone} -/// Form input for a phone input. -/// {@endtemplate} -class Phone extends FormInput { - /// {@macro phone} - const Phone.pure() : super.pure(''); - - /// {@macro phone} - const Phone.dirty([String value = '']) : super.dirty(value); - - static final RegExp _phoneRegExp = - RegExp(r'^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$'); - - @override - ValidationError? validator(String? value) { - return _phoneRegExp.hasMatch(value ?? '') ? null : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/siren.dart b/packages/wyatt_authentication_bloc/lib/src/models/siren.dart deleted file mode 100644 index 8e67335b..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/siren.dart +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template siren} -/// Form input for a SIREN input. -/// {@endtemplate} -class Siren extends FormInput { - /// {@macro siren} - const Siren.pure() : super.pure(''); - - /// {@macro siren} - const Siren.dirty([String value = '']) : super.dirty(value); - - static final RegExp _regExp = RegExp(r'(\d{9}|\d{3}[ ]\d{3}[ ]\d{3})$'); - - @override - ValidationError? validator(String? value) { - return _regExp.hasMatch(value ?? '') ? null : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/text_string.dart b/packages/wyatt_authentication_bloc/lib/src/models/text_string.dart deleted file mode 100644 index c461ce9a..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/text_string.dart +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; - -/// {@template text_string} -/// Form input for a text input -/// {@endtemplate} -class TextString extends FormInput { - /// {@macro text_string} - const TextString.pure() : super.pure(''); - - /// {@macro text_string} - const TextString.dirty([String value = '']) : super.dirty(value); - - @override - ValidationError? validator(String? value) { - return (value?.isNotEmpty ?? false) - ? null - : ValidationError.invalid; - } -} diff --git a/packages/wyatt_authentication_bloc/lib/src/models/validation_error.dart b/packages/wyatt_authentication_bloc/lib/src/models/validation_error.dart deleted file mode 100644 index d5ae6088..00000000 --- a/packages/wyatt_authentication_bloc/lib/src/models/validation_error.dart +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -enum ValidationError { - /// Generic invalid error. - invalid -} diff --git a/packages/wyatt_authentication_bloc/lib/src/password_reset/cubit/password_reset_cubit.dart b/packages/wyatt_authentication_bloc/lib/src/password_reset/cubit/password_reset_cubit.dart index 179adb31..b71935d0 100644 --- a/packages/wyatt_authentication_bloc/lib/src/password_reset/cubit/password_reset_cubit.dart +++ b/packages/wyatt_authentication_bloc/lib/src/password_reset/cubit/password_reset_cubit.dart @@ -16,11 +16,9 @@ import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_status.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_validator.dart'; -import 'package:wyatt_authentication_bloc/src/models/email.dart'; import 'package:wyatt_authentication_bloc/src/models/exceptions/exceptions_interface.dart'; import 'package:wyatt_authentication_bloc/src/repositories/authentication_repository_interface.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; part 'password_reset_state.dart'; @@ -35,7 +33,7 @@ class PasswordResetCubit extends Cubit { emit( state.copyWith( email: email, - status: FormValidator.validate([email]), + status: FormData.validate([email]), ), ); } diff --git a/packages/wyatt_authentication_bloc/lib/src/sign_in/cubit/sign_in_cubit.dart b/packages/wyatt_authentication_bloc/lib/src/sign_in/cubit/sign_in_cubit.dart index 93d649f0..b357d347 100644 --- a/packages/wyatt_authentication_bloc/lib/src/sign_in/cubit/sign_in_cubit.dart +++ b/packages/wyatt_authentication_bloc/lib/src/sign_in/cubit/sign_in_cubit.dart @@ -17,12 +17,9 @@ import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:wyatt_authentication_bloc/src/authentication/cubit/authentication_cubit.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_status.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_validator.dart'; -import 'package:wyatt_authentication_bloc/src/models/email.dart'; import 'package:wyatt_authentication_bloc/src/models/exceptions/exceptions_interface.dart'; -import 'package:wyatt_authentication_bloc/src/models/password.dart'; import 'package:wyatt_authentication_bloc/src/repositories/authentication_repository_interface.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; part 'sign_in_state.dart'; @@ -42,7 +39,7 @@ class SignInCubit extends Cubit { emit( state.copyWith( email: email, - status: FormValidator.validate([email, state.password]), + status: FormData.validate([email, state.password]), ), ); } @@ -52,13 +49,12 @@ class SignInCubit extends Cubit { emit( state.copyWith( password: password, - status: FormValidator.validate([state.email, password]), + status: FormData.validate([state.email, password]), ), ); } Future signInAnonymously() async { - // TODO(hpcl): Maybe check this in UI. if (state.status.isSubmissionInProgress) { return; } diff --git a/packages/wyatt_authentication_bloc/lib/src/sign_up/cubit/sign_up_cubit.dart b/packages/wyatt_authentication_bloc/lib/src/sign_up/cubit/sign_up_cubit.dart index 27a20cb1..ed08bcc4 100644 --- a/packages/wyatt_authentication_bloc/lib/src/sign_up/cubit/sign_up_cubit.dart +++ b/packages/wyatt_authentication_bloc/lib/src/sign_up/cubit/sign_up_cubit.dart @@ -19,16 +19,9 @@ import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:flutter/foundation.dart'; import 'package:wyatt_authentication_bloc/src/authentication/cubit/authentication_cubit.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_data.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_input.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_status.dart'; -import 'package:wyatt_authentication_bloc/src/form/form_validator.dart'; -import 'package:wyatt_authentication_bloc/src/models/email.dart'; import 'package:wyatt_authentication_bloc/src/models/exceptions/exceptions_interface.dart'; -import 'package:wyatt_authentication_bloc/src/models/operations.dart'; -import 'package:wyatt_authentication_bloc/src/models/password.dart'; -import 'package:wyatt_authentication_bloc/src/models/validation_error.dart'; import 'package:wyatt_authentication_bloc/src/repositories/authentication_repository_interface.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; part 'sign_up_state.dart'; @@ -60,7 +53,7 @@ class SignUpCubit extends Cubit { emit( state.copyWith( email: email, - status: FormValidator.validate(inputsToValidate), + status: FormData.validate(inputsToValidate), ), ); } @@ -77,11 +70,12 @@ class SignUpCubit extends Cubit { emit( state.copyWith( password: password, - status: FormValidator.validate(inputsToValidate), + status: FormData.validate(inputsToValidate), ), ); } + // Take from wyatt_form_bloc/wyatt_form_bloc.dart void dataChanged(String field, FormInput dirtyValue) { final _form = state.data.clone(); @@ -94,13 +88,14 @@ class SignUpCubit extends Cubit { emit( state.copyWith( data: _form, - status: FormValidator.validate( + status: FormData.validate( [state.email, state.password, ..._form.inputs()], ), ), ); } + // Take from wyatt_form_bloc/wyatt_form_bloc.dart void updateFormData( FormData data, { SetOperation operation = SetOperation.replace, @@ -125,7 +120,7 @@ class SignUpCubit extends Cubit { emit( state.copyWith( data: _form, - status: FormValidator.validate( + status: FormData.validate( [state.email, state.password, ..._form.inputs()], ), ), diff --git a/packages/wyatt_authentication_bloc/lib/src/src.dart b/packages/wyatt_authentication_bloc/lib/src/src.dart index e3025da1..6b879865 100644 --- a/packages/wyatt_authentication_bloc/lib/src/src.dart +++ b/packages/wyatt_authentication_bloc/lib/src/src.dart @@ -16,7 +16,6 @@ export 'authentication/authentication.dart'; export 'email_verification/email_verification.dart'; -export 'form/form.dart'; export 'models/models.dart'; export 'password_reset/password_reset.dart'; export 'repositories/repositories.dart'; diff --git a/packages/wyatt_authentication_bloc/pubspec.yaml b/packages/wyatt_authentication_bloc/pubspec.yaml index 4fd91941..484ff8cb 100644 --- a/packages/wyatt_authentication_bloc/pubspec.yaml +++ b/packages/wyatt_authentication_bloc/pubspec.yaml @@ -3,6 +3,8 @@ description: Authentication BLoC for Flutter repository: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_authentication_bloc version: 0.2.0-dev.0 +publish_to: none + environment: sdk: ">=2.15.1 <3.0.0" flutter: ">=1.17.0" @@ -15,6 +17,13 @@ dependencies: equatable: ^2.0.3 firebase_auth: ^3.3.14 + wyatt_form_bloc: + git: + url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages + ref: wyatt_form_bloc-v0.0.1-dev.0 + path: packages/wyatt_form_bloc + + dev_dependencies: flutter_test: sdk: flutter diff --git a/packages/wyatt_authentication_bloc/test/authentication/authentication_cubit_test.dart b/packages/wyatt_authentication_bloc/test/authentication/authentication_cubit_test.dart index 58fc9402..3b743aaf 100644 --- a/packages/wyatt_authentication_bloc/test/authentication/authentication_cubit_test.dart +++ b/packages/wyatt_authentication_bloc/test/authentication/authentication_cubit_test.dart @@ -15,9 +15,9 @@ // along with this program. If not, see . import 'package:bloc_test/bloc_test.dart'; -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; class MockAuthenticationRepository extends Mock implements AuthenticationRepositoryInterface {} diff --git a/packages/wyatt_authentication_bloc/test/authentication/authentication_state_test.dart b/packages/wyatt_authentication_bloc/test/authentication/authentication_state_test.dart index b9e8072f..69279523 100644 --- a/packages/wyatt_authentication_bloc/test/authentication/authentication_state_test.dart +++ b/packages/wyatt_authentication_bloc/test/authentication/authentication_state_test.dart @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; class MockUser extends Mock implements UserInterface {} diff --git a/packages/wyatt_authentication_bloc/test/sign_in/sign_in_cubit_test.dart b/packages/wyatt_authentication_bloc/test/sign_in/sign_in_cubit_test.dart index 98b7c155..c3c0757e 100644 --- a/packages/wyatt_authentication_bloc/test/sign_in/sign_in_cubit_test.dart +++ b/packages/wyatt_authentication_bloc/test/sign_in/sign_in_cubit_test.dart @@ -15,9 +15,10 @@ // along with this program. If not, see . import 'package:bloc_test/bloc_test.dart'; -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; class MockAuthenticationRepository extends Mock implements AuthenticationRepositoryInterface {} diff --git a/packages/wyatt_authentication_bloc/test/sign_in/sign_in_state_test.dart b/packages/wyatt_authentication_bloc/test/sign_in/sign_in_state_test.dart index f2a0cb0d..c7d0f892 100644 --- a/packages/wyatt_authentication_bloc/test/sign_in/sign_in_state_test.dart +++ b/packages/wyatt_authentication_bloc/test/sign_in/sign_in_state_test.dart @@ -14,8 +14,9 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; void main() { const Email email = Email.dirty('email'); diff --git a/packages/wyatt_authentication_bloc/test/sign_up/sign_up_cubit_test.dart b/packages/wyatt_authentication_bloc/test/sign_up/sign_up_cubit_test.dart index d7ee457f..f34fc404 100644 --- a/packages/wyatt_authentication_bloc/test/sign_up/sign_up_cubit_test.dart +++ b/packages/wyatt_authentication_bloc/test/sign_up/sign_up_cubit_test.dart @@ -15,9 +15,10 @@ // along with this program. If not, see . import 'package:bloc_test/bloc_test.dart'; -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; class MockAuthenticationRepository extends Mock implements AuthenticationRepositoryInterface {} diff --git a/packages/wyatt_authentication_bloc/test/sign_up/sign_up_state_test.dart b/packages/wyatt_authentication_bloc/test/sign_up/sign_up_state_test.dart index e4d00c8a..fe3af1e3 100644 --- a/packages/wyatt_authentication_bloc/test/sign_up/sign_up_state_test.dart +++ b/packages/wyatt_authentication_bloc/test/sign_up/sign_up_state_test.dart @@ -14,8 +14,9 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; +import 'package:wyatt_form_bloc/wyatt_form_bloc.dart'; void main() { const Email email = Email.dirty('email');