From be5f916ae34a74ec75535b2b73ff43e88cfa91e5 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Wed, 17 Feb 2021 18:41:02 +0200 Subject: [PATCH 01/12] Init login UI --- .gitignore | 46 ++ .metadata | 10 + android/.gitignore | 11 + android/app/build.gradle | 59 +++ android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 41 ++ .../com/example/googreen/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle | 31 ++ android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 6 + android/settings.gradle | 11 + assets/images/apple.png | Bin 0 -> 7437 bytes assets/images/facebook.png | Bin 0 -> 6206 bytes assets/images/google.png | Bin 0 -> 6388 bytes assets/images/icon_eye_close.png | Bin 0 -> 5545 bytes assets/images/icon_eye_open.png | Bin 0 -> 4116 bytes assets/images/icon_password.png | Bin 0 -> 2760 bytes assets/images/icon_user.png | Bin 0 -> 2799 bytes assets/images/user_password.png | Bin 0 -> 9876 bytes assets/logo.png | Bin 0 -> 100927 bytes assets/logo_footer.png | Bin 0 -> 5424 bytes assets/logo_head.png | Bin 0 -> 100927 bytes integration_test/app_test.dart | 36 ++ integration_test/driver.dart | 8 + ios/.gitignore | 32 ++ ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Runner.xcodeproj/project.pbxproj | 471 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 91 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 45 ++ ios/Runner/Runner-Bridging-Header.h | 1 + lib/login.dart | 11 + lib/main.dart | 140 ++++++ lib/src/config/language.dart | 33 ++ lib/src/service/sign_up_model.dart | 15 + lib/src/service/type_login.dart | 13 + lib/src/widget/footer_login.dart | 48 ++ lib/src/widget/login_fresh.dart | 245 +++++++++ lib/src/widget/login_loading.dart | 57 +++ lib/src/widget/login_reset_password.dart | 223 +++++++++ lib/src/widget/login_sign_up.dart | 355 +++++++++++++ lib/src/widget/login_user_password.dart | 373 ++++++++++++++ pubspec.lock | 385 ++++++++++++++ pubspec.yaml | 24 + test/widget_test.dart | 30 ++ 86 files changed, 3234 insertions(+) create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/kotlin/com/example/googreen/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle create mode 100644 assets/images/apple.png create mode 100644 assets/images/facebook.png create mode 100644 assets/images/google.png create mode 100644 assets/images/icon_eye_close.png create mode 100644 assets/images/icon_eye_open.png create mode 100644 assets/images/icon_password.png create mode 100644 assets/images/icon_user.png create mode 100644 assets/images/user_password.png create mode 100644 assets/logo.png create mode 100644 assets/logo_footer.png create mode 100644 assets/logo_head.png create mode 100644 integration_test/app_test.dart create mode 100644 integration_test/driver.dart create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 lib/login.dart create mode 100644 lib/main.dart create mode 100644 lib/src/config/language.dart create mode 100644 lib/src/service/sign_up_model.dart create mode 100644 lib/src/service/type_login.dart create mode 100644 lib/src/widget/footer_login.dart create mode 100644 lib/src/widget/login_fresh.dart create mode 100644 lib/src/widget/login_loading.dart create mode 100644 lib/src/widget/login_reset_password.dart create mode 100644 lib/src/widget/login_sign_up.dart create mode 100644 lib/src/widget/login_user_password.dart create mode 100644 pubspec.lock create mode 100644 pubspec.yaml create mode 100644 test/widget_test.dart diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0fa6b67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..13f27ca --- /dev/null +++ b/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: a706cd211240f27be3b61f06d70f958c7a4156fe + channel: dev + +project_type: app diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..0a741cb --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,11 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..3c3a0c0 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,59 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion 30 + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.googreen" + minSdkVersion 16 + targetSdkVersion 30 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..1fe1ba8 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..c6fdf03 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/kotlin/com/example/googreen/MainActivity.kt b/android/app/src/main/kotlin/com/example/googreen/MainActivity.kt new file mode 100644 index 0000000..453600c --- /dev/null +++ b/android/app/src/main/kotlin/com/example/googreen/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.googreen + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..449a9f9 --- /dev/null +++ b/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..d74aa35 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..1fe1ba8 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..c505a86 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.3.50' + repositories { + google() + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:4.1.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..bc6a58a --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jun 23 08:50:38 CEST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/assets/images/apple.png b/assets/images/apple.png new file mode 100644 index 0000000000000000000000000000000000000000..5e003f39d58d071737ee8df1221096863d0659f1 GIT binary patch literal 7437 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 cIxsLTFf}?bFokG@eE5J(b7#`7Bw7 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 V4a{3vem@xiR20M#HR literal 0 HcmV?d00001 diff --git a/assets/images/icon_eye_close.png b/assets/images/icon_eye_close.png new file mode 100644 index 0000000000000000000000000000000000000000..824b9292fc32d5c97a7f833a2380b5bc2c06553a GIT binary patch literal 5545 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 literal 0 HcmV?d00001 diff --git a/assets/images/icon_eye_open.png b/assets/images/icon_eye_open.png new file mode 100644 index 0000000000000000000000000000000000000000..bd9fe76cacb67acae4a4410e11ff6c743e2e2e44 GIT binary patch literal 4116 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 B4H*Cc literal 0 HcmV?d00001 diff --git a/assets/images/user_password.png b/assets/images/user_password.png new file mode 100644 index 0000000000000000000000000000000000000000..a692d1df70720b050ee621b4b255df76cffd8873 GIT binary patch literal 9876 zcmV;FCTrP=P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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

