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
-[](https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt_analysis)
+
+
+
+
+
+
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');