├── .gitignore
├── .metadata
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── shashi
│ │ │ │ └── homzy2
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable-v21
│ │ │ └── launch_background.xml
│ │ │ ├── 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-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
├── 1.1.jpeg
├── IMG_20230304_174306.jpg
├── IMG_20230304_174324.jpg
├── WhatsApp Image 2023-03-04 at 5.00.11 PM.jpeg
├── image1.png
├── image2.png
├── image3.png
├── service
│ ├── 1.jpeg
│ └── 2.jpeg
├── small_service
│ ├── 1.jpeg
│ ├── 2.jpeg
│ ├── 3.jpeg
│ └── 4.jpeg
└── thumbnail-copy-3.jpg
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Podfile.lock
├── 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
│ ├── GoogleService-Info.plist
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── lib
├── main.dart
├── req_model.dart
├── screens
│ ├── WelcomeScreen.dart
│ ├── home_screen.dart
│ ├── otp_screen.dart
│ ├── register.dart
│ └── user_information_screen.dart
├── user_model.dart
└── widget
│ └── button.dart
├── pubspec.lock
├── pubspec.yaml
└── test
└── widget_test.dart
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 | migrate_working_dir/
12 |
13 | # IntelliJ related
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # The .vscode folder contains launch configuration and tasks you configure in
20 | # VS Code which you may wish to be included in version control, so this line
21 | # is commented out by default.
22 | #.vscode/
23 |
24 | # Flutter/Dart/Pub related
25 | **/doc/api/
26 | **/ios/Flutter/.last_build_id
27 | .dart_tool/
28 | .flutter-plugins
29 | .flutter-plugins-dependencies
30 | .packages
31 | .pub-cache/
32 | .pub/
33 | /build/
34 |
35 | # Symbolication related
36 | app.*.symbols
37 |
38 | # Obfuscation related
39 | app.*.map.json
40 |
41 | # Android Studio will place build artifacts here
42 | /android/app/debug
43 | /android/app/profile
44 | /android/app/release
45 |
--------------------------------------------------------------------------------
/.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.
5 |
6 | version:
7 | revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
8 | channel: stable
9 |
10 | project_type: app
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
17 | base_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
18 | - platform: android
19 | create_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
20 | base_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
21 | - platform: ios
22 | create_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
23 | base_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
24 |
25 | # User provided section
26 |
27 | # List of Local paths (relative to this file) that should be
28 | # ignored by the migrate tool.
29 | #
30 | # Files that are not part of the templates will be ignored by default.
31 | unmanaged_files:
32 | - 'lib/main.dart'
33 | - 'ios/Runner.xcodeproj/project.pbxproj'
34 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Homzy-A Home Service App
2 |
3 |  
4 | > A new Flutter application that help people in doing there house hold work.
5 |
6 |
7 |
8 | ## 🥅 My Goal
9 |
10 | My goal is give you the knowledge to create a Flutter app entirely from scratch, how to go further and learn more about how to design user interfaces for Flutter apps.
11 |
12 |
13 |
14 | ## 🚀 Preview
15 | It will be avalible soon in Preview Mode
16 |
17 |
18 |
19 | ## :construction_worker: Installation
20 |
21 |
22 | ***In order to clone the project via HTTPS, run this command:***
23 |
24 | ```
25 | $>gh repo clone shashikantkaushik/Home_Service_app
26 | ```
27 |
28 | SSH URLs provide access to a Git repository via SSH, a secure protocol. If you have a SSH key registered in your Github account, clone the project using this command:
29 |
30 | ```
31 | $> git@github.com:shashikantkaushik/Home_Service_app.git
32 | ```
33 |
34 | **Install dependencies**
35 |
36 | ```
37 | $> flutter install
38 | ```
39 |
40 | **Start development server**
41 |
42 | ```
43 | $> flutter run
44 | ```
45 |
46 |
47 |
48 |
49 | ## :bug: Issues
50 |
51 | Feel free to **file a new issue** with a respective title and description on the [Homzy](https://github.com/shashikantkaushik/Home_Service_app/issues) repository. If you already found a solution to your problem, **I would love to review your pull request**! Have a look at our [contribution guidelines](https://github.com/shashikantkaushik/shashikantkaushik/blob/main/CONTRIBUTING.md) to find out about the coding standards.
52 |
53 |
54 |
55 | ## :tada: Contributing
56 |
57 | Check out the [contributing](https://github.com/shashikantkaushik/shashikantkaushik/blob/main/CONTRIBUTING.md) page to see the best places to file issues, start discussions and begin contributing.
58 |
59 |
60 |
61 | ## :closed_book: License
62 | Not Release Yet
63 | All Rights are Reserved
64 |
65 |
66 |
67 | ##### Made with love by [Shashi Kant](https://github.com/shashikantkaushik) 💜🚀
68 |
69 |
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | # This file configures the analyzer, which statically analyzes Dart code to
2 | # check for errors, warnings, and lints.
3 | #
4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled
5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
6 | # invoked from the command line by running `flutter analyze`.
7 |
8 | # The following line activates a set of recommended lints for Flutter apps,
9 | # packages, and plugins designed to encourage good coding practices.
10 | include: package:flutter_lints/flutter.yaml
11 |
12 | linter:
13 | # The lint rules applied to this project can be customized in the
14 | # section below to disable rules from the `package:flutter_lints/flutter.yaml`
15 | # included above or to enable additional rules. A list of all available lints
16 | # and their documentation is published at
17 | # https://dart-lang.github.io/linter/lints/index.html.
18 | #
19 | # Instead of disabling a lint rule for the entire project in the
20 | # section below, it can also be suppressed for a single line of code
21 | # or a specific dart file by using the `// ignore: name_of_lint` and
22 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file
23 | # producing the lint.
24 | rules:
25 | # avoid_print: false # Uncomment to disable the `avoid_print` rule
26 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
27 |
28 | # Additional information about this file can be found at
29 | # https://dart.dev/guides/language/analysis-options
30 |
--------------------------------------------------------------------------------
/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 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/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.android.application'
28 | apply plugin: 'com.google.gms.google-services'
29 |
30 | android {
31 | compileSdkVersion 33
32 | ndkVersion flutter.ndkVersion
33 |
34 | compileOptions {
35 | sourceCompatibility JavaVersion.VERSION_1_8
36 | targetCompatibility JavaVersion.VERSION_1_8
37 | }
38 |
39 | kotlinOptions {
40 | jvmTarget = '1.8'
41 | }
42 |
43 | sourceSets {
44 | main.java.srcDirs += 'src/main/kotlin'
45 | }
46 |
47 | defaultConfig {
48 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
49 | applicationId "com.shashi.homzy2"
50 | // You can update the following values to match your application needs.
51 | // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
52 | minSdkVersion 21
53 | targetSdkVersion flutter.targetSdkVersion
54 | versionCode flutterVersionCode.toInteger()
55 | versionName flutterVersionName
56 | multiDexEnabled true
57 | }
58 |
59 | buildTypes {
60 | release {
61 | // TODO: Add your own signing config for the release build.
62 | // Signing with the debug keys for now, so `flutter run --release` works.
63 | signingConfig signingConfigs.debug
64 | }
65 | }
66 | }
67 |
68 | flutter {
69 | source '../..'
70 | }
71 |
72 | dependencies {
73 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
74 | implementation platform('com.google.firebase:firebase-bom:31.2.2')
75 | }
76 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
10 |
18 |
22 |
26 |
27 |
28 |
29 |
30 |
31 |
33 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/shashi/homzy2/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.shashi.homzy2
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.6.10'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:7.1.2'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | classpath 'com.google.gms:google-services:4.3.15'
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | google()
18 | mavenCentral()
19 |
20 | }
21 | }
22 |
23 | rootProject.buildDir = '../build'
24 | subprojects {
25 | project.buildDir = "${rootProject.buildDir}/${project.name}"
26 | }
27 | subprojects {
28 | project.evaluationDependsOn(':app')
29 | }
30 |
31 | task clean(type: Delete) {
32 | delete rootProject.buildDir
33 | }
34 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
6 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/assets/1.1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/1.1.jpeg
--------------------------------------------------------------------------------
/assets/IMG_20230304_174306.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/IMG_20230304_174306.jpg
--------------------------------------------------------------------------------
/assets/IMG_20230304_174324.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/IMG_20230304_174324.jpg
--------------------------------------------------------------------------------
/assets/WhatsApp Image 2023-03-04 at 5.00.11 PM.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/WhatsApp Image 2023-03-04 at 5.00.11 PM.jpeg
--------------------------------------------------------------------------------
/assets/image1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/image1.png
--------------------------------------------------------------------------------
/assets/image2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/image2.png
--------------------------------------------------------------------------------
/assets/image3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/image3.png
--------------------------------------------------------------------------------
/assets/service/1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/service/1.jpeg
--------------------------------------------------------------------------------
/assets/service/2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/service/2.jpeg
--------------------------------------------------------------------------------
/assets/small_service/1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/small_service/1.jpeg
--------------------------------------------------------------------------------
/assets/small_service/2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/small_service/2.jpeg
--------------------------------------------------------------------------------
/assets/small_service/3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/small_service/3.jpeg
--------------------------------------------------------------------------------
/assets/small_service/4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/small_service/4.jpeg
--------------------------------------------------------------------------------
/assets/thumbnail-copy-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/assets/thumbnail-copy-3.jpg
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 11.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | platform :ios, '12.0'
3 |
4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6 |
7 | project 'Runner', {
8 | 'Debug' => :debug,
9 | 'Profile' => :release,
10 | 'Release' => :release,
11 | }
12 |
13 | def flutter_root
14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15 | unless File.exist?(generated_xcode_build_settings_path)
16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17 | end
18 |
19 | File.foreach(generated_xcode_build_settings_path) do |line|
20 | matches = line.match(/FLUTTER_ROOT\=(.*)/)
21 | return matches[1].strip if matches
22 | end
23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24 | end
25 |
26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27 |
28 | flutter_ios_podfile_setup
29 |
30 | target 'Runner' do
31 | use_frameworks!
32 | use_modular_headers!
33 |
34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35 | end
36 |
37 | post_install do |installer|
38 | installer.pods_project.targets.each do |target|
39 | flutter_additional_ios_build_settings(target)
40 | end
41 | end
42 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - abseil/algorithm (1.20211102.0):
3 | - abseil/algorithm/algorithm (= 1.20211102.0)
4 | - abseil/algorithm/container (= 1.20211102.0)
5 | - abseil/algorithm/algorithm (1.20211102.0):
6 | - abseil/base/config
7 | - abseil/algorithm/container (1.20211102.0):
8 | - abseil/algorithm/algorithm
9 | - abseil/base/core_headers
10 | - abseil/meta/type_traits
11 | - abseil/base (1.20211102.0):
12 | - abseil/base/atomic_hook (= 1.20211102.0)
13 | - abseil/base/base (= 1.20211102.0)
14 | - abseil/base/base_internal (= 1.20211102.0)
15 | - abseil/base/config (= 1.20211102.0)
16 | - abseil/base/core_headers (= 1.20211102.0)
17 | - abseil/base/dynamic_annotations (= 1.20211102.0)
18 | - abseil/base/endian (= 1.20211102.0)
19 | - abseil/base/errno_saver (= 1.20211102.0)
20 | - abseil/base/fast_type_id (= 1.20211102.0)
21 | - abseil/base/log_severity (= 1.20211102.0)
22 | - abseil/base/malloc_internal (= 1.20211102.0)
23 | - abseil/base/pretty_function (= 1.20211102.0)
24 | - abseil/base/raw_logging_internal (= 1.20211102.0)
25 | - abseil/base/spinlock_wait (= 1.20211102.0)
26 | - abseil/base/strerror (= 1.20211102.0)
27 | - abseil/base/throw_delegate (= 1.20211102.0)
28 | - abseil/base/atomic_hook (1.20211102.0):
29 | - abseil/base/config
30 | - abseil/base/core_headers
31 | - abseil/base/base (1.20211102.0):
32 | - abseil/base/atomic_hook
33 | - abseil/base/base_internal
34 | - abseil/base/config
35 | - abseil/base/core_headers
36 | - abseil/base/dynamic_annotations
37 | - abseil/base/log_severity
38 | - abseil/base/raw_logging_internal
39 | - abseil/base/spinlock_wait
40 | - abseil/meta/type_traits
41 | - abseil/base/base_internal (1.20211102.0):
42 | - abseil/base/config
43 | - abseil/meta/type_traits
44 | - abseil/base/config (1.20211102.0)
45 | - abseil/base/core_headers (1.20211102.0):
46 | - abseil/base/config
47 | - abseil/base/dynamic_annotations (1.20211102.0):
48 | - abseil/base/config
49 | - abseil/base/core_headers
50 | - abseil/base/endian (1.20211102.0):
51 | - abseil/base/base
52 | - abseil/base/config
53 | - abseil/base/core_headers
54 | - abseil/base/errno_saver (1.20211102.0):
55 | - abseil/base/config
56 | - abseil/base/fast_type_id (1.20211102.0):
57 | - abseil/base/config
58 | - abseil/base/log_severity (1.20211102.0):
59 | - abseil/base/config
60 | - abseil/base/core_headers
61 | - abseil/base/malloc_internal (1.20211102.0):
62 | - abseil/base/base
63 | - abseil/base/base_internal
64 | - abseil/base/config
65 | - abseil/base/core_headers
66 | - abseil/base/dynamic_annotations
67 | - abseil/base/raw_logging_internal
68 | - abseil/base/pretty_function (1.20211102.0)
69 | - abseil/base/raw_logging_internal (1.20211102.0):
70 | - abseil/base/atomic_hook
71 | - abseil/base/config
72 | - abseil/base/core_headers
73 | - abseil/base/log_severity
74 | - abseil/base/spinlock_wait (1.20211102.0):
75 | - abseil/base/base_internal
76 | - abseil/base/core_headers
77 | - abseil/base/errno_saver
78 | - abseil/base/strerror (1.20211102.0):
79 | - abseil/base/config
80 | - abseil/base/core_headers
81 | - abseil/base/errno_saver
82 | - abseil/base/throw_delegate (1.20211102.0):
83 | - abseil/base/config
84 | - abseil/base/raw_logging_internal
85 | - abseil/container/common (1.20211102.0):
86 | - abseil/meta/type_traits
87 | - abseil/types/optional
88 | - abseil/container/compressed_tuple (1.20211102.0):
89 | - abseil/utility/utility
90 | - abseil/container/container_memory (1.20211102.0):
91 | - abseil/base/config
92 | - abseil/memory/memory
93 | - abseil/meta/type_traits
94 | - abseil/utility/utility
95 | - abseil/container/fixed_array (1.20211102.0):
96 | - abseil/algorithm/algorithm
97 | - abseil/base/config
98 | - abseil/base/core_headers
99 | - abseil/base/dynamic_annotations
100 | - abseil/base/throw_delegate
101 | - abseil/container/compressed_tuple
102 | - abseil/memory/memory
103 | - abseil/container/flat_hash_map (1.20211102.0):
104 | - abseil/algorithm/container
105 | - abseil/container/container_memory
106 | - abseil/container/hash_function_defaults
107 | - abseil/container/raw_hash_map
108 | - abseil/memory/memory
109 | - abseil/container/hash_function_defaults (1.20211102.0):
110 | - abseil/base/config
111 | - abseil/hash/hash
112 | - abseil/strings/cord
113 | - abseil/strings/strings
114 | - abseil/container/hash_policy_traits (1.20211102.0):
115 | - abseil/meta/type_traits
116 | - abseil/container/hashtable_debug_hooks (1.20211102.0):
117 | - abseil/base/config
118 | - abseil/container/hashtablez_sampler (1.20211102.0):
119 | - abseil/base/base
120 | - abseil/base/core_headers
121 | - abseil/container/have_sse
122 | - abseil/debugging/stacktrace
123 | - abseil/memory/memory
124 | - abseil/profiling/exponential_biased
125 | - abseil/profiling/sample_recorder
126 | - abseil/synchronization/synchronization
127 | - abseil/utility/utility
128 | - abseil/container/have_sse (1.20211102.0)
129 | - abseil/container/inlined_vector (1.20211102.0):
130 | - abseil/algorithm/algorithm
131 | - abseil/base/core_headers
132 | - abseil/base/throw_delegate
133 | - abseil/container/inlined_vector_internal
134 | - abseil/memory/memory
135 | - abseil/container/inlined_vector_internal (1.20211102.0):
136 | - abseil/base/core_headers
137 | - abseil/container/compressed_tuple
138 | - abseil/memory/memory
139 | - abseil/meta/type_traits
140 | - abseil/types/span
141 | - abseil/container/layout (1.20211102.0):
142 | - abseil/base/config
143 | - abseil/base/core_headers
144 | - abseil/meta/type_traits
145 | - abseil/strings/strings
146 | - abseil/types/span
147 | - abseil/utility/utility
148 | - abseil/container/raw_hash_map (1.20211102.0):
149 | - abseil/base/throw_delegate
150 | - abseil/container/container_memory
151 | - abseil/container/raw_hash_set
152 | - abseil/container/raw_hash_set (1.20211102.0):
153 | - abseil/base/config
154 | - abseil/base/core_headers
155 | - abseil/base/endian
156 | - abseil/container/common
157 | - abseil/container/compressed_tuple
158 | - abseil/container/container_memory
159 | - abseil/container/hash_policy_traits
160 | - abseil/container/hashtable_debug_hooks
161 | - abseil/container/hashtablez_sampler
162 | - abseil/container/have_sse
163 | - abseil/memory/memory
164 | - abseil/meta/type_traits
165 | - abseil/numeric/bits
166 | - abseil/utility/utility
167 | - abseil/debugging/debugging_internal (1.20211102.0):
168 | - abseil/base/config
169 | - abseil/base/core_headers
170 | - abseil/base/dynamic_annotations
171 | - abseil/base/errno_saver
172 | - abseil/base/raw_logging_internal
173 | - abseil/debugging/demangle_internal (1.20211102.0):
174 | - abseil/base/base
175 | - abseil/base/config
176 | - abseil/base/core_headers
177 | - abseil/debugging/stacktrace (1.20211102.0):
178 | - abseil/base/config
179 | - abseil/base/core_headers
180 | - abseil/debugging/debugging_internal
181 | - abseil/debugging/symbolize (1.20211102.0):
182 | - abseil/base/base
183 | - abseil/base/config
184 | - abseil/base/core_headers
185 | - abseil/base/dynamic_annotations
186 | - abseil/base/malloc_internal
187 | - abseil/base/raw_logging_internal
188 | - abseil/debugging/debugging_internal
189 | - abseil/debugging/demangle_internal
190 | - abseil/strings/strings
191 | - abseil/functional/bind_front (1.20211102.0):
192 | - abseil/base/base_internal
193 | - abseil/container/compressed_tuple
194 | - abseil/meta/type_traits
195 | - abseil/utility/utility
196 | - abseil/functional/function_ref (1.20211102.0):
197 | - abseil/base/base_internal
198 | - abseil/base/core_headers
199 | - abseil/meta/type_traits
200 | - abseil/hash/city (1.20211102.0):
201 | - abseil/base/config
202 | - abseil/base/core_headers
203 | - abseil/base/endian
204 | - abseil/hash/hash (1.20211102.0):
205 | - abseil/base/config
206 | - abseil/base/core_headers
207 | - abseil/base/endian
208 | - abseil/container/fixed_array
209 | - abseil/hash/city
210 | - abseil/hash/low_level_hash
211 | - abseil/meta/type_traits
212 | - abseil/numeric/int128
213 | - abseil/strings/strings
214 | - abseil/types/optional
215 | - abseil/types/variant
216 | - abseil/utility/utility
217 | - abseil/hash/low_level_hash (1.20211102.0):
218 | - abseil/base/config
219 | - abseil/base/endian
220 | - abseil/numeric/bits
221 | - abseil/numeric/int128
222 | - abseil/memory (1.20211102.0):
223 | - abseil/memory/memory (= 1.20211102.0)
224 | - abseil/memory/memory (1.20211102.0):
225 | - abseil/base/core_headers
226 | - abseil/meta/type_traits
227 | - abseil/meta (1.20211102.0):
228 | - abseil/meta/type_traits (= 1.20211102.0)
229 | - abseil/meta/type_traits (1.20211102.0):
230 | - abseil/base/config
231 | - abseil/numeric/bits (1.20211102.0):
232 | - abseil/base/config
233 | - abseil/base/core_headers
234 | - abseil/numeric/int128 (1.20211102.0):
235 | - abseil/base/config
236 | - abseil/base/core_headers
237 | - abseil/numeric/bits
238 | - abseil/numeric/representation (1.20211102.0):
239 | - abseil/base/config
240 | - abseil/profiling/exponential_biased (1.20211102.0):
241 | - abseil/base/config
242 | - abseil/base/core_headers
243 | - abseil/profiling/sample_recorder (1.20211102.0):
244 | - abseil/base/config
245 | - abseil/base/core_headers
246 | - abseil/synchronization/synchronization
247 | - abseil/time/time
248 | - abseil/random/distributions (1.20211102.0):
249 | - abseil/base/base_internal
250 | - abseil/base/config
251 | - abseil/base/core_headers
252 | - abseil/meta/type_traits
253 | - abseil/numeric/bits
254 | - abseil/random/internal/distribution_caller
255 | - abseil/random/internal/fast_uniform_bits
256 | - abseil/random/internal/fastmath
257 | - abseil/random/internal/generate_real
258 | - abseil/random/internal/iostream_state_saver
259 | - abseil/random/internal/traits
260 | - abseil/random/internal/uniform_helper
261 | - abseil/random/internal/wide_multiply
262 | - abseil/strings/strings
263 | - abseil/random/internal/distribution_caller (1.20211102.0):
264 | - abseil/base/config
265 | - abseil/base/fast_type_id
266 | - abseil/utility/utility
267 | - abseil/random/internal/fast_uniform_bits (1.20211102.0):
268 | - abseil/base/config
269 | - abseil/meta/type_traits
270 | - abseil/random/internal/fastmath (1.20211102.0):
271 | - abseil/numeric/bits
272 | - abseil/random/internal/generate_real (1.20211102.0):
273 | - abseil/meta/type_traits
274 | - abseil/numeric/bits
275 | - abseil/random/internal/fastmath
276 | - abseil/random/internal/traits
277 | - abseil/random/internal/iostream_state_saver (1.20211102.0):
278 | - abseil/meta/type_traits
279 | - abseil/numeric/int128
280 | - abseil/random/internal/nonsecure_base (1.20211102.0):
281 | - abseil/base/core_headers
282 | - abseil/meta/type_traits
283 | - abseil/random/internal/pool_urbg
284 | - abseil/random/internal/salted_seed_seq
285 | - abseil/random/internal/seed_material
286 | - abseil/types/optional
287 | - abseil/types/span
288 | - abseil/random/internal/pcg_engine (1.20211102.0):
289 | - abseil/base/config
290 | - abseil/meta/type_traits
291 | - abseil/numeric/bits
292 | - abseil/numeric/int128
293 | - abseil/random/internal/fastmath
294 | - abseil/random/internal/iostream_state_saver
295 | - abseil/random/internal/platform (1.20211102.0):
296 | - abseil/base/config
297 | - abseil/random/internal/pool_urbg (1.20211102.0):
298 | - abseil/base/base
299 | - abseil/base/config
300 | - abseil/base/core_headers
301 | - abseil/base/endian
302 | - abseil/base/raw_logging_internal
303 | - abseil/random/internal/randen
304 | - abseil/random/internal/seed_material
305 | - abseil/random/internal/traits
306 | - abseil/random/seed_gen_exception
307 | - abseil/types/span
308 | - abseil/random/internal/randen (1.20211102.0):
309 | - abseil/base/raw_logging_internal
310 | - abseil/random/internal/platform
311 | - abseil/random/internal/randen_hwaes
312 | - abseil/random/internal/randen_slow
313 | - abseil/random/internal/randen_engine (1.20211102.0):
314 | - abseil/base/endian
315 | - abseil/meta/type_traits
316 | - abseil/random/internal/iostream_state_saver
317 | - abseil/random/internal/randen
318 | - abseil/random/internal/randen_hwaes (1.20211102.0):
319 | - abseil/base/config
320 | - abseil/random/internal/platform
321 | - abseil/random/internal/randen_hwaes_impl
322 | - abseil/random/internal/randen_hwaes_impl (1.20211102.0):
323 | - abseil/base/config
324 | - abseil/base/core_headers
325 | - abseil/numeric/int128
326 | - abseil/random/internal/platform
327 | - abseil/random/internal/randen_slow (1.20211102.0):
328 | - abseil/base/config
329 | - abseil/base/core_headers
330 | - abseil/base/endian
331 | - abseil/numeric/int128
332 | - abseil/random/internal/platform
333 | - abseil/random/internal/salted_seed_seq (1.20211102.0):
334 | - abseil/container/inlined_vector
335 | - abseil/meta/type_traits
336 | - abseil/random/internal/seed_material
337 | - abseil/types/optional
338 | - abseil/types/span
339 | - abseil/random/internal/seed_material (1.20211102.0):
340 | - abseil/base/core_headers
341 | - abseil/base/dynamic_annotations
342 | - abseil/base/raw_logging_internal
343 | - abseil/random/internal/fast_uniform_bits
344 | - abseil/strings/strings
345 | - abseil/types/optional
346 | - abseil/types/span
347 | - abseil/random/internal/traits (1.20211102.0):
348 | - abseil/base/config
349 | - abseil/random/internal/uniform_helper (1.20211102.0):
350 | - abseil/base/config
351 | - abseil/meta/type_traits
352 | - abseil/random/internal/traits
353 | - abseil/random/internal/wide_multiply (1.20211102.0):
354 | - abseil/base/config
355 | - abseil/numeric/bits
356 | - abseil/numeric/int128
357 | - abseil/random/internal/traits
358 | - abseil/random/random (1.20211102.0):
359 | - abseil/random/distributions
360 | - abseil/random/internal/nonsecure_base
361 | - abseil/random/internal/pcg_engine
362 | - abseil/random/internal/pool_urbg
363 | - abseil/random/internal/randen_engine
364 | - abseil/random/seed_sequences
365 | - abseil/random/seed_gen_exception (1.20211102.0):
366 | - abseil/base/config
367 | - abseil/random/seed_sequences (1.20211102.0):
368 | - abseil/container/inlined_vector
369 | - abseil/random/internal/nonsecure_base
370 | - abseil/random/internal/pool_urbg
371 | - abseil/random/internal/salted_seed_seq
372 | - abseil/random/internal/seed_material
373 | - abseil/random/seed_gen_exception
374 | - abseil/types/span
375 | - abseil/status/status (1.20211102.0):
376 | - abseil/base/atomic_hook
377 | - abseil/base/config
378 | - abseil/base/core_headers
379 | - abseil/base/raw_logging_internal
380 | - abseil/container/inlined_vector
381 | - abseil/debugging/stacktrace
382 | - abseil/debugging/symbolize
383 | - abseil/functional/function_ref
384 | - abseil/strings/cord
385 | - abseil/strings/str_format
386 | - abseil/strings/strings
387 | - abseil/types/optional
388 | - abseil/status/statusor (1.20211102.0):
389 | - abseil/base/base
390 | - abseil/base/core_headers
391 | - abseil/base/raw_logging_internal
392 | - abseil/meta/type_traits
393 | - abseil/status/status
394 | - abseil/strings/strings
395 | - abseil/types/variant
396 | - abseil/utility/utility
397 | - abseil/strings/cord (1.20211102.0):
398 | - abseil/base/base
399 | - abseil/base/config
400 | - abseil/base/core_headers
401 | - abseil/base/endian
402 | - abseil/base/raw_logging_internal
403 | - abseil/container/fixed_array
404 | - abseil/container/inlined_vector
405 | - abseil/functional/function_ref
406 | - abseil/meta/type_traits
407 | - abseil/strings/cord_internal
408 | - abseil/strings/cordz_functions
409 | - abseil/strings/cordz_info
410 | - abseil/strings/cordz_statistics
411 | - abseil/strings/cordz_update_scope
412 | - abseil/strings/cordz_update_tracker
413 | - abseil/strings/internal
414 | - abseil/strings/str_format
415 | - abseil/strings/strings
416 | - abseil/types/optional
417 | - abseil/strings/cord_internal (1.20211102.0):
418 | - abseil/base/base_internal
419 | - abseil/base/config
420 | - abseil/base/core_headers
421 | - abseil/base/endian
422 | - abseil/base/raw_logging_internal
423 | - abseil/base/throw_delegate
424 | - abseil/container/compressed_tuple
425 | - abseil/container/inlined_vector
426 | - abseil/container/layout
427 | - abseil/functional/function_ref
428 | - abseil/meta/type_traits
429 | - abseil/strings/strings
430 | - abseil/types/span
431 | - abseil/strings/cordz_functions (1.20211102.0):
432 | - abseil/base/config
433 | - abseil/base/core_headers
434 | - abseil/base/raw_logging_internal
435 | - abseil/profiling/exponential_biased
436 | - abseil/strings/cordz_handle (1.20211102.0):
437 | - abseil/base/base
438 | - abseil/base/config
439 | - abseil/base/raw_logging_internal
440 | - abseil/synchronization/synchronization
441 | - abseil/strings/cordz_info (1.20211102.0):
442 | - abseil/base/base
443 | - abseil/base/config
444 | - abseil/base/core_headers
445 | - abseil/base/raw_logging_internal
446 | - abseil/container/inlined_vector
447 | - abseil/debugging/stacktrace
448 | - abseil/strings/cord_internal
449 | - abseil/strings/cordz_functions
450 | - abseil/strings/cordz_handle
451 | - abseil/strings/cordz_statistics
452 | - abseil/strings/cordz_update_tracker
453 | - abseil/synchronization/synchronization
454 | - abseil/types/span
455 | - abseil/strings/cordz_statistics (1.20211102.0):
456 | - abseil/base/config
457 | - abseil/strings/cordz_update_tracker
458 | - abseil/strings/cordz_update_scope (1.20211102.0):
459 | - abseil/base/config
460 | - abseil/base/core_headers
461 | - abseil/strings/cord_internal
462 | - abseil/strings/cordz_info
463 | - abseil/strings/cordz_update_tracker
464 | - abseil/strings/cordz_update_tracker (1.20211102.0):
465 | - abseil/base/config
466 | - abseil/strings/internal (1.20211102.0):
467 | - abseil/base/config
468 | - abseil/base/core_headers
469 | - abseil/base/endian
470 | - abseil/base/raw_logging_internal
471 | - abseil/meta/type_traits
472 | - abseil/strings/str_format (1.20211102.0):
473 | - abseil/strings/str_format_internal
474 | - abseil/strings/str_format_internal (1.20211102.0):
475 | - abseil/base/config
476 | - abseil/base/core_headers
477 | - abseil/functional/function_ref
478 | - abseil/meta/type_traits
479 | - abseil/numeric/bits
480 | - abseil/numeric/int128
481 | - abseil/numeric/representation
482 | - abseil/strings/strings
483 | - abseil/types/optional
484 | - abseil/types/span
485 | - abseil/strings/strings (1.20211102.0):
486 | - abseil/base/base
487 | - abseil/base/config
488 | - abseil/base/core_headers
489 | - abseil/base/endian
490 | - abseil/base/raw_logging_internal
491 | - abseil/base/throw_delegate
492 | - abseil/memory/memory
493 | - abseil/meta/type_traits
494 | - abseil/numeric/bits
495 | - abseil/numeric/int128
496 | - abseil/strings/internal
497 | - abseil/synchronization/graphcycles_internal (1.20211102.0):
498 | - abseil/base/base
499 | - abseil/base/base_internal
500 | - abseil/base/config
501 | - abseil/base/core_headers
502 | - abseil/base/malloc_internal
503 | - abseil/base/raw_logging_internal
504 | - abseil/synchronization/kernel_timeout_internal (1.20211102.0):
505 | - abseil/base/core_headers
506 | - abseil/base/raw_logging_internal
507 | - abseil/time/time
508 | - abseil/synchronization/synchronization (1.20211102.0):
509 | - abseil/base/atomic_hook
510 | - abseil/base/base
511 | - abseil/base/base_internal
512 | - abseil/base/config
513 | - abseil/base/core_headers
514 | - abseil/base/dynamic_annotations
515 | - abseil/base/malloc_internal
516 | - abseil/base/raw_logging_internal
517 | - abseil/debugging/stacktrace
518 | - abseil/debugging/symbolize
519 | - abseil/synchronization/graphcycles_internal
520 | - abseil/synchronization/kernel_timeout_internal
521 | - abseil/time/time
522 | - abseil/time (1.20211102.0):
523 | - abseil/time/internal (= 1.20211102.0)
524 | - abseil/time/time (= 1.20211102.0)
525 | - abseil/time/internal (1.20211102.0):
526 | - abseil/time/internal/cctz (= 1.20211102.0)
527 | - abseil/time/internal/cctz (1.20211102.0):
528 | - abseil/time/internal/cctz/civil_time (= 1.20211102.0)
529 | - abseil/time/internal/cctz/time_zone (= 1.20211102.0)
530 | - abseil/time/internal/cctz/civil_time (1.20211102.0):
531 | - abseil/base/config
532 | - abseil/time/internal/cctz/time_zone (1.20211102.0):
533 | - abseil/base/config
534 | - abseil/time/internal/cctz/civil_time
535 | - abseil/time/time (1.20211102.0):
536 | - abseil/base/base
537 | - abseil/base/core_headers
538 | - abseil/base/raw_logging_internal
539 | - abseil/numeric/int128
540 | - abseil/strings/strings
541 | - abseil/time/internal/cctz/civil_time
542 | - abseil/time/internal/cctz/time_zone
543 | - abseil/types (1.20211102.0):
544 | - abseil/types/any (= 1.20211102.0)
545 | - abseil/types/bad_any_cast (= 1.20211102.0)
546 | - abseil/types/bad_any_cast_impl (= 1.20211102.0)
547 | - abseil/types/bad_optional_access (= 1.20211102.0)
548 | - abseil/types/bad_variant_access (= 1.20211102.0)
549 | - abseil/types/compare (= 1.20211102.0)
550 | - abseil/types/optional (= 1.20211102.0)
551 | - abseil/types/span (= 1.20211102.0)
552 | - abseil/types/variant (= 1.20211102.0)
553 | - abseil/types/any (1.20211102.0):
554 | - abseil/base/config
555 | - abseil/base/core_headers
556 | - abseil/base/fast_type_id
557 | - abseil/meta/type_traits
558 | - abseil/types/bad_any_cast
559 | - abseil/utility/utility
560 | - abseil/types/bad_any_cast (1.20211102.0):
561 | - abseil/base/config
562 | - abseil/types/bad_any_cast_impl
563 | - abseil/types/bad_any_cast_impl (1.20211102.0):
564 | - abseil/base/config
565 | - abseil/base/raw_logging_internal
566 | - abseil/types/bad_optional_access (1.20211102.0):
567 | - abseil/base/config
568 | - abseil/base/raw_logging_internal
569 | - abseil/types/bad_variant_access (1.20211102.0):
570 | - abseil/base/config
571 | - abseil/base/raw_logging_internal
572 | - abseil/types/compare (1.20211102.0):
573 | - abseil/base/core_headers
574 | - abseil/meta/type_traits
575 | - abseil/types/optional (1.20211102.0):
576 | - abseil/base/base_internal
577 | - abseil/base/config
578 | - abseil/base/core_headers
579 | - abseil/memory/memory
580 | - abseil/meta/type_traits
581 | - abseil/types/bad_optional_access
582 | - abseil/utility/utility
583 | - abseil/types/span (1.20211102.0):
584 | - abseil/algorithm/algorithm
585 | - abseil/base/core_headers
586 | - abseil/base/throw_delegate
587 | - abseil/meta/type_traits
588 | - abseil/types/variant (1.20211102.0):
589 | - abseil/base/base_internal
590 | - abseil/base/config
591 | - abseil/base/core_headers
592 | - abseil/meta/type_traits
593 | - abseil/types/bad_variant_access
594 | - abseil/utility/utility
595 | - abseil/utility/utility (1.20211102.0):
596 | - abseil/base/base_internal
597 | - abseil/base/config
598 | - abseil/meta/type_traits
599 | - BoringSSL-GRPC (0.0.24):
600 | - BoringSSL-GRPC/Implementation (= 0.0.24)
601 | - BoringSSL-GRPC/Interface (= 0.0.24)
602 | - BoringSSL-GRPC/Implementation (0.0.24):
603 | - BoringSSL-GRPC/Interface (= 0.0.24)
604 | - BoringSSL-GRPC/Interface (0.0.24)
605 | - cloud_firestore (4.4.3):
606 | - Firebase/Firestore (= 10.3.0)
607 | - firebase_core
608 | - Flutter
609 | - nanopb (< 2.30910.0, >= 2.30908.0)
610 | - Firebase/Auth (10.3.0):
611 | - Firebase/CoreOnly
612 | - FirebaseAuth (~> 10.3.0)
613 | - Firebase/CoreOnly (10.3.0):
614 | - FirebaseCore (= 10.3.0)
615 | - Firebase/Firestore (10.3.0):
616 | - Firebase/CoreOnly
617 | - FirebaseFirestore (~> 10.3.0)
618 | - Firebase/Storage (10.3.0):
619 | - Firebase/CoreOnly
620 | - FirebaseStorage (~> 10.3.0)
621 | - firebase_auth (4.2.9):
622 | - Firebase/Auth (= 10.3.0)
623 | - firebase_core
624 | - Flutter
625 | - firebase_core (2.7.0):
626 | - Firebase/CoreOnly (= 10.3.0)
627 | - Flutter
628 | - firebase_storage (11.0.14):
629 | - Firebase/Storage (= 10.3.0)
630 | - firebase_core
631 | - Flutter
632 | - FirebaseAppCheckInterop (10.6.0)
633 | - FirebaseAuth (10.3.0):
634 | - FirebaseCore (~> 10.0)
635 | - GoogleUtilities/AppDelegateSwizzler (~> 7.8)
636 | - GoogleUtilities/Environment (~> 7.8)
637 | - GTMSessionFetcher/Core (< 4.0, >= 2.1)
638 | - FirebaseAuthInterop (10.6.0)
639 | - FirebaseCore (10.3.0):
640 | - FirebaseCoreInternal (~> 10.0)
641 | - GoogleUtilities/Environment (~> 7.8)
642 | - GoogleUtilities/Logger (~> 7.8)
643 | - FirebaseCoreExtension (10.6.0):
644 | - FirebaseCore (~> 10.0)
645 | - FirebaseCoreInternal (10.6.0):
646 | - "GoogleUtilities/NSData+zlib (~> 7.8)"
647 | - FirebaseFirestore (10.3.0):
648 | - abseil/algorithm (~> 1.20211102.0)
649 | - abseil/base (~> 1.20211102.0)
650 | - abseil/container/flat_hash_map (~> 1.20211102.0)
651 | - abseil/memory (~> 1.20211102.0)
652 | - abseil/meta (~> 1.20211102.0)
653 | - abseil/strings/strings (~> 1.20211102.0)
654 | - abseil/time (~> 1.20211102.0)
655 | - abseil/types (~> 1.20211102.0)
656 | - FirebaseCore (~> 10.0)
657 | - "gRPC-C++ (~> 1.44.0)"
658 | - leveldb-library (~> 1.22)
659 | - nanopb (< 2.30910.0, >= 2.30908.0)
660 | - FirebaseStorage (10.3.0):
661 | - FirebaseAppCheckInterop (~> 10.0)
662 | - FirebaseAuthInterop (~> 10.0)
663 | - FirebaseCore (~> 10.0)
664 | - FirebaseCoreExtension (~> 10.0)
665 | - GTMSessionFetcher/Core (< 4.0, >= 2.1)
666 | - Flutter (1.0.0)
667 | - GoogleUtilities/AppDelegateSwizzler (7.11.0):
668 | - GoogleUtilities/Environment
669 | - GoogleUtilities/Logger
670 | - GoogleUtilities/Network
671 | - GoogleUtilities/Environment (7.11.0):
672 | - PromisesObjC (< 3.0, >= 1.2)
673 | - GoogleUtilities/Logger (7.11.0):
674 | - GoogleUtilities/Environment
675 | - GoogleUtilities/Network (7.11.0):
676 | - GoogleUtilities/Logger
677 | - "GoogleUtilities/NSData+zlib"
678 | - GoogleUtilities/Reachability
679 | - "GoogleUtilities/NSData+zlib (7.11.0)"
680 | - GoogleUtilities/Reachability (7.11.0):
681 | - GoogleUtilities/Logger
682 | - "gRPC-C++ (1.44.0)":
683 | - "gRPC-C++/Implementation (= 1.44.0)"
684 | - "gRPC-C++/Interface (= 1.44.0)"
685 | - "gRPC-C++/Implementation (1.44.0)":
686 | - abseil/base/base (= 1.20211102.0)
687 | - abseil/base/core_headers (= 1.20211102.0)
688 | - abseil/container/flat_hash_map (= 1.20211102.0)
689 | - abseil/container/inlined_vector (= 1.20211102.0)
690 | - abseil/functional/bind_front (= 1.20211102.0)
691 | - abseil/hash/hash (= 1.20211102.0)
692 | - abseil/memory/memory (= 1.20211102.0)
693 | - abseil/random/random (= 1.20211102.0)
694 | - abseil/status/status (= 1.20211102.0)
695 | - abseil/status/statusor (= 1.20211102.0)
696 | - abseil/strings/cord (= 1.20211102.0)
697 | - abseil/strings/str_format (= 1.20211102.0)
698 | - abseil/strings/strings (= 1.20211102.0)
699 | - abseil/synchronization/synchronization (= 1.20211102.0)
700 | - abseil/time/time (= 1.20211102.0)
701 | - abseil/types/optional (= 1.20211102.0)
702 | - abseil/types/variant (= 1.20211102.0)
703 | - abseil/utility/utility (= 1.20211102.0)
704 | - "gRPC-C++/Interface (= 1.44.0)"
705 | - gRPC-Core (= 1.44.0)
706 | - "gRPC-C++/Interface (1.44.0)"
707 | - gRPC-Core (1.44.0):
708 | - gRPC-Core/Implementation (= 1.44.0)
709 | - gRPC-Core/Interface (= 1.44.0)
710 | - gRPC-Core/Implementation (1.44.0):
711 | - abseil/base/base (= 1.20211102.0)
712 | - abseil/base/core_headers (= 1.20211102.0)
713 | - abseil/container/flat_hash_map (= 1.20211102.0)
714 | - abseil/container/inlined_vector (= 1.20211102.0)
715 | - abseil/functional/bind_front (= 1.20211102.0)
716 | - abseil/hash/hash (= 1.20211102.0)
717 | - abseil/memory/memory (= 1.20211102.0)
718 | - abseil/random/random (= 1.20211102.0)
719 | - abseil/status/status (= 1.20211102.0)
720 | - abseil/status/statusor (= 1.20211102.0)
721 | - abseil/strings/cord (= 1.20211102.0)
722 | - abseil/strings/str_format (= 1.20211102.0)
723 | - abseil/strings/strings (= 1.20211102.0)
724 | - abseil/synchronization/synchronization (= 1.20211102.0)
725 | - abseil/time/time (= 1.20211102.0)
726 | - abseil/types/optional (= 1.20211102.0)
727 | - abseil/types/variant (= 1.20211102.0)
728 | - abseil/utility/utility (= 1.20211102.0)
729 | - BoringSSL-GRPC (= 0.0.24)
730 | - gRPC-Core/Interface (= 1.44.0)
731 | - Libuv-gRPC (= 0.0.10)
732 | - gRPC-Core/Interface (1.44.0)
733 | - GTMSessionFetcher/Core (3.1.0)
734 | - image_picker_ios (0.0.1):
735 | - Flutter
736 | - Kingfisher (7.0.0)
737 | - Kommunicate (6.7.9):
738 | - KommunicateChatUI-iOS-SDK (~> 0.3.1)
739 | - kommunicate_flutter (0.0.1):
740 | - Flutter
741 | - Kommunicate (~> 6.7.8)
742 | - KommunicateChatUI-iOS-SDK (0.3.1):
743 | - KommunicateChatUI-iOS-SDK/Complete (= 0.3.1)
744 | - KommunicateChatUI-iOS-SDK/Complete (0.3.1):
745 | - Kingfisher (~> 7.0.0)
746 | - KommunicateChatUI-iOS-SDK/RichMessageKit
747 | - KommunicateCore-iOS-SDK (~> 1.0.7)
748 | - SwipeCellKit (~> 2.7.1)
749 | - ZendeskChatProvidersSDK
750 | - ZendeskChatSDK
751 | - KommunicateChatUI-iOS-SDK/RichMessageKit (0.3.1)
752 | - KommunicateCore-iOS-SDK (1.0.7)
753 | - leveldb-library (1.22.1)
754 | - Libuv-gRPC (0.0.10):
755 | - Libuv-gRPC/Implementation (= 0.0.10)
756 | - Libuv-gRPC/Interface (= 0.0.10)
757 | - Libuv-gRPC/Implementation (0.0.10):
758 | - Libuv-gRPC/Interface (= 0.0.10)
759 | - Libuv-gRPC/Interface (0.0.10)
760 | - nanopb (2.30909.0):
761 | - nanopb/decode (= 2.30909.0)
762 | - nanopb/encode (= 2.30909.0)
763 | - nanopb/decode (2.30909.0)
764 | - nanopb/encode (2.30909.0)
765 | - PromisesObjC (2.2.0)
766 | - shared_preferences_foundation (0.0.1):
767 | - Flutter
768 | - FlutterMacOS
769 | - smart_auth (0.0.1):
770 | - Flutter
771 | - SwipeCellKit (2.7.1)
772 | - ZendeskChatProvidersSDK (3.0.0)
773 | - ZendeskChatSDK (3.0.0):
774 | - ZendeskChatProvidersSDK (= 3.0.0)
775 | - ZendeskMessagingSDK (= 4.0.0)
776 | - ZendeskCommonUISDK (7.0.0)
777 | - ZendeskMessagingAPISDK (4.0.0):
778 | - ZendeskSDKConfigurationsSDK (= 2.0.0)
779 | - ZendeskMessagingSDK (4.0.0):
780 | - ZendeskCommonUISDK (= 7.0.0)
781 | - ZendeskMessagingAPISDK (= 4.0.0)
782 | - ZendeskSDKConfigurationsSDK (2.0.0)
783 |
784 | DEPENDENCIES:
785 | - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
786 | - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
787 | - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
788 | - firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
789 | - Flutter (from `Flutter`)
790 | - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
791 | - kommunicate_flutter (from `.symlinks/plugins/kommunicate_flutter/ios`)
792 | - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
793 | - smart_auth (from `.symlinks/plugins/smart_auth/ios`)
794 |
795 | SPEC REPOS:
796 | trunk:
797 | - abseil
798 | - BoringSSL-GRPC
799 | - Firebase
800 | - FirebaseAppCheckInterop
801 | - FirebaseAuth
802 | - FirebaseAuthInterop
803 | - FirebaseCore
804 | - FirebaseCoreExtension
805 | - FirebaseCoreInternal
806 | - FirebaseFirestore
807 | - FirebaseStorage
808 | - GoogleUtilities
809 | - "gRPC-C++"
810 | - gRPC-Core
811 | - GTMSessionFetcher
812 | - Kingfisher
813 | - Kommunicate
814 | - KommunicateChatUI-iOS-SDK
815 | - KommunicateCore-iOS-SDK
816 | - leveldb-library
817 | - Libuv-gRPC
818 | - nanopb
819 | - PromisesObjC
820 | - SwipeCellKit
821 | - ZendeskChatProvidersSDK
822 | - ZendeskChatSDK
823 | - ZendeskCommonUISDK
824 | - ZendeskMessagingAPISDK
825 | - ZendeskMessagingSDK
826 | - ZendeskSDKConfigurationsSDK
827 |
828 | EXTERNAL SOURCES:
829 | cloud_firestore:
830 | :path: ".symlinks/plugins/cloud_firestore/ios"
831 | firebase_auth:
832 | :path: ".symlinks/plugins/firebase_auth/ios"
833 | firebase_core:
834 | :path: ".symlinks/plugins/firebase_core/ios"
835 | firebase_storage:
836 | :path: ".symlinks/plugins/firebase_storage/ios"
837 | Flutter:
838 | :path: Flutter
839 | image_picker_ios:
840 | :path: ".symlinks/plugins/image_picker_ios/ios"
841 | kommunicate_flutter:
842 | :path: ".symlinks/plugins/kommunicate_flutter/ios"
843 | shared_preferences_foundation:
844 | :path: ".symlinks/plugins/shared_preferences_foundation/ios"
845 | smart_auth:
846 | :path: ".symlinks/plugins/smart_auth/ios"
847 |
848 | SPEC CHECKSUMS:
849 | abseil: ebe5b5529fb05d93a8bdb7951607be08b7fa71bc
850 | BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33
851 | cloud_firestore: 94326bb743acbfe43c68f933dab8a094e84d5849
852 | Firebase: f92fc551ead69c94168d36c2b26188263860acd9
853 | firebase_auth: 4e8c693e848ed13b263de2d702d55fa82ed04a79
854 | firebase_core: 128d8c43c3a453a4a67463314fc3761bedff860b
855 | firebase_storage: bdbef04ce485eb426152016c735736bc3615b8c0
856 | FirebaseAppCheckInterop: 13e5394346a811e7158cc136c01f10e3302a3514
857 | FirebaseAuth: 0e415d29d846c1dce2fb641e46f35e9888d9bec6
858 | FirebaseAuthInterop: e407335bca1938d65c58db8f4ad14b3c1f862a82
859 | FirebaseCore: 988754646ab3bd4bdcb740f1bfe26b9f6c0d5f2a
860 | FirebaseCoreExtension: 318e5ee9ad4092b00423c2bddd51c3f5c3585973
861 | FirebaseCoreInternal: c7cd505e2136811096b225ac388d6254a2622362
862 | FirebaseFirestore: 244f71ff14ef44f39e00b44d356eac708ce03103
863 | FirebaseStorage: 0efbff0ac978981866d89804191688ae50d64033
864 | Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
865 | GoogleUtilities: c2bdc4cf2ce786c4d2e6b3bcfd599a25ca78f06f
866 | "gRPC-C++": 9675f953ace2b3de7c506039d77be1f2e77a8db2
867 | gRPC-Core: 943e491cb0d45598b0b0eb9e910c88080369290b
868 | GTMSessionFetcher: c9e714f7eec91a55641e2bab9f45fd83a219b882
869 | image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
870 | Kingfisher: 5efc54fec3980f92354898532e562cc17f31efb4
871 | Kommunicate: 02f39f6f755e65c9aa3533e2e824c5f02dc31cfa
872 | kommunicate_flutter: 82057824f880f06746b4447bccb4324fdfd9f852
873 | KommunicateChatUI-iOS-SDK: 149115b70dd60634a83db5bbf7fca5d805a29a5b
874 | KommunicateCore-iOS-SDK: dbcd925238d785a45181d03353a011e3634b23f9
875 | leveldb-library: 50c7b45cbd7bf543c81a468fe557a16ae3db8729
876 | Libuv-gRPC: 55e51798e14ef436ad9bc45d12d43b77b49df378
877 | nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
878 | PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef
879 | shared_preferences_foundation: 986fc17f3d3251412d18b0265f9c64113a8c2472
880 | smart_auth: 4bedbc118723912d0e45a07e8ab34039c19e04f2
881 | SwipeCellKit: 3972254a826da74609926daf59b08d6c72e619ea
882 | ZendeskChatProvidersSDK: af93e02e2058875f92e6ad86e74ee51203b4079e
883 | ZendeskChatSDK: fe03650a5ebe3d35fd1f4da90792021f809bcf11
884 | ZendeskCommonUISDK: f06dbac6c9e74c3afff75ecdc6bec3832b23258c
885 | ZendeskMessagingAPISDK: 95a99f1eab9482b4106ec88466b93a89f9f7c5fa
886 | ZendeskMessagingSDK: 4f5f3d43766bb3b2ea6411d1331cfe609ff33618
887 | ZendeskSDKConfigurationsSDK: a5c21010e17b71d02bc2cfe73dcc9da1efa0a7b2
888 |
889 | PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048
890 |
891 | COCOAPODS: 1.12.0
892 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 51;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
12 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
13 | 764A2DDA29B161BB0022A36A /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 764A2DD929B161BB0022A36A /* GoogleService-Info.plist */; };
14 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
15 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
16 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
17 | D6C46EDCA8476DCFA5312262 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34A02E3934F4246CE0D01A2A /* Pods_Runner.framework */; };
18 | /* End PBXBuildFile section */
19 |
20 | /* Begin PBXCopyFilesBuildPhase section */
21 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
22 | isa = PBXCopyFilesBuildPhase;
23 | buildActionMask = 2147483647;
24 | dstPath = "";
25 | dstSubfolderSpec = 10;
26 | files = (
27 | );
28 | name = "Embed Frameworks";
29 | runOnlyForDeploymentPostprocessing = 0;
30 | };
31 | /* End PBXCopyFilesBuildPhase section */
32 |
33 | /* Begin PBXFileReference section */
34 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
35 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
36 | 34A02E3934F4246CE0D01A2A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
37 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
38 | 55881040B923638AA6855621 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
39 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
40 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
41 | 764A2DD929B161BB0022A36A /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
42 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
43 | 92206950421A6C0DDBE1A097 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
44 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
45 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
46 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
47 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
48 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
49 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
50 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
51 | F15E6F248533EB4634C578E8 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
52 | /* End PBXFileReference section */
53 |
54 | /* Begin PBXFrameworksBuildPhase section */
55 | 97C146EB1CF9000F007C117D /* Frameworks */ = {
56 | isa = PBXFrameworksBuildPhase;
57 | buildActionMask = 2147483647;
58 | files = (
59 | D6C46EDCA8476DCFA5312262 /* Pods_Runner.framework in Frameworks */,
60 | );
61 | runOnlyForDeploymentPostprocessing = 0;
62 | };
63 | /* End PBXFrameworksBuildPhase section */
64 |
65 | /* Begin PBXGroup section */
66 | 0809D396D08317B10E08C5F4 /* Pods */ = {
67 | isa = PBXGroup;
68 | children = (
69 | F15E6F248533EB4634C578E8 /* Pods-Runner.debug.xcconfig */,
70 | 92206950421A6C0DDBE1A097 /* Pods-Runner.release.xcconfig */,
71 | 55881040B923638AA6855621 /* Pods-Runner.profile.xcconfig */,
72 | );
73 | path = Pods;
74 | sourceTree = "";
75 | };
76 | 3AB1F12A73AF2E4746955E5F /* Frameworks */ = {
77 | isa = PBXGroup;
78 | children = (
79 | 34A02E3934F4246CE0D01A2A /* Pods_Runner.framework */,
80 | );
81 | name = Frameworks;
82 | sourceTree = "";
83 | };
84 | 9740EEB11CF90186004384FC /* Flutter */ = {
85 | isa = PBXGroup;
86 | children = (
87 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
88 | 9740EEB21CF90195004384FC /* Debug.xcconfig */,
89 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
90 | 9740EEB31CF90195004384FC /* Generated.xcconfig */,
91 | );
92 | name = Flutter;
93 | sourceTree = "";
94 | };
95 | 97C146E51CF9000F007C117D = {
96 | isa = PBXGroup;
97 | children = (
98 | 9740EEB11CF90186004384FC /* Flutter */,
99 | 97C146F01CF9000F007C117D /* Runner */,
100 | 97C146EF1CF9000F007C117D /* Products */,
101 | 0809D396D08317B10E08C5F4 /* Pods */,
102 | 3AB1F12A73AF2E4746955E5F /* Frameworks */,
103 | );
104 | sourceTree = "";
105 | };
106 | 97C146EF1CF9000F007C117D /* Products */ = {
107 | isa = PBXGroup;
108 | children = (
109 | 97C146EE1CF9000F007C117D /* Runner.app */,
110 | );
111 | name = Products;
112 | sourceTree = "";
113 | };
114 | 97C146F01CF9000F007C117D /* Runner */ = {
115 | isa = PBXGroup;
116 | children = (
117 | 764A2DD929B161BB0022A36A /* GoogleService-Info.plist */,
118 | 97C146FA1CF9000F007C117D /* Main.storyboard */,
119 | 97C146FD1CF9000F007C117D /* Assets.xcassets */,
120 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
121 | 97C147021CF9000F007C117D /* Info.plist */,
122 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
123 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
124 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
125 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
126 | );
127 | path = Runner;
128 | sourceTree = "";
129 | };
130 | /* End PBXGroup section */
131 |
132 | /* Begin PBXNativeTarget section */
133 | 97C146ED1CF9000F007C117D /* Runner */ = {
134 | isa = PBXNativeTarget;
135 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
136 | buildPhases = (
137 | 3C1C3700986859A558B15ADF /* [CP] Check Pods Manifest.lock */,
138 | 9740EEB61CF901F6004384FC /* Run Script */,
139 | 97C146EA1CF9000F007C117D /* Sources */,
140 | 97C146EB1CF9000F007C117D /* Frameworks */,
141 | 97C146EC1CF9000F007C117D /* Resources */,
142 | 9705A1C41CF9048500538489 /* Embed Frameworks */,
143 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
144 | 7B509E2E3F8BFB50638D3299 /* [CP] Embed Pods Frameworks */,
145 | );
146 | buildRules = (
147 | );
148 | dependencies = (
149 | );
150 | name = Runner;
151 | productName = Runner;
152 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
153 | productType = "com.apple.product-type.application";
154 | };
155 | /* End PBXNativeTarget section */
156 |
157 | /* Begin PBXProject section */
158 | 97C146E61CF9000F007C117D /* Project object */ = {
159 | isa = PBXProject;
160 | attributes = {
161 | LastUpgradeCheck = 1300;
162 | ORGANIZATIONNAME = "";
163 | TargetAttributes = {
164 | 97C146ED1CF9000F007C117D = {
165 | CreatedOnToolsVersion = 7.3.1;
166 | LastSwiftMigration = 1100;
167 | };
168 | };
169 | };
170 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
171 | compatibilityVersion = "Xcode 9.3";
172 | developmentRegion = en;
173 | hasScannedForEncodings = 0;
174 | knownRegions = (
175 | en,
176 | Base,
177 | );
178 | mainGroup = 97C146E51CF9000F007C117D;
179 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
180 | projectDirPath = "";
181 | projectRoot = "";
182 | targets = (
183 | 97C146ED1CF9000F007C117D /* Runner */,
184 | );
185 | };
186 | /* End PBXProject section */
187 |
188 | /* Begin PBXResourcesBuildPhase section */
189 | 97C146EC1CF9000F007C117D /* Resources */ = {
190 | isa = PBXResourcesBuildPhase;
191 | buildActionMask = 2147483647;
192 | files = (
193 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
194 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
195 | 764A2DDA29B161BB0022A36A /* GoogleService-Info.plist in Resources */,
196 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
197 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
198 | );
199 | runOnlyForDeploymentPostprocessing = 0;
200 | };
201 | /* End PBXResourcesBuildPhase section */
202 |
203 | /* Begin PBXShellScriptBuildPhase section */
204 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
205 | isa = PBXShellScriptBuildPhase;
206 | buildActionMask = 2147483647;
207 | files = (
208 | );
209 | inputPaths = (
210 | );
211 | name = "Thin Binary";
212 | outputPaths = (
213 | );
214 | runOnlyForDeploymentPostprocessing = 0;
215 | shellPath = /bin/sh;
216 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
217 | };
218 | 3C1C3700986859A558B15ADF /* [CP] Check Pods Manifest.lock */ = {
219 | isa = PBXShellScriptBuildPhase;
220 | buildActionMask = 2147483647;
221 | files = (
222 | );
223 | inputFileListPaths = (
224 | );
225 | inputPaths = (
226 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
227 | "${PODS_ROOT}/Manifest.lock",
228 | );
229 | name = "[CP] Check Pods Manifest.lock";
230 | outputFileListPaths = (
231 | );
232 | outputPaths = (
233 | "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
234 | );
235 | runOnlyForDeploymentPostprocessing = 0;
236 | shellPath = /bin/sh;
237 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
238 | showEnvVarsInLog = 0;
239 | };
240 | 7B509E2E3F8BFB50638D3299 /* [CP] Embed Pods Frameworks */ = {
241 | isa = PBXShellScriptBuildPhase;
242 | buildActionMask = 2147483647;
243 | files = (
244 | );
245 | inputFileListPaths = (
246 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
247 | );
248 | name = "[CP] Embed Pods Frameworks";
249 | outputFileListPaths = (
250 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
251 | );
252 | runOnlyForDeploymentPostprocessing = 0;
253 | shellPath = /bin/sh;
254 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
255 | showEnvVarsInLog = 0;
256 | };
257 | 9740EEB61CF901F6004384FC /* Run Script */ = {
258 | isa = PBXShellScriptBuildPhase;
259 | buildActionMask = 2147483647;
260 | files = (
261 | );
262 | inputPaths = (
263 | );
264 | name = "Run Script";
265 | outputPaths = (
266 | );
267 | runOnlyForDeploymentPostprocessing = 0;
268 | shellPath = /bin/sh;
269 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
270 | };
271 | /* End PBXShellScriptBuildPhase section */
272 |
273 | /* Begin PBXSourcesBuildPhase section */
274 | 97C146EA1CF9000F007C117D /* Sources */ = {
275 | isa = PBXSourcesBuildPhase;
276 | buildActionMask = 2147483647;
277 | files = (
278 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
279 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
280 | );
281 | runOnlyForDeploymentPostprocessing = 0;
282 | };
283 | /* End PBXSourcesBuildPhase section */
284 |
285 | /* Begin PBXVariantGroup section */
286 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
287 | isa = PBXVariantGroup;
288 | children = (
289 | 97C146FB1CF9000F007C117D /* Base */,
290 | );
291 | name = Main.storyboard;
292 | sourceTree = "";
293 | };
294 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
295 | isa = PBXVariantGroup;
296 | children = (
297 | 97C147001CF9000F007C117D /* Base */,
298 | );
299 | name = LaunchScreen.storyboard;
300 | sourceTree = "";
301 | };
302 | /* End PBXVariantGroup section */
303 |
304 | /* Begin XCBuildConfiguration section */
305 | 249021D3217E4FDB00AE95B9 /* Profile */ = {
306 | isa = XCBuildConfiguration;
307 | buildSettings = {
308 | ALWAYS_SEARCH_USER_PATHS = NO;
309 | CLANG_ANALYZER_NONNULL = YES;
310 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
311 | CLANG_CXX_LIBRARY = "libc++";
312 | CLANG_ENABLE_MODULES = YES;
313 | CLANG_ENABLE_OBJC_ARC = YES;
314 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
315 | CLANG_WARN_BOOL_CONVERSION = YES;
316 | CLANG_WARN_COMMA = YES;
317 | CLANG_WARN_CONSTANT_CONVERSION = YES;
318 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
319 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
320 | CLANG_WARN_EMPTY_BODY = YES;
321 | CLANG_WARN_ENUM_CONVERSION = YES;
322 | CLANG_WARN_INFINITE_RECURSION = YES;
323 | CLANG_WARN_INT_CONVERSION = YES;
324 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
325 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
326 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
327 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
328 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
329 | CLANG_WARN_STRICT_PROTOTYPES = YES;
330 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
331 | CLANG_WARN_UNREACHABLE_CODE = YES;
332 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
333 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
334 | COPY_PHASE_STRIP = NO;
335 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
336 | ENABLE_NS_ASSERTIONS = NO;
337 | ENABLE_STRICT_OBJC_MSGSEND = YES;
338 | GCC_C_LANGUAGE_STANDARD = gnu99;
339 | GCC_NO_COMMON_BLOCKS = YES;
340 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
341 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
342 | GCC_WARN_UNDECLARED_SELECTOR = YES;
343 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
344 | GCC_WARN_UNUSED_FUNCTION = YES;
345 | GCC_WARN_UNUSED_VARIABLE = YES;
346 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
347 | MTL_ENABLE_DEBUG_INFO = NO;
348 | SDKROOT = iphoneos;
349 | SUPPORTED_PLATFORMS = iphoneos;
350 | TARGETED_DEVICE_FAMILY = "1,2";
351 | VALIDATE_PRODUCT = YES;
352 | };
353 | name = Profile;
354 | };
355 | 249021D4217E4FDB00AE95B9 /* Profile */ = {
356 | isa = XCBuildConfiguration;
357 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
358 | buildSettings = {
359 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
360 | CLANG_ENABLE_MODULES = YES;
361 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
362 | ENABLE_BITCODE = NO;
363 | INFOPLIST_FILE = Runner/Info.plist;
364 | LD_RUNPATH_SEARCH_PATHS = (
365 | "$(inherited)",
366 | "@executable_path/Frameworks",
367 | );
368 | PRODUCT_BUNDLE_IDENTIFIER = com.shashi.homzy2;
369 | PRODUCT_NAME = "$(TARGET_NAME)";
370 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
371 | SWIFT_VERSION = 5.0;
372 | VERSIONING_SYSTEM = "apple-generic";
373 | };
374 | name = Profile;
375 | };
376 | 97C147031CF9000F007C117D /* Debug */ = {
377 | isa = XCBuildConfiguration;
378 | buildSettings = {
379 | ALWAYS_SEARCH_USER_PATHS = NO;
380 | CLANG_ANALYZER_NONNULL = YES;
381 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
382 | CLANG_CXX_LIBRARY = "libc++";
383 | CLANG_ENABLE_MODULES = YES;
384 | CLANG_ENABLE_OBJC_ARC = YES;
385 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
386 | CLANG_WARN_BOOL_CONVERSION = YES;
387 | CLANG_WARN_COMMA = YES;
388 | CLANG_WARN_CONSTANT_CONVERSION = YES;
389 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
390 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
391 | CLANG_WARN_EMPTY_BODY = YES;
392 | CLANG_WARN_ENUM_CONVERSION = YES;
393 | CLANG_WARN_INFINITE_RECURSION = YES;
394 | CLANG_WARN_INT_CONVERSION = YES;
395 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
396 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
397 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
398 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
399 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
400 | CLANG_WARN_STRICT_PROTOTYPES = YES;
401 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
402 | CLANG_WARN_UNREACHABLE_CODE = YES;
403 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
404 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
405 | COPY_PHASE_STRIP = NO;
406 | DEBUG_INFORMATION_FORMAT = dwarf;
407 | ENABLE_STRICT_OBJC_MSGSEND = YES;
408 | ENABLE_TESTABILITY = YES;
409 | GCC_C_LANGUAGE_STANDARD = gnu99;
410 | GCC_DYNAMIC_NO_PIC = NO;
411 | GCC_NO_COMMON_BLOCKS = YES;
412 | GCC_OPTIMIZATION_LEVEL = 0;
413 | GCC_PREPROCESSOR_DEFINITIONS = (
414 | "DEBUG=1",
415 | "$(inherited)",
416 | );
417 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
418 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
419 | GCC_WARN_UNDECLARED_SELECTOR = YES;
420 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
421 | GCC_WARN_UNUSED_FUNCTION = YES;
422 | GCC_WARN_UNUSED_VARIABLE = YES;
423 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
424 | MTL_ENABLE_DEBUG_INFO = YES;
425 | ONLY_ACTIVE_ARCH = YES;
426 | SDKROOT = iphoneos;
427 | TARGETED_DEVICE_FAMILY = "1,2";
428 | };
429 | name = Debug;
430 | };
431 | 97C147041CF9000F007C117D /* Release */ = {
432 | isa = XCBuildConfiguration;
433 | buildSettings = {
434 | ALWAYS_SEARCH_USER_PATHS = NO;
435 | CLANG_ANALYZER_NONNULL = YES;
436 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
437 | CLANG_CXX_LIBRARY = "libc++";
438 | CLANG_ENABLE_MODULES = YES;
439 | CLANG_ENABLE_OBJC_ARC = YES;
440 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
441 | CLANG_WARN_BOOL_CONVERSION = YES;
442 | CLANG_WARN_COMMA = YES;
443 | CLANG_WARN_CONSTANT_CONVERSION = YES;
444 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
445 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
446 | CLANG_WARN_EMPTY_BODY = YES;
447 | CLANG_WARN_ENUM_CONVERSION = YES;
448 | CLANG_WARN_INFINITE_RECURSION = YES;
449 | CLANG_WARN_INT_CONVERSION = YES;
450 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
451 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
452 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
453 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
454 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
455 | CLANG_WARN_STRICT_PROTOTYPES = YES;
456 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
457 | CLANG_WARN_UNREACHABLE_CODE = YES;
458 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
459 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
460 | COPY_PHASE_STRIP = NO;
461 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
462 | ENABLE_NS_ASSERTIONS = NO;
463 | ENABLE_STRICT_OBJC_MSGSEND = YES;
464 | GCC_C_LANGUAGE_STANDARD = gnu99;
465 | GCC_NO_COMMON_BLOCKS = YES;
466 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
467 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
468 | GCC_WARN_UNDECLARED_SELECTOR = YES;
469 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
470 | GCC_WARN_UNUSED_FUNCTION = YES;
471 | GCC_WARN_UNUSED_VARIABLE = YES;
472 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
473 | MTL_ENABLE_DEBUG_INFO = NO;
474 | SDKROOT = iphoneos;
475 | SUPPORTED_PLATFORMS = iphoneos;
476 | SWIFT_COMPILATION_MODE = wholemodule;
477 | SWIFT_OPTIMIZATION_LEVEL = "-O";
478 | TARGETED_DEVICE_FAMILY = "1,2";
479 | VALIDATE_PRODUCT = YES;
480 | };
481 | name = Release;
482 | };
483 | 97C147061CF9000F007C117D /* Debug */ = {
484 | isa = XCBuildConfiguration;
485 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
486 | buildSettings = {
487 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
488 | CLANG_ENABLE_MODULES = YES;
489 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
490 | ENABLE_BITCODE = NO;
491 | INFOPLIST_FILE = Runner/Info.plist;
492 | LD_RUNPATH_SEARCH_PATHS = (
493 | "$(inherited)",
494 | "@executable_path/Frameworks",
495 | );
496 | PRODUCT_BUNDLE_IDENTIFIER = com.shashi.homzy2;
497 | PRODUCT_NAME = "$(TARGET_NAME)";
498 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
499 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
500 | SWIFT_VERSION = 5.0;
501 | VERSIONING_SYSTEM = "apple-generic";
502 | };
503 | name = Debug;
504 | };
505 | 97C147071CF9000F007C117D /* Release */ = {
506 | isa = XCBuildConfiguration;
507 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
508 | buildSettings = {
509 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
510 | CLANG_ENABLE_MODULES = YES;
511 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
512 | ENABLE_BITCODE = NO;
513 | INFOPLIST_FILE = Runner/Info.plist;
514 | LD_RUNPATH_SEARCH_PATHS = (
515 | "$(inherited)",
516 | "@executable_path/Frameworks",
517 | );
518 | PRODUCT_BUNDLE_IDENTIFIER = com.shashi.homzy2;
519 | PRODUCT_NAME = "$(TARGET_NAME)";
520 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
521 | SWIFT_VERSION = 5.0;
522 | VERSIONING_SYSTEM = "apple-generic";
523 | };
524 | name = Release;
525 | };
526 | /* End XCBuildConfiguration section */
527 |
528 | /* Begin XCConfigurationList section */
529 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
530 | isa = XCConfigurationList;
531 | buildConfigurations = (
532 | 97C147031CF9000F007C117D /* Debug */,
533 | 97C147041CF9000F007C117D /* Release */,
534 | 249021D3217E4FDB00AE95B9 /* Profile */,
535 | );
536 | defaultConfigurationIsVisible = 0;
537 | defaultConfigurationName = Release;
538 | };
539 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
540 | isa = XCConfigurationList;
541 | buildConfigurations = (
542 | 97C147061CF9000F007C117D /* Debug */,
543 | 97C147071CF9000F007C117D /* Release */,
544 | 249021D4217E4FDB00AE95B9 /* Profile */,
545 | );
546 | defaultConfigurationIsVisible = 0;
547 | defaultConfigurationName = Release;
548 | };
549 | /* End XCConfigurationList section */
550 | };
551 | rootObject = 97C146E61CF9000F007C117D /* Project object */;
552 | }
553 |
--------------------------------------------------------------------------------
/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 |
37 |
38 |
39 |
40 |
41 |
42 |
52 |
54 |
60 |
61 |
62 |
63 |
69 |
71 |
77 |
78 |
79 |
80 |
82 |
83 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shashikantkaushik/Home_Service_app/b4b2cb766afad94528d5b6a4215fdba3a090ab5e/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/GoogleService-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CLIENT_ID
6 | 58462324312-u8ki9n5ilsbnopa0sadg50glro7he4m6.apps.googleusercontent.com
7 | REVERSED_CLIENT_ID
8 | com.googleusercontent.apps.58462324312-u8ki9n5ilsbnopa0sadg50glro7he4m6
9 | API_KEY
10 | AIzaSyB4ZbclxU2s-RDweTzDTk1xvhQ_Ayw1ktY
11 | GCM_SENDER_ID
12 | 58462324312
13 | PLIST_VERSION
14 | 1
15 | BUNDLE_ID
16 | com.shashi.homzy2
17 | PROJECT_ID
18 | homzy2-461f9
19 | STORAGE_BUCKET
20 | homzy2-461f9.appspot.com
21 | IS_ADS_ENABLED
22 |
23 | IS_ANALYTICS_ENABLED
24 |
25 | IS_APPINVITE_ENABLED
26 |
27 | IS_GCM_ENABLED
28 |
29 | IS_SIGNIN_ENABLED
30 |
31 | GOOGLE_APP_ID
32 | 1:58462324312:ios:bcf621b7522ca2608e2c2d
33 |
34 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CADisableMinimumFrameDurationOnPhone
6 |
7 | CFBundleDevelopmentRegion
8 | $(DEVELOPMENT_LANGUAGE)
9 | CFBundleDisplayName
10 | Homzy2
11 | CFBundleExecutable
12 | $(EXECUTABLE_NAME)
13 | CFBundleIdentifier
14 | $(PRODUCT_BUNDLE_IDENTIFIER)
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundleName
18 | homzy2
19 | CFBundlePackageType
20 | APPL
21 | CFBundleShortVersionString
22 | $(FLUTTER_BUILD_NAME)
23 | CFBundleSignature
24 | ????
25 | CFBundleURLTypes
26 |
27 |
28 | CFBundleTypeRole
29 | Editor
30 | CFBundleURLSchemes
31 |
32 | com.googleusercontent.apps.58462324312-u8ki9n5ilsbnopa0sadg50glro7he4m6
33 |
34 |
35 |
36 | CFBundleVersion
37 | $(FLUTTER_BUILD_NUMBER)
38 | LSRequiresIPhoneOS
39 |
40 | NSPhotoLibraryUsageDescription
41 | Please Give access to Gallery
42 | UIApplicationSupportsIndirectInputEvents
43 |
44 | UILaunchStoryboardName
45 | LaunchScreen
46 | UIMainStoryboardFile
47 | Main
48 | UISupportedInterfaceOrientations
49 |
50 | UIInterfaceOrientationPortrait
51 | UIInterfaceOrientationLandscapeLeft
52 | UIInterfaceOrientationLandscapeRight
53 |
54 | UISupportedInterfaceOrientations~ipad
55 |
56 | UIInterfaceOrientationPortrait
57 | UIInterfaceOrientationPortraitUpsideDown
58 | UIInterfaceOrientationLandscapeLeft
59 | UIInterfaceOrientationLandscapeRight
60 |
61 | UIViewControllerBasedStatusBarAppearance
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 |
2 | import 'package:firebase_core/firebase_core.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:homzy1/auth.dart';
5 | import 'package:homzy1/screens/WelcomeScreen.dart';
6 | import 'package:provider/provider.dart';
7 |
8 | void main() async {
9 | WidgetsFlutterBinding.ensureInitialized();
10 | await Firebase.initializeApp();
11 | runApp(const MyApp());
12 | }
13 |
14 | class MyApp extends StatelessWidget {
15 | const MyApp({super.key});
16 |
17 | @override
18 | Widget build(BuildContext context) {
19 | return MultiProvider(
20 | providers: [
21 | ChangeNotifierProvider(create: (_) => AuthProvider()),
22 |
23 | ],
24 | child: const MaterialApp(
25 |
26 | debugShowCheckedModeBanner: false,
27 | home: WelcomeScreen(),
28 | title: "Homzy",
29 | ),
30 | );
31 | }
32 | }
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | /*
41 |
42 |
43 | WidgetsFlutterBinding.ensureInitialized() is a method in the Flutter framework that ensures that the WidgetsFlutterBinding is properly initialized before running any other Flutter code.
44 |
45 | WidgetsFlutterBinding is responsible for initializing various Flutter services like the rendering system, event handling, and other platform-specific services. It also provides access to the BuildContext of the current widget tree, which is used to build the UI.
46 |
47 |
48 | ensureInitialized() is a method in the dart:io library in Dart that ensures that the Dart runtime is properly initialized before running any other Dart code.
49 |
50 | When running Dart code outside of Flutter, it's necessary to call ensureInitialized() to ensure that the Dart runtime is initialized and available to the application. This method is often called at the beginning of an application's main() function.
51 |
52 | If ensureInitialized() is not called before running other Dart code, the application may encounter errors and unexpected behavior because the Dart runtime may not be fully initialized or available.
53 |
54 |
55 |
56 | If WidgetsFlutterBinding.ensureInitialized() is not called before running any other Flutter code, the application may encounter errors and unexpected behavior such as:
57 |
58 | Application crashes: If the Flutter framework is not properly initialized, the application may crash at runtime.
59 |
60 | UI not rendering: If the framework is not initialized, the application may not be able to render any UI elements or widgets, resulting in a blank screen or unresponsive UI.
61 |
62 | Widget tree not being built: The BuildContext provided by WidgetsFlutterBinding is essential for building the widget tree, which is the backbone of a Flutter application's UI. Without it, the application may not be able to build the widget tree correctly or at all.
63 |
64 | Platform-specific services not available: WidgetsFlutterBinding is responsible for initializing various platform-specific services like the rendering system, event handling, and other platform-specific services. If these services are not initialized, the application may not be able to function correctly on different platforms or devices.
65 |
66 | In summary, calling WidgetsFlutterBinding.ensureInitialized() before running any other Flutter code is important to ensure that the Flutter framework is properly initialized and available to the application, avoiding potential errors and unexpected behavior.
67 |
68 |
69 |
70 | Calling WidgetsFlutterBinding.ensureInitialized() before running any other Flutter code is important because it initializes the Flutter framework, which is required for any Flutter application to function correctly. If this method is not called, the application may encounter errors and unexpected behavior.
71 | The code imports necessary packages for Firebase integration, Material design widgets, and Provider library.
72 | The main function initializes the Firebase app using Firebase.initializeApp() and starts the application by calling runApp().
73 | The MyApp class is a stateless widget that provides a MultiProvider to the application. The MultiProvider provides access to the AuthProvider, which is used to manage user authentication in the application.
74 | The MaterialApp widget is the top-level widget of the application and sets the app's title, disables the debug banner, and sets the home screen to the WelcomeScreen.
75 | Finally, the WelcomeScreen widget is the initial screen of the application and is displayed when the app starts.
76 |
77 |
78 |
79 | In this code, the Firebase.initializeApp() function initializes the Firebase app, which is required before using any Firebase service. The AuthProvider is a custom class that is created to handle user authentication in the app. It uses Firebase Authentication API to handle user registration, login, and logout.
80 |
81 | The ChangeNotifierProvider class from the provider package is used to provide the AuthProvider instance to the app's widget tree. This way, any child widget can access the AuthProvider instance and use its methods to manage user authentication.
82 |
83 | When the app starts, the WelcomeScreen is displayed. The WelcomeScreen widget checks if the user is already logged in or not. If the user is not logged in, it shows the login and registration buttons. When the user taps on one of these buttons, it navigates to the appropriate screen for login or registration.
84 |
85 | Overall, the Firebase integration and the authentication part of the code help to make the app more secure and allow users to sign in to the app using their credentials or social media accounts.
86 |
87 |
88 | Firebase.initializeApp() is a function from the firebase_core package that initializes the Firebase app. This function should be called before any Firebase service is used in the application. It ensures that the Firebase app is initialized correctly and all necessary dependencies are set up.
89 |
90 | The AuthProvider class is a custom class created to handle user authentication in the app. It uses the Firebase Authentication API to perform user authentication operations such as login, logout, and registration. The AuthProvider class encapsulates all the details related to user authentication and provides a simple interface for other parts of the app to use.
91 |
92 | The ChangeNotifierProvider class from the provider package is used to provide the AuthProvider instance to the app's widget tree. The ChangeNotifierProvider is a special kind of widget that listens to changes in a ChangeNotifier instance and rebuilds the child widget tree whenever there is a change. In this case, the AuthProvider class extends the ChangeNotifier class, so any changes made to the AuthProvider instance will trigger a rebuild of the child widget tree.
93 |
94 | By providing the AuthProvider instance to the app's widget tree using ChangeNotifierProvider, any child widget in the widget tree can access the AuthProvider instance and use its methods to manage user authentication. This means that any widget in the app can perform authentication operations such as login, logout, or registration, without having to worry about the details of the authentication implementation.
95 | */
--------------------------------------------------------------------------------
/lib/req_model.dart:
--------------------------------------------------------------------------------
1 | //this is req model updated will be avalible soon
2 | class ReqModel {
3 | String name;
4 | String bio;
5 | String reqPic;
6 | String createdAt;
7 | String phoneNumber;
8 | String uid;
9 |
10 | ReqModel({
11 | required this.name,
12 | required this.bio,
13 | required this.reqPic,
14 | required this.createdAt,
15 | required this.phoneNumber,
16 | required this.uid,
17 | });
18 |
19 | // from map
20 | factory ReqModel.fromMap(Map map) {
21 | print("as1df");
22 | return ReqModel(
23 |
24 |
25 | name: map['name'] ?? '',
26 | bio: map['bio'] ?? '',
27 | uid: map['uid'] ?? '',
28 | phoneNumber: map['phoneNumber'] ?? '',
29 | createdAt: map['createdAt'] ?? '',
30 | reqPic: map['reqPic'] ?? '',
31 | );
32 | }
33 |
34 | // to map
35 | Map toMap() {
36 | print("a2sdf");
37 | return {
38 |
39 | "name": name,
40 | "uid": uid,
41 | "bio": bio,
42 | "reqPic": reqPic,
43 | "phoneNumber": phoneNumber,
44 | "createdAt": createdAt,
45 | };
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/lib/screens/WelcomeScreen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:homzy1/auth.dart';
3 | import 'package:homzy1/screens/home_screen.dart';
4 | import 'package:homzy1/screens/register.dart';
5 | import 'package:homzy1/widget/button.dart';
6 | import 'package:provider/provider.dart';
7 |
8 | class WelcomeScreen extends StatefulWidget {
9 | const WelcomeScreen({super.key});
10 |
11 | @override
12 | State createState() => _WelcomeScreenState();
13 | }
14 |
15 | class _WelcomeScreenState extends State {
16 | @override
17 | Widget build(BuildContext context) {
18 | final ap = Provider.of(context, listen: false);
19 |
20 | return Scaffold(
21 |
22 | body: SafeArea(
23 | child: Center(
24 | child: Padding(
25 | padding: const EdgeInsets.symmetric(vertical: 25, horizontal: 35),
26 | child: Column(
27 | mainAxisAlignment: MainAxisAlignment.center,
28 | children: [
29 | Image.asset(
30 | "assets/image1.png",
31 | height: 300,
32 | ),
33 | const SizedBox(height: 20),
34 | const Text(
35 | "Let's go Homzy",
36 | style: TextStyle(
37 | fontSize: 22,
38 | fontWeight: FontWeight.bold,
39 | ),
40 | ),
41 | const SizedBox(height: 10),
42 | const Text(
43 | "A to Z Home Service App",
44 | style: TextStyle(
45 | fontSize: 14,
46 | color: Colors.black38,
47 | fontWeight: FontWeight.bold,
48 | ),
49 | ),
50 | const SizedBox(height: 20),
51 | // custom button
52 | SizedBox(
53 | width: double.infinity,
54 | height: 50,
55 | child: CustomButton(
56 | onPressed: () async {
57 | if (ap.isSignedIn == true) {
58 | await ap.getDataFromSP().whenComplete(
59 | () => Navigator.pushReplacement(
60 | context,
61 | MaterialPageRoute(
62 | builder: (context) => const HomeScreen(),
63 | ),
64 | ),
65 | );
66 | } else {
67 | Navigator.pushReplacement(
68 | context,
69 | MaterialPageRoute(
70 | builder: (context) => const RegisterScreen(),
71 | ),
72 | );
73 | }
74 | },
75 | text: "Get started",
76 | ),
77 | )
78 | ],
79 | ),
80 | ),
81 | ),
82 | ),
83 | );
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/lib/screens/home_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:homzy1/auth.dart';
3 | import 'package:carousel_pro/carousel_pro.dart';
4 | import 'package:homzy1/req_model.dart';
5 | import 'package:homzy1/screens/profile_screen.dart';
6 | import 'package:provider/provider.dart';
7 | import 'dart:io';
8 | import 'package:homzy1/utils.dart';
9 |
10 |
11 |
12 | class HomeScreen extends StatefulWidget {
13 | const HomeScreen({super.key});
14 |
15 |
16 | @override
17 | State createState() => _HomeScreenState();
18 | }
19 |
20 | class _HomeScreenState extends State {
21 | File? image;
22 | void selectImage() async {
23 | image = await pickImage(context);
24 | setState(() {});
25 | }
26 | @override
27 |
28 | Widget build(BuildContext context) {
29 | final ap = Provider.of(context, listen: false);
30 | final name=(ap.userModel.name);
31 | final email=(ap.userModel.email);
32 | final bio=(ap.userModel.bio);
33 | final phone=(ap.userModel.phoneNumber);
34 | final pic=(ap.userModel.profilePic);
35 | final uid=(ap.userModel.uid);
36 | final date=(ap.userModel.createdAt);
37 | // final DatabaseReference databaseReference = FirebaseDatabase.instance.reference().child('messages');
38 | final t = (ap.userModel.name);
39 | return Scaffold(
40 | appBar: AppBar(
41 | backgroundColor: Color(0xFF189AB4),
42 | centerTitle: false,
43 |
44 | title: Text("Hello, $t",),
45 | actions: [
46 | GestureDetector(
47 | onTap: () {
48 | print("dlo");
49 | Navigator.pushReplacement(
50 | context,
51 | MaterialPageRoute(
52 | builder: (context) => const Profile(),
53 | ),
54 | );
55 | },
56 | child: CircleAvatar(
57 |
58 | backgroundImage: NetworkImage(ap.userModel.profilePic),
59 | backgroundColor: Color(0xFF189AB4),
60 | radius: 50,
61 | ),
62 | )
63 |
64 | ],
65 | ), body: SafeArea(
66 | child: Container(
67 | child: Center(
68 | child: ListView(
69 | children: [
70 | SizedBox(
71 | height: 200,
72 | width: double.infinity,
73 | child: Carousel(
74 | dotColor: Colors.lightBlue,
75 | dotBgColor: Colors.transparent,
76 | dotSize: 9.0,
77 | dotSpacing: 20.0,
78 | dotPosition: DotPosition.bottomCenter,
79 | images: [
80 | InkWell(
81 | onTap: () {
82 | print("Click on the first image ");
83 | },
84 | child: Image.asset(
85 | 'assets/IMG_20230304_174306.jpg', fit: BoxFit.cover),
86 | ),
87 | InkWell(
88 | onTap: () {
89 | print("Click on the second image");
90 | },
91 | child: Image.asset(
92 | 'assets/IMG_20230304_174324.jpg', fit: BoxFit.cover),
93 | ),
94 | InkWell(
95 | onTap: () {
96 | print("Click on the third image");
97 | },
98 | child: Image.asset(
99 | 'assets/WhatsApp Image 2023-03-04 at 5.00.11 PM.jpeg',
100 | fit: BoxFit.cover),
101 | ),
102 | InkWell(
103 | onTap: () {
104 | print("Click on the fourth image");
105 | },
106 | child: Image.asset(
107 | 'assets/IMG_20230304_174306.jpg', fit: BoxFit.cover),
108 | ),
109 | InkWell(
110 | onTap: () {
111 | print("Click on the fiveth image");
112 | },
113 | child: Image.asset(
114 | 'assets/WhatsApp Image 2023-03-04 at 5.00.11 PM.jpeg',
115 | fit: BoxFit.cover),
116 | ),
117 |
118 | ],
119 | ),
120 | ),
121 |
122 | SizedBox(
123 | height: 20,
124 | ),
125 |
126 |
127 | Row(
128 | children: [
129 | Flexible(
130 | flex: 1,
131 | child: GestureDetector(
132 | onTap: (){
133 | selectImage();
134 | },
135 | child: Card(
136 | shape: RoundedRectangleBorder(
137 | borderRadius: BorderRadius.circular(10.0),
138 | ),
139 | margin: EdgeInsets.only(left: 8),
140 | child: Column(
141 | children: [
142 | AspectRatio(
143 | aspectRatio: 1.0,
144 | child: Image.asset(
145 | 'assets/small_service/2.jpeg')),
146 | SizedBox(height: 10),
147 | Padding(
148 | padding: EdgeInsets.only(bottom: 10),
149 | child: Text('Pet Grooming'),
150 | ),
151 | ],
152 | ),
153 | ),
154 | ),
155 | ),
156 | Flexible(
157 | flex: 1,
158 | child: GestureDetector(
159 | onTap: (){
160 | storeData();
161 | },
162 | child: Card
163 | (
164 | shape: RoundedRectangleBorder(
165 | borderRadius: BorderRadius.circular(10.0),
166 | ),
167 | margin: EdgeInsets.only(left: 8),
168 | child: Column(
169 | children: [
170 | AspectRatio(
171 | aspectRatio: 1.0,
172 | child: Image.asset(
173 | 'assets/small_service/3.jpeg')),
174 | SizedBox(height: 10),
175 | Padding(
176 | padding: EdgeInsets.only(bottom: 10),
177 | child: Text('Medicines'),
178 | ),
179 | ],
180 | ),
181 | ),
182 | ),
183 | ),
184 | Flexible(
185 | flex: 1,
186 | child: Card(
187 | shape: RoundedRectangleBorder(
188 | borderRadius: BorderRadius.circular(10.0),
189 | ),
190 | margin: EdgeInsets.only(left: 8, right: 8),
191 | child: Column(
192 | children: [
193 | AspectRatio(
194 | aspectRatio: 1.0,
195 | child: Image.asset(
196 | 'assets/small_service/4.jpeg')),
197 | SizedBox(height: 10),
198 | Padding(
199 | padding: EdgeInsets.only(bottom: 10),
200 | child: Text('Pet Sitter'),
201 | ),
202 | ],
203 | ),
204 | ),
205 | ),
206 | ],
207 | ),
208 |
209 | SizedBox(
210 | height: 20,
211 | ),
212 |
213 | Row(
214 | children: [
215 | Flexible(
216 | flex: 1,
217 | child: Card(
218 | shape: RoundedRectangleBorder(
219 | borderRadius: BorderRadius.circular(10.0),
220 | ),
221 | margin: EdgeInsets.only(left: 20),
222 | child: Column(
223 | children: [
224 | AspectRatio(
225 | aspectRatio: 1.0,
226 | child: Image.asset(
227 | 'assets/small_service/1.jpeg')),
228 | SizedBox(height: 10),
229 | Padding(
230 | padding: EdgeInsets.only(bottom: 10),
231 | child: Text('Aquatic Cleaner'),
232 | ),
233 | ],
234 | ),
235 | ),
236 | ),
237 | Flexible(
238 | flex: 1,
239 | child: Card
240 | (
241 | margin: EdgeInsets.only(left: 20),
242 | child: Column(
243 | children: [
244 | SizedBox(height: 10),
245 | Text(''),
246 | ],
247 | ),
248 | ),
249 | ),
250 | Flexible(
251 | flex: 1,
252 | child: Card(
253 | margin: EdgeInsets.only(left: 20, right: 20),
254 | child: Column(
255 | children: [
256 | SizedBox(height: 10),
257 | Text(''),
258 | ],
259 | ),
260 | ),
261 | ),
262 | ],
263 | ),
264 |
265 | SizedBox(
266 | height: 20,
267 | ),
268 |
269 | Container(
270 | child: Text(
271 | ' All Services ',
272 | style: TextStyle(
273 | fontSize: 20,
274 | fontWeight: FontWeight.bold,
275 | ),
276 | ),
277 | ),
278 |
279 |
280 | SizedBox(
281 | height: 20,
282 | ),
283 |
284 | Row(
285 | children: [
286 | Flexible(
287 | flex: 1,
288 | child: Card(
289 | elevation: 5.0,
290 | shape: RoundedRectangleBorder(
291 | borderRadius: BorderRadius.circular(20.0),
292 | side: BorderSide(
293 | color: Colors.grey.withOpacity(0.2),
294 | width: 1,
295 | ),
296 | ),
297 | color: Colors.blueGrey[100],
298 | child: AspectRatio(
299 | aspectRatio: 1.0,
300 | child: Image.asset('assets/service/1.jpeg')),
301 | ),
302 | ),
303 | Flexible(
304 | flex: 1,
305 | child: Card(
306 | elevation: 5.0,
307 | shape: RoundedRectangleBorder(
308 | borderRadius: BorderRadius.circular(20.0),
309 | side: BorderSide(
310 | color: Colors.grey.withOpacity(0.2),
311 | width: 1,
312 | ),
313 | ),
314 | child: AspectRatio(
315 | aspectRatio: 1.0,
316 | child: Image.asset('assets/service/2.jpeg')),
317 | ),
318 | ),
319 | ],
320 | ),
321 | ],
322 | ),
323 | ),
324 | ),
325 | ),
326 | );
327 | }
328 |
329 | void storeData() async {
330 | final ap = Provider.of(context, listen: false);
331 | ReqModel reqModel = ReqModel(
332 | name: ap.userModel.name,
333 | bio: ap.userModel.bio,
334 | reqPic: "12",
335 | createdAt: "12",
336 | phoneNumber: ap.userModel.phoneNumber,
337 | uid: "12",
338 |
339 | );
340 | if (image != null) {
341 | ap.saveReqToFirebase(
342 | context: context,
343 | reqModel: reqModel,
344 | reqPic: image!,
345 | onSuccess: () {
346 |
347 |
348 | print(reqModel.name);
349 | print("asdf");
350 | (value) =>
351 | Navigator.pushAndRemoveUntil(
352 | context,
353 | MaterialPageRoute(
354 | builder: (context) => const Profile(),
355 | ),
356 | (route) => false);
357 |
358 |
359 | },
360 | );
361 | } else {
362 | showSnackBar(context, "Please upload your profile photo");
363 | }
364 | }
365 |
366 | }
--------------------------------------------------------------------------------
/lib/screens/otp_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:homzy1/auth.dart';
3 | import 'package:homzy1/screens/home_screen.dart';
4 | import 'package:homzy1/screens/user_information_screen.dart';
5 | import 'package:homzy1/utils.dart';
6 | import 'package:homzy1/widget/button.dart';
7 | import 'package:pinput/pinput.dart';
8 | import 'package:provider/provider.dart';
9 |
10 | class OtpScreen extends StatefulWidget {
11 | final String verificationId;
12 | const OtpScreen({super.key, required this.verificationId});
13 |
14 | @override
15 | State createState() => _OtpScreenState();
16 | }
17 |
18 | class _OtpScreenState extends State {
19 | String? otpCode;
20 |
21 | @override
22 | Widget build(BuildContext context) {
23 | final isLoading =
24 | Provider.of(context, listen: true).isLoading;
25 | return Scaffold(
26 | body: SingleChildScrollView(
27 | child: SafeArea(
28 | child: isLoading == true
29 | ? const Center(
30 | child: CircularProgressIndicator(
31 | color: Colors.purple,
32 | ),
33 | )
34 | : Center(
35 | child: Padding(
36 | padding:
37 | const EdgeInsets.symmetric(vertical: 25, horizontal: 30),
38 | child: Column(
39 | children: [
40 | Align(
41 | alignment: Alignment.topLeft,
42 | child: GestureDetector(
43 | onTap: () => Navigator.of(context).pop(),
44 | child: const Icon(Icons.arrow_back),
45 | ),
46 | ),
47 | Container(
48 | width: 200,
49 | height: 200,
50 | padding: const EdgeInsets.all(20.0),
51 | decoration: BoxDecoration(
52 | shape: BoxShape.circle,
53 | color: Colors.purple.shade50,
54 | ),
55 | child: Image.asset(
56 | "assets/image2.png",
57 | ),
58 | ),
59 | const SizedBox(height: 20),
60 | const Text(
61 | "Verification",
62 | style: TextStyle(
63 | fontSize: 22,
64 | fontWeight: FontWeight.bold,
65 | ),
66 | ),
67 | const SizedBox(height: 10),
68 | const Text(
69 | "Enter the OTP send to your phone number",
70 | style: TextStyle(
71 | fontSize: 14,
72 | color: Colors.black38,
73 | fontWeight: FontWeight.bold,
74 | ),
75 | textAlign: TextAlign.center,
76 | ),
77 | const SizedBox(height: 20),
78 | Pinput(
79 | length: 6,
80 | showCursor: true,
81 | defaultPinTheme: PinTheme(
82 | width: 60,
83 | height: 60,
84 | decoration: BoxDecoration(
85 | borderRadius: BorderRadius.circular(10),
86 | border: Border.all(
87 | color: Colors.purple.shade200,
88 | ),
89 | ),
90 | textStyle: const TextStyle(
91 | fontSize: 20,
92 | fontWeight: FontWeight.w600,
93 | ),
94 | ),
95 | onCompleted: (value) {
96 | setState(() {
97 | otpCode = value;
98 | });
99 | },
100 | ),
101 | const SizedBox(height: 25),
102 | SizedBox(
103 | width: MediaQuery.of(context).size.width,
104 | height: 50,
105 | child: CustomButton(
106 | text: "Verify",
107 | onPressed: () {
108 | if (otpCode != null) {
109 | verifyOtp(context, otpCode!);
110 | } else {
111 | showSnackBar(context, "Enter 6-Digit code");
112 | }
113 | },
114 | ),
115 | ),
116 | const SizedBox(height: 20),
117 | const Text(
118 | "Didn't receive any code?",
119 | style: TextStyle(
120 | fontSize: 14,
121 | fontWeight: FontWeight.bold,
122 | color: Colors.black38,
123 | ),
124 | ),
125 | const SizedBox(height: 15),
126 | GestureDetector(
127 | onTap:(){
128 |
129 | },
130 | child: const Text(
131 | "Resend New Code",
132 | style: TextStyle(
133 | fontSize: 16,
134 | fontWeight: FontWeight.bold,
135 | color: Colors.purple,
136 | ),
137 | ),
138 | ),
139 | ],
140 | ),
141 | ),
142 | ),
143 | ),
144 | ),
145 | );
146 | }
147 |
148 | // verify otp
149 | void verifyOtp(BuildContext context, String userOtp) {
150 | final ap = Provider.of(context, listen: false);
151 | ap.verifyOtp(
152 | context: context,
153 | verificationId: widget.verificationId,
154 | userOtp: userOtp,
155 | onSuccess: () {
156 | // checking whether user exists in the db
157 | ap.checkExistingUser().then(
158 | (value) async {
159 | if (value == true) {
160 | // user exists in our app
161 | ap.getDataFromFirestore().then(
162 | (value) => ap.saveUserDataToSP().then(
163 | (value) => ap.setSignIn().then(
164 | (value) => Navigator.pushAndRemoveUntil(
165 | context,
166 | MaterialPageRoute(
167 | builder: (context) => const HomeScreen(),
168 | ),
169 | (route) => false),
170 | ),
171 | ),
172 | );
173 | } else {
174 | // new user
175 | Navigator.pushAndRemoveUntil(
176 | context,
177 | MaterialPageRoute(
178 | builder: (context) => const UserInfromationScreen()),
179 | (route) => false);
180 | }
181 | },
182 | );
183 | },
184 | );
185 | }
186 | }
187 |
--------------------------------------------------------------------------------
/lib/screens/register.dart:
--------------------------------------------------------------------------------
1 | import 'package:country_picker/country_picker.dart';
2 | import 'package:flutter/material.dart';
3 | import 'package:homzy1/auth.dart';
4 | import 'package:homzy1/widget/button.dart';
5 | import 'package:provider/provider.dart';
6 |
7 | class RegisterScreen extends StatefulWidget {
8 | const RegisterScreen({super.key});
9 |
10 | @override
11 | State createState() => _RegisterScreenState();
12 | }
13 |
14 | class _RegisterScreenState extends State {
15 | final TextEditingController phoneController = TextEditingController();
16 |
17 | Country selectedCountry = Country(
18 | phoneCode: "91",
19 | countryCode: "IN",
20 | e164Sc: 0,
21 | geographic: true,
22 | level: 1,
23 | name: "India",
24 | example: "India",
25 | displayName: "India",
26 | displayNameNoCountryCode: "IN",
27 | e164Key: "",
28 | );
29 |
30 | @override
31 | Widget build(BuildContext context) {
32 |
33 | return Scaffold(
34 | body: SafeArea(
35 | child: Center(
36 | child: Padding(
37 | padding: const EdgeInsets.symmetric(vertical: 25, horizontal: 35),
38 | child: Column(
39 | children: [
40 | Container(
41 | width: 200,
42 | height: 200,
43 | padding: const EdgeInsets.all(20.0),
44 | decoration: BoxDecoration(
45 | shape: BoxShape.circle,
46 | color: Colors.purple.shade50,
47 | ),
48 | child: Image.asset(
49 | "assets/image2.png",
50 | ),
51 | ),
52 | const SizedBox(height: 20),
53 | const Text(
54 | "Register",
55 | style: TextStyle(
56 | fontSize: 22,
57 | fontWeight: FontWeight.bold,
58 | ),
59 | ),
60 | const SizedBox(height: 10),
61 | const Text(
62 | "Add your phone number. We'll send you a verification code",
63 | style: TextStyle(
64 | fontSize: 14,
65 | color: Colors.black38,
66 | fontWeight: FontWeight.bold,
67 | ),
68 | textAlign: TextAlign.center,
69 | ),
70 | const SizedBox(height: 20),
71 | TextFormField(
72 | cursorColor: Colors.purple,
73 | controller: phoneController,
74 | style: const TextStyle(
75 | fontSize: 18,
76 | fontWeight: FontWeight.bold,
77 | ),
78 | onChanged: (value) {
79 | setState(() {
80 |
81 | });
82 | },
83 | decoration: InputDecoration(
84 | hintText: "Enter phone number",
85 | hintStyle: TextStyle(
86 | fontWeight: FontWeight.w500,
87 | fontSize: 15,
88 | color: Colors.grey.shade600,
89 | ),
90 | enabledBorder: OutlineInputBorder(
91 | borderRadius: BorderRadius.circular(10),
92 | borderSide: const BorderSide(color: Colors.black12),
93 | ),
94 | focusedBorder: OutlineInputBorder(
95 | borderRadius: BorderRadius.circular(10),
96 | borderSide: const BorderSide(color: Colors.black12),
97 | ),
98 | prefixIcon: Container(
99 | padding: const EdgeInsets.all(8.0),
100 | child: InkWell(
101 | onTap: () {
102 | showCountryPicker(
103 | context: context,
104 | countryListTheme: const CountryListThemeData(
105 | bottomSheetHeight: 550,
106 | ),
107 | onSelect: (value) {
108 | setState(() {
109 | selectedCountry = value;
110 | });
111 | });
112 | },
113 | child: Text(
114 | "${selectedCountry.flagEmoji} + ${selectedCountry.phoneCode}",
115 | style: const TextStyle(
116 | fontSize: 18,
117 | color: Colors.black,
118 | fontWeight: FontWeight.bold,
119 | ),
120 | ),
121 | ),
122 | ),
123 | suffixIcon: phoneController.text.length > 9
124 | ? Container(
125 | height: 30,
126 | width: 30,
127 | margin: const EdgeInsets.all(10.0),
128 | decoration: const BoxDecoration(
129 | shape: BoxShape.circle,
130 | color: Colors.green,
131 | ),
132 | child: const Icon(
133 | Icons.done,
134 | color: Colors.white,
135 | size: 20,
136 | ),
137 | )
138 | : null,
139 | ),
140 | ),
141 | const SizedBox(height: 20),
142 | SizedBox(
143 | width: double.infinity,
144 | height: 50,
145 | child: CustomButton(
146 | text: "Login", onPressed: () => sendPhoneNumber()),
147 | ),
148 | ],
149 | ),
150 | ),
151 | ),
152 | ),
153 | );
154 | }
155 |
156 | void sendPhoneNumber() {
157 | final ap = Provider.of(context, listen: false);
158 | String phoneNumber = phoneController.text.trim();
159 | ap.signInWithPhone(context, "+${selectedCountry.phoneCode}$phoneNumber");
160 | }
161 | }
162 |
--------------------------------------------------------------------------------
/lib/screens/user_information_screen.dart:
--------------------------------------------------------------------------------
1 | import 'dart:io';
2 |
3 | import 'package:flutter/material.dart';
4 | import 'package:homzy1/user_model.dart';
5 | import 'package:provider/provider.dart';
6 | import 'package:homzy1/auth.dart';
7 | import 'package:homzy1/screens/home_screen.dart';
8 | import 'package:homzy1/utils.dart';
9 | import 'package:homzy1/widget/button.dart';
10 |
11 |
12 | class UserInfromationScreen extends StatefulWidget {
13 | const UserInfromationScreen({super.key});
14 |
15 | @override
16 | State createState() => _UserInfromationScreenState();
17 | }
18 |
19 | class _UserInfromationScreenState extends State {
20 | File? image;
21 | final nameController = TextEditingController();
22 | final emailController = TextEditingController();
23 | final bioController = TextEditingController();
24 |
25 | @override
26 | void dispose() {
27 | super.dispose();
28 | nameController.dispose();
29 | emailController.dispose();
30 | bioController.dispose();
31 | }
32 |
33 | // for selecting image
34 | void selectImage() async {
35 | image = await pickImage(context);
36 | setState(() {});
37 | }
38 |
39 | @override
40 | Widget build(BuildContext context) {
41 | final isLoading =
42 | Provider.of(context, listen: true).isLoading;
43 | return Scaffold(
44 | body: SafeArea(
45 | child: isLoading == true
46 | ? const Center(
47 | child: CircularProgressIndicator(
48 | color: Colors.purple,
49 | ),
50 | )
51 | : SingleChildScrollView(
52 | padding:
53 | const EdgeInsets.symmetric(vertical: 25.0, horizontal: 5.0),
54 | child: Center(
55 | child: Column(
56 | children: [
57 | InkWell(
58 | onTap: () => selectImage(),
59 | child: image == null
60 | ? const CircleAvatar(
61 | backgroundColor:Color(0xFFC5C6d0),
62 | radius: 80,
63 | backgroundImage: AssetImage('assets/1.1.jpeg'),
64 | )
65 | : CircleAvatar(
66 | backgroundImage: FileImage(image!),
67 | radius: 80,
68 | ),
69 | ),
70 | Container(
71 | width: MediaQuery.of(context).size.width,
72 | padding: const EdgeInsets.symmetric(
73 | vertical: 5, horizontal: 15),
74 | margin: const EdgeInsets.only(top: 20),
75 | child: Column(
76 | children: [
77 | // name field
78 | SizedBox(
79 | height: 20,
80 | ),
81 | TextField(
82 |
83 | decoration: InputDecoration(
84 | hintText: "Enter Your Name",
85 | icon: Icon(Icons.account_box_rounded, color: Color(0xFFC5C6d0),
86 | size: 30),
87 | ),
88 | keyboardType: TextInputType.emailAddress,
89 | maxLines: 1,
90 | controller: nameController,
91 | ),
92 | SizedBox(
93 | height: 20,
94 | ),
95 | // email
96 | TextField(
97 | decoration: InputDecoration(
98 | hintText: "abc@example.com",
99 | icon: Icon(Icons.alternate_email, color: Color(0xFFC5C6d0),
100 | size: 30),
101 | ),
102 | keyboardType: TextInputType.emailAddress,
103 | maxLines: 1,
104 | controller: emailController,
105 | ),
106 | SizedBox(
107 | height: 20,
108 | ),
109 | // bio
110 | TextField(
111 | decoration: InputDecoration(
112 | hintText: "Enter Your Bio Here",
113 | icon: Icon(Icons.edit, color: Color(0xFFC5C6d0),
114 | size: 30),
115 | ),
116 | keyboardType: TextInputType.emailAddress,
117 | maxLines: 2,
118 | controller: bioController,
119 | ),
120 | ],
121 | ),
122 | ),
123 | const SizedBox(height: 30),
124 | SizedBox(
125 | height: 50,
126 | width: MediaQuery.of(context).size.width * 0.90,
127 | child: CustomButton(
128 | text: "Continue",
129 | onPressed: () => storeData(),
130 | ),
131 | )
132 | ],
133 | ),
134 | ),
135 | ),
136 | ),
137 | );
138 | }
139 |
140 | Widget textFeld({
141 | required String hintText,
142 | required IconData icon,
143 | required TextInputType inputType,
144 | required int maxLines,
145 | required TextEditingController controller,
146 | }) {
147 | return Padding(
148 | padding: const EdgeInsets.only(bottom: 10),
149 | child: TextFormField(
150 | cursorColor: Color(0xFF189AB4),
151 | controller: controller,
152 | keyboardType: inputType,
153 | maxLines: maxLines,
154 | decoration: InputDecoration(
155 | prefixIcon: Container(
156 | margin: const EdgeInsets.all(8.0),
157 | decoration: BoxDecoration(
158 | borderRadius: BorderRadius.circular(8),
159 | color: Color(0xFFF1F5F5FF),
160 | ),
161 | child: Icon(
162 | icon,
163 | size: 20,
164 | color: Colors.white,
165 | ),
166 | ),
167 | enabledBorder: OutlineInputBorder(
168 | borderRadius: BorderRadius.circular(10),
169 | borderSide: const BorderSide(
170 | color: Colors.transparent,
171 | ),
172 | ),
173 | focusedBorder: OutlineInputBorder(
174 | borderRadius: BorderRadius.circular(10),
175 | borderSide: const BorderSide(
176 | color: Colors.transparent,
177 | ),
178 | ),
179 | hintText: hintText,
180 | alignLabelWithHint: true,
181 | border: InputBorder.none,
182 |
183 | ),
184 | ),
185 | );
186 | }
187 |
188 | // store user data to database
189 | void storeData() async {
190 | final ap = Provider.of(context, listen: false);
191 | UserModel userModel = UserModel(
192 | name: nameController.text.trim(),
193 | email: emailController.text.trim(),
194 | bio: bioController.text.trim(),
195 | profilePic: "",
196 | createdAt: "",
197 | phoneNumber: "",
198 | uid: "",
199 | );
200 | if (image != null) {
201 | ap.saveUserDataToFirebase(
202 | context: context,
203 | userModel: userModel,
204 | profilePic: image!,
205 | onSuccess: () {
206 | ap.saveUserDataToSP().then(
207 | (value) => ap.setSignIn().then(
208 | (value) => Navigator.pushAndRemoveUntil(
209 | context,
210 | MaterialPageRoute(
211 | builder: (context) => const HomeScreen(),
212 | ),
213 | (route) => false),
214 | ),
215 | );
216 | },
217 | );
218 | } else {
219 | showSnackBar(context, "Please upload your profile photo");
220 | }
221 | }
222 | }
223 |
--------------------------------------------------------------------------------
/lib/user_model.dart:
--------------------------------------------------------------------------------
1 | class UserModel {
2 | String name;
3 | String email;
4 | String bio;
5 | String profilePic;
6 | String createdAt;
7 | String phoneNumber;
8 | String uid;
9 |
10 | UserModel({
11 | required this.name,
12 | required this.email,
13 | required this.bio,
14 | required this.profilePic,
15 | required this.createdAt,
16 | required this.phoneNumber,
17 | required this.uid,
18 | });
19 |
20 | // from map
21 | factory UserModel.fromMap(Map map) {
22 | return UserModel(
23 | name: map['name'] ?? '',
24 | email: map['email'] ?? '',
25 | bio: map['bio'] ?? '',
26 | uid: map['uid'] ?? '',
27 | phoneNumber: map['phoneNumber'] ?? '',
28 | createdAt: map['createdAt'] ?? '',
29 | profilePic: map['profilePic'] ?? '',
30 | );
31 | }
32 |
33 | // to map
34 | Map toMap() {
35 | return {
36 | "name": name,
37 | "email": email,
38 | "uid": uid,
39 | "bio": bio,
40 | "profilePic": profilePic,
41 | "phoneNumber": phoneNumber,
42 | "createdAt": createdAt,
43 | };
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/lib/widget/button.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CustomButton extends StatelessWidget {
4 | final String text;
5 | final VoidCallback onPressed;
6 |
7 | const CustomButton({super.key, required this.text, required this.onPressed});
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | return ElevatedButton(
12 | onPressed: onPressed,
13 | style: ButtonStyle(
14 | foregroundColor: MaterialStateProperty.all(Colors.white),
15 | backgroundColor: MaterialStateProperty.all(Color(0xFF189AB4)),
16 | shape: MaterialStateProperty.all(
17 | RoundedRectangleBorder(
18 | borderRadius: BorderRadius.circular(25.0),
19 | ),
20 | ),
21 | ),
22 | child: Text(text, style: const TextStyle(fontSize: 16)),
23 | );
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | _flutterfire_internals:
5 | dependency: transitive
6 | description:
7 | name: _flutterfire_internals
8 | url: "https://pub.dartlang.org"
9 | source: hosted
10 | version: "1.0.16"
11 | async:
12 | dependency: transitive
13 | description:
14 | name: async
15 | url: "https://pub.dartlang.org"
16 | source: hosted
17 | version: "2.9.0"
18 | boolean_selector:
19 | dependency: transitive
20 | description:
21 | name: boolean_selector
22 | url: "https://pub.dartlang.org"
23 | source: hosted
24 | version: "2.1.0"
25 | carousel_pro:
26 | dependency: "direct main"
27 | description:
28 | name: carousel_pro
29 | url: "https://pub.dartlang.org"
30 | source: hosted
31 | version: "1.0.0"
32 | characters:
33 | dependency: transitive
34 | description:
35 | name: characters
36 | url: "https://pub.dartlang.org"
37 | source: hosted
38 | version: "1.2.1"
39 | clock:
40 | dependency: transitive
41 | description:
42 | name: clock
43 | url: "https://pub.dartlang.org"
44 | source: hosted
45 | version: "1.1.1"
46 | cloud_firestore:
47 | dependency: "direct main"
48 | description:
49 | name: cloud_firestore
50 | url: "https://pub.dartlang.org"
51 | source: hosted
52 | version: "4.4.3"
53 | cloud_firestore_platform_interface:
54 | dependency: transitive
55 | description:
56 | name: cloud_firestore_platform_interface
57 | url: "https://pub.dartlang.org"
58 | source: hosted
59 | version: "5.11.3"
60 | cloud_firestore_web:
61 | dependency: transitive
62 | description:
63 | name: cloud_firestore_web
64 | url: "https://pub.dartlang.org"
65 | source: hosted
66 | version: "3.3.3"
67 | collection:
68 | dependency: transitive
69 | description:
70 | name: collection
71 | url: "https://pub.dartlang.org"
72 | source: hosted
73 | version: "1.16.0"
74 | country_picker:
75 | dependency: "direct main"
76 | description:
77 | name: country_picker
78 | url: "https://pub.dartlang.org"
79 | source: hosted
80 | version: "2.0.19"
81 | cross_file:
82 | dependency: transitive
83 | description:
84 | name: cross_file
85 | url: "https://pub.dartlang.org"
86 | source: hosted
87 | version: "0.3.3+4"
88 | cupertino_icons:
89 | dependency: "direct main"
90 | description:
91 | name: cupertino_icons
92 | url: "https://pub.dartlang.org"
93 | source: hosted
94 | version: "1.0.5"
95 | fake_async:
96 | dependency: transitive
97 | description:
98 | name: fake_async
99 | url: "https://pub.dartlang.org"
100 | source: hosted
101 | version: "1.3.1"
102 | ffi:
103 | dependency: transitive
104 | description:
105 | name: ffi
106 | url: "https://pub.dartlang.org"
107 | source: hosted
108 | version: "2.0.1"
109 | file:
110 | dependency: transitive
111 | description:
112 | name: file
113 | url: "https://pub.dartlang.org"
114 | source: hosted
115 | version: "6.1.4"
116 | firebase_auth:
117 | dependency: "direct main"
118 | description:
119 | name: firebase_auth
120 | url: "https://pub.dartlang.org"
121 | source: hosted
122 | version: "4.2.9"
123 | firebase_auth_platform_interface:
124 | dependency: transitive
125 | description:
126 | name: firebase_auth_platform_interface
127 | url: "https://pub.dartlang.org"
128 | source: hosted
129 | version: "6.11.11"
130 | firebase_auth_web:
131 | dependency: transitive
132 | description:
133 | name: firebase_auth_web
134 | url: "https://pub.dartlang.org"
135 | source: hosted
136 | version: "5.2.8"
137 | firebase_core:
138 | dependency: "direct main"
139 | description:
140 | name: firebase_core
141 | url: "https://pub.dartlang.org"
142 | source: hosted
143 | version: "2.7.0"
144 | firebase_core_platform_interface:
145 | dependency: transitive
146 | description:
147 | name: firebase_core_platform_interface
148 | url: "https://pub.dartlang.org"
149 | source: hosted
150 | version: "4.5.3"
151 | firebase_core_web:
152 | dependency: transitive
153 | description:
154 | name: firebase_core_web
155 | url: "https://pub.dartlang.org"
156 | source: hosted
157 | version: "2.2.1"
158 | firebase_storage:
159 | dependency: "direct main"
160 | description:
161 | name: firebase_storage
162 | url: "https://pub.dartlang.org"
163 | source: hosted
164 | version: "11.0.14"
165 | firebase_storage_platform_interface:
166 | dependency: transitive
167 | description:
168 | name: firebase_storage_platform_interface
169 | url: "https://pub.dartlang.org"
170 | source: hosted
171 | version: "4.1.30"
172 | firebase_storage_web:
173 | dependency: transitive
174 | description:
175 | name: firebase_storage_web
176 | url: "https://pub.dartlang.org"
177 | source: hosted
178 | version: "3.3.23"
179 | flutter:
180 | dependency: "direct main"
181 | description: flutter
182 | source: sdk
183 | version: "0.0.0"
184 | flutter_lints:
185 | dependency: "direct dev"
186 | description:
187 | name: flutter_lints
188 | url: "https://pub.dartlang.org"
189 | source: hosted
190 | version: "2.0.1"
191 | flutter_plugin_android_lifecycle:
192 | dependency: transitive
193 | description:
194 | name: flutter_plugin_android_lifecycle
195 | url: "https://pub.dartlang.org"
196 | source: hosted
197 | version: "2.0.9"
198 | flutter_test:
199 | dependency: "direct dev"
200 | description: flutter
201 | source: sdk
202 | version: "0.0.0"
203 | flutter_web_plugins:
204 | dependency: transitive
205 | description: flutter
206 | source: sdk
207 | version: "0.0.0"
208 | http:
209 | dependency: transitive
210 | description:
211 | name: http
212 | url: "https://pub.dartlang.org"
213 | source: hosted
214 | version: "0.13.5"
215 | http_parser:
216 | dependency: transitive
217 | description:
218 | name: http_parser
219 | url: "https://pub.dartlang.org"
220 | source: hosted
221 | version: "4.0.2"
222 | image_picker:
223 | dependency: "direct main"
224 | description:
225 | name: image_picker
226 | url: "https://pub.dartlang.org"
227 | source: hosted
228 | version: "0.8.6+4"
229 | image_picker_android:
230 | dependency: transitive
231 | description:
232 | name: image_picker_android
233 | url: "https://pub.dartlang.org"
234 | source: hosted
235 | version: "0.8.5+8"
236 | image_picker_for_web:
237 | dependency: transitive
238 | description:
239 | name: image_picker_for_web
240 | url: "https://pub.dartlang.org"
241 | source: hosted
242 | version: "2.1.11"
243 | image_picker_ios:
244 | dependency: transitive
245 | description:
246 | name: image_picker_ios
247 | url: "https://pub.dartlang.org"
248 | source: hosted
249 | version: "0.8.7"
250 | image_picker_platform_interface:
251 | dependency: transitive
252 | description:
253 | name: image_picker_platform_interface
254 | url: "https://pub.dartlang.org"
255 | source: hosted
256 | version: "2.6.3"
257 | intl:
258 | dependency: transitive
259 | description:
260 | name: intl
261 | url: "https://pub.dartlang.org"
262 | source: hosted
263 | version: "0.17.0"
264 | js:
265 | dependency: transitive
266 | description:
267 | name: js
268 | url: "https://pub.dartlang.org"
269 | source: hosted
270 | version: "0.6.4"
271 | kommunicate_flutter:
272 | dependency: "direct main"
273 | description:
274 | name: kommunicate_flutter
275 | url: "https://pub.dartlang.org"
276 | source: hosted
277 | version: "1.5.6"
278 | lints:
279 | dependency: transitive
280 | description:
281 | name: lints
282 | url: "https://pub.dartlang.org"
283 | source: hosted
284 | version: "2.0.1"
285 | matcher:
286 | dependency: transitive
287 | description:
288 | name: matcher
289 | url: "https://pub.dartlang.org"
290 | source: hosted
291 | version: "0.12.12"
292 | material_color_utilities:
293 | dependency: transitive
294 | description:
295 | name: material_color_utilities
296 | url: "https://pub.dartlang.org"
297 | source: hosted
298 | version: "0.1.5"
299 | meta:
300 | dependency: transitive
301 | description:
302 | name: meta
303 | url: "https://pub.dartlang.org"
304 | source: hosted
305 | version: "1.8.0"
306 | nested:
307 | dependency: transitive
308 | description:
309 | name: nested
310 | url: "https://pub.dartlang.org"
311 | source: hosted
312 | version: "1.0.0"
313 | path:
314 | dependency: transitive
315 | description:
316 | name: path
317 | url: "https://pub.dartlang.org"
318 | source: hosted
319 | version: "1.8.2"
320 | path_provider_linux:
321 | dependency: transitive
322 | description:
323 | name: path_provider_linux
324 | url: "https://pub.dartlang.org"
325 | source: hosted
326 | version: "2.1.9"
327 | path_provider_platform_interface:
328 | dependency: transitive
329 | description:
330 | name: path_provider_platform_interface
331 | url: "https://pub.dartlang.org"
332 | source: hosted
333 | version: "2.0.6"
334 | path_provider_windows:
335 | dependency: transitive
336 | description:
337 | name: path_provider_windows
338 | url: "https://pub.dartlang.org"
339 | source: hosted
340 | version: "2.1.4"
341 | pinput:
342 | dependency: "direct main"
343 | description:
344 | name: pinput
345 | url: "https://pub.dartlang.org"
346 | source: hosted
347 | version: "2.2.21"
348 | platform:
349 | dependency: transitive
350 | description:
351 | name: platform
352 | url: "https://pub.dartlang.org"
353 | source: hosted
354 | version: "3.1.0"
355 | plugin_platform_interface:
356 | dependency: transitive
357 | description:
358 | name: plugin_platform_interface
359 | url: "https://pub.dartlang.org"
360 | source: hosted
361 | version: "2.1.4"
362 | process:
363 | dependency: transitive
364 | description:
365 | name: process
366 | url: "https://pub.dartlang.org"
367 | source: hosted
368 | version: "4.2.4"
369 | provider:
370 | dependency: "direct main"
371 | description:
372 | name: provider
373 | url: "https://pub.dartlang.org"
374 | source: hosted
375 | version: "6.0.5"
376 | shared_preferences:
377 | dependency: "direct main"
378 | description:
379 | name: shared_preferences
380 | url: "https://pub.dartlang.org"
381 | source: hosted
382 | version: "2.0.18"
383 | shared_preferences_android:
384 | dependency: transitive
385 | description:
386 | name: shared_preferences_android
387 | url: "https://pub.dartlang.org"
388 | source: hosted
389 | version: "2.0.16"
390 | shared_preferences_foundation:
391 | dependency: transitive
392 | description:
393 | name: shared_preferences_foundation
394 | url: "https://pub.dartlang.org"
395 | source: hosted
396 | version: "2.1.4"
397 | shared_preferences_linux:
398 | dependency: transitive
399 | description:
400 | name: shared_preferences_linux
401 | url: "https://pub.dartlang.org"
402 | source: hosted
403 | version: "2.1.4"
404 | shared_preferences_platform_interface:
405 | dependency: transitive
406 | description:
407 | name: shared_preferences_platform_interface
408 | url: "https://pub.dartlang.org"
409 | source: hosted
410 | version: "2.1.1"
411 | shared_preferences_web:
412 | dependency: transitive
413 | description:
414 | name: shared_preferences_web
415 | url: "https://pub.dartlang.org"
416 | source: hosted
417 | version: "2.0.5"
418 | shared_preferences_windows:
419 | dependency: transitive
420 | description:
421 | name: shared_preferences_windows
422 | url: "https://pub.dartlang.org"
423 | source: hosted
424 | version: "2.1.4"
425 | sky_engine:
426 | dependency: transitive
427 | description: flutter
428 | source: sdk
429 | version: "0.0.99"
430 | smart_auth:
431 | dependency: transitive
432 | description:
433 | name: smart_auth
434 | url: "https://pub.dartlang.org"
435 | source: hosted
436 | version: "1.0.8"
437 | source_span:
438 | dependency: transitive
439 | description:
440 | name: source_span
441 | url: "https://pub.dartlang.org"
442 | source: hosted
443 | version: "1.9.0"
444 | stack_trace:
445 | dependency: transitive
446 | description:
447 | name: stack_trace
448 | url: "https://pub.dartlang.org"
449 | source: hosted
450 | version: "1.10.0"
451 | stream_channel:
452 | dependency: transitive
453 | description:
454 | name: stream_channel
455 | url: "https://pub.dartlang.org"
456 | source: hosted
457 | version: "2.1.0"
458 | string_scanner:
459 | dependency: transitive
460 | description:
461 | name: string_scanner
462 | url: "https://pub.dartlang.org"
463 | source: hosted
464 | version: "1.1.1"
465 | term_glyph:
466 | dependency: transitive
467 | description:
468 | name: term_glyph
469 | url: "https://pub.dartlang.org"
470 | source: hosted
471 | version: "1.2.1"
472 | test_api:
473 | dependency: transitive
474 | description:
475 | name: test_api
476 | url: "https://pub.dartlang.org"
477 | source: hosted
478 | version: "0.4.12"
479 | typed_data:
480 | dependency: transitive
481 | description:
482 | name: typed_data
483 | url: "https://pub.dartlang.org"
484 | source: hosted
485 | version: "1.3.1"
486 | vector_math:
487 | dependency: transitive
488 | description:
489 | name: vector_math
490 | url: "https://pub.dartlang.org"
491 | source: hosted
492 | version: "2.1.2"
493 | win32:
494 | dependency: transitive
495 | description:
496 | name: win32
497 | url: "https://pub.dartlang.org"
498 | source: hosted
499 | version: "3.1.3"
500 | xdg_directories:
501 | dependency: transitive
502 | description:
503 | name: xdg_directories
504 | url: "https://pub.dartlang.org"
505 | source: hosted
506 | version: "1.0.0"
507 | sdks:
508 | dart: ">=2.18.0 <3.0.0"
509 | flutter: ">=3.3.0"
510 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: homzy1
2 | description: A new Flutter project.
3 |
4 | # The following line prevents the package from being accidentally published to
5 | # pub.dev using `flutter 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 is 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 | # In Windows, build-name is used as the major, minor, and patch parts
19 | # of the product and file versions while build-number is used as the build suffix.
20 | version: 1.0.0+1
21 |
22 | environment:
23 | sdk: '>=2.18.0 <3.0.0'
24 |
25 | # Dependencies specify other packages that your package needs in order to work.
26 | # To automatically upgrade your package dependencies to the latest versions
27 | # consider running `flutter pub upgrade --major-versions`. Alternatively,
28 | # dependencies can be manually updated by changing the version numbers below to
29 | # the latest version available on pub.dev. To see which dependencies have newer
30 | # versions available, run `flutter pub outdated`.
31 | dependencies:
32 | flutter:
33 | sdk: flutter
34 | kommunicate_flutter: ^1.5.1
35 |
36 |
37 | # The following adds the Cupertino Icons font to your application.
38 | # Use with the CupertinoIcons class for iOS style icons.
39 | cupertino_icons: ^1.0.2
40 |
41 | country_picker: ^2.0.18
42 | firebase_core: ^2.3.0
43 | firebase_auth: ^4.1.5
44 | cloud_firestore: ^4.1.0
45 | firebase_storage: ^11.0.6
46 | shared_preferences: ^2.0.15
47 | provider: ^6.0.4
48 | pinput: ^2.2.16
49 | image_picker: ^0.8.6
50 |
51 | carousel_pro: ^1.0.0
52 |
53 | dev_dependencies:
54 | flutter_test:
55 | sdk: flutter
56 |
57 | flutter_lints: ^2.0.0
58 |
59 | # For information on the generic Dart part of this file, see the
60 | # following page: https://dart.dev/tools/pub/pubspec
61 |
62 | # The following section is specific to Flutter packages.
63 | flutter:
64 |
65 | uses-material-design: true
66 |
67 | # To add assets to your application, add an assets section, like this:
68 | assets:
69 | - assets/
70 | - assets/service/
71 | - assets/small_service/
72 | # - images/a_dot_ham.jpe
--------------------------------------------------------------------------------
/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 in the flutter_test package. 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:homzy2/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(const 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 |
--------------------------------------------------------------------------------