├── .gitignore
├── .metadata
├── README.md
├── Screenshots
├── 01_Welcome.jpg
├── 02_Sign In.jpg
├── 03_Sign Up.jpg
├── 04_Menu.jpg
├── 05_Fingerprint Unlock.png
├── 06_User Profile.jpg
├── 07_Edit profile.jpg
├── 08_Biography.jpg
├── 09_Match Found.jpg
├── 10_Chat.jpg
├── 11_Settings.jpg
├── 12_Video Call.jpg
├── 13_Users.jpg
├── 14_Favourite Users.png
├── 15_Messages.jpg
├── 16_Notifications.jpg
├── 17_Nearby Users.png
├── 18_Camera.png
├── 19_Activity.png
├── 20_Tour.jpg
└── 21_Match found.jpg
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── flutter_ui_17_dating_app_ui_1
│ │ │ │ └── MainActivity.kt
│ │ └── 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
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── 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
│ └── Runner-Bridging-Header.h
├── lib
├── NavDrawer.dart
├── Screen10_Chat.dart
├── Screen11_Settings.dart
├── Screen12_VideoCall.dart
├── Screen13_Users.dart
├── Screen14_FavUsers.dart
├── Screen15_Messages.dart
├── Screen16_Notifications.dart
├── Screen17_NearbyUsers.dart
├── Screen19_Activity.dart
├── Screen20_Tour.dart
├── Screen21_MatchFound.dart
├── Screen22_FoundMatchSearching.dart
├── Screen23_multiLoginOptions.dart
├── Screen2_SignIn.dart
├── Screen3.5_ForgotPassword.dart
├── Screen3_Signup.dart
├── Screen4&5_HomePage.dart
├── Screen6_userProfile.dart
├── Screen7_EditProfile.dart
├── Screen8_Biography.dart
├── Screen9_MatchFound.dart
├── Widgets
│ ├── messageItems.dart
│ ├── nearbyUserItem.dart
│ ├── onlyMedia.dart
│ ├── onlyPhoto_Screen19.dart
│ ├── onlyPhoto_photoItem_Screen19.dart
│ ├── onlyText_Screen19.dart
│ ├── peopleNearYou.dart
│ ├── simpleMessage.dart
│ ├── someoneFollowed_Screen16.dart
│ ├── someoneLikedPhoto_Screen16.dart
│ ├── someoneSentAFriendRequest_Screen16.dart
│ ├── someoneSentPersonalMessage_Screen16.dart
│ ├── someoneSharedAPhoto_Screen16.dart
│ ├── textPhoto_Screen19.dart
│ ├── uaScreenItems.dart
│ └── withMedia.dart
├── main.dart
└── ua_Screens.dart
├── linux
├── .gitignore
├── CMakeLists.txt
├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
├── main.cc
├── my_application.cc
└── my_application.h
├── pubspec.lock
├── pubspec.yaml
├── test
└── widget_test.dart
└── web
├── favicon.png
├── icons
├── Icon-192.png
└── Icon-512.png
├── index.html
└── manifest.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 | lib/generated_plugin_registrant.dart
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
43 | # google-services-json file
44 | android/app/google-services.json
--------------------------------------------------------------------------------
/.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: 38834d36d3320fce0f43ef7df29846b0d073fd6f
8 | channel: master
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Flutter UI 17 Rish Dating App UI
2 |
3 | [](https://forthebadge.com)
4 | [](https://forthebadge.com)
5 | [](https://forthebadge.com)
6 | [](https://forthebadge.com)
7 | [](https://forthebadge.com)
8 |
9 |
10 | ## Introduction 📌
11 |
12 | Everyone wants to have a soulmate in their life and you may or may not know that it tkaes time to fid your perfect soul mate.
13 |
14 | I have tried building a dating app UI from the images of what i found online. The app is Called Rish, where users can find their perfect match.
15 |
16 | __This project is mostly UI part with multiple login option.__
17 |
18 | ## Technology Stack 🏁
19 |
20 | - [Flutter](https://flutter.dev/)
21 | - [Firebase](https://pub.dev/packages/firebase_auth)
22 | - [Google Sign In](https://pub.dev/packages/google_sign_in)
23 | - [Facebook Sign In](https://pub.dev/packages/flutter_facebook_login)
24 | - [Twitter Sign In](https://pub.dev/packages/flutter_twitter_login)
25 |
26 | ## Why this Project? 🏃♂️
27 |
28 | My main goal behind creating this project was creating an interactive UI which could make users use this app. Apart from this i was making it to implement google, twitter & facebook sign in and many other new things which i saw in some flutter videos.
29 |
30 | Although some of the screens did not have a perfect location for their placement, yet the project is looking cool.
31 |
32 | For this project, i have worked on various domains like:
33 | * UI/UX Development with Flutter
34 | * Image Capturing with Camera
35 | * Multiple sign in options
36 | * Firebase integration
37 |
38 | ## 👀 Build Instructions
39 |
40 | - Clone the Repository: `git clone https://github.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1`
41 | - `cd` into the Repository: `cd Flutter-UI-17-Dating-App-UI-1`
42 | - If you want to have a look at the project in web then you can follow the steps given below.
43 | - Enable beta channel and enable web support:
44 | ```
45 | $ flutter channel beta
46 | $ flutter upgrade
47 | $ flutter config --enable-web
48 | ```
49 | - Check for the Devices configured for Flutter Web: `flutter devices`
50 | - Run the App in Release Mode: `flutter run`
51 | - Generate a Build: `flutter build apk --split-per-abi`
52 |
53 | ## Snaps from the UI
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | ## Contributors ✨
80 |
81 | - [Harsh Kumar Khatri](https://github.com/harshkumarkhatri)
--------------------------------------------------------------------------------
/Screenshots/01_Welcome.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/01_Welcome.jpg
--------------------------------------------------------------------------------
/Screenshots/02_Sign In.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/02_Sign In.jpg
--------------------------------------------------------------------------------
/Screenshots/03_Sign Up.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/03_Sign Up.jpg
--------------------------------------------------------------------------------
/Screenshots/04_Menu.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/04_Menu.jpg
--------------------------------------------------------------------------------
/Screenshots/05_Fingerprint Unlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/05_Fingerprint Unlock.png
--------------------------------------------------------------------------------
/Screenshots/06_User Profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/06_User Profile.jpg
--------------------------------------------------------------------------------
/Screenshots/07_Edit profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/07_Edit profile.jpg
--------------------------------------------------------------------------------
/Screenshots/08_Biography.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/08_Biography.jpg
--------------------------------------------------------------------------------
/Screenshots/09_Match Found.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/09_Match Found.jpg
--------------------------------------------------------------------------------
/Screenshots/10_Chat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/10_Chat.jpg
--------------------------------------------------------------------------------
/Screenshots/11_Settings.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/11_Settings.jpg
--------------------------------------------------------------------------------
/Screenshots/12_Video Call.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/12_Video Call.jpg
--------------------------------------------------------------------------------
/Screenshots/13_Users.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/13_Users.jpg
--------------------------------------------------------------------------------
/Screenshots/14_Favourite Users.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/14_Favourite Users.png
--------------------------------------------------------------------------------
/Screenshots/15_Messages.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/15_Messages.jpg
--------------------------------------------------------------------------------
/Screenshots/16_Notifications.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/16_Notifications.jpg
--------------------------------------------------------------------------------
/Screenshots/17_Nearby Users.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/17_Nearby Users.png
--------------------------------------------------------------------------------
/Screenshots/18_Camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/18_Camera.png
--------------------------------------------------------------------------------
/Screenshots/19_Activity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/19_Activity.png
--------------------------------------------------------------------------------
/Screenshots/20_Tour.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/20_Tour.jpg
--------------------------------------------------------------------------------
/Screenshots/21_Match found.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/Screenshots/21_Match found.jpg
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 |
--------------------------------------------------------------------------------
/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 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 | apply plugin: 'com.google.gms.google-services'
28 |
29 | android {
30 | compileSdkVersion 29
31 |
32 | sourceSets {
33 | main.java.srcDirs += 'src/main/kotlin'
34 | }
35 |
36 | lintOptions {
37 | disable 'InvalidPackage'
38 | }
39 |
40 | defaultConfig {
41 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
42 | applicationId "com.example.flutter_ui_17_dating_app_ui_1"
43 | minSdkVersion 16
44 | targetSdkVersion 29
45 | versionCode flutterVersionCode.toInteger()
46 | versionName flutterVersionName
47 | multiDexEnabled true
48 | }
49 |
50 | buildTypes {
51 | release {
52 | // TODO: Add your own signing config for the release build.
53 | // Signing with the debug keys for now, so `flutter run --release` works.
54 | signingConfig signingConfigs.debug
55 | }
56 | }
57 | }
58 |
59 | flutter {
60 | source '../..'
61 | }
62 |
63 | dependencies {
64 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
65 | implementation platform('com.google.firebase:firebase-bom:26.0.0')
66 | implementation 'com.google.firebase:firebase-analytics'
67 | }
68 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
8 |
12 |
19 |
23 |
27 |
32 |
36 |
37 |
38 |
39 |
40 |
41 |
43 |
46 |
47 |
48 |
50 |
51 |
55 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/flutter_ui_17_dating_app_ui_1/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.flutter_ui_17_dating_app_ui_1
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Flutter Demo
3 | 2559469914343458
4 | fb2559469914343458
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.5.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | classpath 'com.google.gms:google-services:4.3.4'
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | google()
18 | jcenter()
19 | }
20 | }
21 |
22 | rootProject.buildDir = '../build'
23 | subprojects {
24 | project.buildDir = "${rootProject.buildDir}/${project.name}"
25 | }
26 | subprojects {
27 | project.evaluationDependsOn(':app')
28 | }
29 |
30 | task clean(type: Delete) {
31 | delete rootProject.buildDir
32 | }
33 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 | android.enableR8=true
5 |
--------------------------------------------------------------------------------
/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-5.6.2-all.zip
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
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 | MinimumOSVersion
24 | 9.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/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.
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | flutter_ui_17_dating_app_ui_1
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 |
45 |
46 | CFBundleURLTypes
47 |
48 |
49 | CFBundleURLSchemes
50 |
51 | fb2559469914343458
52 |
53 |
54 |
55 | FacebookAppID
56 | 2559469914343458
57 | FacebookDisplayName
58 | Rish Dating App
59 |
60 |
61 | LSApplicationQueriesSchemes
62 |
63 | fbapi
64 | fbapi20130214
65 | fbapi20130410
66 | fbapi20130702
67 | fbapi20131010
68 | fbapi20131219
69 | fbapi20140410
70 | fbapi20140116
71 | fbapi20150313
72 | fbapi20150629
73 | fbapi20160328
74 | fbauth
75 | fb-messenger-share-api
76 | fbauth2
77 | fbshareextension
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/NavDrawer.dart:
--------------------------------------------------------------------------------
1 | // THis file has the drawer which is then implemented in every screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen15_Messages.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Screen16_Notifications.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/ua_Screens.dart';
7 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
8 |
9 | import 'Screen11_Settings.dart';
10 | import 'Screen6_userProfile.dart';
11 |
12 | // Navdrawert class
13 | class NavDrawer extends StatelessWidget {
14 | @override
15 | Widget build(BuildContext context) {
16 | return Drawer(
17 | child: Container(
18 | decoration: BoxDecoration(
19 | gradient: LinearGradient(colors: [
20 | Colors.pink[600],
21 | Colors.pink[400],
22 | Colors.orangeAccent[700]
23 | ]),
24 | ),
25 | child: ListView(
26 | padding: EdgeInsets.zero,
27 | children: [
28 | SafeArea(
29 | child: Padding(
30 | padding: const EdgeInsets.only(left: 20, top: 15),
31 | child: Container(
32 | child: Column(
33 | crossAxisAlignment: CrossAxisAlignment.start,
34 | children: [
35 | Container(
36 | height: 64,
37 | width: 64,
38 | decoration: BoxDecoration(
39 | shape: BoxShape.circle,
40 | color: Colors.grey,
41 | ),
42 | ),
43 | SizedBox(height: 20),
44 | Text(
45 | "Daisy Sparks",
46 | style: TextStyle(
47 | color: Colors.white,
48 | fontWeight: FontWeight.w300,
49 | fontSize: 24,
50 | letterSpacing: 1.2,
51 | ),
52 | ),
53 | SizedBox(height: 5),
54 | Text(
55 | "New your city",
56 | style: TextStyle(
57 | color: Colors.white,
58 | fontSize: 20,
59 | fontWeight: FontWeight.w300,
60 | ),
61 | ),
62 | ],
63 | )),
64 | ),
65 | ),
66 | SizedBox(height: 25),
67 | Ink(
68 | color: Colors.pink,
69 | child: ListTile(
70 | leading: FaIcon(FontAwesomeIcons.user, color: Colors.white),
71 | title: Text(
72 | 'User Profile',
73 | style: TextStyle(
74 | letterSpacing: 1.3,
75 | color: Colors.white,
76 | fontSize: 20,
77 | fontWeight: FontWeight.w300,
78 | ),
79 | ),
80 | onTap: () => {
81 | Navigator.pop(context),
82 | Navigator.push(
83 | context,
84 | MaterialPageRoute(
85 | builder: (_) => Screen6(),
86 | ),
87 | ),
88 | },
89 | ),
90 | ),
91 | Ink(
92 | color: Colors.pink,
93 | child: ListTile(
94 | leading: FaIcon(FontAwesomeIcons.cog, color: Colors.white),
95 | title: Text(
96 | 'Settings',
97 | style: TextStyle(
98 | letterSpacing: 1.3,
99 | color: Colors.white,
100 | fontSize: 20,
101 | fontWeight: FontWeight.w300,
102 | ),
103 | ),
104 | onTap: () => {
105 | Navigator.pop(context),
106 | Navigator.push(
107 | context,
108 | MaterialPageRoute(
109 | builder: (_) => Screen11(),
110 | ),
111 | )
112 | },
113 | ),
114 | ),
115 | Ink(
116 | color: Colors.pink,
117 | child: ListTile(
118 | leading: Icon(FontAwesomeIcons.envelope, color: Colors.white),
119 | title: Text(
120 | 'Messages',
121 | style: TextStyle(
122 | letterSpacing: 1.3,
123 | color: Colors.white,
124 | fontSize: 20,
125 | fontWeight: FontWeight.w300,
126 | ),
127 | ),
128 | onTap: () => {
129 | Navigator.pop(context),
130 | Navigator.push(
131 | context,
132 | MaterialPageRoute(
133 | builder: (_) => Screen15(),
134 | ),
135 | ),
136 | },
137 | ),
138 | ),
139 | Ink(
140 | color: Colors.pink,
141 | child: ListTile(
142 | leading:
143 | Icon(FontAwesomeIcons.userFriends, color: Colors.white),
144 | title: Text(
145 | 'Friends',
146 | style: TextStyle(
147 | letterSpacing: 1.3,
148 | color: Colors.white,
149 | fontSize: 20,
150 | fontWeight: FontWeight.w300,
151 | ),
152 | ),
153 | onTap: () => {Navigator.pop(context)},
154 | ),
155 | ),
156 | Ink(
157 | color: Colors.pink,
158 | child: ListTile(
159 | leading: Icon(FontAwesomeIcons.bell, color: Colors.white),
160 | title: Text(
161 | 'Notifications',
162 | style: TextStyle(
163 | letterSpacing: 1.3,
164 | color: Colors.white,
165 | fontSize: 20,
166 | fontWeight: FontWeight.w300,
167 | ),
168 | ),
169 | onTap: () => {
170 | Navigator.pop(context),
171 | Navigator.push(
172 | context,
173 | MaterialPageRoute(
174 | builder: (_) => Screen16(),
175 | ),
176 | ),
177 | },
178 | ),
179 | ),
180 | Ink(
181 | color: Colors.pink,
182 | child: ListTile(
183 | leading:
184 | Icon(FontAwesomeIcons.calendarAlt, color: Colors.white),
185 | title: Text(
186 | 'Subscription',
187 | style: TextStyle(
188 | letterSpacing: 1.3,
189 | color: Colors.white,
190 | fontSize: 20,
191 | fontWeight: FontWeight.w300,
192 | ),
193 | ),
194 | onTap: () => {Navigator.pop(context)},
195 | ),
196 | ),
197 | Ink(
198 | color: Colors.pink,
199 | child: ListTile(
200 | leading: Icon(FontAwesomeIcons.signOutAlt, color: Colors.white),
201 | title: Text(
202 | 'Sign Out',
203 | style: TextStyle(
204 | letterSpacing: 1.3,
205 | color: Colors.white,
206 | fontSize: 20,
207 | fontWeight: FontWeight.w300,
208 | ),
209 | ),
210 | onTap: () => {
211 | Navigator.pop(context),
212 | Navigator.of(context).push(
213 | MaterialPageRoute(
214 | builder: (_) => UAScreens(),
215 | ),
216 | ),
217 | },
218 | ),
219 | ),
220 | ],
221 | ),
222 | ),
223 | );
224 | }
225 | }
226 |
--------------------------------------------------------------------------------
/lib/Screen10_Chat.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the chat screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/onlyMedia.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/simpleMessage.dart';
7 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/withMedia.dart';
8 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
9 |
10 | import 'NavDrawer.dart';
11 |
12 | class Screen10 extends StatefulWidget {
13 | @override
14 | _Screen10State createState() => _Screen10State();
15 | }
16 |
17 | class _Screen10State extends State {
18 | @override
19 | Widget build(BuildContext context) {
20 | return Scaffold(
21 | drawer: NavDrawer(),
22 | appBar: AppBar(
23 | centerTitle: true,
24 | title: Row(
25 | mainAxisAlignment: MainAxisAlignment.center,
26 | children: [
27 | Container(
28 | height: 24,
29 | width: 24,
30 | decoration: BoxDecoration(
31 | color: Colors.grey,
32 | shape: BoxShape.circle,
33 | ),
34 | ),
35 | SizedBox(
36 | width: 8,
37 | ),
38 | Text(
39 | "Oscar French",
40 | style: TextStyle(
41 | color: Colors.white,
42 | fontSize: 18,
43 | fontWeight: FontWeight.w400,
44 | ),
45 | )
46 | ],
47 | ),
48 | flexibleSpace: Container(
49 | decoration: BoxDecoration(
50 | gradient: LinearGradient(
51 | colors: [
52 | Colors.pink[600],
53 | Colors.pink[400],
54 | Colors.orangeAccent[700],
55 | ],
56 | ),
57 | ),
58 | ),
59 | actions: [
60 | PopupMenuButton(
61 | onSelected: handleClick,
62 | itemBuilder: (BuildContext context) {
63 | return {'Logout', 'Settings'}.map((String choice) {
64 | return PopupMenuItem(
65 | value: choice,
66 | child: Text(choice),
67 | );
68 | }).toList();
69 | },
70 | ),
71 | ],
72 | ),
73 | body: Stack(
74 | children: [
75 | Container(
76 | child: ListView(
77 | padding: const EdgeInsets.all(8),
78 | children: [
79 | SizedBox(
80 | height: 25,
81 | ),
82 | simpleMessage(context,
83 | "Entry A;jfn jnfjrnf nndfe ijnpn j dj cjn dej de ojde dnioe dje noj eo dje doej bpijnpjn ponpio ij ij ii jijrijosijreoijhr "),
84 | SizedBox(
85 | height: 20,
86 | ),
87 | withMedia(context, "hey there these are some of my photos."),
88 | SizedBox(
89 | height: 20,
90 | ),
91 | simpleMessage(context, "You look good. Send some more."),
92 | SizedBox(
93 | height: 20,
94 | ),
95 | onlyMedia(
96 | context,
97 | ),
98 | SizedBox(
99 | height: 20,
100 | ),
101 | simpleMessage(context,
102 | "Entry A;jfn jnfjrnf nndfe ijnpn j dj cjn dej de ojde dnioe dje noj eo dje doej bpijnpjn ponpio ij ij ii jijrijosijreoijhr "),
103 | SizedBox(
104 | height: 20,
105 | ),
106 | withMedia(context, "hey there these are some of my photos."),
107 | SizedBox(
108 | height: 20,
109 | ),
110 | simpleMessage(context, "You look good. Send some more."),
111 | SizedBox(
112 | height: 20,
113 | ),
114 | onlyMedia(
115 | context,
116 | ),
117 | SizedBox(
118 | height: 60,
119 | ),
120 | ],
121 | ),
122 | ),
123 | Align(
124 | alignment: Alignment.bottomCenter,
125 | child: Padding(
126 | padding: const EdgeInsets.only(left: 15, right: 15, bottom: 10),
127 | child: Container(
128 | height: 50,
129 | decoration: BoxDecoration(
130 | color: Colors.white,
131 | boxShadow: [
132 | BoxShadow(
133 | color: Colors.black45,
134 | blurRadius: 20,
135 | spreadRadius: 2)
136 | ],
137 | borderRadius: BorderRadius.circular(
138 | 18,
139 | ),
140 | ),
141 | width: MediaQuery.of(context).size.width,
142 | child: Padding(
143 | padding: const EdgeInsets.only(left: 8.0, right: 8),
144 | child: TextField(
145 | decoration: InputDecoration(
146 | hintText: "Start Typing...",
147 | suffixIcon: Icon(
148 | Icons.send,
149 | color: Colors.black,
150 | ),
151 | ),
152 | ),
153 | ),
154 | ),
155 | ),
156 | ),
157 | ],
158 | ));
159 | }
160 |
161 | void handleClick(String value) {
162 | switch (value) {
163 | case 'Logout':
164 | break;
165 | case 'Settings':
166 | break;
167 | }
168 | }
169 | }
170 |
--------------------------------------------------------------------------------
/lib/Screen12_VideoCall.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the video call screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
6 |
7 | import 'NavDrawer.dart';
8 |
9 | class Screen12 extends StatefulWidget {
10 | @override
11 | _Screen12State createState() => _Screen12State();
12 | }
13 |
14 | class _Screen12State extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return Scaffold(
18 | drawer: NavDrawer(),
19 | appBar: AppBar(
20 | centerTitle: true,
21 | title: Text("Video Call"),
22 | flexibleSpace: Container(
23 | decoration: BoxDecoration(
24 | gradient: LinearGradient(
25 | colors: [
26 | Colors.pink[600],
27 | Colors.pink[400],
28 | Colors.orangeAccent[700],
29 | ],
30 | ),
31 | ),
32 | ),
33 | actions: [
34 | PopupMenuButton(
35 | onSelected: handleClick,
36 | itemBuilder: (BuildContext context) {
37 | return {'Logout', 'Settings'}.map((String choice) {
38 | return PopupMenuItem(
39 | value: choice,
40 | child: Text(choice),
41 | );
42 | }).toList();
43 | },
44 | ),
45 | ],
46 | ),
47 | body: Container(
48 | height: MediaQuery.of(context).size.height,
49 | width: MediaQuery.of(context).size.width,
50 | color: Colors.grey,
51 | child: Column(
52 | mainAxisAlignment: MainAxisAlignment.end,
53 | children: [
54 | Text(
55 | "Clifford Hampton",
56 | style: TextStyle(
57 | color: Colors.white,
58 | fontSize: 24,
59 | fontWeight: FontWeight.w400,
60 | ),
61 | ),
62 | SizedBox(height: 15),
63 | Text(
64 | "New York, USA",
65 | style: TextStyle(
66 | color: Colors.white,
67 | fontSize: 20,
68 | fontWeight: FontWeight.w300,
69 | ),
70 | ),
71 | SizedBox(height: 20),
72 | Padding(
73 | padding: const EdgeInsets.only(bottom: 40, top: 8.0),
74 | child: Row(
75 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
76 | children: [
77 | Container(
78 | width: 110,
79 | height: 45,
80 | decoration: BoxDecoration(
81 | boxShadow: [
82 | BoxShadow(
83 | color: Colors.grey[600],
84 | blurRadius: 2,
85 | spreadRadius: 0.5)
86 | ],
87 | gradient: LinearGradient(
88 | colors: [
89 | Colors.pink[600],
90 | Colors.pink[400],
91 | Colors.orangeAccent[700]
92 | ],
93 | ),
94 | ),
95 | child: Center(
96 | child: Text(
97 | "Accept",
98 | style: TextStyle(
99 | color: Colors.white,
100 | fontWeight: FontWeight.w300,
101 | letterSpacing: 1.2,
102 | fontSize: 20,
103 | ),
104 | ),
105 | ),
106 | ),
107 | Container(
108 | height: 45,
109 | width: 110,
110 | decoration: BoxDecoration(
111 | border: Border.all(
112 | color: Colors.white,
113 | width: 2,
114 | ),
115 | ),
116 | child: Center(
117 | child: Text(
118 | "Reject",
119 | style: TextStyle(
120 | color: Colors.white,
121 | fontWeight: FontWeight.w300,
122 | letterSpacing: 1.2,
123 | fontSize: 20,
124 | ),
125 | ),
126 | ),
127 | ),
128 | ],
129 | ),
130 | )
131 | ],
132 | )),
133 | );
134 | }
135 |
136 | void handleClick(String value) {
137 | switch (value) {
138 | case 'Logout':
139 | break;
140 | case 'Settings':
141 | break;
142 | }
143 | }
144 | }
145 |
--------------------------------------------------------------------------------
/lib/Screen13_Users.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the users screen.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | import 'NavDrawer.dart';
6 | import 'Screen9_MatchFound.dart';
7 |
8 | class Screen13 extends StatefulWidget {
9 | @override
10 | _Screen13State createState() => _Screen13State();
11 | }
12 |
13 | class _Screen13State extends State {
14 | @override
15 | Widget build(BuildContext context) {
16 | return Scaffold(
17 | drawer: NavDrawer(),
18 | appBar: AppBar(
19 | centerTitle: true,
20 | title: Text("Users"),
21 | flexibleSpace: Container(
22 | decoration: BoxDecoration(
23 | gradient: LinearGradient(
24 | colors: [
25 | Colors.pink[600],
26 | Colors.pink[400],
27 | Colors.orangeAccent[700],
28 | ],
29 | ),
30 | ),
31 | ),
32 | actions: [
33 | PopupMenuButton(
34 | onSelected: handleClick,
35 | itemBuilder: (BuildContext context) {
36 | return {'Logout', 'Settings'}.map((String choice) {
37 | return PopupMenuItem(
38 | value: choice,
39 | child: Text(choice),
40 | );
41 | }).toList();
42 | },
43 | ),
44 | ],
45 | ),
46 | body: Container(
47 | child: Column(
48 | children: [
49 | Padding(
50 | padding: EdgeInsets.only(top: 15, left: 15, right: 15, bottom: 5),
51 | child: Container(
52 | alignment: Alignment.centerLeft,
53 | height: 50,
54 | decoration: BoxDecoration(
55 | color: Colors.grey[400],
56 | borderRadius: BorderRadius.circular(
57 | 8,
58 | ),
59 | ),
60 | child: Padding(
61 | padding: const EdgeInsets.only(left: 8.0),
62 | child: Text(
63 | "Search",
64 | style: TextStyle(
65 | fontSize: 18,
66 | fontWeight: FontWeight.w300,
67 | color: Colors.grey[700],
68 | ),
69 | ),
70 | ),
71 | ),
72 | ),
73 | Flexible(
74 | child: Container(
75 | child: GridView.count(
76 | primary: false,
77 | padding: const EdgeInsets.all(20),
78 | childAspectRatio: 1 / 1.3,
79 | crossAxisSpacing: 10,
80 | mainAxisSpacing: 10,
81 | crossAxisCount: 3,
82 | children: [
83 | BodyWidget_Screen13(Colors.blue),
84 | BodyWidget_Screen13(Colors.purple),
85 | BodyWidget_Screen13(Colors.orange),
86 | BodyWidget_Screen13(Colors.brown),
87 | BodyWidget_Screen13(Colors.lightGreenAccent),
88 | BodyWidget_Screen13(Colors.blue),
89 | BodyWidget_Screen13(Colors.purple),
90 | BodyWidget_Screen13(Colors.orange),
91 | BodyWidget_Screen13(Colors.brown),
92 | BodyWidget_Screen13(Colors.lightGreenAccent),
93 | BodyWidget_Screen13(Colors.blue),
94 | BodyWidget_Screen13(Colors.purple),
95 | BodyWidget_Screen13(Colors.orange),
96 | BodyWidget_Screen13(Colors.brown),
97 | BodyWidget_Screen13(Colors.lightGreenAccent),
98 | ],
99 | )),
100 | ),
101 | ],
102 | )),
103 | );
104 | }
105 |
106 | void handleClick(String value) {
107 | switch (value) {
108 | case 'Logout':
109 | break;
110 | case 'Settings':
111 | break;
112 | }
113 | }
114 | }
115 |
116 | class BodyWidget1 extends StatelessWidget {
117 | final Color color;
118 |
119 | BodyWidget1(this.color);
120 |
121 | @override
122 | Widget build(BuildContext context) {
123 | return Container(
124 | height: 20.0,
125 | color: color,
126 | alignment: Alignment.center,
127 | );
128 | }
129 | }
130 |
131 | class BodyWidget_Screen13 extends StatelessWidget {
132 | final Color color;
133 |
134 | BodyWidget_Screen13(this.color);
135 |
136 | @override
137 | Widget build(BuildContext context) {
138 | return Column(
139 | crossAxisAlignment: CrossAxisAlignment.start,
140 | children: [
141 | Container(
142 | height: 130.0,
143 | width: MediaQuery.of(context).size.width,
144 | child: Column(
145 | children: [
146 | Stack(
147 | children: [
148 | Container(
149 | height: 90,
150 | width: 90,
151 | decoration:
152 | BoxDecoration(color: color, shape: BoxShape.circle),
153 | ),
154 | Align(
155 | alignment: Alignment.topRight,
156 | child: Padding(
157 | padding: const EdgeInsets.all(12.0),
158 | child: Container(
159 | height: 12,
160 | width: 12,
161 | decoration: BoxDecoration(
162 | border: Border.all(color: Colors.white54),
163 | color: Colors.green,
164 | shape: BoxShape.circle),
165 | ),
166 | ),
167 | )
168 | ],
169 | ),
170 | SizedBox(height: 5),
171 | Center(
172 | child: Row(
173 | mainAxisAlignment: MainAxisAlignment.center,
174 | children: [
175 | Expanded(
176 | child: Text(
177 | "Cordelia Harrison",
178 | style: TextStyle(
179 | fontSize: 12,
180 | fontWeight: FontWeight.w300,
181 | color: Colors.grey,
182 | ),
183 | ),
184 | ),
185 | ],
186 | ),
187 | )
188 | ],
189 | )),
190 | ],
191 | );
192 | }
193 | }
194 |
--------------------------------------------------------------------------------
/lib/Screen14_FavUsers.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the favourite users screen.
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Screen9_MatchFound.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/peopleNearYou.dart';
7 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
8 |
9 | import 'NavDrawer.dart';
10 |
11 | class Screen14 extends StatefulWidget {
12 | @override
13 | _Screen14State createState() => _Screen14State();
14 | }
15 |
16 | class _Screen14State extends State {
17 | @override
18 | Widget build(BuildContext context) {
19 | return Scaffold(
20 | drawer: NavDrawer(),
21 | appBar: AppBar(
22 | centerTitle: true,
23 | title: Text("Favourite Users"),
24 | flexibleSpace: Container(
25 | decoration: BoxDecoration(
26 | gradient: LinearGradient(
27 | colors: [
28 | Colors.pink[600],
29 | Colors.pink[400],
30 | Colors.orangeAccent[700],
31 | ],
32 | ),
33 | ),
34 | ),
35 | actions: [
36 | PopupMenuButton(
37 | onSelected: handleClick,
38 | itemBuilder: (BuildContext context) {
39 | return {'Logout', 'Settings'}.map((String choice) {
40 | return PopupMenuItem(
41 | value: choice,
42 | child: Text(choice),
43 | );
44 | }).toList();
45 | },
46 | ),
47 | ],
48 | ),
49 | body: Padding(
50 | padding: const EdgeInsets.only(left: 15, top: 20),
51 | child: Container(
52 | child: Column(
53 | children: [
54 | Padding(
55 | padding: const EdgeInsets.only(right: 15),
56 | child: Row(
57 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
58 | children: [
59 | Text(
60 | "People Near You",
61 | style: TextStyle(
62 | color: Colors.grey,
63 | fontSize: 20,
64 | fontWeight: FontWeight.w400,
65 | ),
66 | ),
67 | Text(
68 | "View More",
69 | style: TextStyle(
70 | color: Colors.grey,
71 | fontSize: 16,
72 | fontWeight: FontWeight.w300,
73 | ),
74 | ),
75 | ],
76 | ),
77 | ),
78 | SizedBox(height: 20),
79 | Container(
80 | height: 120,
81 | child: ListView(
82 | scrollDirection: Axis.horizontal,
83 | children: [
84 | peopleNearYou(),
85 | peopleNearYou(),
86 | peopleNearYou(),
87 | peopleNearYou(),
88 | peopleNearYou(),
89 | peopleNearYou(),
90 | peopleNearYou(),
91 | peopleNearYou(),
92 | peopleNearYou(),
93 | peopleNearYou(),
94 | peopleNearYou(),
95 | peopleNearYou(),
96 | ],
97 | ),
98 | ),
99 | SizedBox(height: 20),
100 | Padding(
101 | padding: const EdgeInsets.only(right: 15),
102 | child: Row(
103 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
104 | children: [
105 | Text(
106 | "Favourite Users",
107 | style: TextStyle(
108 | color: Colors.grey,
109 | fontSize: 20,
110 | fontWeight: FontWeight.w400,
111 | ),
112 | ),
113 | Text(
114 | "View More",
115 | style: TextStyle(
116 | color: Colors.grey,
117 | fontSize: 16,
118 | fontWeight: FontWeight.w300,
119 | ),
120 | ),
121 | ],
122 | ),
123 | ),
124 | Expanded(
125 | child: Container(
126 | child: GridView.count(
127 | primary: false,
128 | padding: const EdgeInsets.only(right: 15),
129 | childAspectRatio: 0.65,
130 | crossAxisSpacing: 10,
131 | mainAxisSpacing: 10,
132 | crossAxisCount: 2,
133 | children: [
134 | BodyWidget_Screen9(Colors.red),
135 | BodyWidget_Screen9(Colors.pink),
136 | BodyWidget_Screen9(Colors.blue),
137 | BodyWidget_Screen9(Colors.purple),
138 | BodyWidget_Screen9(Colors.orange),
139 | BodyWidget_Screen9(Colors.brown),
140 | BodyWidget_Screen9(Colors.lightGreenAccent),
141 | ],
142 | )),
143 | ),
144 | ],
145 | )),
146 | ),
147 | );
148 | }
149 |
150 | void handleClick(String value) {
151 | switch (value) {
152 | case 'Logout':
153 | break;
154 | case 'Settings':
155 | break;
156 | }
157 | }
158 | }
159 |
--------------------------------------------------------------------------------
/lib/Screen15_Messages.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the messages screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/messageItems.dart';
6 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
7 |
8 | import 'NavDrawer.dart';
9 |
10 | class Screen15 extends StatefulWidget {
11 | @override
12 | _Screen15State createState() => _Screen15State();
13 | }
14 |
15 | class _Screen15State extends State {
16 | @override
17 | Widget build(BuildContext context) {
18 | return Scaffold(
19 | drawer: NavDrawer(),
20 | appBar: AppBar(
21 | centerTitle: true,
22 | title: Text("Messages"),
23 | flexibleSpace: Container(
24 | decoration: BoxDecoration(
25 | gradient: LinearGradient(
26 | colors: [
27 | Colors.pink[600],
28 | Colors.pink[400],
29 | Colors.orangeAccent[700],
30 | ],
31 | ),
32 | ),
33 | ),
34 | actions: [
35 | PopupMenuButton(
36 | onSelected: handleClick,
37 | itemBuilder: (BuildContext context) {
38 | return {'Logout', 'Settings'}.map((String choice) {
39 | return PopupMenuItem(
40 | value: choice,
41 | child: Text(choice),
42 | );
43 | }).toList();
44 | },
45 | ),
46 | ],
47 | ),
48 | body: Container(
49 | child: ListView(
50 | padding: const EdgeInsets.all(15),
51 | children: [
52 | SizedBox(height: 5),
53 | messageItem(),
54 | Divider(
55 | color: Colors.grey.withOpacity(
56 | 0.8,
57 | ),
58 | ),
59 | messageItem(),
60 | Divider(
61 | color: Colors.grey.withOpacity(
62 | 0.8,
63 | ),
64 | ),
65 | messageItem(),
66 | Divider(
67 | color: Colors.grey.withOpacity(
68 | 0.8,
69 | ),
70 | ),
71 | messageItem(),
72 | Divider(
73 | color: Colors.grey.withOpacity(
74 | 0.8,
75 | ),
76 | ),
77 | messageItem(),
78 | Divider(
79 | color: Colors.grey.withOpacity(
80 | 0.8,
81 | ),
82 | ),
83 | messageItem(),
84 | Divider(
85 | color: Colors.grey.withOpacity(
86 | 0.8,
87 | ),
88 | ),
89 | messageItem(),
90 | Divider(
91 | color: Colors.grey.withOpacity(
92 | 0.8,
93 | ),
94 | ),
95 | messageItem(),
96 | Divider(
97 | color: Colors.grey.withOpacity(
98 | 0.8,
99 | ),
100 | ),
101 | messageItem(),
102 | Divider(
103 | color: Colors.grey.withOpacity(
104 | 0.8,
105 | ),
106 | ),
107 | messageItem(),
108 | Divider(
109 | color: Colors.grey.withOpacity(
110 | 0.8,
111 | ),
112 | ),
113 | messageItem(),
114 | Divider(
115 | color: Colors.grey.withOpacity(
116 | 0.8,
117 | ),
118 | ),
119 | messageItem(),
120 | Divider(
121 | color: Colors.grey.withOpacity(
122 | 0.8,
123 | ),
124 | ),
125 | messageItem(),
126 | Divider(
127 | color: Colors.grey.withOpacity(
128 | 0.8,
129 | ),
130 | ),
131 | ],
132 | )),
133 | );
134 | }
135 |
136 | void handleClick(String value) {
137 | switch (value) {
138 | case 'Logout':
139 | break;
140 | case 'Settings':
141 | break;
142 | }
143 | }
144 | }
145 |
--------------------------------------------------------------------------------
/lib/Screen16_Notifications.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the notifications screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/someoneFollowed_Screen16.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/someoneLikedPhoto_Screen16.dart';
7 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/someoneSentAFriendRequest_Screen16.dart';
8 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/someoneSentPersonalMessage_Screen16.dart';
9 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/someoneSharedAPhoto_Screen16.dart';
10 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
11 |
12 | import 'NavDrawer.dart';
13 |
14 | class Screen16 extends StatefulWidget {
15 | @override
16 | _Screen16State createState() => _Screen16State();
17 | }
18 |
19 | class _Screen16State extends State {
20 | @override
21 | Widget build(BuildContext context) {
22 | return Scaffold(
23 | drawer: NavDrawer(),
24 | appBar: AppBar(
25 | centerTitle: true,
26 | title: Text("Notifications"),
27 | flexibleSpace: Container(
28 | decoration: BoxDecoration(
29 | gradient: LinearGradient(
30 | colors: [
31 | Colors.pink[600],
32 | Colors.pink[400],
33 | Colors.orangeAccent[700],
34 | ],
35 | ),
36 | ),
37 | ),
38 | actions: [
39 | PopupMenuButton(
40 | onSelected: handleClick,
41 | itemBuilder: (BuildContext context) {
42 | return {'Logout', 'Settings'}.map((String choice) {
43 | return PopupMenuItem(
44 | value: choice,
45 | child: Text(choice),
46 | );
47 | }).toList();
48 | },
49 | ),
50 | ],
51 | ),
52 | body: Container(
53 | child: ListView(
54 | padding: const EdgeInsets.all(15),
55 | children: [
56 | SizedBox(height: 5),
57 |
58 | // Someone followed you.
59 | someoneFollowed(context),
60 | SizedBox(
61 | height: 15,
62 | ),
63 |
64 | // Someone liked your photo
65 | someoneLiked(context),
66 | SizedBox(
67 | height: 15,
68 | ),
69 |
70 | // Someone shared a photo with you
71 | someoneShared(context),
72 | SizedBox(
73 | height: 15,
74 | ),
75 |
76 | // Someone sent you a friend request
77 | someoneSentAFriendRequest(context),
78 | SizedBox(
79 | height: 15,
80 | ),
81 |
82 | // Someone sent you a personal message
83 | someoneSentPersonalMessage(context),
84 | SizedBox(
85 | height: 15,
86 | ),
87 | ],
88 | )),
89 | );
90 | }
91 |
92 | void handleClick(String value) {
93 | switch (value) {
94 | case 'Logout':
95 | break;
96 | case 'Settings':
97 | break;
98 | }
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/lib/Screen17_NearbyUsers.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to nearby users screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/nearbyUserItem.dart';
6 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
7 |
8 | import 'NavDrawer.dart';
9 | import 'Widgets/messageItems.dart';
10 |
11 | class Screen17 extends StatefulWidget {
12 | @override
13 | _Screen17State createState() => _Screen17State();
14 | }
15 |
16 | class _Screen17State extends State {
17 | @override
18 | Widget build(BuildContext context) {
19 | return Scaffold(
20 | drawer: NavDrawer(),
21 | appBar: AppBar(
22 | centerTitle: true,
23 | title: Text("Nearby Users"),
24 | flexibleSpace: Container(
25 | decoration: BoxDecoration(
26 | gradient: LinearGradient(
27 | colors: [
28 | Colors.pink[600],
29 | Colors.pink[400],
30 | Colors.orangeAccent[700],
31 | ],
32 | ),
33 | ),
34 | ),
35 | actions: [
36 | PopupMenuButton(
37 | onSelected: handleClick,
38 | itemBuilder: (BuildContext context) {
39 | return {'Logout', 'Settings'}.map((String choice) {
40 | return PopupMenuItem(
41 | value: choice,
42 | child: Text(choice),
43 | );
44 | }).toList();
45 | },
46 | ),
47 | ],
48 | ),
49 | body: Container(
50 | child: ListView(
51 | padding: const EdgeInsets.all(15),
52 | children: [
53 | SizedBox(height: 5),
54 | nearbyUserITem("Alfred Walton", "0.2 Miles"),
55 | Divider(
56 | color: Colors.grey.withOpacity(
57 | 0.8,
58 | ),
59 | ),
60 | nearbyUserITem("Tomm Hilfigure", "0.3 Miles"),
61 | Divider(
62 | color: Colors.grey.withOpacity(
63 | 0.8,
64 | ),
65 | ),
66 | nearbyUserITem("Dustin Hubbard", "1.5 Miles"),
67 | Divider(
68 | color: Colors.grey.withOpacity(
69 | 0.8,
70 | ),
71 | ),
72 | nearbyUserITem("Aaron prince", "1.8 Miles"),
73 | Divider(
74 | color: Colors.grey.withOpacity(
75 | 0.8,
76 | ),
77 | ),
78 | nearbyUserITem("Alfred Walton", "0.2 Miles"),
79 | Divider(
80 | color: Colors.grey.withOpacity(
81 | 0.8,
82 | ),
83 | ),
84 | nearbyUserITem("Tomm Hilfigure", "0.3 Miles"),
85 | Divider(
86 | color: Colors.grey.withOpacity(
87 | 0.8,
88 | ),
89 | ),
90 | nearbyUserITem("Dustin Hubbard", "1.5 Miles"),
91 | Divider(
92 | color: Colors.grey.withOpacity(
93 | 0.8,
94 | ),
95 | ),
96 | nearbyUserITem("Aaron prince", "1.8 Miles"),
97 | Divider(
98 | color: Colors.grey.withOpacity(
99 | 0.8,
100 | ),
101 | ),
102 | nearbyUserITem("Alfred Walton", "0.2 Miles"),
103 | Divider(
104 | color: Colors.grey.withOpacity(
105 | 0.8,
106 | ),
107 | ),
108 | nearbyUserITem("Tomm Hilfigure", "0.3 Miles"),
109 | Divider(
110 | color: Colors.grey.withOpacity(
111 | 0.8,
112 | ),
113 | ),
114 | nearbyUserITem("Dustin Hubbard", "1.5 Miles"),
115 | Divider(
116 | color: Colors.grey.withOpacity(
117 | 0.8,
118 | ),
119 | ),
120 | nearbyUserITem("Aaron prince", "1.8 Miles"),
121 | Divider(
122 | color: Colors.grey.withOpacity(
123 | 0.8,
124 | ),
125 | ),
126 | ],
127 | )),
128 | );
129 | }
130 |
131 | void handleClick(String value) {
132 | switch (value) {
133 | case 'Logout':
134 | break;
135 | case 'Settings':
136 | break;
137 | }
138 | }
139 | }
140 |
--------------------------------------------------------------------------------
/lib/Screen19_Activity.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the activity screen.
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/onlyPhoto_Screen19.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/onlyText_Screen19.dart';
7 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/textPhoto_Screen19.dart';
8 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
9 |
10 | import 'NavDrawer.dart';
11 | import 'Widgets/messageItems.dart';
12 |
13 | class Screen19 extends StatefulWidget {
14 | @override
15 | _Screen19State createState() => _Screen19State();
16 | }
17 |
18 | class _Screen19State extends State {
19 | @override
20 | Widget build(BuildContext context) {
21 | return Scaffold(
22 | drawer: NavDrawer(),
23 | appBar: AppBar(
24 | centerTitle: true,
25 | title: Text("Activity"),
26 | flexibleSpace: Container(
27 | decoration: BoxDecoration(
28 | gradient: LinearGradient(
29 | colors: [
30 | Colors.pink[600],
31 | Colors.pink[400],
32 | Colors.orangeAccent[700],
33 | ],
34 | ),
35 | ),
36 | ),
37 | actions: [
38 | PopupMenuButton(
39 | onSelected: handleClick,
40 | itemBuilder: (BuildContext context) {
41 | return {'Logout', 'Settings'}.map((String choice) {
42 | return PopupMenuItem(
43 | value: choice,
44 | child: Text(choice),
45 | );
46 | }).toList();
47 | },
48 | ),
49 | ],
50 | ),
51 | body: Container(
52 | child: ListView(
53 | padding: const EdgeInsets.all(15),
54 | children: [
55 | SizedBox(height: 5),
56 | textPhoto(),
57 | Divider(
58 | color: Colors.grey.withOpacity(
59 | 0.8,
60 | ),
61 | ),
62 | onlyText(),
63 | Divider(
64 | color: Colors.grey.withOpacity(
65 | 0.8,
66 | ),
67 | ),
68 | onlyPhoto(context),
69 | Divider(
70 | color: Colors.grey.withOpacity(
71 | 0.8,
72 | ),
73 | ),
74 | textPhoto(),
75 | Divider(
76 | color: Colors.grey.withOpacity(
77 | 0.8,
78 | ),
79 | ),
80 | onlyText(),
81 | Divider(
82 | color: Colors.grey.withOpacity(
83 | 0.8,
84 | ),
85 | ),
86 | onlyPhoto(context),
87 | Divider(
88 | color: Colors.grey.withOpacity(
89 | 0.8,
90 | ),
91 | ),
92 | textPhoto(),
93 | Divider(
94 | color: Colors.grey.withOpacity(
95 | 0.8,
96 | ),
97 | ),
98 | onlyText(),
99 | Divider(
100 | color: Colors.grey.withOpacity(
101 | 0.8,
102 | ),
103 | ),
104 | onlyPhoto(context),
105 | Divider(
106 | color: Colors.grey.withOpacity(
107 | 0.8,
108 | ),
109 | ),
110 | messageItem(),
111 | Divider(
112 | color: Colors.grey.withOpacity(
113 | 0.8,
114 | ),
115 | ),
116 | ],
117 | )),
118 | );
119 | }
120 |
121 | void handleClick(String value) {
122 | switch (value) {
123 | case 'Logout':
124 | break;
125 | case 'Settings':
126 | break;
127 | }
128 | }
129 | }
130 |
--------------------------------------------------------------------------------
/lib/Screen21_MatchFound.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to match found screen.
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_spinkit/flutter_spinkit.dart';
5 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
6 |
7 | class Screen21 extends StatefulWidget {
8 | @override
9 | _Screen21State createState() => _Screen21State();
10 | }
11 |
12 | class _Screen21State extends State {
13 | @override
14 | Widget build(BuildContext context) {
15 | return Scaffold(
16 | body: Center(
17 | child: Container(
18 | color: Colors.grey[400],
19 | alignment: Alignment.center,
20 | child: Center(
21 | child: Padding(
22 | padding: EdgeInsets.only(
23 | top: MediaQuery.of(context).size.height / 6,
24 | bottom: MediaQuery.of(context).size.height / 6,
25 | left: 25,
26 | right: 25,
27 | ),
28 | child: Container(
29 | decoration: BoxDecoration(
30 | gradient: LinearGradient(
31 | colors: [
32 | Colors.pink[600],
33 | Colors.pink[400],
34 | Colors.orangeAccent[700]
35 | ],
36 | ),
37 | ),
38 | child: Column(
39 | mainAxisAlignment: MainAxisAlignment.center,
40 | children: [
41 | Container(
42 | height: 120,
43 | width: 120,
44 | decoration: BoxDecoration(
45 | shape: BoxShape.circle,
46 | ),
47 | child: Icon(FontAwesomeIcons.checkCircle,
48 | color: Colors.yellow, size: 120)),
49 | SizedBox(height: 20),
50 | Text(
51 | "Congratulations",
52 | style: TextStyle(
53 | color: Colors.white,
54 | fontWeight: FontWeight.w300,
55 | fontSize: 24,
56 | ),
57 | ),
58 | SizedBox(height: 25),
59 | Padding(
60 | padding: const EdgeInsets.only(left: 8, right: 8.0),
61 | child: Text(
62 | "Our Search Parameters have found a successful match for you. You can get in touch history",
63 | textAlign: TextAlign.center,
64 | style: TextStyle(
65 | height: 1.3,
66 | letterSpacing: 1.2,
67 | color: Colors.white,
68 | fontSize: 20,
69 | fontWeight: FontWeight.w300,
70 | ),
71 | ),
72 | ),
73 | SizedBox(height: 20),
74 | GestureDetector(
75 | onTap: () {
76 | Navigator.pop(context);
77 | },
78 | child: Container(
79 | height: 50,
80 | width: 130,
81 | decoration: BoxDecoration(
82 | borderRadius: BorderRadius.circular(4),
83 | border: Border.all(
84 | color: Colors.white,
85 | ),
86 | ),
87 | child: Center(
88 | child: Text(
89 | "Proceed",
90 | style: TextStyle(
91 | color: Colors.white,
92 | fontSize: 18,
93 | fontWeight: FontWeight.w300,
94 | ),
95 | ),
96 | ),
97 | ),
98 | ),
99 | ],
100 | ),
101 | ),
102 | ),
103 | ),
104 | ),
105 | ),
106 | );
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/lib/Screen22_FoundMatchSearching.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to match found screen when the match is still being searched
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_spinkit/flutter_spinkit.dart';
5 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
6 |
7 | class Screen22 extends StatefulWidget {
8 | @override
9 | _Screen22State createState() => _Screen22State();
10 | }
11 |
12 | class _Screen22State extends State {
13 | @override
14 | Widget build(BuildContext context) {
15 | return Scaffold(
16 | body: Center(
17 | child: Container(
18 | color: Colors.grey[400],
19 | alignment: Alignment.center,
20 | child: Center(
21 | child: Padding(
22 | padding: EdgeInsets.only(
23 | top: MediaQuery.of(context).size.height / 6,
24 | bottom: MediaQuery.of(context).size.height / 6,
25 | left: 25,
26 | right: 25,
27 | ),
28 | child: Container(
29 | decoration: BoxDecoration(
30 | gradient: LinearGradient(
31 | colors: [
32 | Colors.pink[600],
33 | Colors.pink[400],
34 | Colors.orangeAccent[700]
35 | ],
36 | ),
37 | ),
38 | child: Column(
39 | mainAxisAlignment: MainAxisAlignment.center,
40 | children: [
41 | const SpinKitRipple(
42 | color: Colors.yellow,
43 | borderWidth: 30,
44 | size: 160,
45 | ),
46 | SizedBox(height: 20),
47 | Text(
48 | "Searching",
49 | style: TextStyle(
50 | color: Colors.white,
51 | fontWeight: FontWeight.w300,
52 | fontSize: 24,
53 | ),
54 | ),
55 | SizedBox(height: 25),
56 | Padding(
57 | padding: const EdgeInsets.only(left: 8, right: 8.0),
58 | child: Text(
59 | "Our Search Parameters are finding best match for you. You can get in touch history once the search completes.",
60 | textAlign: TextAlign.center,
61 | style: TextStyle(
62 | height: 1.3,
63 | letterSpacing: 1.2,
64 | color: Colors.white,
65 | fontSize: 20,
66 | fontWeight: FontWeight.w300,
67 | ),
68 | ),
69 | ),
70 | SizedBox(height: 20),
71 | GestureDetector(
72 | onTap: () {
73 | Navigator.pop(context);
74 | },
75 | child: Container(
76 | height: 50,
77 | width: 130,
78 | decoration: BoxDecoration(
79 | borderRadius: BorderRadius.circular(4),
80 | border: Border.all(
81 | color: Colors.white,
82 | ),
83 | ),
84 | child: Center(
85 | child: Text(
86 | "Cancel",
87 | style: TextStyle(
88 | color: Colors.white,
89 | fontSize: 18,
90 | fontWeight: FontWeight.w300,
91 | ),
92 | ),
93 | ),
94 | ),
95 | ),
96 | ],
97 | ),
98 | ),
99 | ),
100 | ),
101 | ),
102 | ),
103 | );
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/lib/Screen2_SignIn.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to sign in screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen3.5_ForgotPassword.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Screen3_Signup.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/Screen4&5_HomePage.dart';
7 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
8 |
9 | class Screen2 extends StatefulWidget {
10 | @override
11 | _Screen2State createState() => _Screen2State();
12 | }
13 |
14 | class _Screen2State extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return Scaffold(
18 | body: Container(
19 | width: MediaQuery.of(context).size.width,
20 | height: MediaQuery.of(context).size.height,
21 | decoration: BoxDecoration(
22 | gradient: LinearGradient(
23 | begin: Alignment.center,
24 | end: Alignment.bottomRight,
25 | colors: [
26 | Colors.grey,
27 | Colors.grey.withOpacity(0.8),
28 | ],
29 | ),
30 | ),
31 | child: Padding(
32 | padding: const EdgeInsets.only(left: 15, right: 15),
33 | child: SingleChildScrollView(
34 | child: Column(
35 | children: [
36 | Padding(
37 | padding: EdgeInsets.only(
38 | top: MediaQuery.of(context).size.width / 1.7,
39 | bottom: MediaQuery.of(context).size.width / 5,
40 | ),
41 | child: Text(
42 | "Sign In",
43 | style: TextStyle(
44 | color: Colors.white,
45 | fontSize: 36,
46 | fontWeight: FontWeight.w300,
47 | letterSpacing: 1.5),
48 | ),
49 | ),
50 | TextField(
51 | decoration: InputDecoration(
52 | enabledBorder: UnderlineInputBorder(
53 | borderSide: BorderSide(
54 | color: Colors.white,
55 | ),
56 | ),
57 | focusedBorder: UnderlineInputBorder(
58 | borderSide: BorderSide(
59 | color: Colors.white,
60 | ),
61 | ),
62 | border: UnderlineInputBorder(
63 | borderSide: BorderSide(
64 | color: Colors.white,
65 | ),
66 | ),
67 | hintText: "Username",
68 | hintStyle: TextStyle(
69 | color: Colors.white,
70 | fontWeight: FontWeight.w400,
71 | letterSpacing: 1.2,
72 | fontSize: 16),
73 | prefixIcon:
74 | FaIcon(FontAwesomeIcons.user, color: Colors.white),
75 | ),
76 | ),
77 | SizedBox(height: 30),
78 | TextField(
79 | obscureText: true,
80 | decoration: InputDecoration(
81 | enabledBorder: UnderlineInputBorder(
82 | borderSide: BorderSide(
83 | color: Colors.white,
84 | ),
85 | ),
86 | focusedBorder: UnderlineInputBorder(
87 | borderSide: BorderSide(
88 | color: Colors.white,
89 | ),
90 | ),
91 | border: UnderlineInputBorder(
92 | borderSide: BorderSide(
93 | color: Colors.white,
94 | ),
95 | ),
96 | hintText: "Password",
97 | hintStyle: TextStyle(
98 | color: Colors.white,
99 | fontWeight: FontWeight.w400,
100 | letterSpacing: 1.2,
101 | fontSize: 16),
102 | prefixIcon:
103 | FaIcon(FontAwesomeIcons.lock, color: Colors.white),
104 | ),
105 | ),
106 | SizedBox(height: 55),
107 | GestureDetector(
108 | onTap: () {
109 | Navigator.of(context).push(
110 | MaterialPageRoute(
111 | builder: (_) => Screen4(),
112 | ),
113 | );
114 | },
115 | child: Container(
116 | width: MediaQuery.of(context).size.width,
117 | height: 55,
118 | decoration: BoxDecoration(
119 | boxShadow: [
120 | BoxShadow(
121 | color: Colors.grey[600],
122 | blurRadius: 2,
123 | spreadRadius: 0.5)
124 | ],
125 | gradient: LinearGradient(
126 | colors: [
127 | Colors.pink[600],
128 | Colors.pink[400],
129 | Colors.orangeAccent[700]
130 | ],
131 | ),
132 | ),
133 | child: Center(
134 | child: Text(
135 | "Sign in",
136 | style: TextStyle(
137 | color: Colors.white,
138 | fontWeight: FontWeight.w300,
139 | letterSpacing: 1.2,
140 | fontSize: 20,
141 | ),
142 | ),
143 | ),
144 | ),
145 | ),
146 | SizedBox(height: 25),
147 | GestureDetector(
148 | onTap: () {
149 | Navigator.of(context).push(
150 | MaterialPageRoute(
151 | builder: (_) => Screen3_5(),
152 | ),
153 | );
154 | },
155 | child: Text(
156 | "Forgot Password?",
157 | style: TextStyle(
158 | color: Colors.white,
159 | fontWeight: FontWeight.w300,
160 | letterSpacing: 1.2,
161 | fontSize: 16,
162 | ),
163 | ),
164 | ),
165 | SizedBox(height: 25),
166 | GestureDetector(
167 | onTap: () {
168 | Navigator.of(context).push(
169 | MaterialPageRoute(
170 | builder: (_) => Screen3(),
171 | ),
172 | );
173 | },
174 | child: Text(
175 | "Sign Up",
176 | style: TextStyle(
177 | color: Colors.white,
178 | fontWeight: FontWeight.w300,
179 | letterSpacing: 1.2,
180 | fontSize: 16,
181 | ),
182 | ),
183 | ),
184 | ],
185 | ),
186 | ),
187 | ),
188 | ),
189 | );
190 | }
191 | }
192 |
--------------------------------------------------------------------------------
/lib/Screen3.5_ForgotPassword.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the forgot password screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
5 |
6 | class Screen3_5 extends StatefulWidget {
7 | @override
8 | _Screen3_5State createState() => _Screen3_5State();
9 | }
10 |
11 | class _Screen3_5State extends State {
12 | @override
13 | Widget build(BuildContext context) {
14 | return Scaffold(
15 | body: Container(
16 | width: MediaQuery.of(context).size.width,
17 | height: MediaQuery.of(context).size.height,
18 | decoration: BoxDecoration(
19 | gradient: LinearGradient(
20 | begin: Alignment.center,
21 | end: Alignment.bottomRight,
22 | colors: [
23 | Colors.grey,
24 | Colors.grey.withOpacity(0.8),
25 | ],
26 | ),
27 | ),
28 | child: Padding(
29 | padding: const EdgeInsets.only(left: 15, right: 15),
30 | child: SingleChildScrollView(
31 | child: Column(
32 | children: [
33 | Padding(
34 | padding: EdgeInsets.only(
35 | top: MediaQuery.of(context).size.width / 1.7,
36 | bottom: MediaQuery.of(context).size.width / 5,
37 | ),
38 | child: Text(
39 | "Forgot Password",
40 | style: TextStyle(
41 | color: Colors.white,
42 | fontSize: 36,
43 | fontWeight: FontWeight.w300,
44 | letterSpacing: 1.5),
45 | ),
46 | ),
47 | Text(
48 | "A password reset mail will be send to you on the registered email address",
49 | textAlign: TextAlign.center,
50 | style: TextStyle(
51 | color: Colors.white,
52 | fontWeight: FontWeight.w300,
53 | letterSpacing: 1.2,
54 | fontSize: 16,
55 | ),
56 | ),
57 | SizedBox(height: 55),
58 | TextField(
59 | decoration: InputDecoration(
60 | enabledBorder: UnderlineInputBorder(
61 | borderSide: BorderSide(
62 | color: Colors.white,
63 | ),
64 | ),
65 | focusedBorder: UnderlineInputBorder(
66 | borderSide: BorderSide(
67 | color: Colors.white,
68 | ),
69 | ),
70 | border: UnderlineInputBorder(
71 | borderSide: BorderSide(
72 | color: Colors.white,
73 | ),
74 | ),
75 | hintText: "Username or Email",
76 | hintStyle: TextStyle(
77 | color: Colors.white,
78 | fontWeight: FontWeight.w400,
79 | letterSpacing: 1.2,
80 | fontSize: 16),
81 | prefixIcon:
82 | FaIcon(FontAwesomeIcons.user, color: Colors.white),
83 | ),
84 | ),
85 | SizedBox(height: 45),
86 | Container(
87 | width: MediaQuery.of(context).size.width,
88 | height: 55,
89 | decoration: BoxDecoration(
90 | boxShadow: [
91 | BoxShadow(
92 | color: Colors.grey[600],
93 | blurRadius: 2,
94 | spreadRadius: 0.5)
95 | ],
96 | gradient: LinearGradient(
97 | colors: [
98 | Colors.pink[600],
99 | Colors.pink[400],
100 | Colors.orangeAccent[700]
101 | ],
102 | ),
103 | ),
104 | child: Center(
105 | child: Text(
106 | "Send",
107 | style: TextStyle(
108 | color: Colors.white,
109 | fontWeight: FontWeight.w300,
110 | letterSpacing: 1.2,
111 | fontSize: 20,
112 | ),
113 | ),
114 | ),
115 | ),
116 | SizedBox(height: 25),
117 | ],
118 | ),
119 | ),
120 | ),
121 | ),
122 | );
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/lib/Screen4&5_HomePage.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the unlock screen where the fingerprint is made
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | import 'NavDrawer.dart';
6 |
7 | class Screen4 extends StatefulWidget {
8 | @override
9 | _Screen4State createState() => _Screen4State();
10 | }
11 |
12 | class _Screen4State extends State {
13 | @override
14 | Widget build(BuildContext context) {
15 | return Scaffold(
16 | drawer: NavDrawer(),
17 | appBar: AppBar(
18 | centerTitle: true,
19 | title: Text("Unlock"),
20 | flexibleSpace: Container(
21 | decoration: BoxDecoration(
22 | gradient: LinearGradient(
23 | colors: [
24 | Colors.pink[600],
25 | Colors.pink[400],
26 | Colors.orangeAccent[700],
27 | ],
28 | ),
29 | ),
30 | ),
31 | actions: [
32 | PopupMenuButton(
33 | onSelected: handleClick,
34 | itemBuilder: (BuildContext context) {
35 | return {'Logout', 'Settings'}.map((String choice) {
36 | return PopupMenuItem(
37 | value: choice,
38 | child: Text(choice),
39 | );
40 | }).toList();
41 | },
42 | ),
43 | ],
44 | ),
45 | body: Container(
46 | child: CustomScrollView(
47 | slivers: [
48 | SliverList(
49 | delegate: SliverChildListDelegate(
50 | [
51 | Center(
52 | child: Container(
53 | child: Text(
54 | "Fingerprint was not implemented here because of some version issues which were arrising due to androidx thing.",
55 | style: TextStyle(
56 | color: Colors.red,
57 | ),
58 | ),
59 | ),
60 | ),
61 | ],
62 | ),
63 | ),
64 | ],
65 | )),
66 | );
67 | }
68 |
69 | void handleClick(String value) {
70 | switch (value) {
71 | case 'Logout':
72 | break;
73 | case 'Settings':
74 | break;
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/lib/Screen6_userProfile.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to user profile
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen7_EditProfile.dart';
5 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
6 |
7 | import 'NavDrawer.dart';
8 |
9 | class Screen6 extends StatefulWidget {
10 | @override
11 | _Screen6State createState() => _Screen6State();
12 | }
13 |
14 | class _Screen6State extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return Scaffold(
18 | drawer: NavDrawer(),
19 | appBar: AppBar(
20 | centerTitle: true,
21 | title: Text("Profile"),
22 | flexibleSpace: Container(
23 | decoration: BoxDecoration(
24 | gradient: LinearGradient(
25 | colors: [
26 | Colors.pink[600],
27 | Colors.pink[400],
28 | Colors.orangeAccent[700],
29 | ],
30 | ),
31 | ),
32 | ),
33 | actions: [
34 | PopupMenuButton(
35 | onSelected: handleClick,
36 | itemBuilder: (BuildContext context) {
37 | return {'Logout', 'Settings'}.map((String choice) {
38 | return PopupMenuItem(
39 | value: choice,
40 | child: Text(choice),
41 | );
42 | }).toList();
43 | },
44 | ),
45 | ],
46 | ),
47 | body: Container(
48 | child: CustomScrollView(
49 | slivers: [
50 | SliverList(
51 | delegate: SliverChildListDelegate(
52 | [
53 | Container(
54 | height: 250,
55 | color: Colors.grey[400],
56 | child: Column(
57 | mainAxisAlignment: MainAxisAlignment.end,
58 | children: [
59 | Text(
60 | "Todd Nunez",
61 | style: TextStyle(
62 | color: Colors.white,
63 | fontWeight: FontWeight.w300,
64 | fontSize: 30,
65 | letterSpacing: 1.3,
66 | ),
67 | ),
68 | SizedBox(
69 | height: 10,
70 | ),
71 | Text(
72 | "Designer",
73 | style: TextStyle(
74 | color: Colors.white,
75 | fontSize: 22,
76 | fontWeight: FontWeight.w300,
77 | ),
78 | ),
79 | SizedBox(
80 | height: 25,
81 | )
82 | ],
83 | ),
84 | ),
85 | Padding(
86 | padding: EdgeInsets.only(top: 15, bottom: 15),
87 | child: Container(
88 | child: Row(
89 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
90 | children: [
91 | Column(
92 | children: [
93 | Text(
94 | "86K",
95 | ),
96 | Text(
97 | "Followers",
98 | ),
99 | ],
100 | ),
101 | Column(
102 | children: [
103 | Text(
104 | "23K",
105 | ),
106 | Text(
107 | "Messages",
108 | ),
109 | ],
110 | ),
111 | Column(
112 | children: [
113 | Text(
114 | "456",
115 | ),
116 | Text(
117 | "Following",
118 | ),
119 | ],
120 | ),
121 | ],
122 | ),
123 | ),
124 | ),
125 | Divider(),
126 | Padding(
127 | padding: const EdgeInsets.only(top: 20.0, bottom: 15),
128 | child: Center(
129 | child: Text(
130 | "About",
131 | style: TextStyle(
132 | color: Colors.grey[400],
133 | fontSize: 21,
134 | fontWeight: FontWeight.w400),
135 | ),
136 | ),
137 | ),
138 | Padding(
139 | padding: const EdgeInsets.only(left: 15, right: 15),
140 | child: Text(
141 | "A Passionate Coder. Loves to Swim and Dance. An Enthuisisastic Designer. Loves reading Books. always being positive. Sarcastic humor.",
142 | textAlign: TextAlign.center,
143 | style: TextStyle(
144 | color: Colors.grey[400],
145 | fontSize: 16,
146 | height: 1.3,
147 | ),
148 | ),
149 | ),
150 | ],
151 | ),
152 | ),
153 | SliverGrid(
154 | gridDelegate:
155 | SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
156 | delegate: SliverChildListDelegate(
157 | [
158 | BodyWidget(Colors.blue),
159 | BodyWidget(Colors.green),
160 | BodyWidget(Colors.yellow),
161 | BodyWidget(Colors.orange),
162 | BodyWidget(Colors.blue),
163 | BodyWidget(Colors.red),
164 | ],
165 | ),
166 | ),
167 | SliverList(
168 | delegate: SliverChildListDelegate([
169 | GestureDetector(
170 | onTap: () {
171 | Navigator.push(
172 | context,
173 | MaterialPageRoute(
174 | builder: (_) => Screen7(),
175 | ),
176 | );
177 | },
178 | child: Padding(
179 | padding: const EdgeInsets.all(15.0),
180 | child: Container(
181 | height: 50,
182 | color: Colors.red,
183 | child: Text(
184 | "Edit Profile",
185 | ),
186 | ),
187 | ),
188 | ),
189 | ]))
190 | ],
191 | )),
192 | );
193 | }
194 |
195 | void handleClick(String value) {
196 | switch (value) {
197 | case 'Logout':
198 | break;
199 | case 'Settings':
200 | break;
201 | }
202 | }
203 | }
204 |
205 | class BodyWidget extends StatelessWidget {
206 | final Color color;
207 |
208 | BodyWidget(this.color);
209 |
210 | @override
211 | Widget build(BuildContext context) {
212 | return Padding(
213 | padding: const EdgeInsets.all(8.0),
214 | child: Container(
215 | height: 100.0,
216 | color: color,
217 | alignment: Alignment.center,
218 | ),
219 | );
220 | }
221 | }
222 |
--------------------------------------------------------------------------------
/lib/Screen8_Biography.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to user bio graphy screen
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
6 |
7 | import 'NavDrawer.dart';
8 |
9 | class Screen8 extends StatefulWidget {
10 | @override
11 | _Screen8State createState() => _Screen8State();
12 | }
13 |
14 | class _Screen8State extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return Scaffold(
18 | drawer: NavDrawer(),
19 | appBar: AppBar(
20 | centerTitle: true,
21 | title: Text("User Biography"),
22 | flexibleSpace: Container(
23 | decoration: BoxDecoration(
24 | gradient: LinearGradient(
25 | colors: [
26 | Colors.pink[600],
27 | Colors.pink[400],
28 | Colors.orangeAccent[700],
29 | ],
30 | ),
31 | ),
32 | ),
33 | actions: [
34 | PopupMenuButton(
35 | onSelected: handleClick,
36 | itemBuilder: (BuildContext context) {
37 | return {'Logout', 'Settings'}.map((String choice) {
38 | return PopupMenuItem(
39 | value: choice,
40 | child: Text(choice),
41 | );
42 | }).toList();
43 | },
44 | ),
45 | ],
46 | ),
47 | body: SingleChildScrollView(
48 | child: Container(
49 | child: Column(
50 | children: [
51 | Container(
52 | height: 250,
53 | width: MediaQuery.of(context).size.width,
54 | color: Colors.grey,
55 | child: Padding(
56 | padding: const EdgeInsets.only(left: 15, bottom: 15),
57 | child: Column(
58 | mainAxisAlignment: MainAxisAlignment.end,
59 | crossAxisAlignment: CrossAxisAlignment.start,
60 | children: [
61 | Text("Alfred Roberts",
62 | style: TextStyle(
63 | color: Colors.white,
64 | fontWeight: FontWeight.w400,
65 | fontSize: 26,
66 | )),
67 | SizedBox(height: 5),
68 | Text(
69 | "Designer",
70 | style: TextStyle(
71 | color: Colors.white,
72 | fontWeight: FontWeight.w300,
73 | fontSize: 20,
74 | ),
75 | ),
76 | ],
77 | ),
78 | ),
79 | ),
80 | SizedBox(height: 20),
81 | Padding(
82 | padding: const EdgeInsets.only(left: 15, right: 15),
83 | child: Row(
84 | children: [
85 | Text(
86 | "Address ",
87 | style: TextStyle(color: Colors.grey, fontSize: 20),
88 | ),
89 | Container(
90 | child: Flexible(
91 | child: Text(
92 | "903 Hartmann Station, New York",
93 | maxLines: 5,
94 | style: TextStyle(color: Colors.grey, fontSize: 20),
95 | )))
96 | ],
97 | ),
98 | ),
99 | Divider(),
100 | Padding(
101 | padding: const EdgeInsets.only(left: 15, right: 15),
102 | child: Row(
103 | children: [
104 | Text(
105 | "Age ",
106 | style: TextStyle(color: Colors.grey, fontSize: 20),
107 | ),
108 | Text(
109 | "56",
110 | style: TextStyle(color: Colors.grey, fontSize: 20),
111 | )
112 | ],
113 | ),
114 | ),
115 | Divider(),
116 | Padding(
117 | padding: const EdgeInsets.only(left: 15, right: 15),
118 | child: Row(
119 | children: [
120 | Text(
121 | "Gender ",
122 | style: TextStyle(color: Colors.grey, fontSize: 20),
123 | ),
124 | Text(
125 | "Female",
126 | style: TextStyle(color: Colors.grey, fontSize: 20),
127 | )
128 | ],
129 | ),
130 | ),
131 | Divider(),
132 | Padding(
133 | padding: const EdgeInsets.only(left: 15, right: 15),
134 | child: Row(
135 | children: [
136 | Text(
137 | "Blood Group ",
138 | style: TextStyle(color: Colors.grey, fontSize: 20),
139 | ),
140 | Text(
141 | "A+",
142 | style: TextStyle(color: Colors.grey, fontSize: 20),
143 | )
144 | ],
145 | ),
146 | ),
147 | Divider(),
148 | Padding(
149 | padding: const EdgeInsets.only(left: 15, right: 15),
150 | child: Row(
151 | children: [
152 | Text(
153 | "Height ",
154 | style: TextStyle(color: Colors.grey, fontSize: 20),
155 | ),
156 | Text(
157 | "5'6",
158 | style: TextStyle(color: Colors.grey, fontSize: 20),
159 | )
160 | ],
161 | ),
162 | ),
163 | Divider(),
164 | Padding(
165 | padding: const EdgeInsets.only(left: 15, right: 15),
166 | child: Row(
167 | children: [
168 | Text(
169 | "Weight ",
170 | style: TextStyle(color: Colors.grey, fontSize: 20),
171 | ),
172 | Text(
173 | "59",
174 | style: TextStyle(color: Colors.grey, fontSize: 20),
175 | )
176 | ],
177 | ),
178 | ),
179 | Padding(
180 | padding: const EdgeInsets.only(top: 23.0, left: 15, right: 15),
181 | child: Container(
182 | height: 50,
183 | width: MediaQuery.of(context).size.width,
184 | decoration: BoxDecoration(
185 | gradient: LinearGradient(
186 | colors: [
187 | Colors.pink[600],
188 | Colors.pink[400],
189 | Colors.orangeAccent[700],
190 | ],
191 | ),
192 | ),
193 | child: Center(
194 | child: Text(
195 | "Get In Touch",
196 | style: TextStyle(
197 | color: Colors.white,
198 | fontWeight: FontWeight.w300,
199 | fontSize: 19,
200 | ),
201 | ),
202 | ),
203 | ),
204 | )
205 | ],
206 | ),
207 | ),
208 | ),
209 | );
210 | }
211 |
212 | void handleClick(String value) {
213 | switch (value) {
214 | case 'Logout':
215 | break;
216 | case 'Settings':
217 | break;
218 | }
219 | }
220 | }
221 |
--------------------------------------------------------------------------------
/lib/Screen9_MatchFound.dart:
--------------------------------------------------------------------------------
1 | // This file has the code related to the match found screen.
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_ui_17_dating_app_ui_1/Screen6_userProfile.dart';
5 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
6 |
7 | import 'NavDrawer.dart';
8 |
9 | class Screen9 extends StatefulWidget {
10 | @override
11 | _Screen9State createState() => _Screen9State();
12 | }
13 |
14 | class _Screen9State extends State {
15 | @override
16 | Widget build(BuildContext context) {
17 | return Scaffold(
18 | drawer: NavDrawer(),
19 | appBar: AppBar(
20 | centerTitle: true,
21 | title: Text("Match Found"),
22 | flexibleSpace: Container(
23 | decoration: BoxDecoration(
24 | gradient: LinearGradient(
25 | colors: [
26 | Colors.pink[600],
27 | Colors.pink[400],
28 | Colors.orangeAccent[700],
29 | ],
30 | ),
31 | ),
32 | ),
33 | actions: [
34 | PopupMenuButton(
35 | onSelected: handleClick,
36 | itemBuilder: (BuildContext context) {
37 | return {'Logout', 'Settings'}.map((String choice) {
38 | return PopupMenuItem(
39 | value: choice,
40 | child: Text(choice),
41 | );
42 | }).toList();
43 | },
44 | ),
45 | ],
46 | ),
47 | body: Container(
48 | child: GridView.count(
49 | primary: false,
50 | padding: const EdgeInsets.all(20),
51 | childAspectRatio: 0.65,
52 | crossAxisSpacing: 10,
53 | mainAxisSpacing: 10,
54 | crossAxisCount: 2,
55 | children: [
56 | BodyWidget_Screen9(Colors.red),
57 | BodyWidget_Screen9(Colors.pink),
58 | BodyWidget_Screen9(Colors.blue),
59 | BodyWidget_Screen9(Colors.purple),
60 | BodyWidget_Screen9(Colors.orange),
61 | BodyWidget_Screen9(Colors.brown),
62 | BodyWidget_Screen9(Colors.lightGreenAccent),
63 | ],
64 | )),
65 | );
66 | }
67 |
68 | void handleClick(String value) {
69 | switch (value) {
70 | case 'Logout':
71 | break;
72 | case 'Settings':
73 | break;
74 | }
75 | }
76 | }
77 |
78 | class BodyWidget_Screen9 extends StatelessWidget {
79 | final Color color;
80 |
81 | BodyWidget_Screen9(this.color);
82 |
83 | @override
84 | Widget build(BuildContext context) {
85 | return Column(
86 | crossAxisAlignment: CrossAxisAlignment.start,
87 | children: [
88 | Container(
89 | height: 175.0,
90 | width: MediaQuery.of(context).size.width,
91 | color: color,
92 | alignment: Alignment.center,
93 | ),
94 | SizedBox(height: 15),
95 | Row(
96 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
97 | children: [
98 | Text("Voilet Hayes",
99 | style: TextStyle(
100 | color: Colors.grey,
101 | fontSize: 21,
102 | fontWeight: FontWeight.w400)),
103 | Icon(
104 | FontAwesomeIcons.heart,
105 | ),
106 | ],
107 | ),
108 | SizedBox(height: 1),
109 | Text("Artist",
110 | style: TextStyle(
111 | color: Colors.grey, fontSize: 18, fontWeight: FontWeight.w300)),
112 | ],
113 | );
114 | }
115 | }
116 |
--------------------------------------------------------------------------------
/lib/Widgets/messageItems.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget for the message screen
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget messageItem(){
6 | return Container(
7 | height: 50,
8 | child: Row(
9 | children: [
10 | Stack(
11 | alignment: Alignment.topRight,
12 | children: [
13 | Container(
14 | height: 40,
15 | width: 40,
16 | decoration: BoxDecoration(
17 | color: Colors.grey,
18 | shape: BoxShape.circle,
19 | ),
20 | ),
21 | Container(
22 | height: 12,
23 | width: 12,
24 | decoration: BoxDecoration(
25 | border: Border.all(color: Colors.white54),
26 | color: Colors.green,
27 | shape: BoxShape.circle,
28 | ),
29 | ),
30 | ],
31 | ),
32 | SizedBox(width: 10),
33 | Expanded(
34 | child: Column(
35 | children: [
36 | Row(
37 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
38 | children: [
39 | Text(
40 | "Alta Ryan",
41 | style: TextStyle(
42 | color: Colors.grey,
43 | fontSize: 20,
44 | fontWeight: FontWeight.w400,
45 | ),
46 | ),
47 | Text(
48 | "03:57AM",
49 | style: TextStyle(
50 | color: Colors.grey,
51 | fontSize: 18,
52 | fontWeight: FontWeight.w300,
53 | ),
54 | ),
55 | ],
56 | ),
57 | SizedBox(height:3),
58 | Text(
59 | 'your long text hereThis is a long texnijnij nin in inijn njn jknio niojmn iuont',
60 | overflow: TextOverflow.fade,
61 | maxLines: 1,
62 | softWrap: false,
63 | style: TextStyle(
64 | color: Colors.grey,
65 | fontSize: 18,
66 | fontWeight: FontWeight.w400,
67 | ),
68 | )
69 | ],
70 | ),
71 | ),
72 | ],
73 | ),
74 | );
75 | }
--------------------------------------------------------------------------------
/lib/Widgets/nearbyUserItem.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget related to the nearby user screen
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget nearbyUserITem(name, distance) {
6 | return Container(
7 | height: 50,
8 | child: Row(
9 | children: [
10 | Container(
11 | height: 50,
12 | width: 50,
13 | decoration: BoxDecoration(
14 | color: Colors.grey,
15 | shape: BoxShape.circle,
16 | ),
17 | ),
18 | SizedBox(width: 10),
19 | Expanded(
20 | child: Column(
21 | crossAxisAlignment: CrossAxisAlignment.start,
22 | children: [
23 | Container(
24 | child: Expanded(
25 | child: Text(
26 | name,
27 | maxLines: 4,
28 | style: TextStyle(
29 | color: Colors.grey,
30 | fontSize: 20,
31 | fontWeight: FontWeight.w400,
32 | ),
33 | ),
34 | ),
35 | ),
36 | SizedBox(height: 3),
37 | Text(
38 | distance,
39 | overflow: TextOverflow.fade,
40 | maxLines: 1,
41 | softWrap: false,
42 | style: TextStyle(
43 | color: Colors.grey,
44 | fontSize: 18,
45 | fontWeight: FontWeight.w400,
46 | ),
47 | )
48 | ],
49 | ),
50 | ),
51 | Icon(
52 | Icons.add,
53 | color: Colors.grey,
54 | size: 35,
55 | )
56 | ],
57 | ),
58 | );
59 | }
60 |
--------------------------------------------------------------------------------
/lib/Widgets/onlyMedia.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget message screen which has only media in it.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget onlyMedia(context, ) {
6 | return Stack(
7 | alignment: AlignmentDirectional.centerEnd,
8 | children: [
9 | Expanded(
10 | child: Padding(
11 | padding: const EdgeInsets.only(right: 18.0),
12 | child: Column(
13 | crossAxisAlignment: CrossAxisAlignment.start,
14 | children: [
15 | Container(
16 | width: MediaQuery.of(context).size.width,
17 | decoration: BoxDecoration(
18 | color: Colors.white,
19 | boxShadow: [
20 | BoxShadow(
21 | color: Colors.black45, spreadRadius: 1, blurRadius: 2),
22 | ],
23 | ),
24 | child: Padding(
25 | padding: const EdgeInsets.only(
26 | right: 55.0, left: 20, top: 10, bottom: 13),
27 | child: Column(
28 | children: [
29 | Row(
30 | children: [
31 | Container(
32 | height: 100,
33 | color: Colors.grey,
34 | width: 95,
35 | ),
36 | SizedBox(
37 | width: 10,
38 | ),
39 | Container(
40 | height: 100,
41 | color: Colors.red,
42 | width: 98,
43 | )
44 | ],
45 | )
46 | ],
47 | ),
48 | ),
49 | ),
50 | SizedBox(height: 8),
51 | Text("03:45 PM")
52 | ],
53 | ),
54 | ),
55 | ),
56 | Stack(
57 | alignment: AlignmentDirectional.topEnd,
58 | children: [
59 | Container(
60 | height: 45,
61 | width: 45,
62 | decoration: BoxDecoration(
63 | color: Colors.grey,
64 | shape: BoxShape.circle,
65 | ),
66 | ),
67 | Padding(
68 | padding: const EdgeInsets.all(2.0),
69 | child: Container(
70 | height: 12,
71 | width: 12,
72 | decoration: BoxDecoration(
73 | border: Border.all(color: Colors.white60),
74 | color: Colors.green,
75 | shape: BoxShape.circle)),
76 | )
77 | ],
78 | )
79 | ],
80 | );
81 | }
82 |
--------------------------------------------------------------------------------
/lib/Widgets/onlyPhoto_Screen19.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget for screen 19 which has only photo in it.
2 |
3 |
4 | import 'package:flutter/material.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/onlyPhoto_photoItem_Screen19.dart';
6 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
7 |
8 | Widget onlyPhoto(context) {
9 | return Container(
10 | child: Row(
11 | children: [
12 |
13 | Container(
14 | height: 50,
15 | width: 50,
16 | decoration: BoxDecoration(
17 | color: Colors.grey,
18 | shape: BoxShape.circle,
19 | ),
20 | ),
21 | SizedBox(width: 10),
22 | Expanded(
23 | child: Column(
24 | children: [
25 | Row(
26 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
27 | children: [
28 | Column(
29 | crossAxisAlignment: CrossAxisAlignment.start,
30 | children: [
31 | Text(
32 | "Alta Ryan",
33 | style: TextStyle(
34 | color: Colors.grey,
35 | fontSize: 20,
36 | fontWeight: FontWeight.w400,
37 | ),
38 | ),
39 | Text(
40 | "26 mins ago",
41 | style: TextStyle(
42 | color: Colors.grey,
43 | fontSize: 12,
44 | fontWeight: FontWeight.w300,
45 | ),
46 | ),
47 | ],
48 | ),
49 | Row(children: [
50 | Icon(FontAwesomeIcons.heart, color: Colors.grey, size: 12),
51 | Text(
52 | "24.5K",
53 | style: TextStyle(
54 | color: Colors.grey,
55 | fontSize: 12,
56 | fontWeight: FontWeight.w300,
57 | ),
58 | ),
59 | SizedBox(width: 5),
60 | Icon(
61 | FontAwesomeIcons.commentAlt,
62 | color: Colors.grey,
63 | size: 12,
64 | ),
65 | Padding(
66 | padding: const EdgeInsets.only(left: 3.0),
67 | child: Text(
68 | "34K",
69 | style: TextStyle(
70 | color: Colors.grey,
71 | fontSize: 12,
72 | fontWeight: FontWeight.w300,
73 | ),
74 | ),
75 | )
76 | ]),
77 | ],
78 | ),
79 | Container(
80 | height: 90,
81 | child: ListView(
82 | scrollDirection: Axis.horizontal,
83 | children: [
84 | photoItem(context),
85 | photoItem(context),
86 | photoItem(context),
87 | photoItem(context)
88 | ],
89 | ),
90 | ),
91 | ],
92 | ),
93 | ),
94 | ],
95 | ),
96 | );
97 | }
98 |
--------------------------------------------------------------------------------
/lib/Widgets/onlyPhoto_photoItem_Screen19.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget for screen 19 which has photo items for the only photo activity.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget photoItem(context) {
6 | return Padding(
7 | padding: const EdgeInsets.only(top: 8.0,right:4),
8 | child: Container(
9 | height: 120,
10 | width: MediaQuery.of(context).size.width / 3,
11 | decoration: BoxDecoration(
12 | color: Colors.grey,
13 | borderRadius: BorderRadius.circular(
14 | 8,
15 | ),
16 | ),
17 | ),
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/lib/Widgets/onlyText_Screen19.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget for screen 19 which has only text in it.
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
5 |
6 | Widget onlyText() {
7 | return Container(
8 | child: Row(
9 | children: [
10 | Container(
11 | height: 50,
12 | width: 50,
13 | decoration: BoxDecoration(
14 | color: Colors.grey,
15 | shape: BoxShape.circle,
16 | ),
17 | ),
18 | SizedBox(width: 10),
19 | Expanded(
20 | child: Column(
21 | children: [
22 | Row(
23 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
24 | children: [
25 | Column(
26 | crossAxisAlignment: CrossAxisAlignment.start,
27 | children: [
28 | Text(
29 | "Alta Ryan",
30 | style: TextStyle(
31 | color: Colors.grey,
32 | fontSize: 20,
33 | fontWeight: FontWeight.w400,
34 | ),
35 | ),
36 | Text(
37 | "26 mins ago",
38 | style: TextStyle(
39 | color: Colors.grey,
40 | fontSize: 12,
41 | fontWeight: FontWeight.w300,
42 | ),
43 | ),
44 | ],
45 | ),
46 | Row(children: [
47 | Icon(FontAwesomeIcons.heart, color: Colors.grey, size: 12),
48 | Text(
49 | "24.5K",
50 | style: TextStyle(
51 | color: Colors.grey,
52 | fontSize: 12,
53 | fontWeight: FontWeight.w300,
54 | ),
55 | ),
56 | SizedBox(width: 5),
57 | Icon(
58 | FontAwesomeIcons.commentAlt,
59 | color: Colors.grey,
60 | size: 12,
61 | ),
62 | Padding(
63 | padding: const EdgeInsets.only(left: 3.0),
64 | child: Text(
65 | "34K",
66 | style: TextStyle(
67 | color: Colors.grey,
68 | fontSize: 12,
69 | fontWeight: FontWeight.w300,
70 | ),
71 | ),
72 | )
73 | ]),
74 | ],
75 | ),
76 | SizedBox(height: 3),
77 | Container(
78 | child: Text(
79 | 'your long text hereThis is a long texnijnij nin in inijn njn jknio niojmn iuont',
80 | overflow: TextOverflow.ellipsis,
81 | maxLines: 6,
82 | softWrap: false,
83 | style: TextStyle(
84 | color: Colors.grey,
85 | fontSize: 18,
86 | fontWeight: FontWeight.w400,
87 | ),
88 | ),
89 | ),
90 | ],
91 | ),
92 | ),
93 | ],
94 | ),
95 | );
96 | }
97 |
--------------------------------------------------------------------------------
/lib/Widgets/peopleNearYou.dart:
--------------------------------------------------------------------------------
1 | // This file has widget for the people near you screen.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget peopleNearYou() {
6 | return Padding(
7 | padding: const EdgeInsets.only(right:8.0),
8 | child: Container(
9 | width: 90.0,
10 | child: Column(
11 | children: [
12 | Container(
13 | height: 90,
14 | width: 90,
15 | decoration: BoxDecoration(
16 | color: Colors.grey,
17 | shape: BoxShape.circle,
18 | ),
19 | ),
20 | SizedBox(height: 8),
21 | Text("1.2 Mi",
22 | style: TextStyle(color: Colors.grey, fontWeight: FontWeight.w300))
23 | ],
24 | ),
25 | ),
26 | );
27 | }
28 |
--------------------------------------------------------------------------------
/lib/Widgets/simpleMessage.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget message screen which has only text in it.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 |
6 | Widget simpleMessage(context,message){
7 | return Stack(
8 | alignment: AlignmentDirectional.centerStart,
9 | children: [
10 | Expanded(
11 | child: Padding(
12 | padding: const EdgeInsets.only(left: 18.0),
13 | child: Column(
14 | crossAxisAlignment: CrossAxisAlignment.start,
15 | children: [
16 | Container(
17 | width: MediaQuery.of(context).size.width,
18 | decoration: BoxDecoration(
19 | color: Colors.white,
20 | boxShadow: [
21 | BoxShadow(
22 | color: Colors.black45,
23 | spreadRadius: 1,
24 | blurRadius: 2),
25 | ],
26 | ),
27 | child: Padding(
28 | padding: const EdgeInsets.only(
29 | left: 55.0, right: 20, top: 10, bottom: 13),
30 | child: Text(
31 | message,
32 | style: TextStyle(
33 | color: Colors.grey,
34 | fontSize: 20,
35 | fontWeight: FontWeight.w300,
36 | ),
37 | ),
38 | ),
39 | ),
40 | SizedBox(height: 8),
41 | Text("03:45 PM")
42 | ],
43 | ),
44 | ),
45 | ),
46 | Stack(
47 | alignment: AlignmentDirectional.topEnd,
48 | children: [
49 | Container(
50 | height: 45,
51 | width: 45,
52 | decoration: BoxDecoration(
53 | color: Colors.grey,
54 | shape: BoxShape.circle,
55 | ),
56 | ),
57 | Padding(
58 | padding: const EdgeInsets.all(2.0),
59 | child: Container(
60 | height: 12,
61 | width: 12,
62 | decoration: BoxDecoration(
63 | border: Border.all(color: Colors.white60),
64 | color: Colors.green,
65 | shape: BoxShape.circle)),
66 | )
67 | ],
68 | )
69 | ],
70 | );
71 | }
--------------------------------------------------------------------------------
/lib/Widgets/someoneFollowed_Screen16.dart:
--------------------------------------------------------------------------------
1 | // This file has widget related to notification when someone follows you.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget someoneFollowed(context) {
6 | return Stack(
7 | alignment: AlignmentDirectional.centerStart,
8 | children: [
9 | Expanded(
10 | child: Padding(
11 | padding: const EdgeInsets.only(left: 18.0),
12 | child: Column(
13 | crossAxisAlignment: CrossAxisAlignment.start,
14 | children: [
15 | Container(
16 | width: MediaQuery.of(context).size.width,
17 | decoration: BoxDecoration(
18 | color: Colors.white,
19 | boxShadow: [
20 | BoxShadow(
21 | color: Colors.black45, spreadRadius: 1, blurRadius: 2),
22 | ],
23 | ),
24 | child: Column(
25 | crossAxisAlignment: CrossAxisAlignment.start,
26 | children: [
27 | Padding(
28 | padding: const EdgeInsets.only(
29 | left: 45.0, right: 20, top: 10, bottom: 13),
30 | child: Text(
31 | "John Hooper is following you now.",
32 | style: TextStyle(
33 | color: Colors.grey,
34 | fontSize: 18,
35 | fontWeight: FontWeight.w300,
36 | ),
37 | ),
38 | ),
39 | Padding(
40 | padding: const EdgeInsets.only(
41 | left: 45.0, right: 20, bottom: 5),
42 | child: Container(
43 | child: Padding(
44 | padding: const EdgeInsets.only(
45 | left: 18, right: 18, top: 3, bottom: 3),
46 | child: Text(
47 | "Follow",
48 | style: TextStyle(
49 | color: Colors.white,
50 | ),
51 | ),
52 | ),
53 | decoration: BoxDecoration(
54 | borderRadius: BorderRadius.circular(8),
55 | gradient: LinearGradient(
56 | colors: [
57 | Colors.pink[600],
58 | Colors.pink[400],
59 | Colors.orangeAccent[700]
60 | ],
61 | ),
62 | ),
63 | ),
64 | ),
65 | SizedBox(height: 15),
66 | ],
67 | ),
68 | ),
69 | SizedBox(height: 8),
70 | Text("03:45 PM")
71 | ],
72 | ),
73 | ),
74 | ),
75 | Stack(
76 | alignment: AlignmentDirectional.topEnd,
77 | children: [
78 | Container(
79 | height: 45,
80 | width: 45,
81 | decoration: BoxDecoration(
82 | color: Colors.grey,
83 | shape: BoxShape.circle,
84 | ),
85 | ),
86 | Padding(
87 | padding: const EdgeInsets.all(2.0),
88 | child: Container(
89 | height: 12,
90 | width: 12,
91 | decoration: BoxDecoration(
92 | border: Border.all(color: Colors.white60),
93 | color: Colors.green,
94 | shape: BoxShape.circle)),
95 | )
96 | ],
97 | )
98 | ],
99 | );
100 | }
101 |
--------------------------------------------------------------------------------
/lib/Widgets/someoneLikedPhoto_Screen16.dart:
--------------------------------------------------------------------------------
1 | // This file has widget related to notification when someone likes a photo.
2 |
3 |
4 | import 'package:flutter/material.dart';
5 |
6 | Widget someoneLiked(context) {
7 | return Stack(
8 | alignment: AlignmentDirectional.centerStart,
9 | children: [
10 | Expanded(
11 | child: Padding(
12 | padding: const EdgeInsets.only(left: 18.0),
13 | child: Column(
14 | crossAxisAlignment: CrossAxisAlignment.start,
15 | children: [
16 | Container(
17 | width: MediaQuery.of(context).size.width,
18 | decoration: BoxDecoration(
19 | color: Colors.white,
20 | boxShadow: [
21 | BoxShadow(
22 | color: Colors.black45, spreadRadius: 1, blurRadius: 2),
23 | ],
24 | ),
25 | child: Column(
26 | crossAxisAlignment: CrossAxisAlignment.start,
27 | children: [
28 | Padding(
29 | padding: const EdgeInsets.only(
30 | left: 45.0, right: 20, top: 10, bottom: 13),
31 | child: Text(
32 | "Oliver White liked you photos.",
33 | style: TextStyle(
34 | color: Colors.grey,
35 | fontSize: 18,
36 | fontWeight: FontWeight.w300,
37 | ),
38 | ),
39 | ),
40 | Padding(
41 | padding: const EdgeInsets.only(
42 | left: 45.0, right: 20, bottom: 5),
43 | child: Row(
44 | children: [
45 | Container(
46 | height: 30,
47 | width: 50,
48 | decoration: BoxDecoration(
49 | color: Colors.grey,
50 | borderRadius: BorderRadius.circular(
51 | 4,
52 | ),
53 | ),
54 | ),
55 | SizedBox(width: 2),
56 | Container(
57 | height: 30,
58 | width: 50,
59 | decoration: BoxDecoration(
60 | color: Colors.grey,
61 | borderRadius: BorderRadius.circular(
62 | 4,
63 | ),
64 | ),
65 | ),
66 | SizedBox(width: 2),
67 | Container(
68 | height: 30,
69 | width: 50,
70 | decoration: BoxDecoration(
71 | color: Colors.grey,
72 | borderRadius: BorderRadius.circular(
73 | 4,
74 | ),
75 | ),
76 | ),
77 | ],
78 | )),
79 | SizedBox(height: 15),
80 | ],
81 | ),
82 | ),
83 | SizedBox(height: 8),
84 | Text("04:45 PM")
85 | ],
86 | ),
87 | ),
88 | ),
89 | Stack(
90 | alignment: AlignmentDirectional.topEnd,
91 | children: [
92 | Container(
93 | height: 45,
94 | width: 45,
95 | decoration: BoxDecoration(
96 | color: Colors.grey,
97 | shape: BoxShape.circle,
98 | ),
99 | ),
100 | Padding(
101 | padding: const EdgeInsets.all(2.0),
102 | child: Container(
103 | height: 12,
104 | width: 12,
105 | decoration: BoxDecoration(
106 | border: Border.all(color: Colors.white60),
107 | color: Colors.green,
108 | shape: BoxShape.circle)),
109 | )
110 | ],
111 | )
112 | ],
113 | );
114 | }
115 |
--------------------------------------------------------------------------------
/lib/Widgets/someoneSentAFriendRequest_Screen16.dart:
--------------------------------------------------------------------------------
1 | // This file has widget related to notification when someone sends you a friend request.
2 |
3 |
4 | import 'package:flutter/material.dart';
5 |
6 | Widget someoneSentAFriendRequest(context) {
7 | return Stack(
8 | alignment: AlignmentDirectional.centerStart,
9 | children: [
10 | Expanded(
11 | child: Padding(
12 | padding: const EdgeInsets.only(left: 18.0),
13 | child: Column(
14 | crossAxisAlignment: CrossAxisAlignment.start,
15 | children: [
16 | Container(
17 | width: MediaQuery.of(context).size.width,
18 | decoration: BoxDecoration(
19 | color: Colors.white,
20 | boxShadow: [
21 | BoxShadow(
22 | color: Colors.black45, spreadRadius: 1, blurRadius: 2),
23 | ],
24 | ),
25 | child: Column(
26 | crossAxisAlignment: CrossAxisAlignment.start,
27 | children: [
28 | Padding(
29 | padding: const EdgeInsets.only(
30 | left: 45.0, right: 20, top: 10, bottom: 13),
31 | child: Text(
32 | "John Has sent you a friend request.",
33 | style: TextStyle(
34 | color: Colors.grey,
35 | fontSize: 18,
36 | fontWeight: FontWeight.w300,
37 | ),
38 | ),
39 | ),
40 | Padding(
41 | padding: const EdgeInsets.only(
42 | left: 45.0, right: 20, bottom: 5),
43 | child: Container(
44 | child: Padding(
45 | padding: const EdgeInsets.only(
46 | left: 18, right: 18, top: 3, bottom: 3),
47 | child: Text(
48 | "Add Friend",
49 | style: TextStyle(
50 | color: Colors.white,
51 | ),
52 | ),
53 | ),
54 | decoration: BoxDecoration(
55 | borderRadius: BorderRadius.circular(8),
56 | gradient: LinearGradient(
57 | colors: [
58 | Colors.pink[600],
59 | Colors.pink[400],
60 | Colors.orangeAccent[700]
61 | ],
62 | ),
63 | ),
64 | ),
65 | ),
66 | SizedBox(height: 15),
67 | ],
68 | ),
69 | ),
70 | SizedBox(height: 8),
71 | Text("03:45 PM")
72 | ],
73 | ),
74 | ),
75 | ),
76 | Stack(
77 | alignment: AlignmentDirectional.topEnd,
78 | children: [
79 | Container(
80 | height: 45,
81 | width: 45,
82 | decoration: BoxDecoration(
83 | color: Colors.grey,
84 | shape: BoxShape.circle,
85 | ),
86 | ),
87 | Padding(
88 | padding: const EdgeInsets.all(2.0),
89 | child: Container(
90 | height: 12,
91 | width: 12,
92 | decoration: BoxDecoration(
93 | border: Border.all(color: Colors.white60),
94 | color: Colors.green,
95 | shape: BoxShape.circle)),
96 | )
97 | ],
98 | )
99 | ],
100 | );
101 | }
102 |
--------------------------------------------------------------------------------
/lib/Widgets/someoneSentPersonalMessage_Screen16.dart:
--------------------------------------------------------------------------------
1 | // This file has widget related to notification when someone sends a personal message.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget someoneSentPersonalMessage(context) {
6 | return Stack(
7 | alignment: AlignmentDirectional.centerStart,
8 | children: [
9 | Expanded(
10 | child: Padding(
11 | padding: const EdgeInsets.only(left: 18.0),
12 | child: Column(
13 | crossAxisAlignment: CrossAxisAlignment.start,
14 | children: [
15 | Container(
16 | width: MediaQuery.of(context).size.width,
17 | decoration: BoxDecoration(
18 | color: Colors.white,
19 | boxShadow: [
20 | BoxShadow(
21 | color: Colors.black45, spreadRadius: 1, blurRadius: 2),
22 | ],
23 | ),
24 | child: Column(
25 | crossAxisAlignment: CrossAxisAlignment.start,
26 | children: [
27 | Padding(
28 | padding: const EdgeInsets.only(
29 | left: 45.0, right: 20, top: 10, bottom: 13),
30 | child: Text(
31 | "Larry S has sent you a personal message.",
32 | style: TextStyle(
33 | color: Colors.grey,
34 | fontSize: 18,
35 | fontWeight: FontWeight.w300,
36 | ),
37 | ),
38 | ),
39 | Padding(
40 | padding: const EdgeInsets.only(
41 | left: 45.0, right: 20, bottom: 5),
42 | child: Container(
43 | child: Padding(
44 | padding: const EdgeInsets.only(
45 | left: 18, right: 18, top: 3, bottom: 3),
46 | child: Text(
47 | "Reply",
48 | style: TextStyle(
49 | color: Colors.white,
50 | ),
51 | ),
52 | ),
53 | decoration: BoxDecoration(
54 | borderRadius: BorderRadius.circular(8),
55 | gradient: LinearGradient(
56 | colors: [
57 | Colors.pink[600],
58 | Colors.pink[400],
59 | Colors.orangeAccent[700]
60 | ],
61 | ),
62 | ),
63 | ),
64 | ),
65 | SizedBox(height: 15),
66 | ],
67 | ),
68 | ),
69 | SizedBox(height: 8),
70 | Text("03:45 PM")
71 | ],
72 | ),
73 | ),
74 | ),
75 | Stack(
76 | alignment: AlignmentDirectional.topEnd,
77 | children: [
78 | Container(
79 | height: 45,
80 | width: 45,
81 | decoration: BoxDecoration(
82 | color: Colors.grey,
83 | shape: BoxShape.circle,
84 | ),
85 | ),
86 | Padding(
87 | padding: const EdgeInsets.all(2.0),
88 | child: Container(
89 | height: 12,
90 | width: 12,
91 | decoration: BoxDecoration(
92 | border: Border.all(color: Colors.white60),
93 | color: Colors.green,
94 | shape: BoxShape.circle)),
95 | )
96 | ],
97 | )
98 | ],
99 | );
100 | }
101 |
--------------------------------------------------------------------------------
/lib/Widgets/someoneSharedAPhoto_Screen16.dart:
--------------------------------------------------------------------------------
1 | // This file has widget related to notification when someone shares a photo with you.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget someoneShared(context) {
6 | return Stack(
7 | alignment: AlignmentDirectional.centerStart,
8 | children: [
9 | Expanded(
10 | child: Padding(
11 | padding: const EdgeInsets.only(left: 18.0),
12 | child: Column(
13 | crossAxisAlignment: CrossAxisAlignment.start,
14 | children: [
15 | Container(
16 | width: MediaQuery.of(context).size.width,
17 | decoration: BoxDecoration(
18 | color: Colors.white,
19 | boxShadow: [
20 | BoxShadow(
21 | color: Colors.black45, spreadRadius: 1, blurRadius: 2),
22 | ],
23 | ),
24 | child: Column(
25 | crossAxisAlignment: CrossAxisAlignment.start,
26 | children: [
27 | Padding(
28 | padding: const EdgeInsets.only(
29 | left: 45.0, right: 20, top: 10, bottom: 13),
30 | child: Text(
31 | "Linda shared some photos with you.",
32 | style: TextStyle(
33 | color: Colors.grey,
34 | fontSize: 18,
35 | fontWeight: FontWeight.w300,
36 | ),
37 | ),
38 | ),
39 | Padding(
40 | padding: const EdgeInsets.only(
41 | left: 45.0, right: 20, bottom: 5),
42 | child: Row(
43 | children: [
44 | Container(
45 | height: 30,
46 | width: 50,
47 | decoration: BoxDecoration(
48 | color: Colors.grey,
49 | borderRadius: BorderRadius.circular(
50 | 4,
51 | ),
52 | ),
53 | ),
54 | ],
55 | )),
56 | SizedBox(height: 15),
57 | ],
58 | ),
59 | ),
60 | SizedBox(height: 8),
61 | Text("04:55 PM")
62 | ],
63 | ),
64 | ),
65 | ),
66 | Stack(
67 | alignment: AlignmentDirectional.topEnd,
68 | children: [
69 | Container(
70 | height: 45,
71 | width: 45,
72 | decoration: BoxDecoration(
73 | color: Colors.grey,
74 | shape: BoxShape.circle,
75 | ),
76 | ),
77 | Padding(
78 | padding: const EdgeInsets.all(2.0),
79 | child: Container(
80 | height: 12,
81 | width: 12,
82 | decoration: BoxDecoration(
83 | border: Border.all(color: Colors.white60),
84 | color: Colors.green,
85 | shape: BoxShape.circle)),
86 | )
87 | ],
88 | )
89 | ],
90 | );
91 | }
92 |
--------------------------------------------------------------------------------
/lib/Widgets/textPhoto_Screen19.dart:
--------------------------------------------------------------------------------
1 | // This file has the widget for screen 19 which has both text & photo in it.
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
5 |
6 | Widget textPhoto() {
7 | return Container(
8 | child: Row(
9 | children: [
10 | Container(
11 | height: 50,
12 | width: 50,
13 | decoration: BoxDecoration(
14 | color: Colors.grey,
15 | shape: BoxShape.circle,
16 | ),
17 | ),
18 | SizedBox(width: 10),
19 | Expanded(
20 | child: Column(
21 | children: [
22 | Row(
23 | mainAxisAlignment: MainAxisAlignment.spaceBetween,
24 | children: [
25 | Column(
26 | crossAxisAlignment: CrossAxisAlignment.start,
27 | children: [
28 | Text(
29 | "Alta Ryan",
30 | style: TextStyle(
31 | color: Colors.grey,
32 | fontSize: 20,
33 | fontWeight: FontWeight.w400,
34 | ),
35 | ),
36 | Text(
37 | "26 mins ago",
38 | style: TextStyle(
39 | color: Colors.grey,
40 | fontSize: 12,
41 | fontWeight: FontWeight.w300,
42 | ),
43 | ),
44 | ],
45 | ),
46 | Row(children: [
47 | Icon(FontAwesomeIcons.heart, color: Colors.grey, size: 12),
48 | Text(
49 | "24.5K",
50 | style: TextStyle(
51 | color: Colors.grey,
52 | fontSize: 12,
53 | fontWeight: FontWeight.w300,
54 | ),
55 | ),
56 | SizedBox(width: 5),
57 | Icon(
58 | FontAwesomeIcons.commentAlt,
59 | color: Colors.grey,
60 | size: 12,
61 | ),
62 | Padding(
63 | padding: const EdgeInsets.only(left: 3.0),
64 | child: Text(
65 | "34K",
66 | style: TextStyle(
67 | color: Colors.grey,
68 | fontSize: 12,
69 | fontWeight: FontWeight.w300,
70 | ),
71 | ),
72 | )
73 | ]),
74 | ],
75 | ),
76 | SizedBox(height: 3),
77 | Container(
78 | child: Text(
79 | 'your long text hereThis is a long texnijnij nin in inijn njn jknio niojmn iuont',
80 | overflow: TextOverflow.ellipsis,
81 | maxLines: 6,
82 | softWrap: false,
83 | style: TextStyle(
84 | color: Colors.grey,
85 | fontSize: 18,
86 | fontWeight: FontWeight.w400,
87 | ),
88 | ),
89 | ),
90 | Padding(
91 | padding: const EdgeInsets.only(top: 8.0),
92 | child: Container(
93 | height: 120,
94 | decoration: BoxDecoration(
95 | color: Colors.grey,
96 | borderRadius: BorderRadius.circular(
97 | 8,
98 | ),
99 | ),
100 | ),
101 | )
102 | ],
103 | ),
104 | ),
105 | ],
106 | ),
107 | );
108 | }
109 |
--------------------------------------------------------------------------------
/lib/Widgets/uaScreenItems.dart:
--------------------------------------------------------------------------------
1 | // THis screen has items related to UA screen
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget uaItem(name) {
6 | return Padding(
7 | padding: const EdgeInsets.all(15),
8 | child: Container(
9 | height: 50,
10 | color: Colors.blue,
11 | child: Center(
12 | child: Text(
13 | name,
14 | style: TextStyle(
15 | color: Colors.grey,
16 | fontSize: 20,
17 | fontWeight: FontWeight.w300,
18 | ),
19 | ),
20 | ),
21 | ),
22 | );
23 | }
24 |
--------------------------------------------------------------------------------
/lib/Widgets/withMedia.dart:
--------------------------------------------------------------------------------
1 | // This file has items related to messages which are sent to you with media.
2 |
3 | import 'package:flutter/material.dart';
4 |
5 | Widget withMedia(context, message) {
6 | return Stack(
7 | alignment: AlignmentDirectional.centerEnd,
8 | children: [
9 | Expanded(
10 | child: Padding(
11 | padding: const EdgeInsets.only(right: 18.0),
12 | child: Column(
13 | crossAxisAlignment: CrossAxisAlignment.start,
14 | children: [
15 | Container(
16 | width: MediaQuery.of(context).size.width,
17 | decoration: BoxDecoration(
18 | color: Colors.white,
19 | boxShadow: [
20 | BoxShadow(
21 | color: Colors.black45, spreadRadius: 1, blurRadius: 2),
22 | ],
23 | ),
24 | child: Padding(
25 | padding: const EdgeInsets.only(
26 | right: 55.0, left: 20, top: 10, bottom: 13),
27 | child: Column(
28 | children: [
29 | Text(
30 | message,
31 | style: TextStyle(
32 | color: Colors.grey,
33 | fontSize: 20,
34 | fontWeight: FontWeight.w300,
35 | ),
36 | ),
37 | SizedBox(
38 | height: 15,
39 | ),
40 | Row(
41 | children: [
42 | Container(
43 | height: 100,
44 | color: Colors.grey,
45 | width: 95,
46 | ),
47 | SizedBox(
48 | width: 10,
49 | ),
50 | Container(
51 | height: 100,
52 | color: Colors.red,
53 | width: 98,
54 | )
55 | ],
56 | )
57 | ],
58 | ),
59 | ),
60 | ),
61 | SizedBox(height: 8),
62 | Text("03:45 PM")
63 | ],
64 | ),
65 | ),
66 | ),
67 | Stack(
68 | alignment: AlignmentDirectional.topEnd,
69 | children: [
70 | Container(
71 | height: 45,
72 | width: 45,
73 | decoration: BoxDecoration(
74 | color: Colors.grey,
75 | shape: BoxShape.circle,
76 | ),
77 | ),
78 | Padding(
79 | padding: const EdgeInsets.all(2.0),
80 | child: Container(
81 | height: 12,
82 | width: 12,
83 | decoration: BoxDecoration(
84 | border: Border.all(color: Colors.white60),
85 | color: Colors.green,
86 | shape: BoxShape.circle)),
87 | )
88 | ],
89 | )
90 | ],
91 | );
92 | }
93 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | // This is the main file for the ui which has the login signup switcher in it.
2 |
3 | import 'package:firebase_core/firebase_core.dart';
4 | import 'package:flutter/material.dart';
5 | import 'package:flutter_ui_17_dating_app_ui_1/Screen2_SignIn.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/Screen3_Signup.dart';
7 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
8 |
9 | void main() async {
10 | WidgetsFlutterBinding.ensureInitialized();
11 | await Firebase.initializeApp();
12 | runApp(MyApp());
13 | }
14 |
15 | class MyApp extends StatelessWidget {
16 | @override
17 | Widget build(BuildContext context) {
18 | return MaterialApp(
19 | title: 'Flutter Demo',
20 | theme: ThemeData(
21 | primarySwatch: Colors.blue,
22 | visualDensity: VisualDensity.adaptivePlatformDensity,
23 | ),
24 | home: MyHomePage(title: 'Flutter Demo Home Page'),
25 | );
26 | }
27 | }
28 |
29 | class MyHomePage extends StatefulWidget {
30 | MyHomePage({Key key, this.title}) : super(key: key);
31 |
32 | final String title;
33 |
34 | @override
35 | _MyHomePageState createState() => _MyHomePageState();
36 | }
37 |
38 | class _MyHomePageState extends State {
39 | @override
40 | Widget build(BuildContext context) {
41 | return Scaffold(
42 | body: Container(
43 | width: MediaQuery.of(context).size.width,
44 | decoration: BoxDecoration(
45 | gradient: LinearGradient(
46 | begin: Alignment.center,
47 | end: Alignment.bottomRight,
48 | colors: [
49 | Colors.grey,
50 | Colors.grey.withOpacity(0.8),
51 | ],
52 | ),
53 | ),
54 | child: Padding(
55 | padding: const EdgeInsets.only(left: 15, right: 15),
56 | child: Column(
57 | children: [
58 | Padding(
59 | padding: EdgeInsets.only(
60 | top: MediaQuery.of(context).size.width / 2.4,
61 | bottom: MediaQuery.of(context).size.width / 2.1),
62 | child: Text(
63 | "Rish",
64 | style: TextStyle(
65 | color: Colors.white,
66 | fontSize: 36,
67 | fontWeight: FontWeight.w300,
68 | letterSpacing: 1.5),
69 | ),
70 | ),
71 | GestureDetector(
72 | onTap: () {
73 | print("pushed");
74 | Navigator.of(context).push(
75 | MaterialPageRoute(
76 | builder: (_) => Screen2(),
77 | ),
78 | );
79 | },
80 | child: Container(
81 | width: MediaQuery.of(context).size.width,
82 | height: 55,
83 | decoration: BoxDecoration(
84 | boxShadow: [
85 | BoxShadow(
86 | color: Colors.grey[600],
87 | blurRadius: 2,
88 | spreadRadius: 0.5)
89 | ],
90 | gradient: LinearGradient(
91 | colors: [
92 | Colors.pink[600],
93 | Colors.pink[400],
94 | Colors.orangeAccent[700]
95 | ],
96 | ),
97 | ),
98 | child: Center(
99 | child: Text(
100 | "Sign in",
101 | style: TextStyle(
102 | color: Colors.white,
103 | fontWeight: FontWeight.w300,
104 | letterSpacing: 1.2,
105 | fontSize: 20,
106 | ),
107 | ),
108 | ),
109 | ),
110 | ),
111 | SizedBox(height: MediaQuery.of(context).size.width / 10),
112 | GestureDetector(
113 | onTap: () {
114 | Navigator.push(
115 | context,
116 | MaterialPageRoute(
117 | builder: (_) => Screen3(),
118 | ),
119 | );
120 | },
121 | child: Container(
122 | height: 55,
123 | width: MediaQuery.of(context).size.width,
124 | decoration: BoxDecoration(
125 | border: Border.all(
126 | color: Colors.white,
127 | width: 2,
128 | ),
129 | ),
130 | child: Center(
131 | child: Text(
132 | "Sign up",
133 | style: TextStyle(
134 | color: Colors.white,
135 | fontWeight: FontWeight.w300,
136 | letterSpacing: 1.2,
137 | fontSize: 20,
138 | ),
139 | ),
140 | ),
141 | ),
142 | ),
143 | SizedBox(height: MediaQuery.of(context).size.width / 9),
144 | Text(
145 | "Or",
146 | style: TextStyle(
147 | color: Colors.white,
148 | fontWeight: FontWeight.w300,
149 | letterSpacing: 1.2,
150 | fontSize: 20,
151 | ),
152 | ),
153 | SizedBox(height: MediaQuery.of(context).size.width / 9),
154 | Row(
155 | mainAxisAlignment: MainAxisAlignment.spaceEvenly,
156 | children: [
157 | GestureDetector(
158 | onTap: () {},
159 | child: Container(
160 | height: 55,
161 | width: 55,
162 | decoration: BoxDecoration(
163 | border: Border.all(
164 | color: Colors.white,
165 | width: 2,
166 | ),
167 | ),
168 | child: Center(
169 | child: Icon(
170 | FontAwesomeIcons.facebookF,
171 | color: Colors.white,
172 | ),
173 | ),
174 | ),
175 | ),
176 | GestureDetector(
177 | onTap: () {},
178 | child: Container(
179 | height: 55,
180 | width: 55,
181 | decoration: BoxDecoration(
182 | border: Border.all(
183 | color: Colors.white,
184 | width: 2,
185 | ),
186 | ),
187 | child: Center(
188 | child: FaIcon(
189 | FontAwesomeIcons.twitter,
190 | color: Colors.white,
191 | ),
192 | ),
193 | ),
194 | ),
195 | GestureDetector(
196 | onTap: () {},
197 | child: Container(
198 | height: 55,
199 | width: 55,
200 | decoration: BoxDecoration(
201 | border: Border.all(
202 | color: Colors.white,
203 | width: 2,
204 | ),
205 | ),
206 | child: Center(
207 | child: FaIcon(
208 | FontAwesomeIcons.instagram,
209 | color: Colors.white,
210 | ),
211 | ),
212 | ),
213 | ),
214 | ],
215 | )
216 | ],
217 | ),
218 | ),
219 | ),
220 | );
221 | }
222 | }
223 |
--------------------------------------------------------------------------------
/lib/ua_Screens.dart:
--------------------------------------------------------------------------------
1 | // This file has all the screen which do not have a particular clickable thing in the app
2 |
3 | import 'dart:io';
4 |
5 | import 'package:flutter/material.dart';
6 | import 'package:flutter_ui_17_dating_app_ui_1/Screen10_Chat.dart';
7 | import 'package:flutter_ui_17_dating_app_ui_1/Screen13_Users.dart';
8 | import 'package:flutter_ui_17_dating_app_ui_1/Screen14_FavUsers.dart';
9 | import 'package:flutter_ui_17_dating_app_ui_1/Screen17_NearbyUsers.dart';
10 | import 'package:flutter_ui_17_dating_app_ui_1/Screen19_Activity.dart';
11 | import 'package:flutter_ui_17_dating_app_ui_1/Screen20_Tour.dart';
12 | import 'package:flutter_ui_17_dating_app_ui_1/Screen21_MatchFound.dart';
13 | import 'package:flutter_ui_17_dating_app_ui_1/Screen22_FoundMatchSearching.dart';
14 | import 'package:flutter_ui_17_dating_app_ui_1/Screen23_multiLoginOptions.dart';
15 | import 'package:flutter_ui_17_dating_app_ui_1/Screen8_Biography.dart';
16 | import 'package:flutter_ui_17_dating_app_ui_1/Screen9_MatchFound.dart';
17 | import 'package:flutter_ui_17_dating_app_ui_1/Widgets/uaScreenItems.dart';
18 | import 'package:image_picker/image_picker.dart';
19 |
20 | import 'NavDrawer.dart';
21 | import 'Screen12_VideoCall.dart';
22 |
23 | class UAScreens extends StatefulWidget {
24 | @override
25 | _UAScreensState createState() => _UAScreensState();
26 | }
27 |
28 | class _UAScreensState extends State {
29 | File _image;
30 |
31 | Future get_image() async {
32 | final image = await ImagePicker.pickImage(source: ImageSource.camera);
33 | setState(() {
34 | _image = image;
35 | });
36 | }
37 |
38 | @override
39 | Widget build(BuildContext context) {
40 | return Scaffold(
41 | drawer: NavDrawer(),
42 | appBar: AppBar(
43 | centerTitle: true,
44 | title: Text("Unlock"),
45 | flexibleSpace: Container(
46 | decoration: BoxDecoration(
47 | gradient: LinearGradient(
48 | colors: [
49 | Colors.pink[600],
50 | Colors.pink[400],
51 | Colors.orangeAccent[700],
52 | ],
53 | ),
54 | ),
55 | ),
56 | actions: [
57 | PopupMenuButton(
58 | onSelected: handleClick,
59 | itemBuilder: (BuildContext context) {
60 | return {'Logout', 'Settings'}.map((String choice) {
61 | return PopupMenuItem(
62 | value: choice,
63 | child: Text(choice),
64 | );
65 | }).toList();
66 | },
67 | ),
68 | ],
69 | ),
70 | body: Container(
71 | child: CustomScrollView(
72 | slivers: [
73 | SliverList(
74 | delegate: SliverChildListDelegate(
75 | [
76 | GestureDetector(
77 | onTap: () {
78 | Navigator.of(context)
79 | .push(MaterialPageRoute(builder: (_) => Screen12()));
80 | },
81 | child: Padding(
82 | padding: const EdgeInsets.all(15),
83 | child: Container(
84 | height: 50,
85 | color: Colors.blue,
86 | child: Center(
87 | child: Text(
88 | "Video Call",
89 | style: TextStyle(
90 | color: Colors.grey,
91 | fontSize: 20,
92 | fontWeight: FontWeight.w300,
93 | ),
94 | ),
95 | ),
96 | ),
97 | ),
98 | ),
99 | GestureDetector(
100 | onTap: () {
101 | Navigator.of(context)
102 | .push(MaterialPageRoute(builder: (_) => Screen8()));
103 | },
104 | child: uaItem(
105 | "User Biography",
106 | ),
107 | ),
108 | GestureDetector(
109 | onTap: () {
110 | Navigator.of(context)
111 | .push(MaterialPageRoute(builder: (_) => Screen9()));
112 | },
113 | child: uaItem(
114 | "Matches Found",
115 | ),
116 | ),
117 | GestureDetector(
118 | onTap: () {
119 | Navigator.of(context)
120 | .push(MaterialPageRoute(builder: (_) => Screen10()));
121 | },
122 | child: uaItem("Chat")),
123 | GestureDetector(
124 | onTap: () {
125 | Navigator.of(context)
126 | .push(MaterialPageRoute(builder: (_) => Screen13()));
127 | },
128 | child: uaItem(
129 | "Users",
130 | ),
131 | ),
132 | GestureDetector(
133 | onTap: () {
134 | Navigator.of(context)
135 | .push(MaterialPageRoute(builder: (_) => Screen14()));
136 | },
137 | child: uaItem(
138 | "Favourite Users",
139 | ),
140 | ),
141 | GestureDetector(
142 | onTap: () {
143 | Navigator.of(context)
144 | .push(MaterialPageRoute(builder: (_) => Screen17()));
145 | },
146 | child: uaItem(
147 | "Nearby Users",
148 | ),
149 | ),
150 | GestureDetector(
151 | onTap: () {
152 | get_image();
153 | },
154 | child: uaItem(
155 | "Open Camera",
156 | ),
157 | ),
158 | GestureDetector(
159 | onTap: () {
160 | Navigator.of(context)
161 | .push(MaterialPageRoute(builder: (_) => Screen19()));
162 | },
163 | child: uaItem(
164 | "Activity",
165 | ),
166 | ),
167 | GestureDetector(
168 | onTap: () {
169 | Navigator.of(context)
170 | .push(MaterialPageRoute(builder: (_) => Screen20()));
171 | },
172 | child: uaItem(
173 | "Carousel Screen",
174 | ),
175 | ),
176 | GestureDetector(
177 | onTap: () {
178 | Navigator.of(context)
179 | .push(MaterialPageRoute(builder: (_) => Screen22()));
180 | },
181 | child: uaItem(
182 | "Find Match-Searching",
183 | ),
184 | ),
185 | GestureDetector(
186 | onTap: () {
187 | Navigator.of(context)
188 | .push(MaterialPageRoute(builder: (_) => Screen21()));
189 | },
190 | child: uaItem(
191 | "Find Match-Found",
192 | ),
193 | ),
194 | GestureDetector(
195 | onTap: () {
196 | Navigator.of(context)
197 | .push(MaterialPageRoute(builder: (_) => Screen23()));
198 | },
199 | child: uaItem(
200 | "Login Options",
201 | ),
202 | ),
203 | ],
204 | ),
205 | ),
206 | ],
207 | )),
208 | );
209 | }
210 |
211 | void handleClick(String value) {
212 | switch (value) {
213 | case 'Logout':
214 | break;
215 | case 'Settings':
216 | break;
217 | }
218 | }
219 | }
220 |
--------------------------------------------------------------------------------
/linux/.gitignore:
--------------------------------------------------------------------------------
1 | flutter/ephemeral
2 |
--------------------------------------------------------------------------------
/linux/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.10)
2 | project(runner LANGUAGES CXX)
3 |
4 | set(BINARY_NAME "flutter_ui_17_dating_app_ui_1")
5 | set(APPLICATION_ID "com.example.flutter_ui_17_dating_app_ui_1")
6 |
7 | cmake_policy(SET CMP0063 NEW)
8 |
9 | set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
10 |
11 | # Configure build options.
12 | if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
13 | set(CMAKE_BUILD_TYPE "Debug" CACHE
14 | STRING "Flutter build mode" FORCE)
15 | set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
16 | "Debug" "Profile" "Release")
17 | endif()
18 |
19 | # Compilation settings that should be applied to most targets.
20 | function(APPLY_STANDARD_SETTINGS TARGET)
21 | target_compile_features(${TARGET} PUBLIC cxx_std_14)
22 | target_compile_options(${TARGET} PRIVATE -Wall -Werror)
23 | target_compile_options(${TARGET} PRIVATE "$<$>:-O3>")
24 | target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>")
25 | endfunction()
26 |
27 | set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
28 |
29 | # Flutter library and tool build rules.
30 | add_subdirectory(${FLUTTER_MANAGED_DIR})
31 |
32 | # System-level dependencies.
33 | find_package(PkgConfig REQUIRED)
34 | pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
35 |
36 | add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")
37 |
38 | # Application build
39 | add_executable(${BINARY_NAME}
40 | "main.cc"
41 | "my_application.cc"
42 | "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
43 | )
44 | apply_standard_settings(${BINARY_NAME})
45 | target_link_libraries(${BINARY_NAME} PRIVATE flutter)
46 | target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)
47 | add_dependencies(${BINARY_NAME} flutter_assemble)
48 | # Only the install-generated bundle's copy of the executable will launch
49 | # correctly, since the resources must in the right relative locations. To avoid
50 | # people trying to run the unbundled copy, put it in a subdirectory instead of
51 | # the default top-level location.
52 | set_target_properties(${BINARY_NAME}
53 | PROPERTIES
54 | RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
55 | )
56 |
57 | # Generated plugin build rules, which manage building the plugins and adding
58 | # them to the application.
59 | include(flutter/generated_plugins.cmake)
60 |
61 |
62 | # === Installation ===
63 | # By default, "installing" just makes a relocatable bundle in the build
64 | # directory.
65 | set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")
66 | if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
67 | set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
68 | endif()
69 |
70 | # Start with a clean build bundle directory every time.
71 | install(CODE "
72 | file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")
73 | " COMPONENT Runtime)
74 |
75 | set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
76 | set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
77 |
78 | install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
79 | COMPONENT Runtime)
80 |
81 | install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
82 | COMPONENT Runtime)
83 |
84 | install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
85 | COMPONENT Runtime)
86 |
87 | if(PLUGIN_BUNDLED_LIBRARIES)
88 | install(FILES "${PLUGIN_BUNDLED_LIBRARIES}"
89 | DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
90 | COMPONENT Runtime)
91 | endif()
92 |
93 | # Fully re-copy the assets directory on each build to avoid having stale files
94 | # from a previous install.
95 | set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
96 | install(CODE "
97 | file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
98 | " COMPONENT Runtime)
99 | install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
100 | DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
101 |
102 | # Install the AOT library on non-Debug builds only.
103 | if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
104 | install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
105 | COMPONENT Runtime)
106 | endif()
107 |
--------------------------------------------------------------------------------
/linux/flutter/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.10)
2 |
3 | set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")
4 |
5 | # Configuration provided via flutter tool.
6 | include(${EPHEMERAL_DIR}/generated_config.cmake)
7 |
8 | # TODO: Move the rest of this into files in ephemeral. See
9 | # https://github.com/flutter/flutter/issues/57146.
10 |
11 | # Serves the same purpose as list(TRANSFORM ... PREPEND ...),
12 | # which isn't available in 3.10.
13 | function(list_prepend LIST_NAME PREFIX)
14 | set(NEW_LIST "")
15 | foreach(element ${${LIST_NAME}})
16 | list(APPEND NEW_LIST "${PREFIX}${element}")
17 | endforeach(element)
18 | set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE)
19 | endfunction()
20 |
21 | # === Flutter Library ===
22 | # System-level dependencies.
23 | find_package(PkgConfig REQUIRED)
24 | pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
25 | pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
26 | pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
27 | pkg_check_modules(BLKID REQUIRED IMPORTED_TARGET blkid)
28 |
29 | set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so")
30 |
31 | # Published to parent scope for install step.
32 | set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)
33 | set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)
34 | set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)
35 | set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE)
36 |
37 | list(APPEND FLUTTER_LIBRARY_HEADERS
38 | "fl_basic_message_channel.h"
39 | "fl_binary_codec.h"
40 | "fl_binary_messenger.h"
41 | "fl_dart_project.h"
42 | "fl_engine.h"
43 | "fl_json_message_codec.h"
44 | "fl_json_method_codec.h"
45 | "fl_message_codec.h"
46 | "fl_method_call.h"
47 | "fl_method_channel.h"
48 | "fl_method_codec.h"
49 | "fl_method_response.h"
50 | "fl_plugin_registrar.h"
51 | "fl_plugin_registry.h"
52 | "fl_standard_message_codec.h"
53 | "fl_standard_method_codec.h"
54 | "fl_string_codec.h"
55 | "fl_value.h"
56 | "fl_view.h"
57 | "flutter_linux.h"
58 | )
59 | list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/")
60 | add_library(flutter INTERFACE)
61 | target_include_directories(flutter INTERFACE
62 | "${EPHEMERAL_DIR}"
63 | )
64 | target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}")
65 | target_link_libraries(flutter INTERFACE
66 | PkgConfig::GTK
67 | PkgConfig::GLIB
68 | PkgConfig::GIO
69 | PkgConfig::BLKID
70 | )
71 | add_dependencies(flutter flutter_assemble)
72 |
73 | # === Flutter tool backend ===
74 | # _phony_ is a non-existent file to force this command to run every time,
75 | # since currently there's no way to get a full input/output list from the
76 | # flutter tool.
77 | add_custom_command(
78 | OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}
79 | ${CMAKE_CURRENT_BINARY_DIR}/_phony_
80 | COMMAND ${CMAKE_COMMAND} -E env
81 | ${FLUTTER_TOOL_ENVIRONMENT}
82 | "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh"
83 | linux-x64 ${CMAKE_BUILD_TYPE}
84 | )
85 | add_custom_target(flutter_assemble DEPENDS
86 | "${FLUTTER_LIBRARY}"
87 | ${FLUTTER_LIBRARY_HEADERS}
88 | )
89 |
--------------------------------------------------------------------------------
/linux/flutter/generated_plugin_registrant.cc:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | #include "generated_plugin_registrant.h"
6 |
7 |
8 | void fl_register_plugins(FlPluginRegistry* registry) {
9 | }
10 |
--------------------------------------------------------------------------------
/linux/flutter/generated_plugin_registrant.h:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | #ifndef GENERATED_PLUGIN_REGISTRANT_
6 | #define GENERATED_PLUGIN_REGISTRANT_
7 |
8 | #include
9 |
10 | // Registers Flutter plugins.
11 | void fl_register_plugins(FlPluginRegistry* registry);
12 |
13 | #endif // GENERATED_PLUGIN_REGISTRANT_
14 |
--------------------------------------------------------------------------------
/linux/flutter/generated_plugins.cmake:
--------------------------------------------------------------------------------
1 | #
2 | # Generated file, do not edit.
3 | #
4 |
5 | list(APPEND FLUTTER_PLUGIN_LIST
6 | )
7 |
8 | set(PLUGIN_BUNDLED_LIBRARIES)
9 |
10 | foreach(plugin ${FLUTTER_PLUGIN_LIST})
11 | add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
12 | target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
13 | list(APPEND PLUGIN_BUNDLED_LIBRARIES $)
14 | list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
15 | endforeach(plugin)
16 |
--------------------------------------------------------------------------------
/linux/main.cc:
--------------------------------------------------------------------------------
1 | #include "my_application.h"
2 |
3 | int main(int argc, char** argv) {
4 | // Only X11 is currently supported.
5 | // Wayland support is being developed: https://github.com/flutter/flutter/issues/57932.
6 | gdk_set_allowed_backends("x11");
7 |
8 | g_autoptr(MyApplication) app = my_application_new();
9 | return g_application_run(G_APPLICATION(app), argc, argv);
10 | }
11 |
--------------------------------------------------------------------------------
/linux/my_application.cc:
--------------------------------------------------------------------------------
1 | #include "my_application.h"
2 |
3 | #include
4 |
5 | #include "flutter/generated_plugin_registrant.h"
6 |
7 | struct _MyApplication {
8 | GtkApplication parent_instance;
9 | };
10 |
11 | G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)
12 |
13 | // Implements GApplication::activate.
14 | static void my_application_activate(GApplication* application) {
15 | GtkWindow* window =
16 | GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
17 | GtkHeaderBar *header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
18 | gtk_widget_show(GTK_WIDGET(header_bar));
19 | gtk_header_bar_set_title(header_bar, "flutter_ui_17_dating_app_ui_1");
20 | gtk_header_bar_set_show_close_button(header_bar, TRUE);
21 | gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
22 | gtk_window_set_default_size(window, 1280, 720);
23 | gtk_widget_show(GTK_WIDGET(window));
24 |
25 | g_autoptr(FlDartProject) project = fl_dart_project_new();
26 |
27 | FlView* view = fl_view_new(project);
28 | gtk_widget_show(GTK_WIDGET(view));
29 | gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
30 |
31 | fl_register_plugins(FL_PLUGIN_REGISTRY(view));
32 |
33 | gtk_widget_grab_focus(GTK_WIDGET(view));
34 | }
35 |
36 | static void my_application_class_init(MyApplicationClass* klass) {
37 | G_APPLICATION_CLASS(klass)->activate = my_application_activate;
38 | }
39 |
40 | static void my_application_init(MyApplication* self) {}
41 |
42 | MyApplication* my_application_new() {
43 | return MY_APPLICATION(g_object_new(my_application_get_type(),
44 | "application-id", APPLICATION_ID,
45 | nullptr));
46 | }
47 |
--------------------------------------------------------------------------------
/linux/my_application.h:
--------------------------------------------------------------------------------
1 | #ifndef FLUTTER_MY_APPLICATION_H_
2 | #define FLUTTER_MY_APPLICATION_H_
3 |
4 | #include
5 |
6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,
7 | GtkApplication)
8 |
9 | /**
10 | * my_application_new:
11 | *
12 | * Creates a new Flutter-based application.
13 | *
14 | * Returns: a new #MyApplication.
15 | */
16 | MyApplication* my_application_new();
17 |
18 | #endif // FLUTTER_MY_APPLICATION_H_
19 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: flutter_ui_17_dating_app_ui_1
2 | description: A new Flutter project.
3 |
4 | # The following line prevents the package from being accidentally published to
5 | # pub.dev using `pub publish`. This is preferred for private packages.
6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev
7 |
8 | # The following defines the version and build number for your application.
9 | # A version number is three numbers separated by dots, like 1.2.43
10 | # followed by an optional build number separated by a +.
11 | # Both the version and the builder number may be overridden in flutter
12 | # build by specifying --build-name and --build-number, respectively.
13 | # In Android, build-name is used as versionName while build-number used as versionCode.
14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning
15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
16 | # Read more about iOS versioning at
17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
18 | version: 1.0.0+1
19 |
20 | environment:
21 | sdk: ">=2.7.0 <3.0.0"
22 |
23 | dependencies:
24 | flutter:
25 | sdk: flutter
26 |
27 |
28 | # The following adds the Cupertino Icons font to your application.
29 | # Use with the CupertinoIcons class for iOS style icons.
30 | cupertino_icons: ^0.1.3
31 | font_awesome_flutter: ^8.10.0
32 | image_picker: ^0.6.7+4
33 | carousel_slider: ^2.2.1
34 | carousel_pro: ^1.0.0
35 | flutter_spinkit: "^4.1.2"
36 | firebase_auth: ^0.18.2
37 | flutter_login_facebook: ^0.4.0+1
38 | provider: ^4.3.2+2
39 | firebase_core: ^0.5.1
40 | flutter_facebook_login: ^3.0.0
41 | http: ^0.12.2
42 | google_sign_in: ^4.5.6
43 | flutter_twitter_login: ^1.1.0
44 |
45 | dev_dependencies:
46 | flutter_test:
47 | sdk: flutter
48 |
49 | # For information on the generic Dart part of this file, see the
50 | # following page: https://dart.dev/tools/pub/pubspec
51 |
52 | # The following section is specific to Flutter.
53 | flutter:
54 |
55 | # The following line ensures that the Material Icons font is
56 | # included with your application, so that you can use the icons in
57 | # the material Icons class.
58 | uses-material-design: true
59 |
60 | # To add assets to your application, add an assets section, like this:
61 | # assets:
62 | # - images/a_dot_burr.jpeg
63 | # - images/a_dot_ham.jpeg
64 |
65 | # An image asset can refer to one or more resolution-specific "variants", see
66 | # https://flutter.dev/assets-and-images/#resolution-aware.
67 |
68 | # For details regarding adding assets from package dependencies, see
69 | # https://flutter.dev/assets-and-images/#from-packages
70 |
71 | # To add custom fonts to your application, add a fonts section here,
72 | # in this "flutter" section. Each entry in this list should have a
73 | # "family" key with the font family name, and a "fonts" key with a
74 | # list giving the asset and other descriptors for the font. For
75 | # example:
76 | # fonts:
77 | # - family: Schyler
78 | # fonts:
79 | # - asset: fonts/Schyler-Regular.ttf
80 | # - asset: fonts/Schyler-Italic.ttf
81 | # style: italic
82 | # - family: Trajan Pro
83 | # fonts:
84 | # - asset: fonts/TrajanPro.ttf
85 | # - asset: fonts/TrajanPro_Bold.ttf
86 | # weight: 700
87 | #
88 | # For details regarding fonts from package dependencies,
89 | # see https://flutter.dev/custom-fonts/#from-packages
90 |
--------------------------------------------------------------------------------
/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility that Flutter provides. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 |
11 | import 'package:flutter_ui_17_dating_app_ui_1/main.dart';
12 |
13 | void main() {
14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
15 | // Build our app and trigger a frame.
16 | await tester.pumpWidget(MyApp());
17 |
18 | // Verify that our counter starts at 0.
19 | expect(find.text('0'), findsOneWidget);
20 | expect(find.text('1'), findsNothing);
21 |
22 | // Tap the '+' icon and trigger a frame.
23 | await tester.tap(find.byIcon(Icons.add));
24 | await tester.pump();
25 |
26 | // Verify that our counter has incremented.
27 | expect(find.text('0'), findsNothing);
28 | expect(find.text('1'), findsOneWidget);
29 | });
30 | }
31 |
--------------------------------------------------------------------------------
/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/web/favicon.png
--------------------------------------------------------------------------------
/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harshkumarkhatri/Flutter-UI-17-Dating-App-UI-1/2a20c3ad962c463f550c605afa2787fdbf13fffb/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | flutter_ui_17_dating_app_ui_1
18 |
19 |
20 |
21 |
24 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/web/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "flutter_ui_17_dating_app_ui_1",
3 | "short_name": "flutter_ui_17_dating_app_ui_1",
4 | "start_url": ".",
5 | "display": "standalone",
6 | "background_color": "#0175C2",
7 | "theme_color": "#0175C2",
8 | "description": "A new Flutter project.",
9 | "orientation": "portrait-primary",
10 | "prefer_related_applications": false,
11 | "icons": [
12 | {
13 | "src": "icons/Icon-192.png",
14 | "sizes": "192x192",
15 | "type": "image/png"
16 | },
17 | {
18 | "src": "icons/Icon-512.png",
19 | "sizes": "512x512",
20 | "type": "image/png"
21 | }
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------