9duZ{EA};Jgdx=5WOhk724!;!~x2>%^J` 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

9duZ{EA};Jgdx=5WOhk724!;!~x2>%^J` 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 run(_testMain); + +void _testMain() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + app.main(); + + // Trigger a frame. + await tester.pumpAndSettle(); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/integration_test/driver.dart b/integration_test/driver.dart new file mode 100644 index 0000000..a03bca0 --- /dev/null +++ b/integration_test/driver.dart @@ -0,0 +1,8 @@ +// This file is provided as a convenience for running integration tests via the +// flutter drive command. +// +// flutter drive --driver integration_test/driver.dart --target integration_test/app_test.dart + +import 'package:integration_test/integration_test_driver.dart'; + +Future main() => integrationDriver(); diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..e96ef60 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,32 @@ +*.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/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/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..9367d48 --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 8.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a4cb77f --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,471 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + 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 */; }; +/* 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 */ + 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 = ""; }; + 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 = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 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 */, + ); + 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 = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + 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 = 1020; + 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"; + }; +/* 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.googreen; + 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_OPTIMIZATION_LEVEL = "-Owholemodule"; + 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.googreen; + 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.googreen; + 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/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..a28140c --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +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/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "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/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f091b6b0bca859a3f474b03065bef75ba58a9e4c GIT binary patch literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ef06e7edb86cdfe0d15b4b0d98334a86163658 GIT binary patch literal 1716 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f9ed8f5cee1c98386d13b17e89f719e83555b2 GIT binary patch literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2d164a5a98e212cca15ea7bf2ab5de5108680 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d GIT binary patch literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# 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/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..0d69603 --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + googreen + 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/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/lib/login.dart b/lib/login.dart new file mode 100644 index 0000000..a59afa4 --- /dev/null +++ b/lib/login.dart @@ -0,0 +1,11 @@ +library login; + +export './src/config/language.dart'; +export './src/widget/login_fresh.dart'; +export './src/service/type_login.dart'; +export './src/widget/footer_login.dart'; +export './src/widget/login_user_password.dart'; +export './src/widget/login_loading.dart'; +export './src/widget/login_reset_password.dart'; +export './src/widget/login_sign_up.dart'; +export './src/service/sign_up_model.dart'; \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..db51627 --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,140 @@ +import 'package:flutter/material.dart'; +import 'login.dart'; + +void main() { + runApp(MyApp()); +} + +class MyApp extends StatefulWidget { + //You have to create a list with the type of login's that you are going to import into your application + + @override + _MyAppState createState() => _MyAppState(); +} + +class _MyAppState extends State { + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + primarySwatch: Colors.blue, + visualDensity: VisualDensity.adaptivePlatformDensity, + ), + home: Scaffold(body: buildLoginFresh())); + } + + Login buildLoginFresh() { + List listLogin = [ + LoginTypeLoginModel( + callFunction: (BuildContext _buildContext) { + // develop what they want the facebook to do when the user clicks + }, + logo: TypeLogo.facebook), + LoginTypeLoginModel( + callFunction: (BuildContext _buildContext) { + // develop what they want the Google to do when the user clicks + }, + logo: TypeLogo.google), + LoginTypeLoginModel( + callFunction: (BuildContext _buildContext) { + print("APPLE"); + // develop what they want the Apple to do when the user clicks + }, + logo: TypeLogo.apple), + LoginTypeLoginModel( + callFunction: (BuildContext _buildContext) { + Navigator.of(_buildContext).push(MaterialPageRoute( + builder: (_buildContext) => widgetLoginUserAndPassword(), + )); + }, + logo: TypeLogo.userPassword), + ]; + + return Login( + pathLogo: 'assets/logo.png', + isExploreApp: true, + functionExploreApp: () { + // develop what they want the ExploreApp to do when the user clicks + }, + isFooter: true, + widgetFooter: this.widgetFooter(), + typeLoginModel: listLogin, + isSignUp: true, + widgetSignUp: this.widgetLoginSignUp(), + ); + } + + Widget widgetLoginUserAndPassword() { + return LoginUserAndPassword( + callLogin: (BuildContext _context, Function isRequest, String user, + String password) { + isRequest(true); + + Future.delayed(Duration(seconds: 2), () { + print('-------------- function call----------------'); + print(user); + print(password); + print('-------------- end call ----------------'); + + isRequest(false); + }); + }, + logo: 'assets/logo_head.png', + isFooter: true, + widgetFooter: this.widgetFooter(), + isResetPassword: true, + widgetResetPassword: this.widgetResetPassword(), + isSignUp: true, + signUp: this.widgetLoginSignUp(), + ); + } + + Widget widgetResetPassword() { + return LoginResetPassword( + //logo: 'assets/logo_head.png', + funResetPassword: + (BuildContext _context, Function isRequest, String email) { + isRequest(true); + + Future.delayed(Duration(seconds: 2), () { + print('-------------- function call----------------'); + print(email); + print('-------------- end call ----------------'); + isRequest(false); + }); + }, + isFooter: true, + widgetFooter: this.widgetFooter(), + ); + } + + Widget widgetFooter() { + return LoginFooter( + logo: 'assets/logo_footer.png', + text: 'Built by a group of geeks. ', + funFooterLogin: () { + // develop what they want the footer to do when the user clicks + }, + ); + } + + Widget widgetLoginSignUp() { + return LoginSignUp( + isFooter: true, + widgetFooter: this.widgetFooter(), + logo: 'assets/logo_head.png', + funSignUp: (BuildContext _context, Function isRequest, + SignUpModel signUpModel) { + isRequest(true); + + print(signUpModel.email); + print(signUpModel.password); + print(signUpModel.repeatPassword); + print(signUpModel.surname); + print(signUpModel.name); + + isRequest(false); + }); + } +} diff --git a/lib/src/config/language.dart b/lib/src/config/language.dart new file mode 100644 index 0000000..da032f0 --- /dev/null +++ b/lib/src/config/language.dart @@ -0,0 +1,33 @@ +class LoginFreshWords { + String loginWith; + String login; + String exploreApp; + String notAccount; + String signUp; + String textLoading; + String hintLoginUser; + String hintLoginPassword; + String hintSignUpRepeatPassword; + String hintName; + String hintSurname; + + String recoverPassword; + + String messageRecoverPassword; + + LoginFreshWords( + {this.loginWith = 'Login With', + this.hintName = 'Name', + this.hintSurname = 'Surname', + this.hintSignUpRepeatPassword = 'Repeat Password', + this.hintLoginPassword = 'Password', + this.recoverPassword = 'Recover Password', + this.messageRecoverPassword = + 'To recover the password, enter the email and press send email, you will receive an email so you can update your password. Only available for accounts created by username and password', + this.hintLoginUser = 'Username or email', + this.login = 'Login', + this.exploreApp = 'Explore App', + this.notAccount = 'You do not have an account?', + this.signUp = 'Sign Up', + this.textLoading = 'please wait ...'}); +} diff --git a/lib/src/service/sign_up_model.dart b/lib/src/service/sign_up_model.dart new file mode 100644 index 0000000..bd5f7c6 --- /dev/null +++ b/lib/src/service/sign_up_model.dart @@ -0,0 +1,15 @@ +class SignUpModel { + String email; + String password; + String repeatPassword; + + String name; + String surname; + + SignUpModel( + {this.email, + this.password, + this.repeatPassword, + this.name, + this.surname}); +} diff --git a/lib/src/service/type_login.dart b/lib/src/service/type_login.dart new file mode 100644 index 0000000..de94ab4 --- /dev/null +++ b/lib/src/service/type_login.dart @@ -0,0 +1,13 @@ +class TypeLogo { + static String facebook = 'assets/images/facebook.png'; + static String google = 'assets/images/google.png'; + static String apple = 'assets/images/apple.png'; + static String userPassword = 'assets/images/user_password.png'; +} + +class LoginTypeLoginModel { + Function callFunction; + String logo; + + LoginTypeLoginModel({this.logo, this.callFunction}); +} diff --git a/lib/src/widget/footer_login.dart b/lib/src/widget/footer_login.dart new file mode 100644 index 0000000..b92b74b --- /dev/null +++ b/lib/src/widget/footer_login.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; + +class LoginFooter extends StatelessWidget { + final String text; + final String logo; + + final Color textColor; + + final Function funFooterLogin; + + LoginFooter( + {@required this.text, + this.logo, + @required this.funFooterLogin, + this.textColor}); + + @override + Widget build(BuildContext context) { + return Center( + child: GestureDetector( + onTap: this.funFooterLogin, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisSize: MainAxisSize.max, + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Align( + alignment: FractionalOffset.bottomCenter, + child: Text( + this.text + ' ', + style: TextStyle( + color: this.textColor ?? Color(0xFF0F2E48), + fontSize: 13, + ), + ), + ), + Image.asset( + this.logo, + width: 15, + ), + ], + ), + ), + )); + } +} diff --git a/lib/src/widget/login_fresh.dart b/lib/src/widget/login_fresh.dart new file mode 100644 index 0000000..1a74829 --- /dev/null +++ b/lib/src/widget/login_fresh.dart @@ -0,0 +1,245 @@ +import 'package:flutter/material.dart'; + +import '../config/language.dart'; +import '../service/type_login.dart'; + +/// Widget main with social networks +class Login extends StatefulWidget { + + /// color main login + final Color backgroundColor; + + ///color of card where are the login icons + final Color cardColor; + + /// color of text in login + final Color textColor; + + /// url logo main in login + final String pathLogo; + + ///button when you want to avoid the login and go to the application content + final bool isExploreApp; + + ///function when you want to avoid the login and go to the application content + final Function functionExploreApp; + + ///widget to put a footer in your login + final bool isFooter; + + /// custom widget footer + final Widget widgetFooter; + + /// list type login import in login + final List typeLoginModel; + + /// is signUp in login + final bool isSignUp; + + ///widget signUp + final Widget widgetSignUp; + + //model of key words used in login + LoginFreshWords keyWord; + + Login( + {@required this.pathLogo, + this.typeLoginModel, + this.isExploreApp, + this.functionExploreApp, + this.isSignUp, + this.widgetSignUp, + this.isFooter, + this.widgetFooter, + this.backgroundColor, + this.cardColor, + this.textColor, + this.keyWord}); + + @override + _LoginState createState() => _LoginState(); +} + +class _LoginState extends State { + @override + Widget build(BuildContext context) { + widget.keyWord = widget.keyWord ?? LoginFreshWords(); + + return Stack( + children: [ + Container( + color: widget.backgroundColor ?? Color(0xFF16c79a), + child: Align( + alignment: Alignment.topCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.45, + width: MediaQuery.of(context).size.width * 0.60, + child: Center( + child: Image.asset( + widget.pathLogo, + fit: BoxFit.contain, + ), + ), + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.55, + width: MediaQuery.of(context).size.width, + decoration: new BoxDecoration( + color: widget.cardColor ?? Color(0xFFF3F3F5), + borderRadius: new BorderRadius.only( + topLeft: const Radius.circular(50.0), + topRight: const Radius.circular(50.0), + )), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(), + Column( + children: [ + buildLoginWith(), + buildTypeLogin(context), + (widget.isExploreApp == null || + widget.isExploreApp == false) + ? SizedBox() + : SizedBox( + height: 20, + ), + buildExploreApp(context), + (widget.isSignUp == null || widget.isSignUp == false) + ? SizedBox() + : buildSignUp(), + ], + ), + (widget.isFooter == null || widget.isFooter == false) + ? SizedBox() + : widget.widgetFooter + ], + ), + )) + ], + ); + } + + GestureDetector buildSignUp() { + return GestureDetector( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 25, horizontal: 10), + child: RichText( + textAlign: TextAlign.center, + text: TextSpan(children: [ + TextSpan( + text: widget.keyWord.notAccount + '\n', + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontWeight: FontWeight.normal, + fontSize: 15)), + TextSpan( + text: widget.keyWord.signUp, + style: TextStyle( + decoration: TextDecoration.underline, + color: widget.textColor ?? Color(0xFF0F2E48), + fontWeight: FontWeight.bold, + fontSize: 16)), + ]), + ), + ), + onTap: () { + Navigator.of(context).push( + MaterialPageRoute(builder: (_buildContext) => widget.widgetSignUp)); + }, + ); + } + + Widget buildExploreApp(BuildContext context) { + return (widget.isExploreApp == null || widget.isExploreApp == false) + ? SizedBox() + : GestureDetector( + onTap: widget.functionExploreApp, + child: SizedBox( + height: MediaQuery.of(context).size.height * 0.07, + width: (widget.typeLoginModel.length > 3) + ? MediaQuery.of(context).size.width * 0.90 + : MediaQuery.of(context).size.width * 0.80, + child: Card( + elevation: 10, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(40), + ), + color: Colors.white, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 10), + child: Center( + child: Text( + widget.keyWord.exploreApp, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 15, + fontWeight: FontWeight.bold), + )), + ))), + ); + } + + SizedBox buildTypeLogin(BuildContext context) { + return SizedBox( + height: MediaQuery.of(context).size.height * 0.1, + width: (widget.typeLoginModel.length > 3) + ? MediaQuery.of(context).size.width * 0.90 + : MediaQuery.of(context).size.width * 0.80, + child: Card( + elevation: 10, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(40), + ), + color: Colors.white, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 10), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: this.getCardLogin()), + ), + ), + ); + } + + Padding buildLoginWith() { + return Padding( + padding: const EdgeInsets.all(8.0), + child: Text(widget.keyWord.loginWith, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 16, + fontWeight: FontWeight.bold)), + ); + } + + List getCardLogin() { + List list = []; + + for (LoginTypeLoginModel tlm in widget.typeLoginModel) { + list.add(GestureDetector( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Image( + image: ExactAssetImage( + tlm.logo, + ), + ), + ), + onTap: () { + tlm.callFunction(context); + }, + )); + } + + return list; + } +} diff --git a/lib/src/widget/login_loading.dart b/lib/src/widget/login_loading.dart new file mode 100644 index 0000000..40ee281 --- /dev/null +++ b/lib/src/widget/login_loading.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; + +class LoadingLogin extends StatelessWidget { + final String textLoading; + final Color colorText; + final double elevation; + + final Color backgroundColor; + + LoadingLogin( + {this.textLoading, this.colorText, this.backgroundColor, this.elevation}); + + @override + Widget build(BuildContext context) { + return Center( + child: SizedBox( + height: 80, + width: 150, + child: Card( + elevation: this.elevation, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10.0), + ), + color: Color(0xFFF3F3F5), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + new Center( + child: new SizedBox( + height: 30.0, + width: 30.0, + child: new CircularProgressIndicator( + value: null, + strokeWidth: 2.0, + valueColor: + AlwaysStoppedAnimation(this.backgroundColor), + ), + ), + ), + new Container( + margin: const EdgeInsets.only(top: 5.0), + child: new Center( + child: new Text( + this.textLoading, + style: new TextStyle(color: this.colorText), + ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/src/widget/login_reset_password.dart b/lib/src/widget/login_reset_password.dart new file mode 100644 index 0000000..1b7b484 --- /dev/null +++ b/lib/src/widget/login_reset_password.dart @@ -0,0 +1,223 @@ +import 'package:flutter/material.dart'; + +import './login_loading.dart'; +import '../config/language.dart'; + +class LoginResetPassword extends StatefulWidget { + final Color backgroundColor; + + final Color textColor; + + final LoginFreshWords loginFreshWords; + + final String logo; + + final Function funResetPassword; + + final isFooter; + + final Widget widgetFooter; + + LoginResetPassword( + {@required this.funResetPassword, + this.isFooter, + this.widgetFooter, + this.backgroundColor, + this.textColor, + this.loginFreshWords, + @required this.logo}); + + @override + _LoginFreshResetPasswordState createState() => + _LoginFreshResetPasswordState(); +} + +class _LoginFreshResetPasswordState extends State { + TextEditingController _textEditingControllerUser = TextEditingController(); + + bool isRequest = false; + + final focus = FocusNode(); + LoginFreshWords loginFreshWords; + + @override + Widget build(BuildContext context) { + loginFreshWords = (widget.loginFreshWords == null) + ? LoginFreshWords() + : widget.loginFreshWords; + return Scaffold( + appBar: AppBar( + iconTheme: IconThemeData(color: Colors.white), + backgroundColor: widget.backgroundColor ?? Color(0xFF16c79a), + centerTitle: true, + elevation: 0, + title: Text( + this.loginFreshWords.recoverPassword, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: Colors.white, fontWeight: FontWeight.bold, fontSize: 18), + )), + body: Stack( + children: [ + Align( + alignment: Alignment.topCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.7, + width: MediaQuery.of(context).size.width, + color: widget.backgroundColor ?? Color(0xFF16c79a), + child: Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Column( + children: [ + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 50, vertical: 3), + child: Hero( + tag: 'hero-login', + child: Image.asset( + widget.logo, + fit: BoxFit.contain, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.7, + width: MediaQuery.of(context).size.width, + decoration: new BoxDecoration( + color: Color(0xFFF3F3F5), + borderRadius: new BorderRadius.only( + topLeft: const Radius.circular(50.0), + topRight: const Radius.circular(50.0), + )), + child: buildBody(), + ), + ), + ], + ), + ); + } + + Widget buildBody() { + return Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(), + Column( + children: [ + Padding( + padding: const EdgeInsets.all(20.0), + child: Text( + loginFreshWords.messageRecoverPassword, + textAlign: TextAlign.justify, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), fontSize: 14), + ), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: TextField( + controller: this._textEditingControllerUser, + keyboardType: TextInputType.emailAddress, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + autofocus: false, + onSubmitted: (v) { + FocusScope.of(context).requestFocus(focus); + }, + decoration: InputDecoration( + prefixIcon: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + "assets/images/icon_user.png", + width: 15, + height: 15, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide( + color: + widget.backgroundColor ?? Color(0xFF16c79a))), + hintText: this.loginFreshWords.hintLoginUser)), + ), + (this.isRequest) + ? Padding( + padding: const EdgeInsets.all(8.0), + child: LoadingLogin( + textLoading: this.loginFreshWords.textLoading, + colorText: widget.textColor, + backgroundColor: widget.backgroundColor, + elevation: 0, + ), + ) + : GestureDetector( + onTap: () { + widget.funResetPassword(context, this.setIsRequest, + this._textEditingControllerUser.text); + }, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + height: MediaQuery.of(context).size.height * 0.07, + width: MediaQuery.of(context).size.width * 0.7, + child: Card( + elevation: 10, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(40), + ), + color: + widget.backgroundColor ?? Color(0xFF16c79a), + child: Padding( + padding: + const EdgeInsets.symmetric(horizontal: 10), + child: Center( + child: Text( + this.loginFreshWords.recoverPassword, + style: TextStyle( + color: Colors.white, + fontSize: 15, + fontWeight: FontWeight.bold), + )), + ))), + ), + ), + ], + ), + SizedBox(), + (widget.isFooter == null || widget.isFooter == false) + ? SizedBox() + : widget.widgetFooter + ], + ); + } + + void setIsRequest(bool isRequest) { + setState(() { + this.isRequest = isRequest; + }); + } +} diff --git a/lib/src/widget/login_sign_up.dart b/lib/src/widget/login_sign_up.dart new file mode 100644 index 0000000..365e592 --- /dev/null +++ b/lib/src/widget/login_sign_up.dart @@ -0,0 +1,355 @@ +import 'package:flutter/material.dart'; +import 'login_loading.dart'; +import '../config/language.dart'; +import '../service/sign_up_model.dart'; + +class LoginSignUp extends StatefulWidget { + final Color backgroundColor; + + final Color textColor; + + final LoginFreshWords loginFreshWords; + + final Function funSignUp; + + final bool isFooter; + + final Widget widgetFooter; + + final String logo; + + LoginSignUp( + {@required this.funSignUp, + @required this.logo, + this.isFooter, + this.widgetFooter, + this.textColor, + this.loginFreshWords, + this.backgroundColor}); + + @override + _LoginSignUpState createState() => _LoginSignUpState(); +} + +class _LoginSignUpState extends State { + SignUpModel signUpModel = SignUpModel(); + + bool isRequest = false; + + bool isNoVisiblePassword = true; + + LoginFreshWords loginFreshWords; + + @override + Widget build(BuildContext context) { + loginFreshWords = (widget.loginFreshWords == null) + ? LoginFreshWords() + : widget.loginFreshWords; + return Scaffold( + appBar: AppBar( + iconTheme: IconThemeData(color: Colors.white), + backgroundColor: widget.backgroundColor ?? Color(0xFF16c79a), + centerTitle: true, + elevation: 0, + title: Text( + this.loginFreshWords.signUp, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: Colors.white, fontWeight: FontWeight.bold, fontSize: 18), + )), + body: Stack( + children: [ + Align( + alignment: Alignment.topCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.7, + width: MediaQuery.of(context).size.width, + color: widget.backgroundColor ?? Color(0xFF16c79a), + child: Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Column( + children: [ + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 50, vertical: 3), + child: Hero( + tag: 'hero-login', + child: Image.asset( + widget.logo, + fit: BoxFit.contain, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.7, + width: MediaQuery.of(context).size.width, + decoration: new BoxDecoration( + color: Color(0xFFF3F3F5), + borderRadius: new BorderRadius.only( + topLeft: const Radius.circular(50.0), + topRight: const Radius.circular(50.0), + )), + child: buildBody(), + ), + ), + ], + ), + ); + } + + Widget buildBody() { + return Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.only( + bottom: 5, left: 20, right: 20, top: 20), + child: TextField( + onChanged: (String value) { + this.signUpModel.email = value; + }, + keyboardType: TextInputType.emailAddress, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + autofocus: false, + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: BorderSide( + color: widget.backgroundColor ?? + Color(0xFF16c79a))), + hintText: this.loginFreshWords.hintLoginUser)), + ), + Padding( + padding: + const EdgeInsets.symmetric(horizontal: 20, vertical: 5), + child: TextField( + onChanged: (String value) { + this.signUpModel.name = value; + }, + keyboardType: TextInputType.text, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + autofocus: false, + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: BorderSide( + color: widget.backgroundColor ?? + Color(0xFF16c79a))), + hintText: this.loginFreshWords.hintName)), + ), + Padding( + padding: + const EdgeInsets.symmetric(horizontal: 20, vertical: 5), + child: TextField( + onChanged: (String value) { + this.signUpModel.surname = value; + }, + keyboardType: TextInputType.text, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + autofocus: false, + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: BorderSide( + color: widget.backgroundColor ?? + Color(0xFF16c79a))), + hintText: this.loginFreshWords.hintSurname)), + ), + Padding( + padding: + const EdgeInsets.symmetric(vertical: 5, horizontal: 20), + child: TextField( + onChanged: (String value) { + this.signUpModel.password = value; + }, + obscureText: this.isNoVisiblePassword, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + decoration: InputDecoration( + suffixIcon: GestureDetector( + onTap: () { + setState(() { + if (this.isNoVisiblePassword) + this.isNoVisiblePassword = false; + else + this.isNoVisiblePassword = true; + }); + }, + child: (this.isNoVisiblePassword) + ? Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + "assets/images/icon_eye_close.png", + width: 15, + height: 15, + ), + ) + : Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + "assets/images/icon_eye_open.png", + width: 15, + height: 15, + ), + )), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: BorderSide( + color: widget.backgroundColor ?? + Color(0xFF16c79a))), + hintText: this.loginFreshWords.hintLoginPassword)), + ), + Padding( + padding: + const EdgeInsets.symmetric(vertical: 5, horizontal: 20), + child: TextField( + onChanged: (String value) { + this.signUpModel.repeatPassword = value; + }, + obscureText: this.isNoVisiblePassword, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: + BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(15), + borderSide: BorderSide( + color: widget.backgroundColor ?? + Color(0xFF16c79a))), + hintText: + this.loginFreshWords.hintSignUpRepeatPassword)), + ) + ], + ), + ), + ), + (this.isRequest) + ? Padding( + padding: const EdgeInsets.all(8.0), + child: LoadingLogin( + textLoading: this.loginFreshWords.textLoading, + colorText: widget.textColor, + backgroundColor: widget.backgroundColor, + elevation: 0, + ), + ) + : GestureDetector( + onTap: () { + widget.funSignUp( + context, this.setIsRequest, this.signUpModel); + }, + child: SizedBox( + height: MediaQuery.of(context).size.height * 0.07, + width: MediaQuery.of(context).size.width * 0.7, + child: Card( + elevation: 10, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(40), + ), + color: widget.backgroundColor ?? Color(0xFF16c79a), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 10), + child: Center( + child: Text( + this.loginFreshWords.signUp, + style: TextStyle( + color: Colors.white, + fontSize: 15, + fontWeight: FontWeight.bold), + )), + ))), + ), + (widget.isFooter == null || widget.isFooter == false) + ? SizedBox() + : widget.widgetFooter + ]); + } + + void setIsRequest(bool isRequest) { + setState(() { + this.isRequest = isRequest; + }); + } +} diff --git a/lib/src/widget/login_user_password.dart b/lib/src/widget/login_user_password.dart new file mode 100644 index 0000000..992e17c --- /dev/null +++ b/lib/src/widget/login_user_password.dart @@ -0,0 +1,373 @@ +import 'package:flutter/material.dart'; + +import '../config/language.dart'; +import 'login_loading.dart'; + +class LoginUserAndPassword extends StatefulWidget { + final Color backgroundColor; + final String logo; + final Color textColor; + + final bool isFooter; + final Widget widgetFooter; + + final bool isResetPassword; + final Widget widgetResetPassword; + + final bool isSignUp; + final Widget signUp; + + final Function callLogin; + + final LoginFreshWords loginFreshWords; + + LoginUserAndPassword( + {@required this.callLogin, + this.backgroundColor, + this.loginFreshWords, + this.logo, + this.isFooter, + this.widgetFooter, + this.isResetPassword, + this.widgetResetPassword, + this.isSignUp, + this.signUp, + this.textColor}); + + @override + _LoginUserAndPasswordState createState() => + _LoginUserAndPasswordState(); +} + +class _LoginUserAndPasswordState extends State { + TextEditingController _textEditingControllerPassword = + TextEditingController(); + TextEditingController _textEditingControllerUser = TextEditingController(); + + bool isNoVisiblePassword = true; + + bool isRequest = false; + + final focus = FocusNode(); + + final bool isLoginRequest = false; + + LoginFreshWords loginFreshWords; + + @override + Widget build(BuildContext context) { + loginFreshWords = (widget.loginFreshWords == null) + ? LoginFreshWords() + : widget.loginFreshWords; + + return Scaffold( + appBar: AppBar( + iconTheme: IconThemeData(color: Colors.white), + backgroundColor: widget.backgroundColor ?? Color(0xFF16c79a), + centerTitle: true, + elevation: 0, + title: Text( + this.loginFreshWords.login, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: Colors.white, fontWeight: FontWeight.bold, fontSize: 18), + )), + body: Stack( + children: [ + Align( + alignment: Alignment.topCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.7, + width: MediaQuery.of(context).size.width, + color: widget.backgroundColor ?? Color(0xFF16c79a), + child: Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Column( + children: [ + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 50, vertical: 3), + child: Hero( + tag: 'hero-login', + child: Image.asset( + widget.logo, + fit: BoxFit.contain, + ), + ), + ), + ], + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + height: MediaQuery.of(context).size.height * 0.7, + width: MediaQuery.of(context).size.width, + decoration: new BoxDecoration( + color: Color(0xFFF3F3F5), + borderRadius: new BorderRadius.only( + topLeft: const Radius.circular(50.0), + topRight: const Radius.circular(50.0), + )), + child: buildBody(), + ), + ), + ], + ), + ); + } + + Widget buildBody() { + return Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox( + height: 0, + ), + Expanded( + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox( + height: 30, + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: TextField( + controller: this._textEditingControllerUser, + keyboardType: TextInputType.emailAddress, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + autofocus: false, + onSubmitted: (v) { + FocusScope.of(context).requestFocus(focus); + }, + decoration: InputDecoration( + prefixIcon: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + "assets/images/icon_user.png", + width: 15, + height: 15, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide( + color: widget.backgroundColor ?? + Color(0xFF16c79a))), + hintText: this.loginFreshWords.hintLoginUser)), + ), + Padding( + padding: + const EdgeInsets.symmetric(vertical: 5, horizontal: 20), + child: TextField( + focusNode: focus, + controller: this._textEditingControllerPassword, + obscureText: this.isNoVisiblePassword, + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontSize: 14), + onSubmitted: (value) { + widget.callLogin( + context, + setIsRequest, + this._textEditingControllerUser.text, + this._textEditingControllerPassword.text); + }, + decoration: InputDecoration( + prefixIcon: Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + "assets/images/icon_password.png", + width: 15, + height: 15, + ), + ), + suffixIcon: GestureDetector( + onTap: () { + setState(() { + if (this.isNoVisiblePassword) + this.isNoVisiblePassword = false; + else + this.isNoVisiblePassword = true; + }); + }, + child: (this.isNoVisiblePassword) + ? Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + "assets/images/icon_eye_close.png", + width: 15, + height: 15, + ), + ) + : Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset( + "assets/images/icon_eye_open.png", + width: 15, + height: 15, + ), + )), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide(color: Color(0xFFAAB5C3))), + filled: true, + fillColor: Color(0xFFF3F3F5), + focusColor: Color(0xFFF3F3F5), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide(color: Color(0xFFAAB5C3))), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(25), + borderSide: BorderSide( + color: widget.backgroundColor ?? + Color(0xFF16c79a))), + hintText: this.loginFreshWords.hintLoginPassword)), + ), + (this.isRequest) + ? Padding( + padding: const EdgeInsets.all(8.0), + child: LoadingLogin( + textLoading: this.loginFreshWords.textLoading, + colorText: widget.textColor, + backgroundColor: widget.backgroundColor, + elevation: 0, + ), + ) + : GestureDetector( + onTap: () { + widget.callLogin( + context, + setIsRequest, + this._textEditingControllerUser.text, + this._textEditingControllerPassword.text); + }, + child: SizedBox( + height: MediaQuery.of(context).size.height * 0.07, + width: MediaQuery.of(context).size.width * 0.7, + child: Card( + elevation: 10, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(40), + ), + color: + widget.backgroundColor ?? Color(0xFF16c79a), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 10), + child: Center( + child: Text( + this.loginFreshWords.login, + style: TextStyle( + color: Colors.white, + fontSize: 15, + fontWeight: FontWeight.bold), + )), + ))), + ), + (widget.isResetPassword == null || + widget.isResetPassword == false) + ? SizedBox() + : GestureDetector( + child: Padding( + padding: const EdgeInsets.only( + top: 25, left: 10, right: 10), + child: RichText( + textAlign: TextAlign.center, + text: TextSpan(children: [ + TextSpan( + text: '', + style: TextStyle( + color: + widget.textColor ?? Color(0xFF0F2E48), + fontWeight: FontWeight.normal, + fontSize: 15)), + TextSpan( + text: this.loginFreshWords.recoverPassword, + style: TextStyle( + decoration: TextDecoration.underline, + color: + widget.textColor ?? Color(0xFF0F2E48), + fontWeight: FontWeight.bold, + fontSize: 16)), + ]), + ), + ), + onTap: () { + Navigator.of(context).push(MaterialPageRoute( + builder: (context) => widget.widgetResetPassword, + )); + }, + ), + GestureDetector( + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 15, horizontal: 10), + child: RichText( + textAlign: TextAlign.center, + text: TextSpan(children: [ + TextSpan( + text: this.loginFreshWords.notAccount + ' \n', + style: TextStyle( + color: widget.textColor ?? Color(0xFF0F2E48), + fontWeight: FontWeight.normal, + fontSize: 15)), + TextSpan( + text: this.loginFreshWords.signUp, + style: TextStyle( + decoration: TextDecoration.underline, + color: widget.textColor ?? Color(0xFF0F2E48), + fontWeight: FontWeight.bold, + fontSize: 16)), + ]), + ), + ), + onTap: () { + Navigator.of(context).push(MaterialPageRoute( + builder: (_buildContext) => widget.signUp)); + }, + ), + ], + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: (widget.isFooter == null || widget.isFooter == false) + ? SizedBox() + : widget.widgetFooter, + ), + ], + ); + } + + void setIsRequest(bool isRequest) { + setState(() { + this.isRequest = isRequest; + }); + } +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..62bef60 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,385 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + url: "https://pub.dartlang.org" + source: hosted + version: "12.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + url: "https://pub.dartlang.org" + source: hosted + version: "0.40.6" + archive: + dependency: transitive + description: + name: archive + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.13" + args: + dependency: transitive + description: + name: args + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.0" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.5.0-nullsafety.3" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0-nullsafety.3" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0-nullsafety.5" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0-nullsafety.3" + cli_util: + dependency: transitive + description: + name: cli_util + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0-nullsafety.3" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.15.0-nullsafety.5" + convert: + dependency: transitive + description: + name: convert + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + coverage: + dependency: transitive + description: + name: coverage + url: "https://pub.dartlang.org" + source: hosted + version: "0.14.2" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.5" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0-nullsafety.3" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.0-nullsafety.4" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_driver: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + fuchsia_remote_debug_protocol: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + glob: + dependency: transitive + description: + name: glob + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + integration_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.9.2+2" + io: + dependency: transitive + description: + name: io + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.4" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.3-nullsafety.3" + json_rpc_2: + dependency: transitive + description: + name: json_rpc_2 + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.2" + logging: + dependency: transitive + description: + name: logging + url: "https://pub.dartlang.org" + source: hosted + version: "0.11.4" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.10-nullsafety.3" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0-nullsafety.6" + node_interop: + dependency: transitive + description: + name: node_interop + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + node_io: + dependency: transitive + description: + name: node_io + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + package_config: + dependency: transitive + description: + name: package_config + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.3" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0-nullsafety.3" + pedantic: + dependency: transitive + description: + name: pedantic + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0-nullsafety.3" + platform: + dependency: transitive + description: + name: platform + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0-nullsafety.4" + pool: + dependency: transitive + description: + name: pool + url: "https://pub.dartlang.org" + source: hosted + version: "1.5.0-nullsafety.3" + process: + dependency: transitive + description: + name: process + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.0-nullsafety.4" + pub_semver: + dependency: transitive + description: + name: pub_semver + url: "https://pub.dartlang.org" + source: hosted + version: "1.4.4" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0-nullsafety.4" + source_maps: + dependency: transitive + description: + name: source_maps + url: "https://pub.dartlang.org" + source: hosted + version: "0.10.10-nullsafety.3" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0-nullsafety.4" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0-nullsafety.6" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0-nullsafety.3" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0-nullsafety.3" + sync_http: + dependency: transitive + description: + name: sync_http + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0-nullsafety.3" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.19-nullsafety.6" + test_core: + dependency: transitive + description: + name: test_core + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.12-nullsafety.9" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0-nullsafety.5" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0-nullsafety.5" + vm_service: + dependency: transitive + description: + name: vm_service + url: "https://pub.dartlang.org" + source: hosted + version: "5.5.0" + watcher: + dependency: transitive + description: + name: watcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.9.7+15" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + webdriver: + dependency: transitive + description: + name: webdriver + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" + yaml: + dependency: transitive + description: + name: yaml + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.1" +sdks: + dart: ">=2.12.0-0.0 <3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..ff40123 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,24 @@ +name: googreen +description: A new Flutter application. +publish_to: +version: 1.0.0+1 + +environment: + sdk: ">=2.7.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + cupertino_icons: ^1.0.2 + +dev_dependencies: + flutter_test: + sdk: flutter + integration_test: + sdk: flutter + +flutter: + uses-material-design: true + assets: + - assets/ + - assets/images/ \ No newline at end of file diff --git a/test/widget_test.dart b/test/widget_test.dart new file mode 100644 index 0000000..bd64f94 --- /dev/null +++ b/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility that Flutter provides. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:googreen/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} From 065c45d555858714780ab54de09c0dce5cb8b652 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Wed, 17 Feb 2021 18:46:56 +0200 Subject: [PATCH 02/12] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 2dd6b15..93a633b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ -# go-green -test repo for setuping dev env and sample project +# googreen From f26b8128f74c522f3ed2dc3a41545c869a8e7bbb Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Wed, 17 Feb 2021 19:09:48 +0200 Subject: [PATCH 03/12] Update logo_footer.png --- assets/logo_footer.png | Bin 5424 -> 7839 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/logo_footer.png b/assets/logo_footer.png index 5817ab48bb87577dba6a04f5e98a37ed0c9fadcd..d248792e224a186af33eca51c042273f29565ee7 100644 GIT binary patch literal 7839 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� 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 Qs>XnkzWMb!U8kh~2Mx29H2?qr literal 5424 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 Date: Wed, 17 Feb 2021 19:09:54 +0200 Subject: [PATCH 04/12] Update main.dart --- lib/main.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/main.dart b/lib/main.dart index db51627..1600dea 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -112,7 +112,7 @@ class _MyAppState extends State { Widget widgetFooter() { return LoginFooter( logo: 'assets/logo_footer.png', - text: 'Built by a group of geeks. ', + text: 'Built by a group of geeks.', funFooterLogin: () { // develop what they want the footer to do when the user clicks }, From 7995f3a1c01933184f12f052a9558456f90f0f33 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Wed, 17 Feb 2021 23:08:02 +0200 Subject: [PATCH 05/12] Create cloudbuild.yaml --- cloudbuild.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 cloudbuild.yaml diff --git a/cloudbuild.yaml b/cloudbuild.yaml new file mode 100644 index 0000000..2685246 --- /dev/null +++ b/cloudbuild.yaml @@ -0,0 +1,8 @@ +# Flutter CD configuration file with Cloud build + +steps: + +# clone the latest source codes +- name: 'gcr.io/cloud-builders/git' + args: ['clone', 'https://github.com/Solution-Challenge/googreen.git'] + dir: '/workspace' \ No newline at end of file From 50213e3f964c32ad4e5619252eab409733baaa39 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Mon, 22 Feb 2021 11:53:25 +0200 Subject: [PATCH 06/12] Update cloudbuild.yaml --- cloudbuild.yaml | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 2685246..cae941c 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -1,8 +1,29 @@ -# Flutter CD configuration file with Cloud build - +# Access the id_github file from Secret Manager, and setup SSH steps: +- name: 'gcr.io/cloud-builders/git' + secretEnv: ['SSH_KEY'] + entrypoint: 'bash' + args: + - -c + - | + echo "$$SSH_KEY" >> /root/.ssh/id_rsa + chmod 400 /root/.ssh/id_rsa + cp known_hosts.github /root/.ssh/known_hosts + volumes: + - name: 'ssh' + path: /root/.ssh -# clone the latest source codes +# Clone the repository - name: 'gcr.io/cloud-builders/git' - args: ['clone', 'https://github.com/Solution-Challenge/googreen.git'] - dir: '/workspace' \ No newline at end of file + args: + - clone + - --recurse-submodules + - git@github.com:Solution-Challenge/googreen.git + volumes: + - name: 'ssh' + path: /root/.ssh + +availableSecrets: + secretManager: + - versionName: projects/googreen-305120/secrets/secret-name/versions/latest + env: 'SSH_KEY' \ No newline at end of file From 484d0bd7bf1c27b8fba06a5d769eec5f94f08338 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Mon, 22 Feb 2021 12:16:51 +0200 Subject: [PATCH 07/12] Update cloudbuild.yaml --- cloudbuild.yaml | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index cae941c..2685246 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -1,29 +1,8 @@ -# Access the id_github file from Secret Manager, and setup SSH +# Flutter CD configuration file with Cloud build + steps: -- name: 'gcr.io/cloud-builders/git' - secretEnv: ['SSH_KEY'] - entrypoint: 'bash' - args: - - -c - - | - echo "$$SSH_KEY" >> /root/.ssh/id_rsa - chmod 400 /root/.ssh/id_rsa - cp known_hosts.github /root/.ssh/known_hosts - volumes: - - name: 'ssh' - path: /root/.ssh -# Clone the repository +# clone the latest source codes - name: 'gcr.io/cloud-builders/git' - args: - - clone - - --recurse-submodules - - git@github.com:Solution-Challenge/googreen.git - volumes: - - name: 'ssh' - path: /root/.ssh - -availableSecrets: - secretManager: - - versionName: projects/googreen-305120/secrets/secret-name/versions/latest - env: 'SSH_KEY' \ No newline at end of file + args: ['clone', 'https://github.com/Solution-Challenge/googreen.git'] + dir: '/workspace' \ No newline at end of file From 5bbdcb6e56990448389a532535b5413483d58ed2 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Mon, 22 Feb 2021 12:57:58 +0200 Subject: [PATCH 08/12] Update config --- build.sh | 4 ++++ cloudbuild.yaml | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 build.sh diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..2fa1be2 --- /dev/null +++ b/build.sh @@ -0,0 +1,4 @@ +cd /workspace/$1 +VERSION_NAME=$(git describe) +VERSION_CODE=$(git rev-list --count master) +flutter build apk --build-name=$VERSION_NAME --build-number=$VERSION_CODE diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 2685246..828d15c 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -5,4 +5,13 @@ steps: # clone the latest source codes - name: 'gcr.io/cloud-builders/git' args: ['clone', 'https://github.com/Solution-Challenge/googreen.git'] - dir: '/workspace' \ No newline at end of file + dir: '/workspace' + timeout: 500s + +- name: gcr.io/cloud-builders/git + args: ['clone', 'https://github.com/GoogleCloudPlatform/cloud-builders'] + + # using flutter builder Docker image we have built previously to compile the repo +- name: 'gcr.io/$PROJECT_ID/flutter' + entrypoint: '/bin/bash' + args: ['build.sh', 'googreen'] \ No newline at end of file From a7aa012b5a0c7c552116cee99d1c4566db1c4285 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Mon, 22 Feb 2021 13:05:30 +0200 Subject: [PATCH 09/12] Create Dockerfile --- Dockerfile | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..760b15a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,59 @@ +# Flutter (https://flutter.io) Developement Environment for Linux +# =============================================================== +# +# This environment passes all Linux Flutter Doctor checks and is sufficient +# for building Android applications and running Flutter tests. +# +# To build iOS applications, a Mac development environment is necessary. +# + +FROM debian:stretch +MAINTAINER Chinmay Garde + +# Install Dependencies. +RUN apt update -y +RUN apt install -y \ + git \ + wget \ + curl \ + unzip \ + lib32stdc++6 \ + libglu1-mesa \ + default-jdk-headless + +# Install the Android SDK Dependency. +ENV ANDROID_SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip" +ENV ANDROID_TOOLS_ROOT="/opt/android_sdk" +RUN mkdir -p "${ANDROID_TOOLS_ROOT}" +ENV ANDROID_SDK_ARCHIVE="${ANDROID_TOOLS_ROOT}/archive" +RUN wget -q "${ANDROID_SDK_URL}" -O "${ANDROID_SDK_ARCHIVE}" +RUN unzip -q -d "${ANDROID_TOOLS_ROOT}" "${ANDROID_SDK_ARCHIVE}" +RUN yes "y" | "${ANDROID_TOOLS_ROOT}/tools/bin/sdkmanager" "build-tools;28.0.0" +RUN yes "y" | "${ANDROID_TOOLS_ROOT}/tools/bin/sdkmanager" "platforms;android-28" +RUN yes "y" | "${ANDROID_TOOLS_ROOT}/tools/bin/sdkmanager" "platform-tools" +RUN rm "${ANDROID_SDK_ARCHIVE}" +ENV PATH="${ANDROID_TOOLS_ROOT}/tools:${PATH}" +ENV PATH="${ANDROID_TOOLS_ROOT}/tools/bin:${PATH}" + +# Install Flutter. +ENV FLUTTER_ROOT="/opt/flutter" +RUN git clone -b stable https://github.com/flutter/flutter "${FLUTTER_ROOT}" +ENV PATH="${FLUTTER_ROOT}/bin:${PATH}" +ENV ANDROID_HOME="${ANDROID_TOOLS_ROOT}" + +# Disable analytics and crash reporting on the builder. +RUN flutter config --no-analytics + +# Perform an artifact precache so that no extra assets need to be downloaded on demand. +RUN flutter precache + +# Accept licenses. +RUN yes "y" | flutter doctor --android-licenses + +# Perform a flutter upgrade +RUN flutter upgrade + +# Perform a doctor run. +RUN flutter doctor -v + +ENTRYPOINT [ "flutter" ] \ No newline at end of file From 00fc9b348c269765230935f76cb7fb8eb7ed7370 Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Mon, 22 Feb 2021 13:21:00 +0200 Subject: [PATCH 10/12] Update cloudbuild.yaml --- cloudbuild.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 828d15c..a7f7cd6 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -8,10 +8,7 @@ steps: dir: '/workspace' timeout: 500s -- name: gcr.io/cloud-builders/git - args: ['clone', 'https://github.com/GoogleCloudPlatform/cloud-builders'] - # using flutter builder Docker image we have built previously to compile the repo -- name: 'gcr.io/$PROJECT_ID/flutter' +- name: 'gcr.io/cloud-builders/flutter' entrypoint: '/bin/bash' args: ['build.sh', 'googreen'] \ No newline at end of file From 6e81f3750292530c62ecd259bdc11d55a387851c Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Tue, 23 Feb 2021 13:22:46 +0200 Subject: [PATCH 11/12] Add TravisCI config --- .travis.yml | 18 +++++++++++++++ Dockerfile | 59 ------------------------------------------------- build.sh | 4 ---- cloudbuild.yaml | 14 ------------ 4 files changed, 18 insertions(+), 77 deletions(-) create mode 100644 .travis.yml delete mode 100644 Dockerfile delete mode 100644 build.sh delete mode 100644 cloudbuild.yaml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..21353a1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,18 @@ +os: + - linux +sudo: false +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++6 + - fonts-droid-fallback +before_script: + - git clone https://github.com/flutter/flutter.git -b beta + - ./flutter/bin/flutter doctor +script: + - ./flutter/bin/flutter test +cache: + directories: + - $HOME/.pub-cache \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 760b15a..0000000 --- a/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -# Flutter (https://flutter.io) Developement Environment for Linux -# =============================================================== -# -# This environment passes all Linux Flutter Doctor checks and is sufficient -# for building Android applications and running Flutter tests. -# -# To build iOS applications, a Mac development environment is necessary. -# - -FROM debian:stretch -MAINTAINER Chinmay Garde - -# Install Dependencies. -RUN apt update -y -RUN apt install -y \ - git \ - wget \ - curl \ - unzip \ - lib32stdc++6 \ - libglu1-mesa \ - default-jdk-headless - -# Install the Android SDK Dependency. -ENV ANDROID_SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip" -ENV ANDROID_TOOLS_ROOT="/opt/android_sdk" -RUN mkdir -p "${ANDROID_TOOLS_ROOT}" -ENV ANDROID_SDK_ARCHIVE="${ANDROID_TOOLS_ROOT}/archive" -RUN wget -q "${ANDROID_SDK_URL}" -O "${ANDROID_SDK_ARCHIVE}" -RUN unzip -q -d "${ANDROID_TOOLS_ROOT}" "${ANDROID_SDK_ARCHIVE}" -RUN yes "y" | "${ANDROID_TOOLS_ROOT}/tools/bin/sdkmanager" "build-tools;28.0.0" -RUN yes "y" | "${ANDROID_TOOLS_ROOT}/tools/bin/sdkmanager" "platforms;android-28" -RUN yes "y" | "${ANDROID_TOOLS_ROOT}/tools/bin/sdkmanager" "platform-tools" -RUN rm "${ANDROID_SDK_ARCHIVE}" -ENV PATH="${ANDROID_TOOLS_ROOT}/tools:${PATH}" -ENV PATH="${ANDROID_TOOLS_ROOT}/tools/bin:${PATH}" - -# Install Flutter. -ENV FLUTTER_ROOT="/opt/flutter" -RUN git clone -b stable https://github.com/flutter/flutter "${FLUTTER_ROOT}" -ENV PATH="${FLUTTER_ROOT}/bin:${PATH}" -ENV ANDROID_HOME="${ANDROID_TOOLS_ROOT}" - -# Disable analytics and crash reporting on the builder. -RUN flutter config --no-analytics - -# Perform an artifact precache so that no extra assets need to be downloaded on demand. -RUN flutter precache - -# Accept licenses. -RUN yes "y" | flutter doctor --android-licenses - -# Perform a flutter upgrade -RUN flutter upgrade - -# Perform a doctor run. -RUN flutter doctor -v - -ENTRYPOINT [ "flutter" ] \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100644 index 2fa1be2..0000000 --- a/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -cd /workspace/$1 -VERSION_NAME=$(git describe) -VERSION_CODE=$(git rev-list --count master) -flutter build apk --build-name=$VERSION_NAME --build-number=$VERSION_CODE diff --git a/cloudbuild.yaml b/cloudbuild.yaml deleted file mode 100644 index a7f7cd6..0000000 --- a/cloudbuild.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# Flutter CD configuration file with Cloud build - -steps: - -# clone the latest source codes -- name: 'gcr.io/cloud-builders/git' - args: ['clone', 'https://github.com/Solution-Challenge/googreen.git'] - dir: '/workspace' - timeout: 500s - - # using flutter builder Docker image we have built previously to compile the repo -- name: 'gcr.io/cloud-builders/flutter' - entrypoint: '/bin/bash' - args: ['build.sh', 'googreen'] \ No newline at end of file From 93ffa3dfc49523ca9ccc91a17caf0776eab925aa Mon Sep 17 00:00:00 2001 From: Irina Hristova Date: Tue, 23 Feb 2021 13:49:30 +0200 Subject: [PATCH 12/12] Update widget_test.dart --- test/widget_test.dart | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/test/widget_test.dart b/test/widget_test.dart index bd64f94..c05c621 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -11,20 +11,11 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:googreen/main.dart'; void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { + testWidgets('Find Login widget smoke test', (WidgetTester tester) async { // Build our app and trigger a frame. await tester.pumpWidget(MyApp()); - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); + expect(find.text('Login With'), findsOneWidget); + expect(find.text('some-text-here'), findsNothing); }); }