From 83b2755f32822b6c77b4843ec154f87829fc7b12 Mon Sep 17 00:00:00 2001 From: delanierlucas Date: Mon, 31 Oct 2022 17:48:28 +0100 Subject: [PATCH] manage error sign up --- .idea/Daflv4.iml | 18 + .idea/libraries/Dart_Packages.xml | 428 ------------------ .idea/libraries/Dart_SDK.xml | 38 +- .../assets/images/EmptyDiscovery-Hint.png | Bin 0 -> 16832 bytes .../assets/images/backgroundNotify.png | Bin 0 -> 9369 bytes .../assets/images/errorNotify.png | Bin 0 -> 2309 bytes .../assets/images/error_animation.riv | Bin 0 -> 637 bytes .../assets/images/error_icon.riv | Bin 0 -> 624 bytes .../ios/Flutter/Debug.xcconfig | 1 + .../ios/Flutter/Release.xcconfig | 1 + .../ios/Runner.xcodeproj/project.pbxproj | 74 ++- .../contents.xcworkspacedata | 3 + .../ios/Runner/Base.lproj/Main.storyboard | 13 +- Sources/dafl_project_flutter/lib/main.dart | 148 ++++-- .../lib/views/pages/main/w_card.dart | 15 +- .../lib/views/pages/main/w_discovery.dart | 11 +- .../lib/views/pages/main/w_spot.dart | 18 +- .../lib/views/pages/sign_up/p_sign_up.dart | 43 +- 18 files changed, 283 insertions(+), 528 deletions(-) delete mode 100644 .idea/libraries/Dart_Packages.xml create mode 100644 Sources/dafl_project_flutter/assets/images/EmptyDiscovery-Hint.png create mode 100644 Sources/dafl_project_flutter/assets/images/backgroundNotify.png create mode 100644 Sources/dafl_project_flutter/assets/images/errorNotify.png create mode 100644 Sources/dafl_project_flutter/assets/images/error_animation.riv create mode 100644 Sources/dafl_project_flutter/assets/images/error_icon.riv diff --git a/.idea/Daflv4.iml b/.idea/Daflv4.iml index 23209a3..8422991 100644 --- a/.idea/Daflv4.iml +++ b/.idea/Daflv4.iml @@ -6,6 +6,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml deleted file mode 100644 index 0fa6055..0000000 --- a/.idea/libraries/Dart_Packages.xml +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Dart_SDK.xml b/.idea/libraries/Dart_SDK.xml index 6ae284f..b6e6985 100644 --- a/.idea/libraries/Dart_SDK.xml +++ b/.idea/libraries/Dart_SDK.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Sources/dafl_project_flutter/assets/images/EmptyDiscovery-Hint.png b/Sources/dafl_project_flutter/assets/images/EmptyDiscovery-Hint.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf47a23bb87f6aaa512f414d0b3a555bccc9fc3 GIT binary patch literal 16832 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⋖U|< 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 Yj>RgM-ZfSL4_sjIboFyt=akR{04C|6`~Uy| literal 0 HcmV?d00001 diff --git a/Sources/dafl_project_flutter/assets/images/backgroundNotify.png b/Sources/dafl_project_flutter/assets/images/backgroundNotify.png new file mode 100644 index 0000000000000000000000000000000000000000..40afbecfb0137eefe2aa3222d62bfbd9820c7a18 GIT binary patch literal 9369 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 TLVcbw00000NkvXXu0mjf;j|O7 literal 0 HcmV?d00001 diff --git a/Sources/dafl_project_flutter/assets/images/errorNotify.png b/Sources/dafl_project_flutter/assets/images/errorNotify.png new file mode 100644 index 0000000000000000000000000000000000000000..b8d9a71aa7d8524584e0273e4659366d5f8f5484 GIT binary patch literal 2309 zcmV+g3HtVlP)xrz)==r zkOPKt61{ZQ7;4+dcrZbwW-%ct+jhqH+3nC}-EHUNdETAvzQ2U9?RGoO{N{Pz=lz&x z0E5AhJW?=dBa3v`emwt4H(q?WfWPm985;&I45D|qgq^eMWv&B{90>3X45A!IZ^nZ+ z=E2R-*A}dqJe(o~FfxUpCUpfn#$32(s=u$q-i8oHrU1uraC8M;&I7t?-?L%QKnM#4 zHmFH;;ayPimu~bk*D)`4&P`-8kVS7=MdAf_y3J|2_`%H=sptEZgNUJM9UHiToNIUeux@w&~<{ZRi zW2oU}5RRhiFLy(bmWs?lyxM1BHKP)YLn<27Yotr%=FM&R8ULM9`SU&WQbmX5sL$S3 zeOTdZ%*`MGjfNV*vBZWXPmX{DQ|XgBvliT=^ktBKDGHRBs6qX72U0WjqE}r6W9mem ziF14p*4c0H>m&q8q)fjlQ>UO$N?;>4#IEF5(b>1vP$M`y4qwMF?a^oYnPJ=r;6nW! zMaI9wQT^pU2-EaFb0fV6^+ka*Luq&~DCN$IvrG&1!p!)Yo4UqB5y}R9Wg2+LwZ^{*n-rSxIz|Lwh4S<5P=>Oe3;_C%k@H z3%g932!Ih;W+zHB&$$Z15CTM!SpqU9Dx)J6oe`T^xu&8Wpy;HjPcRc&<~!)gnyBQU zGz?}!ZyQm|Iz!OFuC8a19Ua1v?3?AUe=E%4^7wiD>HGms=s2%sUN67CSGddm`x|4? zd5n19N`v1R=7%f85%(T6aDFzA{e7=I^}R>MfAMMmhf3^Sa6lK!d%2IxLVYghzQiSU z(ddACm=da)tt3A33=E(ApGbmE`WLq@)_pH5?~k3vN0XmFC6XYyN3sLZfm??)B7l}N(xLp9LFnbiiCnMJp@ z+v|S1{r#3d6Gdnck%Yb^hysLe9_Asi%oW%fXyV%BbUE4CiZDWhiX?7Me+6Br)s#bE zBCt$#(4)`B?!=t?5yPwu;CKC6L=U6q&0?HN9Yj#7R$rNJ1r-`ua=@ZqsEFoF_jiBG-8t3v2+nW!l1({~Hl?^@D3YR2qx% zyoT6mpkHR(Wvo^Z%Gu%tmPze8mAZx|xYi?+E|l}xV4-%jAH%_0I!cU6EG&mv52Zaw zrw?bfO#5*@8!YT}o_P5%nr@TWArR(g>2L7wagl`k*LV}&MJy_bSR1-J zu#(d`U)$=qu=^oMESa^RA_n_x3oWLBD6%QUz38JB+6v=7^JP3G~y>A~KIpg9GD&y8)kM0j$5vaw|E~KVV6lPVkzIoLdznX zv2k2PCefxsn@u*oGy+)i`oKhXkNaCP9nZDR>uj?7h{1W5XWN^*F^Kh&Qv<(6X5ti%!$z zg1U;RAMHd-;+>5ik3oEU}bXj$(L#pqqHC9WBvK=)ND|BG3m`_Oc6obKFFc=I5gTY`h f7z_r3Asqh!$G_}rcGam;00000NkvXXu0mjfv@tq1 literal 0 HcmV?d00001 diff --git a/Sources/dafl_project_flutter/assets/images/error_animation.riv b/Sources/dafl_project_flutter/assets/images/error_animation.riv new file mode 100644 index 0000000000000000000000000000000000000000..8e33a84b7df71edbd482eba177e02dbd0157ef70 GIT binary patch literal 637 zcmbV{J8v366ot>MX99wd00wLjB1^HUBH@Qn`~a58@(_{>oFYn#c?4v{k_9VGEV)RP z(uFNs{t^BIE|6QNPkuqlh$bz*!^4G@G@jz_z301U=Ir~*hoTF2e>qmbxLZ2I1H0xl zT)>&-Rs|aOTkU53P_NYOo?dqBqrQL-h*&RF!4elm$FUv3;OD$r8@7c8!9A+et9GY1 z6ichXwTx03{fmqgk^gl+dvMD~?kSnNM+l05F`J|^N3M2&q1wz_=z(28kCRo z=f!Tf(;qbTX-;nl(5$d3J*+JVA&H%kI*Tc@Yx8>SEMVfG*eAI@ literal 0 HcmV?d00001 diff --git a/Sources/dafl_project_flutter/assets/images/error_icon.riv b/Sources/dafl_project_flutter/assets/images/error_icon.riv new file mode 100644 index 0000000000000000000000000000000000000000..333956080c19ce46004911986ca0ae26a4d63dbf GIT binary patch literal 624 zcmbVIO)o=16g~6I(6p+h_3@?L1(dab*$L)r6Ds#)ARD^?IGD>Bh?u*bv8PfkaMrMU+nNSub1t^*%zL`LM6$d z#~B8vf*7(wX)UAj2<7hV^V8}Afhht#*_-QYlYm7alr5D?3aqK|tnx|vZX*7#*W+H= pQKud1?l9$CntiU;<9=#I5lypA_xJR8fQZ=FZ13lk@~H%d#0M@7hOqzu literal 0 HcmV?d00001 diff --git a/Sources/dafl_project_flutter/ios/Flutter/Debug.xcconfig b/Sources/dafl_project_flutter/ios/Flutter/Debug.xcconfig index 592ceee..ec97fc6 100644 --- a/Sources/dafl_project_flutter/ios/Flutter/Debug.xcconfig +++ b/Sources/dafl_project_flutter/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/Sources/dafl_project_flutter/ios/Flutter/Release.xcconfig b/Sources/dafl_project_flutter/ios/Flutter/Release.xcconfig index 592ceee..c4855bf 100644 --- a/Sources/dafl_project_flutter/ios/Flutter/Release.xcconfig +++ b/Sources/dafl_project_flutter/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/Sources/dafl_project_flutter/ios/Runner.xcodeproj/project.pbxproj b/Sources/dafl_project_flutter/ios/Runner.xcodeproj/project.pbxproj index 15a0b3c..f5ff825 100644 --- a/Sources/dafl_project_flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/Sources/dafl_project_flutter/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 51; objects = { /* Begin PBXBuildFile section */ @@ -13,6 +13,7 @@ 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 */; }; + E76CD34C5058671CA86DADD2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 518E0579778547E1FFDB1D6F /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -32,9 +33,12 @@ 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 = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 50D28B6D8131FC6CC457D174 /* 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 = ""; }; + 518E0579778547E1FFDB1D6F /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 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 = ""; }; + 8AA25F503D0EEE87458D8122 /* 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 = ""; }; 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; }; @@ -42,6 +46,7 @@ 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 = ""; }; + EA8989C98BEFB8932D52D9AC /* 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 = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,12 +54,31 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E76CD34C5058671CA86DADD2 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 348100E718184A617AD38880 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 518E0579778547E1FFDB1D6F /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 75FDCE1EC97DCE6250DBCAB6 /* Pods */ = { + isa = PBXGroup; + children = ( + 8AA25F503D0EEE87458D8122 /* Pods-Runner.debug.xcconfig */, + 50D28B6D8131FC6CC457D174 /* Pods-Runner.release.xcconfig */, + EA8989C98BEFB8932D52D9AC /* Pods-Runner.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -72,6 +96,8 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, + 75FDCE1EC97DCE6250DBCAB6 /* Pods */, + 348100E718184A617AD38880 /* Frameworks */, ); sourceTree = ""; }; @@ -105,12 +131,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 6110DAA42AFFA96E9F11FA03 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 17980C60C8E127E41666ABD8 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -169,6 +197,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 17980C60C8E127E41666ABD8 /* [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; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -183,6 +228,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 6110DAA42AFFA96E9F11FA03 /* [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; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -288,6 +355,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 35KQ5BDC64; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -416,6 +484,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 35KQ5BDC64; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -438,6 +507,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 35KQ5BDC64; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -478,4 +548,4 @@ /* End XCConfigurationList section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; -} \ No newline at end of file +} diff --git a/Sources/dafl_project_flutter/ios/Runner.xcworkspace/contents.xcworkspacedata b/Sources/dafl_project_flutter/ios/Runner.xcworkspace/contents.xcworkspacedata index 1d526a1..21a3cc1 100644 --- a/Sources/dafl_project_flutter/ios/Runner.xcworkspace/contents.xcworkspacedata +++ b/Sources/dafl_project_flutter/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/Sources/dafl_project_flutter/ios/Runner/Base.lproj/Main.storyboard b/Sources/dafl_project_flutter/ios/Runner/Base.lproj/Main.storyboard index f3c2851..9d4e2ec 100644 --- a/Sources/dafl_project_flutter/ios/Runner/Base.lproj/Main.storyboard +++ b/Sources/dafl_project_flutter/ios/Runner/Base.lproj/Main.storyboard @@ -1,8 +1,10 @@ - - + + + - + + @@ -14,13 +16,14 @@ - + - + + diff --git a/Sources/dafl_project_flutter/lib/main.dart b/Sources/dafl_project_flutter/lib/main.dart index 28acecc..5a473e3 100644 --- a/Sources/dafl_project_flutter/lib/main.dart +++ b/Sources/dafl_project_flutter/lib/main.dart @@ -8,7 +8,7 @@ import './views/pages/main/p_main.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; -import 'package:rive/rive.dart'; +import 'package:rive/rive.dart' as riv; import '../controller/controller.dart'; import '../model/music.dart'; import 'model/music.dart'; @@ -41,7 +41,7 @@ class MyApp extends StatelessWidget { enum CardStatus { like, disLike, discovery, message} class CardProvider extends ChangeNotifier{ - List _spotsList = []; + List _spotsList = MyApp().controller.currentUser.Spots; bool _isDragging = false; double _angle = 0; Offset _position = Offset.zero; @@ -52,15 +52,8 @@ class CardProvider extends ChangeNotifier{ Offset get position => _position; double get angle => _angle; - CardProvider() { - resetUsers(); - } - void resetUsers() { - _spotsList = MyApp().controller.currentUser.Spots; - notifyListeners(); - } void setScreenSize(Size screenSize) => _screenSize = screenSize; @@ -152,7 +145,6 @@ class CardProvider extends ChangeNotifier{ } } void dislike() { - Vibration.vibrate(duration: 20, amplitude: 60); print("dislike"); _angle = -20; _position -= Offset(2 * _screenSize.width, 0); @@ -162,13 +154,12 @@ class CardProvider extends ChangeNotifier{ } void discovery() { - Vibration.vibrate(duration: 20, amplitude: 60); _angle = 0; _position -= Offset(0, -_screenSize.height); _discovery_card(); print("discovery"); - if(MyApp().controller.currentUser.Discovery.contains(MyApp().controller.currentUser.Spots.last)){ - MyApp().controller.currentUser.Discovery.remove(MyApp().controller.currentUser.Spots.last); + if(MyApp().controller.currentUser.Discovery.contains(MyApp().controller.currentUser.Spots?.last)){ + MyApp().controller.currentUser.Discovery.remove(MyApp().controller.currentUser.Spots?.last); Fluttertoast.showToast( msg: 'Supprimer', toastLength: Toast.LENGTH_SHORT, @@ -179,22 +170,24 @@ class CardProvider extends ChangeNotifier{ ); } else{ - MyApp().controller.currentUser.addDiscovery(MyApp().controller.currentUser.Spots.last); - Fluttertoast.showToast( - msg: 'Ajouté', - toastLength: Toast.LENGTH_SHORT, - gravity: ToastGravity.TOP, - timeInSecForIosWeb: 2, - backgroundColor: Colors.deepPurple, - textColor: Colors.white - ); - notifyListeners(); + if(MyApp().controller.currentUser.Spots?.last != null){ + MyApp().controller.currentUser.addDiscovery(MyApp().controller.currentUser.Spots.last); + Fluttertoast.showToast( + msg: 'Ajouté', + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.TOP, + timeInSecForIosWeb: 2, + backgroundColor: Colors.deepPurple, + textColor: Colors.white + ); + notifyListeners(); + } + } } void message(context) { - Vibration.vibrate(duration: 20, amplitude: 60); print("message"); _angle = 0; _position -= Offset(0, _screenSize.height); @@ -311,7 +304,6 @@ class CardProvider extends ChangeNotifier{ void like(context) { - Vibration.vibrate(duration: 20, amplitude: 60); print("like"); _angle = 20; _position += Offset(2 * _screenSize.width, 0); @@ -321,11 +313,17 @@ class CardProvider extends ChangeNotifier{ } Future _nextCard() async { - if ( _spotsList.isEmpty) return; - - await Future.delayed(Duration(milliseconds: 200)); - _spotsList.removeLast(); - resetPosition(); + print(_spotsList.length); + if (_spotsList.isEmpty) { + print('dernier'); + return; + } + else { + await Future.delayed(Duration(milliseconds: 200)); + print(_spotsList.last.name); + _spotsList.removeLast(); + resetPosition(); + } } Future _discovery_card() async { @@ -378,7 +376,7 @@ class _SplashState extends State { Container( height: 300, width: 300, - child: RiveAnimation.asset('assets/images/new_file (2).riv'), + child: riv.RiveAnimation.asset('assets/images/new_file (2).riv'), ), SizedBox(height: 50), ], @@ -387,3 +385,91 @@ class _SplashState extends State { ); } } + +Object errorNotify(int index, context){ + String message; + switch(index){ + case 0: { + message = "Ce nom d'utilisateur existe déjà ! Veuillez réessayer."; + break; + } + case 1: { + message = "Mots de passe différents ! Veuillez réessayer."; + break; + } + case 2: { + message = "Identifiant incorrect ! Veuillez réessayer."; + break; + } + case 3: { + message = "Mot de passe incorrect ! Votre mot de passe doit contenir 8 caractères minimum."; + break; + } + case 4: { + message = "Mot de passe incorrect ! Veuillez réessayer."; + break; + } + default: + message = "Une erreur est survenue pendant l'inscription. Veuillez réessayer."; + break; + + } + return ScaffoldMessenger.of(context).showSnackBar( SnackBar( + dismissDirection: DismissDirection.down, + behavior: SnackBarBehavior.floating, + backgroundColor: Colors.transparent, + elevation: 0, + content: Stack( + clipBehavior: Clip.none, + children: [ + + Container( + padding: EdgeInsets.all(16), + height: 90, + child: Row( + children: [ + Container( + height: 48, + width: 48, + ), + Expanded(child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text("Oh oh !", style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),), + Text(message,style: TextStyle( + ), + overflow: TextOverflow.ellipsis, + maxLines: 2,), + ], + ),), + ], + ), + decoration: BoxDecoration( + image: DecorationImage( + image: AssetImage("assets/images/backgroundNotify.png"), + fit: BoxFit.cover), + gradient: LinearGradient(colors: [Color(0xFF81052a),Color(0xFF810548)],begin: Alignment.topLeft, end: Alignment.bottomRight), + borderRadius: BorderRadius.all(Radius.circular(20)), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.3), + blurRadius: 10, + offset: Offset(4, 8), // Shadow position + ), + ], + ), + ), + Positioned( + top: -50, + left: -20, + child: Container( + color: Colors.transparent, + height: 110, + width: 110, + child: riv.RiveAnimation.asset("assets/images/error_icon.riv"),)), + ], + ) + )); +} + + diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart index 8009b40..165cea2 100644 --- a/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart +++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart @@ -3,17 +3,6 @@ import 'package:flutter/material.dart'; import '../../../main.dart'; import 'package:provider/provider.dart'; -class User{ - final String chanteur; - final String titre; - final String urlImage; - - const User({ - required this.chanteur, - required this.titre, - required this.urlImage, - }); -} @@ -58,7 +47,7 @@ class _CardWidgetState extends State{ height: double.infinity, width: double.infinity, fit: BoxFit.cover, - placeholder: "assets/images/loadingPlaceholder.gif", image: widget.urlImage), + placeholder: "assets/images/loadingPlaceholder.gif", image: widget.urlImage ), ), ); @@ -152,7 +141,7 @@ class _CardWidgetState extends State{ onPanEnd: (details) { final provider = Provider.of(context, listen: false); - provider.endPosition(this.context); + provider.endPosition(context); }, diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart index 3a08e32..0028281 100644 --- a/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart +++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart @@ -43,8 +43,11 @@ class _DiscoveryWidgetState extends State { ), ), Expanded( - child: DiscoveryList(), - ) + child: MyApp().controller.currentUser.Discovery.isEmpty? + Center(child: Image.asset('assets/images/EmptyDiscovery-Hint.png',scale: 1.8,)): + DiscoveryList(), + ), + ], ),), ); @@ -62,7 +65,6 @@ class _DiscoveryListState extends State { late GlobalKey refreshKey; @override void initState() { - print('testttt'); refreshKey = GlobalKey(); refreshList(); super.initState(); @@ -72,7 +74,6 @@ class _DiscoveryListState extends State { await Future.delayed(Duration(seconds: 1)); setState(() { MyApp().controller.currentUser.Discovery; - print('test'); }); return null; } @@ -110,7 +111,7 @@ class _DiscoveryListState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ Text(MyApp().controller.currentUser.Discovery[reversedIndex].name ?? '',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 20, fontWeight: FontWeight.w800),), - Text('Laylow',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(0.6) ,fontSize: 16, fontWeight: FontWeight.w400),), + Text(MyApp().controller.currentUser.Discovery[reversedIndex].artist ?? '',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(0.6) ,fontSize: 16, fontWeight: FontWeight.w400),), ], ),), diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart index 92cebf1..fcfcdd0 100644 --- a/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart +++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart @@ -20,11 +20,6 @@ class SpotsWidget extends StatefulWidget { class _SpotsWidgetState extends State { - final user = User( - chanteur: 'Khali', - titre: 'COULEURS', - urlImage: 'https://khaligidilit.com/assets/images/cover-LAI%CC%88LA-Khali.jpeg', - ); @override Widget build(BuildContext context) { double height = MediaQuery.of(context).size.height; @@ -41,9 +36,7 @@ class _SpotsWidgetState extends State { child: Container( decoration: BoxDecoration( image: DecorationImage( - image: NetworkImage(provider.spotsList.isEmpty != true - ?provider.spotsList.last.linkCover - :"https://i.imgur.com/Uovh293.png"), + image: NetworkImage(MyApp().controller.currentUser.Spots.isEmpty? "https://i.imgur.com/Uovh293.png":MyApp().controller.currentUser.Spots.last.linkCover), fit: BoxFit.cover, ), @@ -55,7 +48,7 @@ class _SpotsWidgetState extends State { ),), Align( alignment: FractionalOffset.bottomCenter, - child: OpenContainer( + child: MyApp().controller.currentUser.Spots.isEmpty? Container():OpenContainer( closedColor: Colors.transparent, closedElevation: 0, @@ -78,7 +71,7 @@ class _SpotsWidgetState extends State { Positioned( top: height*0.68, width: width, - child: Row( + child: MyApp().controller.currentUser.Spots.isEmpty? Container():Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ GestureDetector( @@ -158,8 +151,9 @@ class _SpotsWidgetState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(MyApp().controller.currentUser.Spots.last.name ?? '',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 20, fontWeight: FontWeight.w800),), - Text(MyApp().controller.currentUser.Spots.last.artist ?? '',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 17, fontWeight: FontWeight.w200),), + Text(MyApp().controller.currentUser.Spots.isEmpty? '': + MyApp().controller.currentUser.Spots.last.name,style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 20, fontWeight: FontWeight.w800),), + Text(MyApp().controller.currentUser.Spots.isEmpty? '': MyApp().controller.currentUser.Spots.last.artist,style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 17, fontWeight: FontWeight.w200),), ], ),), ], diff --git a/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart b/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart index 152a11b..4c53ccf 100644 --- a/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart +++ b/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart @@ -1,6 +1,7 @@ import 'package:dafl_project_flutter/main.dart'; import 'package:flutter/material.dart'; import 'package:page_transition/page_transition.dart'; +import 'package:rive/rive.dart' as riv; import '../home/p_home.dart'; import '../sign_in/p_sign_in.dart'; import '../../../controller/controller.dart'; @@ -237,19 +238,7 @@ class _SignUpPageState extends State { highlightColor: Colors.grey.shade100, splashColor: Color(0xFF406DE1), onTap: (){ - if(passwordConfirmTextField.text == passwordTextField.text && userNameTextField.text != null){ - MyApp().controller.createUser(userNameTextField.text, passwordConfirmTextField.text); - Navigator.of(context).push( - PageTransition( - duration: Duration(milliseconds: 300), - reverseDuration: Duration(milliseconds: 300), - type: PageTransitionType.leftToRightJoined, - childCurrent: widget, - child: HomePage()),); - } - else{ - print('Null'); - } + checkInformations(userNameTextField.text, passwordTextField.text, passwordConfirmTextField.text); }, child:Ink( @@ -307,4 +296,32 @@ class _SignUpPageState extends State { ), ); } + + void checkInformations(String username,String password, String confirmPassword){ + if(username ==""){ + errorNotify(2, context); + } + else if(password =="" || confirmPassword == ""){ + errorNotify(4, context); + } + else if(password.length <8){ + errorNotify(2, context); + } + else if(password != confirmPassword){ + errorNotify(1, context); + } + else{ + MyApp().controller.createUser(userNameTextField.text, passwordConfirmTextField.text); + Navigator.of(context).push( + PageTransition( + duration: Duration(milliseconds: 300), + reverseDuration: Duration(milliseconds: 300), + type: PageTransitionType.leftToRightJoined, + childCurrent: widget, + child: HomePage()),); + + } + + } + }