├── LICENSE
├── README.md
└── datingapp
├── .gitignore
├── .idea
├── libraries
│ ├── Dart_Packages.xml
│ ├── Dart_SDK.xml
│ ├── Flutter_Plugins.xml
│ └── Flutter_for_Android.xml
├── markdown-navigator.xml
├── markdown-navigator
│ └── profiles_settings.xml
├── modules.xml
├── runConfigurations
│ └── main_dart.xml
└── workspace.xml
├── .metadata
├── README.md
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ ├── google-services.json
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── datingapp
│ │ │ └── MainActivity.java
│ │ └── res
│ │ ├── drawable
│ │ └── launch_background.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ └── values
│ │ ├── strings.xml
│ │ └── styles.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
├── assets
├── 1.jpg
├── Background.png
├── Home.png
├── account.png
├── account2.png
├── arrow-up.png
├── back-arrow.png
├── bg.png
├── camera.png
├── chat.png
├── chat2.png
├── datingpic.jpg
├── els-fattah.jpg
├── first.png
├── fonts
│ ├── Poppins-Black.ttf
│ ├── Poppins-BlackItalic.ttf
│ ├── Poppins-Bold.ttf
│ ├── Poppins-BoldItalic.ttf
│ ├── Poppins-ExtraBold.ttf
│ ├── Poppins-ExtraBoldItalic.ttf
│ ├── Poppins-ExtraLight.ttf
│ ├── Poppins-ExtraLightItalic.ttf
│ ├── Poppins-Italic.ttf
│ ├── Poppins-Light.ttf
│ ├── Poppins-LightItalic.ttf
│ ├── Poppins-Medium.ttf
│ ├── Poppins-MediumItalic.ttf
│ ├── Poppins-Regular.ttf
│ ├── Poppins-SemiBold.ttf
│ ├── Poppins-SemiBoldItalic.ttf
│ ├── Poppins-Thin.ttf
│ └── Poppins-ThinItalic.ttf
├── forward-arrow.png
├── forward.png
├── fourth.png
├── gallery.png
├── home2.png
├── i18n
│ ├── en-GB.json
│ ├── en.json
│ ├── es.json
│ ├── fr.json
│ └── index.js
├── icons
│ ├── Home.svg
│ ├── account 2.svg
│ ├── account.svg
│ ├── block.svg
│ ├── chat.svg
│ ├── chat2.svg
│ ├── delete.svg
│ ├── edit.svg
│ ├── home 2.svg
│ ├── like.svg
│ ├── location.svg
│ ├── settings.svg
│ └── share.svg
├── img1.jpg
├── img1.png
├── img2.jpg
├── img3.jpg
├── img4.jpg
├── img5.JPG
├── jonathan-daniels.jpg
├── next.png
├── sam-burriss.jpg
├── second.png
├── sign_up_bg.png
├── third.png
└── warren-wong.jpg
├── datingapp.iml
├── datingapp_android.iml
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Runner
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── Icon-App-1024x1024@1x.png
│ │ ├── Icon-App-20x20@1x.png
│ │ ├── Icon-App-20x20@2x.png
│ │ ├── Icon-App-20x20@3x.png
│ │ ├── Icon-App-29x29@1x.png
│ │ ├── Icon-App-29x29@2x.png
│ │ ├── Icon-App-29x29@3x.png
│ │ ├── Icon-App-40x40@1x.png
│ │ ├── Icon-App-40x40@2x.png
│ │ ├── Icon-App-40x40@3x.png
│ │ ├── Icon-App-60x60@2x.png
│ │ ├── Icon-App-60x60@3x.png
│ │ ├── Icon-App-76x76@1x.png
│ │ ├── Icon-App-76x76@2x.png
│ │ └── Icon-App-83.5x83.5@2x.png
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── main.m
├── lib
├── Components
│ ├── multiSlider.dart
│ ├── profileImages.dart
│ ├── profileInputs.dart
│ └── swipeButton.dart
├── Data
│ ├── index.dart
│ └── styles.dart
├── Screens
│ ├── Account
│ │ ├── index.dart
│ │ └── styles.dart
│ ├── Chat
│ │ ├── index.dart
│ │ └── styles.dart
│ ├── EditProfile
│ │ ├── grid.dart
│ │ └── index.dart
│ ├── Home
│ │ ├── activeCard.dart
│ │ ├── data.dart
│ │ ├── detail.dart
│ │ ├── dummyCard.dart
│ │ ├── index.dart
│ │ └── styles.dart
│ ├── Login
│ │ ├── index.dart
│ │ ├── pages.dart
│ │ └── styles.dart
│ ├── Settings
│ │ └── index.dart
│ ├── TabController
│ │ ├── index.dart
│ │ └── styles.dart
│ └── testcc
│ │ ├── index.dart
│ │ └── sign.dart
├── main.dart
├── multislider.dart
├── routes.dart
├── test.dart
└── theme
│ └── styles.dart
├── pubspec.lock
├── pubspec.yaml
└── test
└── widget_test.dart
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # FlutterDatingApp
2 |
--------------------------------------------------------------------------------
/datingapp/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .dart_tool/
3 |
4 | .packages
5 | .pub/
6 |
7 | build/
8 |
9 | .flutter-plugins
10 |
--------------------------------------------------------------------------------
/datingapp/.idea/libraries/Dart_SDK.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/datingapp/.idea/libraries/Flutter_Plugins.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/datingapp/.idea/libraries/Flutter_for_Android.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/datingapp/.idea/markdown-navigator.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/datingapp/.idea/markdown-navigator/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/datingapp/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/datingapp/.idea/runConfigurations/main_dart.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/datingapp/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 7984f6e043ee661b420e70c72241973c676034e5
8 | channel: dev
9 |
--------------------------------------------------------------------------------
/datingapp/README.md:
--------------------------------------------------------------------------------
1 | # datingapp
2 |
3 | A new Flutter project.
4 |
5 | ## Getting Started
6 |
7 | For help getting started with Flutter, view our online
8 | [documentation](https://flutter.io/).
9 |
--------------------------------------------------------------------------------
/datingapp/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | *.class
3 | .gradle
4 | /local.properties
5 | /.idea/workspace.xml
6 | /.idea/libraries
7 | .DS_Store
8 | /build
9 | /captures
10 | GeneratedPluginRegistrant.java
11 |
--------------------------------------------------------------------------------
/datingapp/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | apply plugin: 'com.android.application'
15 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
16 |
17 | android {
18 | compileSdkVersion 27
19 |
20 | lintOptions {
21 | disable 'InvalidPackage'
22 | }
23 |
24 | defaultConfig {
25 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
26 | applicationId "com.example.datingapp"
27 | minSdkVersion 16
28 | targetSdkVersion 27
29 | versionCode 1
30 | versionName "1.0"
31 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
32 | }
33 |
34 | buildTypes {
35 | release {
36 | // TODO: Add your own signing config for the release build.
37 | // Signing with the debug keys for now, so `flutter run --release` works.
38 | signingConfig signingConfigs.debug
39 | }
40 | }
41 | }
42 |
43 | flutter {
44 | source '../..'
45 | }
46 |
47 | dependencies {
48 | testImplementation 'junit:junit:4.12'
49 | androidTestImplementation 'com.android.support.test:runner:1.0.1'
50 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
51 | }
52 |
--------------------------------------------------------------------------------
/datingapp/android/app/google-services.json:
--------------------------------------------------------------------------------
1 | {
2 | "project_info": {
3 | "project_number": "804317660274",
4 | "firebase_url": "https://flutter-dating-app.firebaseio.com",
5 | "project_id": "flutter-dating-app",
6 | "storage_bucket": "flutter-dating-app.appspot.com"
7 | },
8 | "client": [
9 | {
10 | "client_info": {
11 | "mobilesdk_app_id": "1:804317660274:android:1e4b32425fa33a4e",
12 | "android_client_info": {
13 | "package_name": "com.example.datingapp"
14 | }
15 | },
16 | "oauth_client": [
17 | {
18 | "client_id": "804317660274-lb9qpgab8odosl8h2jsunh752qki2gci.apps.googleusercontent.com",
19 | "client_type": 1,
20 | "android_info": {
21 | "package_name": "com.example.datingapp",
22 | "certificate_hash": "9a33a058b828a68a713f47230434ea3229406a00"
23 | }
24 | },
25 | {
26 | "client_id": "804317660274-c3ttdtef25q8ipcl4bm30r45gvg9ljr5.apps.googleusercontent.com",
27 | "client_type": 3
28 | },
29 | {
30 | "client_id": "804317660274-c3ttdtef25q8ipcl4bm30r45gvg9ljr5.apps.googleusercontent.com",
31 | "client_type": 3
32 | }
33 | ],
34 | "api_key": [
35 | {
36 | "current_key": "AIzaSyDzh3tW-3XWwTEU4z_MEnJS1A8ldZlfUBQ"
37 | }
38 | ],
39 | "services": {
40 | "analytics_service": {
41 | "status": 1
42 | },
43 | "appinvite_service": {
44 | "status": 2,
45 | "other_platform_oauth_client": [
46 | {
47 | "client_id": "804317660274-kp34juj02lqqia1gba380kf4pgnboqqp.apps.googleusercontent.com",
48 | "client_type": 2,
49 | "ios_info": {
50 | "bundle_id": "com.example.datingapp"
51 | }
52 | },
53 | {
54 | "client_id": "804317660274-c3ttdtef25q8ipcl4bm30r45gvg9ljr5.apps.googleusercontent.com",
55 | "client_type": 3
56 | }
57 | ]
58 | },
59 | "ads_service": {
60 | "status": 2
61 | }
62 | }
63 | }
64 | ],
65 | "configuration_version": "1"
66 | }
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
10 |
15 |
19 |
26 |
30 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
41 |
42 |
46 |
47 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/java/com/example/datingapp/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.example.datingapp;
2 |
3 | import android.os.Bundle;
4 |
5 | import io.flutter.app.FlutterActivity;
6 | import io.flutter.plugins.GeneratedPluginRegistrant;
7 |
8 | public class MainActivity extends FlutterActivity {
9 | @Override
10 | protected void onCreate(Bundle savedInstanceState) {
11 | super.onCreate(savedInstanceState);
12 | GeneratedPluginRegistrant.registerWith(this);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Dating App
4 |
5 |
6 | 2066601313557901
7 |
8 |
9 | fb2066601313557901
10 |
--------------------------------------------------------------------------------
/datingapp/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/datingapp/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | jcenter()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:3.0.1'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | google()
15 | jcenter()
16 | }
17 | }
18 |
19 | rootProject.buildDir = '../build'
20 | subprojects {
21 | project.buildDir = "${rootProject.buildDir}/${project.name}"
22 | }
23 | subprojects {
24 | project.evaluationDependsOn(':app')
25 | }
26 |
27 | task clean(type: Delete) {
28 | delete rootProject.buildDir
29 | }
30 |
--------------------------------------------------------------------------------
/datingapp/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 |
--------------------------------------------------------------------------------
/datingapp/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/datingapp/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/datingapp/android/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/datingapp/android/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/datingapp/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
4 |
5 | def plugins = new Properties()
6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
7 | if (pluginsFile.exists()) {
8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
9 | }
10 |
11 | plugins.each { name, path ->
12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
13 | include ":$name"
14 | project(":$name").projectDir = pluginDirectory
15 | }
16 |
--------------------------------------------------------------------------------
/datingapp/assets/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/1.jpg
--------------------------------------------------------------------------------
/datingapp/assets/Background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/Background.png
--------------------------------------------------------------------------------
/datingapp/assets/Home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/Home.png
--------------------------------------------------------------------------------
/datingapp/assets/account.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/account.png
--------------------------------------------------------------------------------
/datingapp/assets/account2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/account2.png
--------------------------------------------------------------------------------
/datingapp/assets/arrow-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/arrow-up.png
--------------------------------------------------------------------------------
/datingapp/assets/back-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/back-arrow.png
--------------------------------------------------------------------------------
/datingapp/assets/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/bg.png
--------------------------------------------------------------------------------
/datingapp/assets/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/camera.png
--------------------------------------------------------------------------------
/datingapp/assets/chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/chat.png
--------------------------------------------------------------------------------
/datingapp/assets/chat2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/chat2.png
--------------------------------------------------------------------------------
/datingapp/assets/datingpic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/datingpic.jpg
--------------------------------------------------------------------------------
/datingapp/assets/els-fattah.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/els-fattah.jpg
--------------------------------------------------------------------------------
/datingapp/assets/first.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/first.png
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-Black.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-BlackItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-Bold.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-BoldItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-ExtraBold.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-ExtraBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-ExtraBoldItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-ExtraLight.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-ExtraLightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-ExtraLightItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-Italic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-Light.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-LightItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-Medium.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-MediumItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-Regular.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-SemiBold.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-SemiBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-SemiBoldItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-Thin.ttf
--------------------------------------------------------------------------------
/datingapp/assets/fonts/Poppins-ThinItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fonts/Poppins-ThinItalic.ttf
--------------------------------------------------------------------------------
/datingapp/assets/forward-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/forward-arrow.png
--------------------------------------------------------------------------------
/datingapp/assets/forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/forward.png
--------------------------------------------------------------------------------
/datingapp/assets/fourth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/fourth.png
--------------------------------------------------------------------------------
/datingapp/assets/gallery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/gallery.png
--------------------------------------------------------------------------------
/datingapp/assets/home2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/home2.png
--------------------------------------------------------------------------------
/datingapp/assets/i18n/en-GB.json:
--------------------------------------------------------------------------------
1 | {
2 | "en-GB": {
3 | "home": "Home",
4 | "discover": "Discover"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/datingapp/assets/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "en": {
3 | "home": "Home",
4 | "discover": "Discover"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/datingapp/assets/i18n/es.json:
--------------------------------------------------------------------------------
1 | {
2 | "es": {
3 | "home": "Casa",
4 | "discover": "Descubrir"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/datingapp/assets/i18n/fr.json:
--------------------------------------------------------------------------------
1 | {
2 | "fr": {
3 | "home": "Maison",
4 | "discover": "Découvrir"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/datingapp/assets/i18n/index.js:
--------------------------------------------------------------------------------
1 | import EngliagGB from './en-GB.json'
2 | import English from './en.json'
3 | import Spanish from './es.json'
4 | import French from './fr.json'
5 |
6 | export default {
7 | en: English.en,
8 | 'en-GB': EngliagGB['en-GB'],
9 | es: Spanish.es,
10 | fr: French.fr
11 | }
12 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/Home.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/account 2.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/account.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/block.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/chat.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/chat2.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/delete.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/edit.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/home 2.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/like.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/location.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/settings.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/icons/share.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/datingapp/assets/img1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/img1.jpg
--------------------------------------------------------------------------------
/datingapp/assets/img1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/img1.png
--------------------------------------------------------------------------------
/datingapp/assets/img2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/img2.jpg
--------------------------------------------------------------------------------
/datingapp/assets/img3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/img3.jpg
--------------------------------------------------------------------------------
/datingapp/assets/img4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/img4.jpg
--------------------------------------------------------------------------------
/datingapp/assets/img5.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/img5.JPG
--------------------------------------------------------------------------------
/datingapp/assets/jonathan-daniels.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/jonathan-daniels.jpg
--------------------------------------------------------------------------------
/datingapp/assets/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/next.png
--------------------------------------------------------------------------------
/datingapp/assets/sam-burriss.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/sam-burriss.jpg
--------------------------------------------------------------------------------
/datingapp/assets/second.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/second.png
--------------------------------------------------------------------------------
/datingapp/assets/sign_up_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/sign_up_bg.png
--------------------------------------------------------------------------------
/datingapp/assets/third.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/third.png
--------------------------------------------------------------------------------
/datingapp/assets/warren-wong.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/assets/warren-wong.jpg
--------------------------------------------------------------------------------
/datingapp/datingapp.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/datingapp/datingapp_android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/datingapp/ios/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .vagrant/
3 | .sconsign.dblite
4 | .svn/
5 |
6 | .DS_Store
7 | *.swp
8 | profile
9 |
10 | DerivedData/
11 | build/
12 | GeneratedPluginRegistrant.h
13 | GeneratedPluginRegistrant.m
14 |
15 | .generated/
16 |
17 | *.pbxuser
18 | *.mode1v3
19 | *.mode2v3
20 | *.perspectivev3
21 |
22 | !default.pbxuser
23 | !default.mode1v3
24 | !default.mode2v3
25 | !default.perspectivev3
26 |
27 | xcuserdata
28 |
29 | *.moved-aside
30 |
31 | *.pyc
32 | *sync/
33 | Icon?
34 | .tags*
35 |
36 | /Flutter/app.flx
37 | /Flutter/app.zip
38 | /Flutter/flutter_assets/
39 | /Flutter/App.framework
40 | /Flutter/Flutter.framework
41 | /Flutter/Generated.xcconfig
42 | /ServiceDefinitions.json
43 |
44 | Pods/
45 |
--------------------------------------------------------------------------------
/datingapp/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | UIRequiredDeviceCapabilities
24 |
25 | arm64
26 |
27 | MinimumOSVersion
28 | 8.0
29 |
30 |
31 |
--------------------------------------------------------------------------------
/datingapp/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/datingapp/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/datingapp/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6 |
7 | def parse_KV_file(file, separator='=')
8 | file_abs_path = File.expand_path(file)
9 | if !File.exists? file_abs_path
10 | return [];
11 | end
12 | pods_ary = []
13 | skip_line_start_symbols = ["#", "/"]
14 | File.foreach(file_abs_path) { |line|
15 | next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
16 | plugin = line.split(pattern=separator)
17 | if plugin.length == 2
18 | podname = plugin[0].strip()
19 | path = plugin[1].strip()
20 | podpath = File.expand_path("#{path}", file_abs_path)
21 | pods_ary.push({:name => podname, :path => podpath});
22 | else
23 | puts "Invalid plugin specification: #{line}"
24 | end
25 | }
26 | return pods_ary
27 | end
28 |
29 | target 'Runner' do
30 | # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
31 | # referring to absolute paths on developers' machines.
32 | system('rm -rf Pods/.symlinks')
33 | system('mkdir -p Pods/.symlinks/plugins')
34 |
35 | # Flutter Pods
36 | generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
37 | if generated_xcode_build_settings.empty?
38 | puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first."
39 | end
40 | generated_xcode_build_settings.map { |p|
41 | if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
42 | symlink = File.join('Pods', '.symlinks', 'flutter')
43 | File.symlink(File.dirname(p[:path]), symlink)
44 | pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
45 | end
46 | }
47 |
48 | # Plugin Pods
49 | plugin_pods = parse_KV_file('../.flutter-plugins')
50 | plugin_pods.map { |p|
51 | symlink = File.join('Pods', '.symlinks', 'plugins', p[:name])
52 | File.symlink(p[:path], symlink)
53 | pod p[:name], :path => File.join(symlink, 'ios')
54 | }
55 | end
56 |
57 | post_install do |installer|
58 | installer.pods_project.targets.each do |target|
59 | target.build_configurations.each do |config|
60 | config.build_settings['ENABLE_BITCODE'] = 'NO'
61 | end
62 | end
63 | end
64 |
--------------------------------------------------------------------------------
/datingapp/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Bolts (1.9.0):
3 | - Bolts/AppLinks (= 1.9.0)
4 | - Bolts/Tasks (= 1.9.0)
5 | - Bolts/AppLinks (1.9.0):
6 | - Bolts/Tasks
7 | - Bolts/Tasks (1.9.0)
8 | - FBSDKCoreKit (4.31.0):
9 | - Bolts (~> 1.7)
10 | - FBSDKLoginKit (4.31.0):
11 | - FBSDKCoreKit
12 | - Flutter (1.0.0)
13 | - flutter_facebook_login (0.0.1):
14 | - FBSDKLoginKit (~> 4.29)
15 | - Flutter
16 | - image_picker (0.0.1):
17 | - Flutter
18 | - share (0.0.1):
19 | - Flutter
20 |
21 | DEPENDENCIES:
22 | - Flutter (from `Pods/.symlinks/flutter/ios`)
23 | - flutter_facebook_login (from `Pods/.symlinks/plugins/flutter_facebook_login/ios`)
24 | - image_picker (from `Pods/.symlinks/plugins/image_picker/ios`)
25 | - share (from `Pods/.symlinks/plugins/share/ios`)
26 |
27 | SPEC REPOS:
28 | https://github.com/cocoapods/specs.git:
29 | - Bolts
30 | - FBSDKCoreKit
31 | - FBSDKLoginKit
32 |
33 | EXTERNAL SOURCES:
34 | Flutter:
35 | :path: Pods/.symlinks/flutter/ios
36 | flutter_facebook_login:
37 | :path: Pods/.symlinks/plugins/flutter_facebook_login/ios
38 | image_picker:
39 | :path: Pods/.symlinks/plugins/image_picker/ios
40 | share:
41 | :path: Pods/.symlinks/plugins/share/ios
42 |
43 | SPEC CHECKSUMS:
44 | Bolts: ac6567323eac61e203f6a9763667d0f711be34c8
45 | FBSDKCoreKit: 54db4c581123745d25a9f7c1608020b3aeabd118
46 | FBSDKLoginKit: 95a252ddffd6919c0f132a02292f0824616d8709
47 | Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296
48 | flutter_facebook_login: e3d2f0a348889fe0f49c302bc044b8cc66c691be
49 | image_picker: ee00aab0487cedc80a304085219503cc6d0f2e22
50 | share: 8d04605548e55f7ce4ebb7b3e933f3c85028c9cf
51 |
52 | PODFILE CHECKSUM: 13dcf421f4da2e937a57e8ba760ed880beae536f
53 |
54 | COCOAPODS: 1.5.3
55 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
31 |
32 |
33 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
56 |
58 |
64 |
65 |
66 |
67 |
68 |
69 |
75 |
77 |
83 |
84 |
85 |
86 |
88 |
89 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/AppDelegate.m:
--------------------------------------------------------------------------------
1 | #include "AppDelegate.h"
2 | #include "GeneratedPluginRegistrant.h"
3 |
4 | @implementation AppDelegate
5 |
6 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
7 | [GeneratedPluginRegistrant registerWithRegistry:self];
8 | // Override point for customization after application launch.
9 | return [super application:application didFinishLaunchingWithOptions:launchOptions];
10 | }
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geekruchika/FlutterDatingApp/9d5b0e3c9c903a57ab088cd7fa5528e1bf7e08e9/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | 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.
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | DatingApp
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | datingapp
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 |
24 | LSRequiresIPhoneOS
25 |
26 | NSCameraUsageDescription
27 |
28 | NSPhotoLibraryUsageDescription
29 |
30 | UILaunchStoryboardName
31 | LaunchScreen
32 | UIMainStoryboardFile
33 | Main
34 | UIRequiredDeviceCapabilities
35 |
36 | arm64
37 |
38 | UISupportedInterfaceOrientations
39 |
40 | UIInterfaceOrientationPortrait
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 | UISupportedInterfaceOrientations~ipad
45 |
46 | UIInterfaceOrientationPortrait
47 | UIInterfaceOrientationPortraitUpsideDown
48 | UIInterfaceOrientationLandscapeLeft
49 | UIInterfaceOrientationLandscapeRight
50 |
51 | UIViewControllerBasedStatusBarAppearance
52 |
53 |
54 | CFBundleURLTypes
55 |
56 |
57 | CFBundleURLSchemes
58 |
59 | fb2066601313557901
60 |
61 |
62 |
63 | CFBundleVersion
64 | 1
65 | FacebookAppID
66 | 2066601313557901
67 | FacebookDisplayName
68 | Dating App
69 | LSApplicationQueriesSchemes
70 |
71 | fbapi
72 | fb-messenger-share-api
73 | fbauth2
74 | fbshareextension
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/datingapp/ios/Runner/main.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "AppDelegate.h"
4 |
5 | int main(int argc, char * argv[]) {
6 | @autoreleasepool {
7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/datingapp/lib/Components/multiSlider.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_range_slider/flutter_range_slider.dart';
3 |
4 | class RangeSliderData {
5 | double min;
6 | double max;
7 | double lowerValue;
8 | double upperValue;
9 | int divisions;
10 | bool showValueIndicator;
11 | int valueIndicatorMaxDecimals;
12 | bool forceValueIndicator;
13 | Color overlayColor;
14 | Color activeTrackColor;
15 | Color inactiveTrackColor;
16 | Color thumbColor;
17 | Color valueIndicatorColor;
18 | Color activeTickMarkColor;
19 |
20 | static const Color defaultActiveTrackColor = const Color(0xFF0175c2);
21 | static const Color defaultInactiveTrackColor = const Color(0x3d0175c2);
22 | static const Color defaultActiveTickMarkColor = const Color(0x8a0175c2);
23 | static const Color defaultThumbColor = const Color(0xFF0175c2);
24 | static const Color defaultValueIndicatorColor = const Color(0xFF0175c2);
25 | static const Color defaultOverlayColor = const Color(0x290175c2);
26 |
27 | RangeSliderData({
28 | this.min,
29 | this.max,
30 | this.lowerValue,
31 | this.upperValue,
32 | this.divisions,
33 | this.showValueIndicator: true,
34 | this.valueIndicatorMaxDecimals: 0,
35 | this.forceValueIndicator: false,
36 | this.overlayColor: defaultOverlayColor,
37 | this.activeTrackColor: defaultActiveTrackColor,
38 | this.inactiveTrackColor: defaultInactiveTrackColor,
39 | this.thumbColor: defaultThumbColor,
40 | this.valueIndicatorColor: defaultValueIndicatorColor,
41 | this.activeTickMarkColor: defaultActiveTickMarkColor,
42 | });
43 |
44 | String get lowerValueText =>
45 | lowerValue.round().toStringAsFixed(valueIndicatorMaxDecimals);
46 | String get upperValueText =>
47 | upperValue.round().toStringAsFixed(valueIndicatorMaxDecimals);
48 |
49 | Widget build(BuildContext context, RangeSliderCallback callback) {
50 | Size screenSize = MediaQuery.of(context).size;
51 | return new Card(
52 | elevation: 6.0,
53 | child: new Container(
54 | width: screenSize.width,
55 | padding: new EdgeInsets.only(top: 12.0, bottom: 12.0),
56 | child: new Column(children: [
57 | new ListTile(
58 | title: new Text("Age Range"),
59 | trailing: new Text((lowerValueText) + "-" + (upperValueText)),
60 | ),
61 | new Container(
62 | width: double.infinity,
63 | child: new Row(
64 | children: [
65 | new Expanded(
66 | child: new SliderTheme(
67 | data: SliderTheme.of(context).copyWith(
68 | overlayColor: overlayColor,
69 | activeTickMarkColor: activeTickMarkColor,
70 | activeTrackColor: activeTrackColor,
71 | inactiveTrackColor: inactiveTrackColor,
72 | thumbColor: thumbColor,
73 | valueIndicatorColor: valueIndicatorColor,
74 | showValueIndicator: showValueIndicator
75 | ? ShowValueIndicator.always
76 | : ShowValueIndicator.onlyForDiscrete,
77 | ),
78 | child: new RangeSlider(
79 | min: min,
80 | max: max,
81 | lowerValue: lowerValue,
82 | upperValue: upperValue,
83 | divisions: divisions,
84 | showValueIndicator: showValueIndicator,
85 | valueIndicatorMaxDecimals: valueIndicatorMaxDecimals,
86 | onChanged: (double lower, double upper) {
87 | callback(lower, upper);
88 | },
89 | ),
90 | ),
91 | ),
92 | ],
93 | ),
94 | )
95 | ])));
96 | }
97 | }
98 |
--------------------------------------------------------------------------------
/datingapp/lib/Components/profileImages.dart:
--------------------------------------------------------------------------------
1 | import 'dart:async';
2 | import 'dart:io';
3 |
4 | import 'package:datingapp/theme/styles.dart';
5 | import 'package:flutter/material.dart';
6 |
7 | class ProfileImage extends StatelessWidget {
8 | final double margin;
9 | final double width;
10 | final double height;
11 | final String numtext;
12 | final Function iconOnClick;
13 | final Future imageFile;
14 | ProfileImage(
15 | {this.imageFile,
16 | this.margin,
17 | this.width,
18 | this.height,
19 | this.numtext,
20 | this.iconOnClick});
21 |
22 | @override
23 | Widget build(BuildContext context) {
24 | return new Stack(
25 | alignment: Alignment.bottomCenter,
26 | children: [
27 | new Container(
28 | margin: new EdgeInsets.all(margin),
29 | width: width,
30 | height: height,
31 | decoration: new BoxDecoration(color: Colors.grey),
32 | child: new FutureBuilder(
33 | future: imageFile,
34 | builder: (BuildContext context, AsyncSnapshot snapshot) {
35 | if (snapshot.connectionState == ConnectionState.done &&
36 | snapshot.data != null) {
37 | return new Stack(
38 | alignment: Alignment.topRight,
39 | children: [
40 | new Image.file(
41 | snapshot.data,
42 | width: width,
43 | height: height,
44 | fit: BoxFit.fill,
45 | ),
46 | new Container(
47 | width: 25.0,
48 | height: 25.0,
49 | margin: new EdgeInsets.all(8.0),
50 | alignment: Alignment.center,
51 | decoration: new BoxDecoration(
52 | shape: BoxShape.circle, color: Colors.white),
53 | child: new Text(numtext),
54 | ),
55 | ],
56 | );
57 | } else if (snapshot.error != null) {
58 | return const Text('error picking image.');
59 | } else {
60 | return const Text('');
61 | }
62 | },
63 | ),
64 | ),
65 | new InkWell(
66 | onTap: iconOnClick,
67 | child: new Container(
68 | width: 30.0,
69 | height: 30.0,
70 | margin: new EdgeInsets.only(top: 20.0),
71 | alignment: Alignment.center,
72 | decoration:
73 | new BoxDecoration(shape: BoxShape.circle, color: gradientThree),
74 | child: new Icon(
75 | imageFile == null ? Icons.add : Icons.cancel,
76 | color: Colors.white,
77 | ),
78 | ),
79 | ),
80 | ],
81 | );
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/datingapp/lib/Components/profileInputs.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class ProfileInputs extends StatelessWidget {
4 | String placeholder;
5 | int lines;
6 | String title;
7 | ProfileInputs({this.lines, this.placeholder, this.title});
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return new Container(
12 | margin: const EdgeInsets.only(top: 10.0),
13 | child: new Column(
14 | crossAxisAlignment: CrossAxisAlignment.start,
15 | children: [
16 | new Padding(
17 | padding: const EdgeInsets.all(10.0),
18 | child: new Text(
19 | title,
20 | style:
21 | new TextStyle(fontSize: 20.0, fontFamily: "PoppinsRegular"),
22 | ),
23 | ),
24 | new Card(
25 | elevation: 0.0,
26 | child: new TextFormField(
27 | maxLines: lines,
28 | decoration: new InputDecoration(
29 | hintText: placeholder,
30 | border: InputBorder.none,
31 | contentPadding: const EdgeInsets.all(15.0),
32 | ),
33 | ),
34 | )
35 | ],
36 | ),
37 | );
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/datingapp/lib/Components/swipeButton.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/theme/styles.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | class SwipeButton extends StatelessWidget {
5 | final String text;
6 | final Function onClick;
7 | SwipeButton({this.onClick, this.text});
8 | @override
9 | Widget build(BuildContext context) {
10 | return new FlatButton(
11 | padding: new EdgeInsets.all(0.0),
12 | onPressed: () {
13 | onClick();
14 | },
15 | child: new Container(
16 | height: 60.0,
17 | width: 130.0,
18 | alignment: Alignment.center,
19 | decoration: new BoxDecoration(
20 | gradient: new LinearGradient(
21 | begin: Alignment.topLeft,
22 | end: Alignment.bottomRight,
23 | colors: [gradientOne, gradientTwo, gradientThree],
24 | tileMode: TileMode.repeated,
25 | ),
26 | borderRadius: new BorderRadius.circular(60.0),
27 | ),
28 | child: new Text(
29 | text,
30 | style: new TextStyle(
31 | fontSize: 18.0,
32 | letterSpacing: 0.6,
33 | color: Colors.white,
34 | fontWeight: FontWeight.w400),
35 | ),
36 | ));
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/datingapp/lib/Data/index.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Data/styles.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | final otherUsersData = [
5 | new DataViewModel(user1, 10.0, "Long description", "Tom Cruise",
6 | "Short description", "Paris pvt ltd", "male"),
7 | new DataViewModel(user2, 10.0, "Long description", "Harry Potter",
8 | "Short description", "Paris pvt ltd", "male"),
9 | new DataViewModel(user3, 10.0, "Long description", "Richa Methew",
10 | "Short description", "Paris pvt ltd", "male"),
11 | new DataViewModel(user4, 10.0, "Long description", "Ronaldo",
12 | "Short description", "Paris pvt ltd", "male")
13 | ];
14 |
15 | class OtherUser extends StatelessWidget {
16 | final DataViewModel viewModel;
17 |
18 | OtherUser({this.viewModel});
19 |
20 | @override
21 | Widget build(BuildContext context) {
22 | return new Column(
23 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
24 | children: [],
25 | );
26 | }
27 | }
28 |
29 | class DataViewModel {
30 | final String name;
31 | final String shortDescription;
32 | final String workPlace;
33 | final String gender;
34 | final double distance;
35 | final String longDescription;
36 | final DecorationImage img;
37 |
38 | DataViewModel(this.img, this.distance, this.longDescription, this.name,
39 | this.shortDescription, this.workPlace, this.gender);
40 | }
41 |
--------------------------------------------------------------------------------
/datingapp/lib/Data/styles.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | DecorationImage user1 = new DecorationImage(
4 | image: new ExactAssetImage('assets/els-fattah.jpg'),
5 | fit: BoxFit.cover,
6 | );
7 | DecorationImage user2 = new DecorationImage(
8 | image: new ExactAssetImage('assets/jonathan-daniels.jpg'),
9 | fit: BoxFit.cover,
10 | );
11 |
12 | DecorationImage user3 = new DecorationImage(
13 | image: new ExactAssetImage('assets/sam-burriss.jpg'),
14 | fit: BoxFit.cover,
15 | );
16 | DecorationImage user4 = new DecorationImage(
17 | image: new ExactAssetImage('assets/warren-wong.jpg'),
18 | fit: BoxFit.cover,
19 | );
20 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Account/index.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Screens/Account/styles.dart';
2 | import 'package:datingapp/theme/styles.dart';
3 | import 'package:flutter/material.dart';
4 |
5 | class Profile extends StatefulWidget {
6 | @override
7 | _ProfileState createState() => new _ProfileState();
8 | }
9 |
10 | class _ProfileState extends State {
11 | TabController controller;
12 |
13 | void initState() {
14 | super.initState();
15 | }
16 |
17 | @override
18 | Widget build(BuildContext context) {
19 | Size screenSize = MediaQuery.of(context).size;
20 | return new Scaffold(
21 | appBar: new AppBar(
22 | elevation: 1.0,
23 | brightness: Brightness.light,
24 | backgroundColor: Colors.white,
25 | title: new Text(
26 | "Account",
27 | style: new TextStyle(
28 | color: new Color.fromRGBO(92, 107, 122, 1.0), fontSize: 32.0),
29 | ),
30 | centerTitle: false,
31 | automaticallyImplyLeading: false,
32 | ),
33 | body: new Container(
34 | width: screenSize.width,
35 | height: screenSize.height,
36 | color: const Color.fromRGBO(239, 239, 245, 1.0),
37 | child: new Column(
38 | mainAxisAlignment: MainAxisAlignment.center,
39 | children: [
40 | new Container(
41 | height: 80.0,
42 | width: 80.0,
43 | decoration:
44 | new BoxDecoration(shape: BoxShape.circle, image: logo),
45 | ),
46 | new Padding(
47 | padding: const EdgeInsets.all(12.0),
48 | child: new Text(
49 | "Robert Downey, 21",
50 | style: new TextStyle(
51 | fontFamily: "PoppinsMedium",
52 | fontSize: 20.0,
53 | //fontWeight: FontWeight.bold,
54 | letterSpacing: 0.8),
55 | ),
56 | ),
57 | new Text(
58 | "American Actor",
59 | style: new TextStyle(
60 | fontFamily: "Poppins",
61 | fontSize: 15.0,
62 | fontWeight: FontWeight.w100,
63 | letterSpacing: 0.7),
64 | ),
65 | new FlatButton(
66 | onPressed: () {
67 | Navigator.of(context).pushNamed("/settings");
68 | },
69 | child: new Container(
70 | width: 200.0,
71 | height: 50.0,
72 | margin: new EdgeInsets.only(top: 20.0),
73 | alignment: Alignment.center,
74 | padding: new EdgeInsets.all(10.0),
75 | decoration: new BoxDecoration(
76 | gradient: new LinearGradient(
77 | begin: Alignment.topLeft,
78 | end: Alignment.bottomRight,
79 | colors: [gradientOne, gradientTwo, gradientThree],
80 | tileMode: TileMode.repeated,
81 | ),
82 | borderRadius:
83 | new BorderRadius.all(new Radius.circular(50.0))),
84 | child: new Row(
85 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
86 | children: [
87 | new Icon(
88 | Icons.settings,
89 | color: Colors.white,
90 | ),
91 | new Text(
92 | "Settings",
93 | style: new TextStyle(
94 | fontSize: 18.0,
95 | letterSpacing: 0.6,
96 | color: Colors.white,
97 | fontWeight: FontWeight.w400),
98 | ),
99 | ],
100 | )),
101 | ),
102 | new FlatButton(
103 | onPressed: () {
104 | Navigator.of(context).pushNamed("/profile");
105 | },
106 | child: new Container(
107 | width: 200.0,
108 | height: 50.0,
109 | margin: new EdgeInsets.only(top: 24.0),
110 | alignment: Alignment.center,
111 | padding: new EdgeInsets.all(10.0),
112 | decoration: new BoxDecoration(
113 | gradient: new LinearGradient(
114 | begin: Alignment.topLeft,
115 | end: Alignment.bottomRight,
116 | colors: [gradientOne, gradientTwo, gradientThree],
117 | tileMode: TileMode.repeated,
118 | ),
119 | borderRadius:
120 | new BorderRadius.all(new Radius.circular(50.0))),
121 | child: new Row(
122 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
123 | children: [
124 | new Icon(
125 | Icons.edit,
126 | color: Colors.white,
127 | ),
128 | new Text(
129 | "Edit Profile",
130 | style: new TextStyle(
131 | fontSize: 18.0,
132 | letterSpacing: 0.6,
133 | color: Colors.white,
134 | fontWeight: FontWeight.w400),
135 | ),
136 | ],
137 | )),
138 | ),
139 | ],
140 | ),
141 | ),
142 | );
143 | }
144 | }
145 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Account/styles.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | DecorationImage logo = new DecorationImage(
4 | image: new ExactAssetImage('assets/first.png'),
5 | fit: BoxFit.cover,
6 | );
7 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Chat/index.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Screens/Chat/styles.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | class Chat extends StatefulWidget {
5 | @override
6 | _ChatState createState() => new _ChatState();
7 | }
8 |
9 | class _ChatState extends State {
10 | TabController controller;
11 |
12 | void initState() {
13 | super.initState();
14 | }
15 |
16 | @override
17 | Widget build(BuildContext context) {
18 | Size screenSize = MediaQuery.of(context).size;
19 | return new Scaffold(
20 | appBar: new AppBar(
21 | elevation: 1.0,
22 | brightness: Brightness.light,
23 | backgroundColor: Colors.white,
24 | title: new Text(
25 | "Matches",
26 | style: new TextStyle(
27 | color: new Color.fromRGBO(92, 107, 122, 1.0), fontSize: 32.0),
28 | ),
29 | centerTitle: false,
30 | automaticallyImplyLeading: false,
31 | ),
32 | body: new Container(
33 | width: screenSize.width,
34 | height: screenSize.height,
35 | color: const Color.fromRGBO(239, 239, 245, 1.0),
36 | child: new Column(
37 | mainAxisAlignment: MainAxisAlignment.center,
38 | children: [
39 | new Container(
40 | height: 100.0,
41 | width: 100.0,
42 | decoration:
43 | new BoxDecoration(shape: BoxShape.circle, image: logo),
44 | ),
45 | new Padding(
46 | padding: const EdgeInsets.all(12.0),
47 | child: new Text(
48 | "There are no matches!",
49 | style: new TextStyle(
50 | fontFamily: "Poppins",
51 | fontSize: 15.0,
52 | fontWeight: FontWeight.w100,
53 | letterSpacing: 1.0),
54 | ),
55 | )
56 | ],
57 | )));
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Chat/styles.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | DecorationImage logo = new DecorationImage(
4 | image: new ExactAssetImage('assets/first.png'),
5 | fit: BoxFit.cover,
6 | );
7 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/EditProfile/grid.dart:
--------------------------------------------------------------------------------
1 | import 'dart:async';
2 | import 'dart:io';
3 |
4 | class GridImage {
5 | Future imageFile;
6 | GridImage({
7 | this.imageFile,
8 | });
9 | }
10 |
11 | class DataListBuilder {
12 | List gridData = new List();
13 |
14 | GridImage row1 = new GridImage(
15 | imageFile: null,
16 | );
17 | GridImage row2 = new GridImage(
18 | imageFile: null,
19 | );
20 | GridImage row3 = new GridImage(
21 | imageFile: null,
22 | );
23 | GridImage row4 = new GridImage(
24 | imageFile: null,
25 | );
26 | GridImage row5 = new GridImage(
27 | imageFile: null,
28 | );
29 | GridImage row6 = new GridImage(
30 | imageFile: null,
31 | );
32 | GridImage row7 = new GridImage(
33 | imageFile: null,
34 | );
35 |
36 | DataListBuilder() {
37 | gridData.add(row1);
38 | gridData.add(row2);
39 | gridData.add(row3);
40 | gridData.add(row4);
41 | gridData.add(row5);
42 | gridData.add(row6);
43 | gridData.add(row7);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/EditProfile/index.dart:
--------------------------------------------------------------------------------
1 | import 'dart:async';
2 | import 'dart:io';
3 |
4 | import 'package:datingapp/Components/profileImages.dart';
5 | import 'package:datingapp/Components/profileInputs.dart';
6 | import 'package:datingapp/Screens/EditProfile/grid.dart';
7 | import 'package:datingapp/theme/styles.dart';
8 | import 'package:flutter/cupertino.dart';
9 | import 'package:flutter/foundation.dart';
10 | import 'package:flutter/material.dart';
11 | import 'package:image_picker/image_picker.dart';
12 |
13 | class EditProfile extends StatefulWidget {
14 | @override
15 | _EditProfileState createState() => new _EditProfileState();
16 | }
17 |
18 | class _EditProfileState extends State {
19 | Future _imageFile;
20 | bool instaValue = true;
21 |
22 | DataListBuilder dataListBuilder = new DataListBuilder();
23 | getImage(int index) {
24 | List list = dataListBuilder.gridData;
25 | if (list[index].imageFile != null) {
26 | list[index].imageFile = null;
27 | setState(() {
28 | _imageFile = null;
29 | });
30 | } else {
31 | _imageFile = ImagePicker.pickImage(source: ImageSource.gallery);
32 |
33 | _imageFile.then((onValue) {
34 | print(onValue);
35 | if (onValue != null) {
36 | list[index].imageFile = _imageFile;
37 | setState(() {
38 | _imageFile = null;
39 | });
40 | }
41 | });
42 | }
43 | }
44 |
45 | @override
46 | Widget build(BuildContext context) {
47 | List list = dataListBuilder.gridData;
48 | Size screenSize = MediaQuery.of(context).size;
49 | return new Scaffold(
50 | backgroundColor: const Color.fromRGBO(239, 239, 245, 1.0),
51 | appBar: new AppBar(
52 | elevation: 2.0,
53 | brightness: Brightness.light,
54 | backgroundColor: Colors.white,
55 | title: new Text(
56 | "Edit Profile",
57 | style: new TextStyle(
58 | color: new Color.fromRGBO(92, 107, 122, 1.0),
59 | fontSize: 25.0,
60 | fontFamily: "Poppins",
61 | fontWeight: FontWeight.bold),
62 | ),
63 | centerTitle: false,
64 | leading: new FlatButton(
65 | onPressed: () {
66 | Navigator.of(context).pop();
67 | },
68 | child:
69 | new Image(image: new ExactAssetImage("assets/back-arrow.png"))),
70 | automaticallyImplyLeading: true,
71 | ),
72 | body: new SingleChildScrollView(
73 | padding: new EdgeInsets.all(10.0),
74 | child: new Column(
75 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
76 | crossAxisAlignment: CrossAxisAlignment.start,
77 | children: [
78 | new Padding(
79 | padding: const EdgeInsets.all(10.0),
80 | child: new Text(
81 | "Photos",
82 | style: new TextStyle(
83 | fontSize: 20.0, fontFamily: "PoppinsRegular"),
84 | ),
85 | ),
86 | new Row(
87 | // mainAxisAlignment: MainAxisAlignment.spaceAround,
88 | children: [
89 | new ProfileImage(
90 | margin: 10.0,
91 | width: 200.0,
92 | height: 280.0,
93 | numtext: "1",
94 | imageFile: list[0].imageFile,
95 | iconOnClick: () {
96 | getImage(0);
97 | },
98 | ),
99 | new Column(
100 | children: [
101 | new ProfileImage(
102 | margin: 10.0,
103 | width: 90.0,
104 | height: 130.0,
105 | numtext: "2",
106 | imageFile: list[1].imageFile,
107 | iconOnClick: () {
108 | getImage(1);
109 | },
110 | ),
111 | new ProfileImage(
112 | margin: 10.0,
113 | width: 90.0,
114 | height: 130.0,
115 | numtext: "3",
116 | imageFile: list[2].imageFile,
117 | iconOnClick: () {
118 | getImage(2);
119 | },
120 | ),
121 | ],
122 | )
123 | ],
124 | ),
125 | new Row(
126 | children: [
127 | new ProfileImage(
128 | margin: 10.0,
129 | width: 90.0,
130 | height: 130.0,
131 | numtext: "6",
132 | imageFile: list[5].imageFile,
133 | iconOnClick: () {
134 | getImage(5);
135 | },
136 | ),
137 | new ProfileImage(
138 | margin: 10.0,
139 | width: 90.0,
140 | height: 130.0,
141 | numtext: "5",
142 | imageFile: list[4].imageFile,
143 | iconOnClick: () {
144 | getImage(4);
145 | },
146 | ),
147 | new ProfileImage(
148 | margin: 10.0,
149 | width: 90.0,
150 | height: 130.0,
151 | numtext: "4",
152 | imageFile: list[3].imageFile,
153 | iconOnClick: () {
154 | getImage(3);
155 | },
156 | ),
157 | ],
158 | ),
159 | new ProfileInputs(
160 | title: "About Robert Downey",
161 | placeholder: "About you",
162 | lines: 5,
163 | ),
164 | new ProfileInputs(
165 | title: "Current Work",
166 | placeholder: "Select work",
167 | lines: 1,
168 | ),
169 | new ProfileInputs(
170 | title: "School",
171 | placeholder: "Select school",
172 | lines: 1,
173 | ),
174 | new Container(
175 | margin: const EdgeInsets.only(top: 10.0),
176 | padding: const EdgeInsets.all(10.0),
177 | child: new Text(
178 | "Social Media Account",
179 | style: new TextStyle(
180 | fontSize: 20.0, fontFamily: "PoppinsRegular"),
181 | ),
182 | ),
183 | new Card(
184 | child: new Container(
185 | padding: const EdgeInsets.all(12.0),
186 | width: screenSize.width,
187 | height: 100.0,
188 | child: new Row(
189 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
190 | children: [
191 | new Text(
192 | "Instagram",
193 | style: new TextStyle(
194 | fontSize: 20.0, fontFamily: "PoppinsRegular"),
195 | ),
196 | new Container(
197 | child: defaultTargetPlatform == TargetPlatform.android
198 | ? new Switch(
199 | value: instaValue,
200 | onChanged: (bool newValue) {
201 | setState(() {
202 | instaValue = newValue;
203 | });
204 | },
205 | activeColor: Colors.pink,
206 | activeTrackColor: Colors.pink,
207 | )
208 | : new CupertinoSwitch(
209 | value: instaValue,
210 | onChanged: (bool newValue) {
211 | setState(() {
212 | instaValue = newValue;
213 | });
214 | },
215 | activeColor: gradientOne,
216 | ),
217 | ),
218 | ],
219 | ),
220 | )),
221 | new Container(
222 | margin: const EdgeInsets.only(top: 10.0),
223 | padding: const EdgeInsets.all(10.0),
224 | child: new Text(
225 | "Gender",
226 | style: new TextStyle(
227 | fontSize: 20.0, fontFamily: "PoppinsRegular"),
228 | ),
229 | ),
230 | new Container(
231 | padding: const EdgeInsets.all(12.0),
232 | width: screenSize.width,
233 | height: 100.0,
234 | child: new Row(
235 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
236 | children: [
237 | new Container(
238 | width: 150.0,
239 | height: 50.0,
240 | alignment: Alignment.center,
241 | decoration: new BoxDecoration(
242 | border:
243 | new Border.all(width: 2.0, color: gradientThree),
244 | borderRadius:
245 | new BorderRadius.all(new Radius.circular(50.0))),
246 | child: new Text(
247 | "Male",
248 | style: new TextStyle(
249 | fontSize: 18.0,
250 | letterSpacing: 0.6,
251 | color: gradientThree,
252 | fontWeight: FontWeight.w400),
253 | ),
254 | ),
255 | new Container(
256 | width: 150.0,
257 | height: 50.0,
258 | alignment: Alignment.center,
259 | decoration: new BoxDecoration(
260 | color: gradientOne,
261 | border:
262 | new Border.all(width: 2.0, color: gradientOne),
263 | borderRadius:
264 | new BorderRadius.all(new Radius.circular(50.0))),
265 | child: new Text(
266 | "Female",
267 | style: new TextStyle(
268 | fontSize: 18.0,
269 | letterSpacing: 0.6,
270 | color: Colors.white,
271 | fontWeight: FontWeight.w400),
272 | ),
273 | )
274 | ],
275 | ),
276 | )
277 | ],
278 | )),
279 | );
280 | }
281 | }
282 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Home/activeCard.dart:
--------------------------------------------------------------------------------
1 | import 'dart:math';
2 |
3 | import 'package:datingapp/Components/swipeButton.dart';
4 | import 'package:datingapp/Screens/Home/detail.dart';
5 |
6 | import 'package:flutter/material.dart';
7 |
8 | class ActiveCard extends StatelessWidget {
9 | DecorationImage img;
10 | double bottom;
11 | double right;
12 | double left;
13 | double cardWidth;
14 | double rotation;
15 | double skew;
16 | Function dismissImg;
17 | int flag;
18 | Function addImg;
19 | Function swipeRight;
20 | Function swipeLeft;
21 | String tag;
22 | ActiveCard(
23 | {this.addImg,
24 | this.bottom,
25 | this.cardWidth,
26 | this.dismissImg,
27 | this.flag,
28 | this.img,
29 | this.left,
30 | this.right,
31 | this.rotation,
32 | this.skew,
33 | this.swipeLeft,
34 | this.swipeRight,
35 | this.tag});
36 |
37 | @override
38 | Widget build(BuildContext context) {
39 | Size screenSize = MediaQuery.of(context).size;
40 |
41 | return new Positioned(
42 | bottom: 80.0 + bottom,
43 | right: flag == 0 ? right != 0.0 ? right : null : null,
44 | left: flag == 1 ? right != 0.0 ? right : null : null,
45 | child: new Dismissible(
46 | key: new Key(new Random().toString()),
47 | crossAxisEndOffset: -0.3,
48 | onResize: () {},
49 | onDismissed: (direction) {
50 | dismissImg(img);
51 | },
52 | // (direction) {
53 | // // _swipeAnimation();
54 | // // if (direction == DismissDirection.endToStart)
55 | // dismissImg(img);
56 | // // else
57 | // // addImg(img);
58 | // },
59 | child: new Transform(
60 | alignment: flag == 0 ? Alignment.bottomRight : Alignment.bottomLeft,
61 | //transform: null,
62 | transform: new Matrix4.skewX(skew),
63 | //..rotateX(-math.pi / rotation),
64 | child: new RotationTransition(
65 | turns: new AlwaysStoppedAnimation(
66 | flag == 0 ? rotation / 360 : -rotation / 360),
67 | child: new Hero(
68 | tag: tag,
69 | child: new GestureDetector(
70 | onTap: () {
71 | Navigator.of(context).push(new PageRouteBuilder(
72 | pageBuilder: (_, __, ___) => new DetailPage(type: img),
73 | ));
74 | },
75 | child: new Card(
76 | color: Colors.transparent,
77 | elevation: 4.0,
78 | child: new Container(
79 | alignment: Alignment.center,
80 | width: screenSize.width / 1.2 + cardWidth,
81 | height: screenSize.height / 1.7,
82 | decoration: new BoxDecoration(
83 | color: Colors.white,
84 | borderRadius: new BorderRadius.circular(8.0),
85 | // boxShadow: [
86 | // new BoxShadow(
87 | // offset: Offset(0.0, 2.0), blurRadius: 12.0)
88 | // ]
89 | ),
90 | child: new Column(
91 | children: [
92 | new Container(
93 | width: screenSize.width / 1.2 + cardWidth,
94 | height: screenSize.height / 2.2,
95 | decoration: new BoxDecoration(
96 | borderRadius: new BorderRadius.only(
97 | topLeft: new Radius.circular(8.0),
98 | topRight: new Radius.circular(8.0)),
99 | image: img,
100 | ),
101 | ),
102 | new Container(
103 | width: screenSize.width / 1.2 + cardWidth,
104 | height: screenSize.height / 1.7 -
105 | screenSize.height / 2.2,
106 | alignment: Alignment.center,
107 | child: new Row(
108 | mainAxisAlignment:
109 | MainAxisAlignment.spaceEvenly,
110 | children: [
111 | new SwipeButton(
112 | text: "NOPE",
113 | onClick: swipeLeft,
114 | ),
115 | new SwipeButton(
116 | text: "LIKE",
117 | onClick: swipeRight,
118 | ),
119 | ],
120 | ))
121 | ],
122 | ),
123 | ),
124 | ),
125 | ),
126 | ),
127 | ),
128 | ),
129 | ));
130 | }
131 | }
132 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Home/data.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Screens/Home/styles.dart';
2 |
3 | List imageData = [image1, image4, image3, image2, image5];
4 | List nameData = [
5 | "Angelina Jolie",
6 | "Els-Fattah",
7 | "Sam Burriss",
8 | "Warren Wong",
9 | "JonathanDaniels"
10 | ];
11 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Home/dummyCard.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Components/swipeButton.dart';
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | class DummyCard extends StatelessWidget {
6 | DecorationImage img;
7 | double bottom;
8 | double right;
9 | double left;
10 | double cardWidth;
11 | double rotation;
12 | double skew;
13 | DummyCard(
14 | {this.bottom,
15 | this.cardWidth,
16 | this.img,
17 | this.left,
18 | this.right,
19 | this.rotation,
20 | this.skew});
21 | @override
22 | Widget build(BuildContext context) {
23 | Size screenSize = MediaQuery.of(context).size;
24 | return new Positioned(
25 | bottom: 80.0 + bottom,
26 | child: new Container(
27 | alignment: Alignment.center,
28 | width: screenSize.width / 1.2 + cardWidth,
29 | height: screenSize.height / 1.7,
30 | decoration: new BoxDecoration(
31 | color: Colors.white,
32 | borderRadius: new BorderRadius.circular(8.0),
33 | ),
34 | child: new Column(
35 | children: [
36 | new Container(
37 | width: screenSize.width / 1.2 + cardWidth,
38 | height: screenSize.height / 2.2,
39 | decoration: new BoxDecoration(
40 | borderRadius: new BorderRadius.only(
41 | topLeft: new Radius.circular(8.0),
42 | topRight: new Radius.circular(8.0)),
43 | image: img,
44 | ),
45 | ),
46 | new Container(
47 | width: screenSize.width / 1.2 + cardWidth,
48 | height: screenSize.height / 1.7 - screenSize.height / 2.2,
49 | alignment: Alignment.center,
50 | child: new Row(
51 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
52 | children: [
53 | new SwipeButton(
54 | text: "NOPE",
55 | onClick: null,
56 | ),
57 | new SwipeButton(
58 | text: "LIKE",
59 | onClick: null,
60 | ),
61 | ],
62 | ))
63 | ],
64 | ),
65 | ),
66 | );
67 | }
68 | }
69 |
70 | Positioned cardDemoDummy(
71 | DecorationImage img,
72 | double bottom,
73 | double right,
74 | double left,
75 | double cardWidth,
76 | double rotation,
77 | double skew,
78 | BuildContext context) {
79 | Size screenSize = MediaQuery.of(context).size;
80 |
81 | return new Positioned(
82 | bottom: 80.0 + bottom,
83 | // right: flag == 0 ? right != 0.0 ? right : null : null,
84 | //left: flag == 1 ? right != 0.0 ? right : null : null,
85 | child:
86 | // new Card(
87 | // color: Colors.transparent,
88 | // elevation: 4.0,
89 | // child:
90 | new Container(
91 | alignment: Alignment.center,
92 | width: screenSize.width / 1.2 + cardWidth,
93 | height: screenSize.height / 1.7,
94 | decoration: new BoxDecoration(
95 | color: Colors.white,
96 | borderRadius: new BorderRadius.circular(8.0),
97 | ),
98 | child: new Column(
99 | children: [
100 | new Container(
101 | width: screenSize.width / 1.2 + cardWidth,
102 | height: screenSize.height / 2.2,
103 | decoration: new BoxDecoration(
104 | borderRadius: new BorderRadius.only(
105 | topLeft: new Radius.circular(8.0),
106 | topRight: new Radius.circular(8.0)),
107 | image: img,
108 | ),
109 | ),
110 | new Container(
111 | width: screenSize.width / 1.2 + cardWidth,
112 | height: screenSize.height / 1.7 - screenSize.height / 2.2,
113 | alignment: Alignment.center,
114 | child: new Row(
115 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
116 | children: [
117 | new SwipeButton(
118 | text: "NOPE",
119 | onClick: null,
120 | ),
121 | new SwipeButton(
122 | text: "LIKE",
123 | onClick: null,
124 | ),
125 | ],
126 | ))
127 | ],
128 | ),
129 | ),
130 | // ),
131 | );
132 | }
133 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Home/index.dart:
--------------------------------------------------------------------------------
1 | import 'dart:async';
2 | import 'package:datingapp/Screens/Home/activeCard.dart';
3 | import 'package:datingapp/Screens/Home/data.dart';
4 |
5 | import 'package:flutter/material.dart';
6 | import 'package:flutter/scheduler.dart';
7 |
8 | class HomePage extends StatefulWidget {
9 | @override
10 | _HomePageState createState() => new _HomePageState();
11 | }
12 |
13 | class _HomePageState extends State with TickerProviderStateMixin {
14 | AnimationController _buttonController;
15 | Animation rotate;
16 | Animation right;
17 | Animation bottom;
18 | Animation width;
19 | int flag = 0;
20 |
21 | List data = imageData;
22 | //List selectedData = [];
23 | void initState() {
24 | super.initState();
25 | //data = data.reversed.toList();
26 | _buttonController = new AnimationController(
27 | duration: new Duration(milliseconds: 1000), vsync: this);
28 |
29 | rotate = new Tween(
30 | begin: -0.0,
31 | end: -40.0,
32 | ).animate(
33 | new CurvedAnimation(
34 | parent: _buttonController,
35 | curve: Curves.ease,
36 | ),
37 | );
38 | rotate.addListener(() {
39 | setState(() {
40 | if (rotate.isCompleted) {
41 | data.removeLast();
42 | // data.insert(0, i);
43 |
44 | _buttonController.reset();
45 | }
46 | });
47 | });
48 |
49 | right = new Tween(
50 | begin: 0.0,
51 | end: 400.0,
52 | ).animate(
53 | new CurvedAnimation(
54 | parent: _buttonController,
55 | curve: Curves.ease,
56 | ),
57 | );
58 | bottom = new Tween(
59 | begin: 15.0,
60 | end: 100.0,
61 | ).animate(
62 | new CurvedAnimation(
63 | parent: _buttonController,
64 | curve: Curves.ease,
65 | ),
66 | );
67 | }
68 |
69 | @override
70 | void dispose() {
71 | _buttonController.dispose();
72 | super.dispose();
73 | }
74 |
75 | Future _swipeAnimation() async {
76 | try {
77 | await _buttonController.forward();
78 | } on TickerCanceled {}
79 | }
80 |
81 | dismissImg(DecorationImage img) {
82 | setState(() {
83 | data.remove(img);
84 | });
85 | }
86 |
87 | addImg(DecorationImage img) {
88 | setState(() {
89 | data.remove(img);
90 | // selectedData.add(img);
91 | });
92 | }
93 |
94 | swipeRight() {
95 | if (flag == 0)
96 | setState(() {
97 | flag = 1;
98 | });
99 | _swipeAnimation();
100 | }
101 |
102 | swipeLeft() {
103 | if (flag == 1)
104 | setState(() {
105 | flag = 0;
106 | });
107 | _swipeAnimation();
108 | }
109 |
110 | @override
111 | Widget build(BuildContext context) {
112 | timeDilation = 0.4;
113 |
114 | double initialBottom = 15.0;
115 | var dataLength = data.length;
116 | double backCardPosition = initialBottom + (dataLength - 1) * 10 + 10;
117 | double backCardWidth = -10.0;
118 | return (new Scaffold(
119 | appBar: new AppBar(
120 | automaticallyImplyLeading: false,
121 | elevation: 0.5,
122 | backgroundColor: Colors.white,
123 | title: new Row(
124 | mainAxisAlignment: MainAxisAlignment.start,
125 | children: [
126 | new Text(
127 | "Discovers",
128 | style: new TextStyle(
129 | color: new Color.fromRGBO(92, 107, 122, 1.0),
130 | fontSize: 32.0,
131 | ),
132 | ),
133 | new Container(
134 | width: 15.0,
135 | height: 15.0,
136 | margin: new EdgeInsets.only(bottom: 20.0),
137 | alignment: Alignment.center,
138 | child: new Text(
139 | dataLength.toString(),
140 | style: new TextStyle(fontSize: 10.0),
141 | ),
142 | decoration: new BoxDecoration(
143 | color: Colors.red, shape: BoxShape.circle),
144 | )
145 | ],
146 | ),
147 | ),
148 | body: new Container(
149 | color: const Color.fromRGBO(239, 239, 245, 1.0),
150 | alignment: Alignment.center,
151 | child: dataLength > 0
152 | ? new Stack(
153 | alignment: AlignmentDirectional.center,
154 | children: data.map((item) {
155 | backCardPosition = backCardPosition - 10;
156 | backCardWidth = backCardWidth + 10;
157 | return new ActiveCard(
158 | tag: data.indexOf(item) == dataLength - 1
159 | ? "img" + data.indexOf(item).toString()
160 | : "noimg" + data.indexOf(item).toString(),
161 | img: item,
162 | bottom: data.indexOf(item) == dataLength - 1
163 | ? bottom.value
164 | : backCardPosition,
165 | right: data.indexOf(item) == dataLength - 1
166 | ? right.value
167 | : 0.0,
168 | left: 0.0,
169 | cardWidth: backCardWidth,
170 | rotation: data.indexOf(item) == dataLength - 1
171 | ? rotate.value
172 | : 0.0,
173 | skew: data.indexOf(item) == dataLength - 1
174 | ? rotate.value < -10 ? 0.1 : 0.0
175 | : 0.0,
176 | dismissImg: dismissImg,
177 | flag: flag,
178 | swipeRight: swipeRight,
179 | swipeLeft: swipeLeft);
180 | }).toList())
181 | : new Text("There's no one new around you!",
182 | style: new TextStyle(color: Colors.grey, fontSize: 20.0)),
183 | )));
184 | }
185 | }
186 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Home/styles.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | // DecorationImage image1 = new DecorationImage(
4 | // image: new ExactAssetImage('assets/1.jpg'),
5 | // fit: BoxFit.cover,
6 | // );
7 | // DecorationImage image2 = new DecorationImage(
8 | // image: new ExactAssetImage('assets/warren-wong.jpg'),
9 | // fit: BoxFit.cover,
10 | // );
11 |
12 | // DecorationImage image3 = new DecorationImage(
13 | // image: new ExactAssetImage('assets/sam-burriss.jpg'),
14 | // fit: BoxFit.cover,
15 | // );
16 | // DecorationImage image4 = new DecorationImage(
17 | // image: new ExactAssetImage('assets/jonathan-daniels.jpg'),
18 | // fit: BoxFit.cover,
19 | // );
20 | // DecorationImage image5 = new DecorationImage(
21 | // image: new ExactAssetImage('assets/els-fattah.jpg'),
22 | // fit: BoxFit.cover,
23 | // );
24 | DecorationImage image1 = new DecorationImage(
25 | image: new ExactAssetImage('assets/img1.png'),
26 | fit: BoxFit.cover,
27 | );
28 | DecorationImage image2 = new DecorationImage(
29 | image: new ExactAssetImage('assets/img2.jpg'),
30 | fit: BoxFit.cover,
31 | );
32 |
33 | DecorationImage image3 = new DecorationImage(
34 | image: new ExactAssetImage('assets/img3.jpg'),
35 | fit: BoxFit.cover,
36 | );
37 | DecorationImage image4 = new DecorationImage(
38 | image: new ExactAssetImage('assets/img4.jpg'),
39 | fit: BoxFit.cover,
40 | );
41 | DecorationImage image5 = new DecorationImage(
42 | image: new ExactAssetImage('assets/img5.jpg'),
43 | fit: BoxFit.cover,
44 | );
45 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Login/index.dart:
--------------------------------------------------------------------------------
1 | import 'dart:async';
2 | import 'dart:convert';
3 |
4 | import 'package:datingapp/Screens/Login/pages.dart';
5 | import 'package:datingapp/Screens/Login/styles.dart';
6 | import 'package:flutter/material.dart';
7 | import 'package:flutter/scheduler.dart';
8 | import 'package:flutter/services.dart';
9 | // import 'package:firebase_auth/firebase_auth.dart';
10 | import 'package:flutter_facebook_login/flutter_facebook_login.dart';
11 |
12 | class Login extends StatefulWidget {
13 | @override
14 | _LoginState createState() => new _LoginState();
15 | }
16 |
17 | class _LoginState extends State with TickerProviderStateMixin {
18 | // final FirebaseAuth _auth = FirebaseAuth.instance;
19 | PageController controller;
20 |
21 | var index = 0;
22 | bool loader = false;
23 | String _message = 'Log in/out by pressing the buttons below.';
24 | // Timer t2;
25 | // var twenty;
26 | initState() {
27 | super.initState();
28 | controller = new PageController(initialPage: 0, keepPage: true);
29 | }
30 |
31 | static final FacebookLogin facebookSignIn = new FacebookLogin();
32 | Future _login() async {
33 | setState(() {
34 | loader = true;
35 | });
36 | Navigator.of(context).pushNamed("/home");
37 | // final FacebookLoginResult result =
38 | // await facebookSignIn.logInWithReadPermissions(['email']);
39 |
40 | // switch (result.status) {
41 | // case FacebookLoginStatus.loggedIn:
42 | // final FacebookAccessToken accessToken = result.accessToken;
43 | // _showMessage('''
44 | // Logged in!
45 | // Token: ${accessToken.token}
46 | // User id: ${accessToken.userId}
47 | // Expires: ${accessToken.expires}
48 | // Permissions: ${accessToken.permissions}
49 | // Declined permissions: ${accessToken.declinedPermissions}
50 | // ''');
51 | // // final FirebaseUser user = await _auth.signInWithFacebook(
52 | // // accessToken: result.accessToken.token);
53 |
54 | // // print(user);
55 | // Navigator.of(context).pushNamed("/home");
56 | // break;
57 | // case FacebookLoginStatus.cancelledByUser:
58 | // _showMessage('Login cancelled by the user.');
59 | // break;
60 | // case FacebookLoginStatus.error:
61 | // _showMessage('Something went wrong with the login process.\n'
62 | // 'Here\'s the error Facebook gave us: ${result.errorMessage}');
63 | // break;
64 | // }
65 | }
66 |
67 | // Future _logOut() async {
68 | // await facebookSignIn.logOut();
69 | // _showMessage('Logged out.');
70 | // }
71 |
72 | void _showMessage(String message) {
73 | setState(() {
74 | _message = message;
75 | print(_message);
76 | loader = false;
77 | });
78 | }
79 |
80 | @override
81 | dispose() {
82 | controller.dispose();
83 | super.dispose();
84 | }
85 |
86 | @override
87 | Widget build(BuildContext context) {
88 | SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);
89 |
90 | Size screenSize = MediaQuery.of(context).size;
91 | return new Scaffold(
92 | body: new Container(
93 | width: screenSize.width,
94 | height: screenSize.height,
95 | padding: new EdgeInsets.all(20.0),
96 | decoration: new BoxDecoration(image: backgroundImage),
97 | child: new Column(
98 | // mainAxisAlignment: MainAxisAlignment.spaceEvenly,
99 | children: [
100 | new Container(
101 | width: screenSize.width,
102 | height: screenSize.height - 200,
103 | child: new PageView.builder(
104 | onPageChanged: (value) {
105 | setState(() {
106 | index = value;
107 | });
108 | },
109 | controller: controller,
110 | itemCount: pages.length,
111 | itemBuilder: (context, index) => new Page(
112 | viewModel: pages[index],
113 | ),
114 | ),
115 | ),
116 | new Container(
117 | width: 120.0,
118 | height: 20.0,
119 | margin: new EdgeInsets.only(bottom: 20.0),
120 | child: new Row(
121 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
122 | children: pages.map((item) {
123 | return new Container(
124 | width: 10.0,
125 | height: 10.0,
126 | decoration: new BoxDecoration(
127 | shape: BoxShape.circle,
128 | color: pages[index % 4] == item
129 | ? Colors.white
130 | : Colors.white70),
131 | );
132 | }).toList()),
133 | ),
134 | new FlatButton(
135 | onPressed: _login,
136 | child: new Container(
137 | width: 300.0,
138 | height: 50.0,
139 | alignment: Alignment.center,
140 | decoration: new BoxDecoration(
141 | color: Colors.white,
142 | borderRadius:
143 | new BorderRadius.all(new Radius.circular(50.0))),
144 | child: !loader
145 | ? new Text(
146 | "Login with Facebook",
147 | style: new TextStyle(
148 | fontSize: 15.0,
149 | letterSpacing: 1.0,
150 | color: Colors.black,
151 | fontWeight: FontWeight.w100),
152 | )
153 | : new CircularProgressIndicator(
154 | value: null,
155 | strokeWidth: 5.0,
156 | valueColor:
157 | new AlwaysStoppedAnimation(Colors.blue),
158 | ),
159 | ),
160 | ),
161 | // new RaisedButton(
162 | // onPressed: _logOut,
163 | // child: new Text("Log out"),
164 | // )
165 | ],
166 | ),
167 | ));
168 | }
169 | }
170 |
171 | //AnimationController pageController;
172 | //Animation count;
173 | // pageController = new AnimationController(
174 | // duration: new Duration(milliseconds: 4000), vsync: this);
175 | // count = new IntTween(
176 | // begin: 0,
177 | // end: 3,
178 | // ).animate(
179 | // new CurvedAnimation(
180 | // parent: pageController,
181 | // curve: Curves.ease,
182 | // ),
183 | // );
184 | // count.addListener(() {
185 | // print(count.value);
186 | // if(count.isCompleted)
187 | // this.setState((){
188 | //
189 | // index=0;
190 | // controller.initialPage;
191 | // pageController.reset();
192 | //
193 | // });
194 | // this.setState(() {
195 | //
196 | // if (controller.offset != null && index==count.value && index[
21 | new Text(
22 | viewModel.text,
23 | style: new TextStyle(
24 | color: Colors.white, fontSize: 21.0, fontFamily: "Poppins"),
25 | textAlign: TextAlign.center,
26 | ),
27 | new Image(image: viewModel.img),
28 |
29 | ],
30 | );
31 | }
32 | }
33 |
34 | class PageViewModel {
35 | final ImageProvider img;
36 | final String text;
37 | PageViewModel(this.img, this.text);
38 | }
39 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/Login/styles.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | DecorationImage backgroundImage = new DecorationImage(
4 | image: new ExactAssetImage('assets/bg.png'),
5 | fit: BoxFit.cover,
6 | );
7 |
8 | ImageProvider firstPage = new ExactAssetImage("assets/first.png");
9 | ImageProvider secondPage = new ExactAssetImage("assets/second.png");
10 | ImageProvider thirdPage = new ExactAssetImage("assets/third.png");
11 | ImageProvider fourthPage = new ExactAssetImage("assets/fourth.png");
12 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/TabController/index.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Screens/Chat/index.dart';
2 | import 'package:datingapp/Screens/Home/index.dart';
3 | import 'package:datingapp/Screens/Account/index.dart';
4 | import 'package:datingapp/Screens/TabController/styles.dart';
5 | import 'package:flutter/material.dart';
6 |
7 | class Home extends StatefulWidget {
8 | @override
9 | _HomeState createState() => new _HomeState();
10 | }
11 |
12 | class _HomeState extends State with SingleTickerProviderStateMixin {
13 | TabController controller;
14 | int index = 0;
15 |
16 | void initState() {
17 | super.initState();
18 | controller = new TabController(length: 3, vsync: this);
19 | controller.addListener(() {
20 | this.setState(() {
21 | index = controller.index;
22 | // print(index);
23 | });
24 | });
25 | }
26 |
27 | @override
28 | Widget build(BuildContext context) {
29 | Size screenSize = MediaQuery.of(context).size;
30 |
31 | return new Scaffold(
32 | bottomNavigationBar: new Container(
33 | height: screenSize.height / 12,
34 | child: new TabBar(
35 | tabs: [
36 | // new Tab(
37 | // icon: new Icon(
38 | // Icons.check_circle_outline,
39 | // color: Colors.black,
40 | // ),
41 | // ),
42 | // new Tab(
43 | // icon: new Icon(
44 | // Icons.supervised_user_circle,
45 | // color: Colors.black,
46 | // ),
47 | // ),
48 | // new Tab(
49 | // icon: new Icon(
50 | // Icons.access_time,
51 | // color: Colors.black,
52 | // ),
53 | // ),
54 | new Tab(
55 | child: new Container(
56 | width: 30.0,
57 | height: 30.0,
58 | decoration: new BoxDecoration(
59 | image: index == 0 ? homeColor : homeBlackWhite),
60 | ),
61 | ),
62 | new Tab(
63 | child: new Container(
64 | width: 35.0,
65 | height: 30.0,
66 | decoration: new BoxDecoration(
67 | image: index == 1 ? chatColor : chatBlackWhite),
68 | ),
69 | ),
70 | new Tab(
71 | child: new Container(
72 | width: 30.0,
73 | height: 30.0,
74 | decoration: new BoxDecoration(
75 | image: index == 2 ? accountColor : accountBlackWhite),
76 | ),
77 | ),
78 | ],
79 | controller: controller,
80 | indicatorColor: Colors.transparent,
81 | // unselectedLabelColor: Colors.white30,
82 | ),
83 | color: Colors.white,
84 | ),
85 | body: new TabBarView(
86 | children: [new HomePage(), new Chat(), new Profile()],
87 | controller: controller,
88 | ),
89 | );
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/TabController/styles.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | DecorationImage homeColor = new DecorationImage(
4 | image: new ExactAssetImage('assets/Home.png'),
5 | fit: BoxFit.cover,
6 | );
7 | DecorationImage homeBlackWhite = new DecorationImage(
8 | image: new ExactAssetImage('assets/home2.png'),
9 | fit: BoxFit.cover,
10 | );
11 |
12 | DecorationImage chatColor = new DecorationImage(
13 | image: new ExactAssetImage('assets/chat.png'),
14 | fit: BoxFit.cover,
15 | );
16 | DecorationImage chatBlackWhite = new DecorationImage(
17 | image: new ExactAssetImage('assets/chat2.png'),
18 | fit: BoxFit.cover,
19 | );
20 |
21 | DecorationImage accountColor = new DecorationImage(
22 | image: new ExactAssetImage('assets/account.png'),
23 | fit: BoxFit.cover,
24 | );
25 | DecorationImage accountBlackWhite = new DecorationImage(
26 | image: new ExactAssetImage('assets/account2.png'),
27 | fit: BoxFit.cover,
28 | );
29 | // ImageProvider homeColor = new ExactAssetImage("assets/Home.png");
30 | //ImageProvider homeBlackWhite = new ExactAssetImage("assets/home2.png");
31 | // ImageProvider chatColor = new ExactAssetImage("assets/chat.png");
32 | // ImageProvider chatBlackWhite = new ExactAssetImage("assets/chat2.png");
33 |
34 | // ImageProvider accountColor = new ExactAssetImage("assets/account.png");
35 | // ImageProvider accountBlackWhite = new ExactAssetImage("assets/account2.png");
36 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/testcc/index.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class Login extends StatefulWidget {
4 | @override
5 | _LoginState createState() => new _LoginState();
6 | }
7 |
8 | class _LoginState extends State {
9 | @override
10 | Widget build(BuildContext context) {
11 | Size screenSize = MediaQuery.of(context).size;
12 | return new Scaffold(
13 | body: new Container(
14 | width: screenSize.width,
15 | height: screenSize.height,
16 | decoration: new BoxDecoration(
17 | image: new DecorationImage(
18 | image: new ExactAssetImage('assets/Background.png'),
19 | fit: BoxFit.cover,
20 | )),
21 | child: new FlatButton(
22 | onPressed: () =>
23 | Navigator.of(context).pushReplacementNamed("/sign"),
24 | child: new Text(
25 | "click",
26 | style: new TextStyle(color: Colors.white, fontSize: 40.0),
27 | ),
28 | )),
29 | );
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/datingapp/lib/Screens/testcc/sign.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class Loginsign extends StatefulWidget {
4 | @override
5 | _LoginsignState createState() => new _LoginsignState();
6 | }
7 |
8 | class _LoginsignState extends State {
9 | DecorationImage img;
10 | @override
11 | void initState() {
12 | super.initState();
13 | img = new DecorationImage(
14 | image: new ExactAssetImage('assets/bg.png'),
15 | fit: BoxFit.cover,
16 | );
17 | }
18 |
19 | @override
20 | Widget build(BuildContext context) {
21 | Size screenSize = MediaQuery.of(context).size;
22 | return new Scaffold(
23 | body: new Container(
24 | width: screenSize.width,
25 | height: screenSize.height,
26 | decoration: new BoxDecoration(image: img),
27 | ),
28 | );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/datingapp/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/routes.dart';
2 |
3 | void main() {
4 | new Routes();
5 | }
6 |
--------------------------------------------------------------------------------
/datingapp/lib/multislider.dart:
--------------------------------------------------------------------------------
1 | // import 'package:datingapp/theme/styles.dart';
2 | // import 'package:flutter/material.dart';
3 |
4 | // class MultiSlider extends StatefulWidget {
5 | // @override
6 | // _MultiSliderState createState() => new _MultiSliderState();
7 | // }
8 |
9 | // class _MultiSliderState extends State {
10 | // double distance = 0.0;
11 | // double ageRangeLeft = 0.0;
12 | // double ageRangeRight = 0.0;
13 |
14 | // Offset dragStart;
15 |
16 | // onDragStart(DragStartDetails details) {
17 | // dragStart = details.globalPosition;
18 |
19 | // print("dragStart: ${details.globalPosition}");
20 | // }
21 |
22 | // onDragUpdate(DragUpdateDetails details) {
23 | // if (dragStart != null) {
24 | // final newPosition = details.globalPosition;
25 | // final dx = dragStart.dx - newPosition.dx;
26 | // print("newPosition ${newPosition.dx}");
27 | // print("age ${ageRangeLeft}");
28 |
29 | // print(dx);
30 | // if (dx > 0.0) {
31 | // setState(() {
32 | // ageRangeLeft = newPosition.dx;
33 | // });
34 | // } else if (dx < 0.0) {
35 | // setState(() {
36 | // ageRangeLeft = newPosition.dx;
37 | // });
38 | // } else {}
39 | // }
40 | // }
41 |
42 | // onDragEnd(DragEndDetails details) {
43 | // print("dragEnd");
44 | // final dy = dragStart.dy;
45 | // dragStart = new Offset(ageRangeLeft, dy);
46 | // }
47 |
48 | // onDragStart1(DragStartDetails details) {
49 | // dragStart = details.globalPosition;
50 | // //print(dragStart);
51 | // }
52 |
53 | // onDragUpdate1(DragUpdateDetails details) {
54 | // if (dragStart != null) {
55 | // final newPosition = details.globalPosition;
56 | // final dx = dragStart.dx - newPosition.dx;
57 | // print("newPosition ${newPosition.dx}");
58 | // print(dx);
59 | // if (dx > 0.0) {
60 | // setState(() {
61 | // ageRangeRight = dx;
62 | // });
63 | // } else if (dx < 0.0) {
64 | // setState(() {
65 | // ageRangeRight = dx;
66 | // });
67 | // } else {}
68 | // }
69 | // }
70 |
71 | // onDragEnd1(DragEndDetails details) {
72 | // print("dragEnd");
73 | // //final dy = dragStart.dy;
74 | // //dragStart = new Offset(ageRangeRight, dy);
75 | // }
76 |
77 | // @override
78 | // Widget build(BuildContext context) {
79 | // Size screenSize = MediaQuery.of(context).size;
80 | // return new Scaffold(
81 | // body: new Column(children: [
82 | // new ListTile(
83 | // title: new Text("Age Range"),
84 | // trailing: new Text((ageRangeLeft + 18).round().toString() +
85 | // "-" +
86 | // (100 - ageRangeRight).round().toString()),
87 | // ),
88 | // new ListTile(
89 | // enabled: false,
90 | // title: new Stack(
91 | // alignment: Alignment.center,
92 | // children: [
93 | // new Container(
94 | // width: screenSize.width,
95 | // height: 25.0,
96 | // ),
97 | // new Positioned(
98 | // //left: 0.0,
99 | // child: new Container(
100 | // height: 4.0,
101 | // width: screenSize.width,
102 | // color: Colors.grey,
103 | // child: new Row(
104 | // children: [
105 | // new Flexible(
106 | // flex: ageRangeLeft.floor(),
107 | // child: new Container(),
108 | // ),
109 | // new Flexible(
110 | // flex: 60,
111 | // child: new Container(
112 | // color: gradientOne,
113 | // ),
114 | // ),
115 | // new Flexible(
116 | // flex: ageRangeRight.floor(),
117 | // child: new Container(
118 | // color: Colors.grey,
119 | // ),
120 | // )
121 | // ],
122 | // ),
123 | // ),
124 | // ),
125 | // new Positioned(
126 | // left: ageRangeLeft,
127 | // child: new GestureDetector(
128 | // onHorizontalDragStart: onDragStart,
129 | // onHorizontalDragUpdate: onDragUpdate,
130 | // onHorizontalDragEnd: onDragEnd,
131 | // child: new Container(
132 | // height: 20.0,
133 | // width: 20.0,
134 | // decoration: new BoxDecoration(
135 | // shape: BoxShape.circle,
136 | // color: gradientTwo,
137 | // ),
138 | // ),
139 | // ),
140 | // ),
141 | // new Positioned(
142 | // right: ageRangeRight,
143 | // child: new GestureDetector(
144 | // onHorizontalDragStart: onDragStart1,
145 | // onHorizontalDragUpdate: onDragUpdate1,
146 | // onHorizontalDragEnd: onDragEnd1,
147 | // child: new Container(
148 | // height: 20.0,
149 | // width: 20.0,
150 | // decoration: new BoxDecoration(
151 | // shape: BoxShape.circle,
152 | // color: gradientTwo,
153 | // ),
154 | // ),
155 | // ),
156 | // )
157 | // ],
158 | // )),
159 | // ]),
160 | // );
161 | // }
162 | // }
163 | import 'package:flutter/material.dart';
164 | import 'package:flutter_range_slider/flutter_range_slider.dart';
165 |
166 | void main() => runApp(new MyApp());
167 |
168 | class MyApp extends StatelessWidget {
169 | // This widget is the root of your application.
170 | @override
171 | Widget build(BuildContext context) {
172 | return new MaterialApp(
173 | title: 'RangeSlider Demo',
174 | theme: new ThemeData(
175 | primarySwatch: Colors.blue,
176 | ),
177 | home: new RangeSliderSample(),
178 | );
179 | }
180 | }
181 |
182 | class RangeSliderSample extends StatefulWidget {
183 | @override
184 | _RangeSliderSampleState createState() => _RangeSliderSampleState();
185 | }
186 |
187 | class _RangeSliderSampleState extends State {
188 | // List of RangeSliders to use, together with their parameters
189 | List rangeSliders;
190 |
191 | double _lowerValue = 20.0;
192 | double _upperValue = 80.0;
193 |
194 | @override
195 | void initState() {
196 | super.initState();
197 | rangeSliders = _rangeSliderDefinitions();
198 | }
199 |
200 | @override
201 | Widget build(BuildContext context) {
202 | return new SafeArea(
203 | top: false,
204 | bottom: false,
205 | child: new Scaffold(
206 | appBar: new AppBar(title: new Text('RangeSlider Demo')),
207 | body: new Container(
208 | padding: const EdgeInsets.only(top: 50.0, left: 10.0, right: 10.0),
209 | child: new Column(
210 | children: []
211 | // ..add(
212 | // //
213 | // // Simple example
214 | // //
215 | // new RangeSlider(
216 | // min: 0.0,
217 | // max: 100.0,
218 | // lowerValue: _lowerValue,
219 | // upperValue: _upperValue,
220 | // divisions: 5,
221 | // showValueIndicator: true,
222 | // valueIndicatorMaxDecimals: 1,
223 | // onChanged: (double newLowerValue, double newUpperValue) {
224 | // setState(() {
225 | // _lowerValue = newLowerValue;
226 | // _upperValue = newUpperValue;
227 | // });
228 | // },
229 | // onChangeStart:
230 | // (double startLowerValue, double startUpperValue) {
231 | // print(
232 | // 'Started with values: $startLowerValue and $startUpperValue');
233 | // },
234 | // onChangeEnd: (double newLowerValue, double newUpperValue) {
235 | // print(
236 | // 'Ended with values: $newLowerValue and $newUpperValue');
237 | // },
238 | // ),
239 | // )
240 | // // Add some space
241 | // ..add(
242 | // new SizedBox(height: 24.0),
243 | // )
244 | //
245 | // Add a series of RangeSliders, built as regular Widgets
246 | // each one having some specific customizations
247 | //
248 | ..addAll(_buildRangeSliders())),
249 | ),
250 | ),
251 | );
252 | }
253 |
254 | // -----------------------------------------------
255 | // Creates a list of RangeSliders, based on their
256 | // definition and SliderTheme customizations
257 | // -----------------------------------------------
258 | List _buildRangeSliders() {
259 | List children = [];
260 | for (int index = 0; index < rangeSliders.length; index++) {
261 | children
262 | .add(rangeSliders[index].build(context, (double lower, double upper) {
263 | // adapt the RangeSlider lowerValue and upperValue
264 | setState(() {
265 | rangeSliders[index].lowerValue = lower;
266 | rangeSliders[index].upperValue = upper;
267 | });
268 | }));
269 | // Add an extra padding at the bottom of each RangeSlider
270 | children.add(new SizedBox(height: 8.0));
271 | }
272 |
273 | return children;
274 | }
275 |
276 | // -------------------------------------------------
277 | // Creates a list of RangeSlider definitions
278 | // -------------------------------------------------
279 | List _rangeSliderDefinitions() {
280 | return [
281 | RangeSliderData(
282 | min: 0.0,
283 | max: 100.0,
284 | lowerValue: 10.0,
285 | upperValue: 100.0,
286 | thumbColor: Colors.pink,
287 | activeTrackColor: Colors.blue,
288 | inactiveTrackColor: Colors.grey,
289 | valueIndicatorColor: Colors.black),
290 | // RangeSliderData(
291 | // min: 0.0,
292 | // max: 100.0,
293 | // lowerValue: 25.0,
294 | // upperValue: 75.0,
295 | // divisions: 20,
296 | // overlayColor: Colors.red[100]),
297 | // RangeSliderData(
298 | // min: 0.0,
299 | // max: 100.0,
300 | // lowerValue: 10.0,
301 | // upperValue: 30.0,
302 | // showValueIndicator: false,
303 | // valueIndicatorMaxDecimals: 0),
304 | // RangeSliderData(
305 | // min: 0.0,
306 | // max: 100.0,
307 | // lowerValue: 10.0,
308 | // upperValue: 30.0,
309 | // showValueIndicator: true,
310 | // valueIndicatorMaxDecimals: 0,
311 | // activeTrackColor: Colors.red,
312 | // inactiveTrackColor: Colors.red[50],
313 | // valueIndicatorColor: Colors.green),
314 | // RangeSliderData(
315 | // min: 0.0,
316 | // max: 100.0,
317 | // lowerValue: 25.0,
318 | // upperValue: 75.0,
319 | // divisions: 20,
320 | // thumbColor: Colors.grey,
321 | // valueIndicatorColor: Colors.grey),
322 | ];
323 | }
324 | }
325 |
326 | class RangeSliderData {
327 | double min;
328 | double max;
329 | double lowerValue;
330 | double upperValue;
331 | int divisions;
332 | bool showValueIndicator;
333 | int valueIndicatorMaxDecimals;
334 | bool forceValueIndicator;
335 | Color overlayColor;
336 | Color activeTrackColor;
337 | Color inactiveTrackColor;
338 | Color thumbColor;
339 | Color valueIndicatorColor;
340 | Color activeTickMarkColor;
341 |
342 | static const Color defaultActiveTrackColor = const Color(0xFF0175c2);
343 | static const Color defaultInactiveTrackColor = const Color(0x3d0175c2);
344 | static const Color defaultActiveTickMarkColor = const Color(0x8a0175c2);
345 | static const Color defaultThumbColor = const Color(0xFF0175c2);
346 | static const Color defaultValueIndicatorColor = const Color(0xFF0175c2);
347 | static const Color defaultOverlayColor = const Color(0x290175c2);
348 |
349 | RangeSliderData({
350 | this.min,
351 | this.max,
352 | this.lowerValue,
353 | this.upperValue,
354 | this.divisions,
355 | this.showValueIndicator: true,
356 | this.valueIndicatorMaxDecimals: 1,
357 | this.forceValueIndicator: false,
358 | this.overlayColor: defaultOverlayColor,
359 | this.activeTrackColor: defaultActiveTrackColor,
360 | this.inactiveTrackColor: defaultInactiveTrackColor,
361 | this.thumbColor: defaultThumbColor,
362 | this.valueIndicatorColor: defaultValueIndicatorColor,
363 | this.activeTickMarkColor: defaultActiveTickMarkColor,
364 | });
365 |
366 | // Returns the values in text format, with the number
367 | // of decimals, limited to the valueIndicatedMaxDecimals
368 | //
369 | String get lowerValueText =>
370 | lowerValue.toStringAsFixed(valueIndicatorMaxDecimals);
371 | String get upperValueText =>
372 | upperValue.toStringAsFixed(valueIndicatorMaxDecimals);
373 |
374 | // Builds a RangeSlider and customizes the theme
375 | // based on parameters
376 | //
377 | Widget build(BuildContext context, RangeSliderCallback callback) {
378 | return new Container(
379 | width: double.infinity,
380 | child: new Row(
381 | children: [
382 | new Container(
383 | constraints: new BoxConstraints(
384 | minWidth: 40.0,
385 | maxWidth: 40.0,
386 | ),
387 | child: new Text(lowerValueText),
388 | ),
389 | new Expanded(
390 | child: new SliderTheme(
391 | data: SliderTheme.of(context).copyWith(
392 | overlayColor: overlayColor,
393 | activeTickMarkColor: activeTickMarkColor,
394 | activeTrackColor: activeTrackColor,
395 | inactiveTrackColor: inactiveTrackColor,
396 | thumbColor: thumbColor,
397 | valueIndicatorColor: valueIndicatorColor,
398 | showValueIndicator: showValueIndicator
399 | ? ShowValueIndicator.always
400 | : ShowValueIndicator.onlyForDiscrete,
401 | ),
402 | child: new RangeSlider(
403 | min: min,
404 | max: max,
405 | lowerValue: lowerValue,
406 | upperValue: upperValue,
407 | divisions: divisions,
408 | showValueIndicator: showValueIndicator,
409 | valueIndicatorMaxDecimals: valueIndicatorMaxDecimals,
410 | onChanged: (double lower, double upper) {
411 | // call
412 | print(lower);
413 | callback(lower, upper);
414 | },
415 | ),
416 | ),
417 | ),
418 | new Container(
419 | constraints: new BoxConstraints(
420 | minWidth: 40.0,
421 | maxWidth: 40.0,
422 | ),
423 | child: new Text(upperValueText),
424 | ),
425 | ],
426 | ),
427 | );
428 | }
429 | }
430 |
--------------------------------------------------------------------------------
/datingapp/lib/routes.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Screens/EditProfile/index.dart';
2 | import 'package:datingapp/Screens/Settings/index.dart';
3 | import 'package:datingapp/Screens/TabController/index.dart';
4 |
5 | import 'package:datingapp/Screens/Login/index.dart';
6 | import 'package:datingapp/multislider.dart';
7 | import 'package:datingapp/test.dart';
8 | import 'package:flutter/material.dart';
9 |
10 | class Routes {
11 | var routes = {
12 | "/home": (BuildContext context) => new Home(),
13 | "/settings": (BuildContext context) => new Settings(),
14 | "/profile": (BuildContext context) => new EditProfile(),
15 | };
16 | Routes() {
17 | runApp(new MaterialApp(
18 | title: "Flutter Do App",
19 | debugShowCheckedModeBanner: true,
20 | home: new Login(),
21 | routes: routes,
22 | ));
23 | }
24 | }
25 | // class MyCustomRoute extends MaterialPageRoute {
26 | // MyCustomRoute({WidgetBuilder builder, RouteSettings settings})
27 | // : super(builder: builder, settings: settings);
28 | // @override
29 | // Widget buildTransitions(BuildContext context, Animation animation,
30 | // Animation secondaryAnimation, Widget child) {
31 | // if (settings.isInitialRoute) return child;
32 | // return new FadeTransition(opacity: animation, child: child);
33 | // }
34 | // }
35 |
--------------------------------------------------------------------------------
/datingapp/lib/test.dart:
--------------------------------------------------------------------------------
1 | import 'package:datingapp/Screens/Home/styles.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | class Test extends StatefulWidget {
5 | @override
6 | _TestState createState() => new _TestState();
7 | }
8 |
9 | class _TestState extends State {
10 | @override
11 | Widget build(BuildContext context) {
12 | return Scaffold(
13 | floatingActionButton: InkWell(
14 | child: new Text("pop"),
15 | onTap: () {
16 | setState(() {
17 | imageData.remove(imageData[imageData.length - 1]);
18 | });
19 | },
20 | ),
21 | body: new Stack(
22 | children: imageData,
23 | ),
24 | );
25 | }
26 | }
27 |
28 | List imageData = [
29 | new Container(
30 | decoration: new BoxDecoration(image: image1),
31 | ),
32 | new Container(
33 | decoration: new BoxDecoration(image: image2),
34 | ),
35 | new Container(
36 | decoration: new BoxDecoration(image: image3),
37 | ),
38 | new Container(
39 | decoration: new BoxDecoration(image: image4),
40 | ),
41 | new Container(
42 | decoration: new BoxDecoration(image: image5),
43 | )
44 | ];
45 |
--------------------------------------------------------------------------------
/datingapp/lib/theme/styles.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | DecorationImage backgroundImage = new DecorationImage(
4 | image: new ExactAssetImage('assets/bg.png'),
5 | fit: BoxFit.cover,
6 | );
7 |
8 | const Color gradientOne = const Color.fromRGBO(208, 107, 176, 1.0);
9 | const Color gradientTwo = const Color.fromRGBO(164, 106, 205, 1.0);
10 | const Color gradientThree = const Color.fromRGBO(128, 104, 230, 1.0);
11 | const Color whiteColor = const Color(0XFFFFFFFF);
12 | const Color primaryColor = const Color.fromRGBO(80, 210, 194, 1.0);
13 | const Color primarybackColor = const Color.fromRGBO(80, 210, 194, 0.6);
14 | const Color pinkColor = const Color.fromRGBO(214, 103, 206, 1.0);
15 | const Color purpleColor = const Color.fromRGBO(101, 99, 164, 1.0);
16 | const Color purplebackColor = const Color.fromRGBO(101, 99, 164, 0.5);
17 |
--------------------------------------------------------------------------------
/datingapp/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://www.dartlang.org/tools/pub/glossary#lockfile
3 | packages:
4 | analyzer:
5 | dependency: transitive
6 | description:
7 | name: analyzer
8 | url: "https://pub.dartlang.org"
9 | source: hosted
10 | version: "0.32.4"
11 | args:
12 | dependency: transitive
13 | description:
14 | name: args
15 | url: "https://pub.dartlang.org"
16 | source: hosted
17 | version: "1.5.0"
18 | async:
19 | dependency: transitive
20 | description:
21 | name: async
22 | url: "https://pub.dartlang.org"
23 | source: hosted
24 | version: "2.0.8"
25 | boolean_selector:
26 | dependency: transitive
27 | description:
28 | name: boolean_selector
29 | url: "https://pub.dartlang.org"
30 | source: hosted
31 | version: "1.0.4"
32 | charcode:
33 | dependency: transitive
34 | description:
35 | name: charcode
36 | url: "https://pub.dartlang.org"
37 | source: hosted
38 | version: "1.1.2"
39 | collection:
40 | dependency: transitive
41 | description:
42 | name: collection
43 | url: "https://pub.dartlang.org"
44 | source: hosted
45 | version: "1.14.11"
46 | convert:
47 | dependency: transitive
48 | description:
49 | name: convert
50 | url: "https://pub.dartlang.org"
51 | source: hosted
52 | version: "2.0.2"
53 | crypto:
54 | dependency: transitive
55 | description:
56 | name: crypto
57 | url: "https://pub.dartlang.org"
58 | source: hosted
59 | version: "2.0.6"
60 | csslib:
61 | dependency: transitive
62 | description:
63 | name: csslib
64 | url: "https://pub.dartlang.org"
65 | source: hosted
66 | version: "0.14.5"
67 | cupertino_icons:
68 | dependency: "direct main"
69 | description:
70 | name: cupertino_icons
71 | url: "https://pub.dartlang.org"
72 | source: hosted
73 | version: "0.1.2"
74 | flutter:
75 | dependency: "direct main"
76 | description: flutter
77 | source: sdk
78 | version: "0.0.0"
79 | flutter_facebook_login:
80 | dependency: "direct main"
81 | description:
82 | name: flutter_facebook_login
83 | url: "https://pub.dartlang.org"
84 | source: hosted
85 | version: "1.1.1"
86 | flutter_range_slider:
87 | dependency: "direct main"
88 | description:
89 | name: flutter_range_slider
90 | url: "https://pub.dartlang.org"
91 | source: hosted
92 | version: "0.0.4"
93 | flutter_test:
94 | dependency: "direct dev"
95 | description: flutter
96 | source: sdk
97 | version: "0.0.0"
98 | front_end:
99 | dependency: transitive
100 | description:
101 | name: front_end
102 | url: "https://pub.dartlang.org"
103 | source: hosted
104 | version: "0.1.4"
105 | glob:
106 | dependency: transitive
107 | description:
108 | name: glob
109 | url: "https://pub.dartlang.org"
110 | source: hosted
111 | version: "1.1.7"
112 | html:
113 | dependency: transitive
114 | description:
115 | name: html
116 | url: "https://pub.dartlang.org"
117 | source: hosted
118 | version: "0.13.3+3"
119 | http:
120 | dependency: "direct main"
121 | description:
122 | name: http
123 | url: "https://pub.dartlang.org"
124 | source: hosted
125 | version: "0.11.3+17"
126 | http_multi_server:
127 | dependency: transitive
128 | description:
129 | name: http_multi_server
130 | url: "https://pub.dartlang.org"
131 | source: hosted
132 | version: "2.0.5"
133 | http_parser:
134 | dependency: transitive
135 | description:
136 | name: http_parser
137 | url: "https://pub.dartlang.org"
138 | source: hosted
139 | version: "3.1.3"
140 | image_picker:
141 | dependency: "direct main"
142 | description:
143 | name: image_picker
144 | url: "https://pub.dartlang.org"
145 | source: hosted
146 | version: "0.4.1"
147 | io:
148 | dependency: transitive
149 | description:
150 | name: io
151 | url: "https://pub.dartlang.org"
152 | source: hosted
153 | version: "0.3.3"
154 | js:
155 | dependency: transitive
156 | description:
157 | name: js
158 | url: "https://pub.dartlang.org"
159 | source: hosted
160 | version: "0.6.1+1"
161 | json_rpc_2:
162 | dependency: transitive
163 | description:
164 | name: json_rpc_2
165 | url: "https://pub.dartlang.org"
166 | source: hosted
167 | version: "2.0.9"
168 | kernel:
169 | dependency: transitive
170 | description:
171 | name: kernel
172 | url: "https://pub.dartlang.org"
173 | source: hosted
174 | version: "0.3.4"
175 | logging:
176 | dependency: transitive
177 | description:
178 | name: logging
179 | url: "https://pub.dartlang.org"
180 | source: hosted
181 | version: "0.11.3+2"
182 | matcher:
183 | dependency: transitive
184 | description:
185 | name: matcher
186 | url: "https://pub.dartlang.org"
187 | source: hosted
188 | version: "0.12.3+1"
189 | meta:
190 | dependency: transitive
191 | description:
192 | name: meta
193 | url: "https://pub.dartlang.org"
194 | source: hosted
195 | version: "1.1.6"
196 | mime:
197 | dependency: transitive
198 | description:
199 | name: mime
200 | url: "https://pub.dartlang.org"
201 | source: hosted
202 | version: "0.9.6+2"
203 | multi_server_socket:
204 | dependency: transitive
205 | description:
206 | name: multi_server_socket
207 | url: "https://pub.dartlang.org"
208 | source: hosted
209 | version: "1.0.2"
210 | node_preamble:
211 | dependency: transitive
212 | description:
213 | name: node_preamble
214 | url: "https://pub.dartlang.org"
215 | source: hosted
216 | version: "1.4.4"
217 | package_config:
218 | dependency: transitive
219 | description:
220 | name: package_config
221 | url: "https://pub.dartlang.org"
222 | source: hosted
223 | version: "1.0.5"
224 | package_resolver:
225 | dependency: transitive
226 | description:
227 | name: package_resolver
228 | url: "https://pub.dartlang.org"
229 | source: hosted
230 | version: "1.0.4"
231 | path:
232 | dependency: transitive
233 | description:
234 | name: path
235 | url: "https://pub.dartlang.org"
236 | source: hosted
237 | version: "1.6.2"
238 | plugin:
239 | dependency: transitive
240 | description:
241 | name: plugin
242 | url: "https://pub.dartlang.org"
243 | source: hosted
244 | version: "0.2.0+3"
245 | pool:
246 | dependency: transitive
247 | description:
248 | name: pool
249 | url: "https://pub.dartlang.org"
250 | source: hosted
251 | version: "1.3.6"
252 | pub_semver:
253 | dependency: transitive
254 | description:
255 | name: pub_semver
256 | url: "https://pub.dartlang.org"
257 | source: hosted
258 | version: "1.4.2"
259 | quiver:
260 | dependency: transitive
261 | description:
262 | name: quiver
263 | url: "https://pub.dartlang.org"
264 | source: hosted
265 | version: "2.0.0+1"
266 | share:
267 | dependency: "direct main"
268 | description:
269 | name: share
270 | url: "https://pub.dartlang.org"
271 | source: hosted
272 | version: "0.5.0"
273 | shelf:
274 | dependency: transitive
275 | description:
276 | name: shelf
277 | url: "https://pub.dartlang.org"
278 | source: hosted
279 | version: "0.7.3+3"
280 | shelf_packages_handler:
281 | dependency: transitive
282 | description:
283 | name: shelf_packages_handler
284 | url: "https://pub.dartlang.org"
285 | source: hosted
286 | version: "1.0.4"
287 | shelf_static:
288 | dependency: transitive
289 | description:
290 | name: shelf_static
291 | url: "https://pub.dartlang.org"
292 | source: hosted
293 | version: "0.2.8"
294 | shelf_web_socket:
295 | dependency: transitive
296 | description:
297 | name: shelf_web_socket
298 | url: "https://pub.dartlang.org"
299 | source: hosted
300 | version: "0.2.2+4"
301 | sky_engine:
302 | dependency: transitive
303 | description: flutter
304 | source: sdk
305 | version: "0.0.99"
306 | source_map_stack_trace:
307 | dependency: transitive
308 | description:
309 | name: source_map_stack_trace
310 | url: "https://pub.dartlang.org"
311 | source: hosted
312 | version: "1.1.5"
313 | source_maps:
314 | dependency: transitive
315 | description:
316 | name: source_maps
317 | url: "https://pub.dartlang.org"
318 | source: hosted
319 | version: "0.10.7"
320 | source_span:
321 | dependency: transitive
322 | description:
323 | name: source_span
324 | url: "https://pub.dartlang.org"
325 | source: hosted
326 | version: "1.4.1"
327 | stack_trace:
328 | dependency: transitive
329 | description:
330 | name: stack_trace
331 | url: "https://pub.dartlang.org"
332 | source: hosted
333 | version: "1.9.3"
334 | stream_channel:
335 | dependency: transitive
336 | description:
337 | name: stream_channel
338 | url: "https://pub.dartlang.org"
339 | source: hosted
340 | version: "1.6.8"
341 | string_scanner:
342 | dependency: transitive
343 | description:
344 | name: string_scanner
345 | url: "https://pub.dartlang.org"
346 | source: hosted
347 | version: "1.0.4"
348 | term_glyph:
349 | dependency: transitive
350 | description:
351 | name: term_glyph
352 | url: "https://pub.dartlang.org"
353 | source: hosted
354 | version: "1.0.1"
355 | test:
356 | dependency: transitive
357 | description:
358 | name: test
359 | url: "https://pub.dartlang.org"
360 | source: hosted
361 | version: "1.3.0"
362 | typed_data:
363 | dependency: transitive
364 | description:
365 | name: typed_data
366 | url: "https://pub.dartlang.org"
367 | source: hosted
368 | version: "1.1.6"
369 | utf:
370 | dependency: transitive
371 | description:
372 | name: utf
373 | url: "https://pub.dartlang.org"
374 | source: hosted
375 | version: "0.9.0+5"
376 | vector_math:
377 | dependency: transitive
378 | description:
379 | name: vector_math
380 | url: "https://pub.dartlang.org"
381 | source: hosted
382 | version: "2.0.8"
383 | vm_service_client:
384 | dependency: transitive
385 | description:
386 | name: vm_service_client
387 | url: "https://pub.dartlang.org"
388 | source: hosted
389 | version: "0.2.6"
390 | watcher:
391 | dependency: transitive
392 | description:
393 | name: watcher
394 | url: "https://pub.dartlang.org"
395 | source: hosted
396 | version: "0.9.7+10"
397 | web_socket_channel:
398 | dependency: transitive
399 | description:
400 | name: web_socket_channel
401 | url: "https://pub.dartlang.org"
402 | source: hosted
403 | version: "1.0.9"
404 | yaml:
405 | dependency: transitive
406 | description:
407 | name: yaml
408 | url: "https://pub.dartlang.org"
409 | source: hosted
410 | version: "2.1.15"
411 | sdks:
412 | dart: ">=2.0.0-dev.68.0 <3.0.0"
413 | flutter: ">=0.1.4 <2.0.0"
414 |
--------------------------------------------------------------------------------
/datingapp/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: datingapp
2 | description: A new Flutter project.
3 |
4 | dependencies:
5 | flutter:
6 | sdk: flutter
7 |
8 | # The following adds the Cupertino Icons font to your application.
9 | # Use with the CupertinoIcons class for iOS style icons.
10 | cupertino_icons: ^0.1.2
11 | flutter_range_slider: "^0.0.4"
12 | flutter_facebook_login: "^1.1.1"
13 | http:
14 | share:
15 | image_picker: "^0.4.1"
16 |
17 |
18 | # firebase_auth: "^0.5.10"
19 |
20 | dev_dependencies:
21 | flutter_test:
22 | sdk: flutter
23 |
24 |
25 | # For information on the generic Dart part of this file, see the
26 | # following page: https://www.dartlang.org/tools/pub/pubspec
27 |
28 | # The following section is specific to Flutter.
29 | flutter:
30 | fonts:
31 | - family: Poppins
32 | fonts:
33 | - asset: assets/fonts/Poppins-Light.ttf
34 | - family: PoppinsMedium
35 | fonts:
36 | - asset: assets/fonts/Poppins-Medium.ttf
37 | - family: PoppinsRegular
38 | fonts:
39 | - asset: assets/fonts/Poppins-Regular.ttf
40 |
41 | # The following line ensures that the Material Icons font is
42 | # included with your application, so that you can use the icons in
43 | # the material Icons class.
44 | uses-material-design: true
45 |
46 | # To add assets to your application, add an assets section, like this:
47 | assets:
48 | - assets/bg.png
49 | - assets/first.png
50 | - assets/second.png
51 | - assets/third.png
52 | - assets/fourth.png
53 | - assets/Home.png
54 | - assets/home2.png
55 | - assets/chat.png
56 | - assets/chat2.png
57 | - assets/account.png
58 | - assets/account2.png
59 | - assets/els-fattah.jpg
60 | - assets/jonathan-daniels.jpg
61 | - assets/sam-burriss.jpg
62 | - assets/warren-wong.jpg
63 | - assets/Background.png
64 | - assets/sign_up_bg.png
65 | - assets/back-arrow.png
66 | - assets/1.jpg
67 | - assets/img1.png
68 | - assets/img2.jpg
69 | - assets/img3.jpg
70 | - assets/img4.jpg
71 | - assets/img5.jpg
72 |
73 |
74 |
75 | # An image asset can refer to one or more resolution-specific "variants", see
76 | # https://flutter.io/assets-and-images/#resolution-aware.
77 |
78 | # For details regarding adding assets from package dependencies, see
79 | # https://flutter.io/assets-and-images/#from-packages
80 |
81 | # To add custom fonts to your application, add a fonts section here,
82 | # in this "flutter" section. Each entry in this list should have a
83 | # "family" key with the font family name, and a "fonts" key with a
84 | # list giving the asset and other descriptors for the font. For
85 | # example:
86 | # fonts:
87 | # - family: Schyler
88 | # fonts:
89 | # - asset: fonts/Schyler-Regular.ttf
90 | # - asset: fonts/Schyler-Italic.ttf
91 | # style: italic
92 | # - family: Trajan Pro
93 | # fonts:
94 | # - asset: fonts/TrajanPro.ttf
95 | # - asset: fonts/TrajanPro_Bold.ttf
96 | # weight: 700
97 | #
98 | # For details regarding fonts from package dependencies,
99 | # see https://flutter.io/custom-fonts/#from-packages
100 |
--------------------------------------------------------------------------------
/datingapp/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | // To perform an interaction with a widget in your test, use the WidgetTester utility that Flutter
3 | // provides. For example, you can send tap and scroll gestures. You can also use WidgetTester to
4 | // find child widgets in the widget tree, read text, and verify that the values of widget properties
5 | // are correct.
6 |
7 | import 'package:flutter/material.dart';
8 | import 'package:flutter_test/flutter_test.dart';
9 |
10 | import 'package:datingapp/main.dart';
11 |
12 | void main() {
13 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
14 | // Build our app and trigger a frame.
15 | await tester.pumpWidget(new MyApp());
16 |
17 | // Verify that our counter starts at 0.
18 | expect(find.text('0'), findsOneWidget);
19 | expect(find.text('1'), findsNothing);
20 |
21 | // Tap the '+' icon and trigger a frame.
22 | await tester.tap(find.byIcon(Icons.add));
23 | await tester.pump();
24 |
25 | // Verify that our counter has incremented.
26 | expect(find.text('0'), findsNothing);
27 | expect(find.text('1'), findsOneWidget);
28 | });
29 | }
30 |
--------------------------------------------------------------------------------