├── .gitignore
├── .metadata
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── plumbr
│ │ │ │ └── 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
├── images
├── 3.png
├── 4.png
├── one.jpg
└── two.png
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── Icon-App-1024x1024@1x.png
│ │ ├── Icon-App-20x20@1x.png
│ │ ├── Icon-App-20x20@2x.png
│ │ ├── Icon-App-20x20@3x.png
│ │ ├── Icon-App-29x29@1x.png
│ │ ├── Icon-App-29x29@2x.png
│ │ ├── Icon-App-29x29@3x.png
│ │ ├── Icon-App-40x40@1x.png
│ │ ├── Icon-App-40x40@2x.png
│ │ ├── Icon-App-40x40@3x.png
│ │ ├── Icon-App-60x60@2x.png
│ │ ├── Icon-App-60x60@3x.png
│ │ ├── Icon-App-76x76@1x.png
│ │ ├── Icon-App-76x76@2x.png
│ │ └── Icon-App-83.5x83.5@2x.png
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── lib
├── employee
│ ├── CreateAccountemployee.dart
│ ├── Employee.dart
│ └── Signinrecruitee.dart
├── fetch_location
│ └── Mapshow.dart
├── general
│ ├── Dashboard.dart
│ ├── Payment.dart
│ └── Start.dart
├── main.dart
├── random
│ ├── Component21.dart
│ ├── Forgotpassword.dart
│ ├── Msgscren.dart
│ ├── Test.dart
│ └── Thanks.dart
└── recruiter
│ ├── CreateAccountRecruiter.dart
│ ├── Recruiter.dart
│ ├── Recruiterdashboard.dart
│ └── Signinrecruiter.dart
├── pubspec.lock
└── pubspec.yaml
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 | lib/generated_plugin_registrant.dart
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
43 | # Android Studio will place build artifacts here
44 | /android/app/debug
45 | /android/app/profile
46 | /android/app/release
47 |
--------------------------------------------------------------------------------
/.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: eb6d86ee27deecba4a83536aa20f366a6044895c
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: eb6d86ee27deecba4a83536aa20f366a6044895c
17 | base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
18 | - platform: android
19 | create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
20 | base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
21 | - platform: ios
22 | create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
23 | base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
24 | - platform: linux
25 | create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
26 | base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
27 | - platform: macos
28 | create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
29 | base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
30 | - platform: web
31 | create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
32 | base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
33 | - platform: windows
34 | create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
35 | base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
36 |
37 | # User provided section
38 |
39 | # List of Local paths (relative to this file) that should be
40 | # ignored by the migrate tool.
41 | #
42 | # Files that are not part of the templates will be ignored by default.
43 | unmanaged_files:
44 | - 'lib/main.dart'
45 | - 'ios/Runner.xcodeproj/project.pbxproj'
46 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### Plumbr
2 | Plumbr is an app that provides all kinds of services from household to plumbing works. It directly connects the employee to the customer. The best part about Plumbr is that anyone can be an employee.
3 | In case the houseowner wants someone to do works like cleaning, plucking grass etc. then he can directly log into the app and see who is the nearest employee available along with the rating/review of each employee.
4 |
5 | 1. Among the top 5 projects for Hackbells Hackathon'21
6 | 2. Top 25 teams among 300+ participants for IBETO'21 by Excel MEC
7 |
8 | [Apk Download Link](https://bit.ly/3HxO8Pa)
9 |
10 | ## Why we need Plumbr
11 | Due to the covid-19 pandemic, a lot of the daily workers lost their job. With the introduction of this app, anyone can join as an employee in our app. In the present scenario a lot of people find difficulty in finding workers for doing basic jobs at their house especially the older generation. Our app makes it easy for anyone to find the nearest employee available.
12 | In a time when workers from other states(Bengal, Orissa) earn more than most of government officials, our app would revolutionize the field of employment because anyone can be an employee and help upgrade local businesses and produce an online presence for them. Due to the emergence of online agencies that provide their services, these small business owners are in a state of danger.
13 |
14 | ## How Plumbr works
15 | Suppose the user wants to hire someone for paining:
16 | 1. He logs into the app.
17 | 2. Selects the gardening section.
18 | 3. He gets the realtime location of the employees nearby(within10km as default).
19 | 4. The user can select the employees’ profile which includes his rating, reviews, hiring charges and the list of works he do. There will also be a separate section featuring the top rated employee at the user's location.
20 | 5. After completing the work, the customer has to mark the work as ‘completed’.
21 | 6. The employee will receive an OTP, which the customer has to enter in the Plumbr to complete the payment.
22 |
23 | ## Tech stacks used
24 | 1. Flutter
25 | 2. Firebase/Firestore
26 | 3. Google Maps APIs
27 | 4. Adobe XD
28 |
29 | ## App screens
30 | 
31 | 
32 | 
33 |
34 | ## Contributors
35 | 1. [Mohammad Salman Ali pary](https://github.com/salmanpary)
36 | 2. [Athul Reji](https://github.com/athulreji)
37 | 3. [Amjad Ali](https://github.com/I-Am-Blind)
38 | 4. [Adithya Kartha](https://github.com/adithyakartha)
39 |
--------------------------------------------------------------------------------
/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 |
28 | android {
29 | compileSdkVersion flutter.compileSdkVersion
30 | ndkVersion flutter.ndkVersion
31 |
32 | compileOptions {
33 | sourceCompatibility JavaVersion.VERSION_1_8
34 | targetCompatibility JavaVersion.VERSION_1_8
35 | }
36 |
37 | kotlinOptions {
38 | jvmTarget = '1.8'
39 | }
40 |
41 | sourceSets {
42 | main.java.srcDirs += 'src/main/kotlin'
43 | }
44 |
45 | defaultConfig {
46 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47 | applicationId "com.example.plumbr"
48 | // You can update the following values to match your application needs.
49 | // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
50 | minSdkVersion 19
51 | targetSdkVersion flutter.targetSdkVersion
52 | versionCode flutterVersionCode.toInteger()
53 | versionName flutterVersionName
54 | }
55 |
56 | buildTypes {
57 | release {
58 | // TODO: Add your own signing config for the release build.
59 | // Signing with the debug keys for now, so `flutter run --release` works.
60 | signingConfig signingConfigs.debug
61 | }
62 | }
63 | }
64 |
65 | flutter {
66 | source '../..'
67 | }
68 |
69 | dependencies {
70 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
71 | }
72 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
15 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
30 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/plumbr/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.plumbr
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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/images/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/images/3.png
--------------------------------------------------------------------------------
/images/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/images/4.png
--------------------------------------------------------------------------------
/images/one.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/images/one.jpg
--------------------------------------------------------------------------------
/images/two.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/images/two.png
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | 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 | 8.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
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 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
14 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
15 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
16 | /* End PBXBuildFile section */
17 |
18 | /* Begin PBXCopyFilesBuildPhase section */
19 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
20 | isa = PBXCopyFilesBuildPhase;
21 | buildActionMask = 2147483647;
22 | dstPath = "";
23 | dstSubfolderSpec = 10;
24 | files = (
25 | );
26 | name = "Embed Frameworks";
27 | runOnlyForDeploymentPostprocessing = 0;
28 | };
29 | /* End PBXCopyFilesBuildPhase section */
30 |
31 | /* Begin PBXFileReference section */
32 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
33 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
34 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
35 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
36 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
37 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
38 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
39 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
40 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
41 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
42 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
43 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
44 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
45 | /* End PBXFileReference section */
46 |
47 | /* Begin PBXFrameworksBuildPhase section */
48 | 97C146EB1CF9000F007C117D /* Frameworks */ = {
49 | isa = PBXFrameworksBuildPhase;
50 | buildActionMask = 2147483647;
51 | files = (
52 | );
53 | runOnlyForDeploymentPostprocessing = 0;
54 | };
55 | /* End PBXFrameworksBuildPhase section */
56 |
57 | /* Begin PBXGroup section */
58 | 9740EEB11CF90186004384FC /* Flutter */ = {
59 | isa = PBXGroup;
60 | children = (
61 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
62 | 9740EEB21CF90195004384FC /* Debug.xcconfig */,
63 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
64 | 9740EEB31CF90195004384FC /* Generated.xcconfig */,
65 | );
66 | name = Flutter;
67 | sourceTree = "";
68 | };
69 | 97C146E51CF9000F007C117D = {
70 | isa = PBXGroup;
71 | children = (
72 | 9740EEB11CF90186004384FC /* Flutter */,
73 | 97C146F01CF9000F007C117D /* Runner */,
74 | 97C146EF1CF9000F007C117D /* Products */,
75 | );
76 | sourceTree = "";
77 | };
78 | 97C146EF1CF9000F007C117D /* Products */ = {
79 | isa = PBXGroup;
80 | children = (
81 | 97C146EE1CF9000F007C117D /* Runner.app */,
82 | );
83 | name = Products;
84 | sourceTree = "";
85 | };
86 | 97C146F01CF9000F007C117D /* Runner */ = {
87 | isa = PBXGroup;
88 | children = (
89 | 97C146FA1CF9000F007C117D /* Main.storyboard */,
90 | 97C146FD1CF9000F007C117D /* Assets.xcassets */,
91 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
92 | 97C147021CF9000F007C117D /* Info.plist */,
93 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
94 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
95 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
96 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
97 | );
98 | path = Runner;
99 | sourceTree = "";
100 | };
101 | /* End PBXGroup section */
102 |
103 | /* Begin PBXNativeTarget section */
104 | 97C146ED1CF9000F007C117D /* Runner */ = {
105 | isa = PBXNativeTarget;
106 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
107 | buildPhases = (
108 | 9740EEB61CF901F6004384FC /* Run Script */,
109 | 97C146EA1CF9000F007C117D /* Sources */,
110 | 97C146EB1CF9000F007C117D /* Frameworks */,
111 | 97C146EC1CF9000F007C117D /* Resources */,
112 | 9705A1C41CF9048500538489 /* Embed Frameworks */,
113 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
114 | );
115 | buildRules = (
116 | );
117 | dependencies = (
118 | );
119 | name = Runner;
120 | productName = Runner;
121 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
122 | productType = "com.apple.product-type.application";
123 | };
124 | /* End PBXNativeTarget section */
125 |
126 | /* Begin PBXProject section */
127 | 97C146E61CF9000F007C117D /* Project object */ = {
128 | isa = PBXProject;
129 | attributes = {
130 | LastUpgradeCheck = 1020;
131 | ORGANIZATIONNAME = "";
132 | TargetAttributes = {
133 | 97C146ED1CF9000F007C117D = {
134 | CreatedOnToolsVersion = 7.3.1;
135 | LastSwiftMigration = 1100;
136 | };
137 | };
138 | };
139 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
140 | compatibilityVersion = "Xcode 9.3";
141 | developmentRegion = en;
142 | hasScannedForEncodings = 0;
143 | knownRegions = (
144 | en,
145 | Base,
146 | );
147 | mainGroup = 97C146E51CF9000F007C117D;
148 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
149 | projectDirPath = "";
150 | projectRoot = "";
151 | targets = (
152 | 97C146ED1CF9000F007C117D /* Runner */,
153 | );
154 | };
155 | /* End PBXProject section */
156 |
157 | /* Begin PBXResourcesBuildPhase section */
158 | 97C146EC1CF9000F007C117D /* Resources */ = {
159 | isa = PBXResourcesBuildPhase;
160 | buildActionMask = 2147483647;
161 | files = (
162 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
163 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
164 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
165 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
166 | );
167 | runOnlyForDeploymentPostprocessing = 0;
168 | };
169 | /* End PBXResourcesBuildPhase section */
170 |
171 | /* Begin PBXShellScriptBuildPhase section */
172 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
173 | isa = PBXShellScriptBuildPhase;
174 | buildActionMask = 2147483647;
175 | files = (
176 | );
177 | inputPaths = (
178 | );
179 | name = "Thin Binary";
180 | outputPaths = (
181 | );
182 | runOnlyForDeploymentPostprocessing = 0;
183 | shellPath = /bin/sh;
184 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
185 | };
186 | 9740EEB61CF901F6004384FC /* Run Script */ = {
187 | isa = PBXShellScriptBuildPhase;
188 | buildActionMask = 2147483647;
189 | files = (
190 | );
191 | inputPaths = (
192 | );
193 | name = "Run Script";
194 | outputPaths = (
195 | );
196 | runOnlyForDeploymentPostprocessing = 0;
197 | shellPath = /bin/sh;
198 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
199 | };
200 | /* End PBXShellScriptBuildPhase section */
201 |
202 | /* Begin PBXSourcesBuildPhase section */
203 | 97C146EA1CF9000F007C117D /* Sources */ = {
204 | isa = PBXSourcesBuildPhase;
205 | buildActionMask = 2147483647;
206 | files = (
207 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
208 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
209 | );
210 | runOnlyForDeploymentPostprocessing = 0;
211 | };
212 | /* End PBXSourcesBuildPhase section */
213 |
214 | /* Begin PBXVariantGroup section */
215 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
216 | isa = PBXVariantGroup;
217 | children = (
218 | 97C146FB1CF9000F007C117D /* Base */,
219 | );
220 | name = Main.storyboard;
221 | sourceTree = "";
222 | };
223 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
224 | isa = PBXVariantGroup;
225 | children = (
226 | 97C147001CF9000F007C117D /* Base */,
227 | );
228 | name = LaunchScreen.storyboard;
229 | sourceTree = "";
230 | };
231 | /* End PBXVariantGroup section */
232 |
233 | /* Begin XCBuildConfiguration section */
234 | 249021D3217E4FDB00AE95B9 /* Profile */ = {
235 | isa = XCBuildConfiguration;
236 | buildSettings = {
237 | ALWAYS_SEARCH_USER_PATHS = NO;
238 | CLANG_ANALYZER_NONNULL = YES;
239 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
240 | CLANG_CXX_LIBRARY = "libc++";
241 | CLANG_ENABLE_MODULES = YES;
242 | CLANG_ENABLE_OBJC_ARC = YES;
243 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
244 | CLANG_WARN_BOOL_CONVERSION = YES;
245 | CLANG_WARN_COMMA = YES;
246 | CLANG_WARN_CONSTANT_CONVERSION = YES;
247 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
248 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
249 | CLANG_WARN_EMPTY_BODY = YES;
250 | CLANG_WARN_ENUM_CONVERSION = YES;
251 | CLANG_WARN_INFINITE_RECURSION = YES;
252 | CLANG_WARN_INT_CONVERSION = YES;
253 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
254 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
255 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
256 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
257 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
258 | CLANG_WARN_STRICT_PROTOTYPES = YES;
259 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
260 | CLANG_WARN_UNREACHABLE_CODE = YES;
261 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
262 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
263 | COPY_PHASE_STRIP = NO;
264 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
265 | ENABLE_NS_ASSERTIONS = NO;
266 | ENABLE_STRICT_OBJC_MSGSEND = YES;
267 | GCC_C_LANGUAGE_STANDARD = gnu99;
268 | GCC_NO_COMMON_BLOCKS = YES;
269 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
270 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
271 | GCC_WARN_UNDECLARED_SELECTOR = YES;
272 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
273 | GCC_WARN_UNUSED_FUNCTION = YES;
274 | GCC_WARN_UNUSED_VARIABLE = YES;
275 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
276 | MTL_ENABLE_DEBUG_INFO = NO;
277 | SDKROOT = iphoneos;
278 | SUPPORTED_PLATFORMS = iphoneos;
279 | TARGETED_DEVICE_FAMILY = "1,2";
280 | VALIDATE_PRODUCT = YES;
281 | };
282 | name = Profile;
283 | };
284 | 249021D4217E4FDB00AE95B9 /* Profile */ = {
285 | isa = XCBuildConfiguration;
286 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
287 | buildSettings = {
288 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
289 | CLANG_ENABLE_MODULES = YES;
290 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
291 | ENABLE_BITCODE = NO;
292 | INFOPLIST_FILE = Runner/Info.plist;
293 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
294 | PRODUCT_BUNDLE_IDENTIFIER = com.example.plumbr;
295 | PRODUCT_NAME = "$(TARGET_NAME)";
296 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
297 | SWIFT_VERSION = 5.0;
298 | VERSIONING_SYSTEM = "apple-generic";
299 | };
300 | name = Profile;
301 | };
302 | 97C147031CF9000F007C117D /* Debug */ = {
303 | isa = XCBuildConfiguration;
304 | buildSettings = {
305 | ALWAYS_SEARCH_USER_PATHS = NO;
306 | CLANG_ANALYZER_NONNULL = YES;
307 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
308 | CLANG_CXX_LIBRARY = "libc++";
309 | CLANG_ENABLE_MODULES = YES;
310 | CLANG_ENABLE_OBJC_ARC = YES;
311 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
312 | CLANG_WARN_BOOL_CONVERSION = YES;
313 | CLANG_WARN_COMMA = YES;
314 | CLANG_WARN_CONSTANT_CONVERSION = YES;
315 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
316 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
317 | CLANG_WARN_EMPTY_BODY = YES;
318 | CLANG_WARN_ENUM_CONVERSION = YES;
319 | CLANG_WARN_INFINITE_RECURSION = YES;
320 | CLANG_WARN_INT_CONVERSION = YES;
321 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
322 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
323 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
324 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
325 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
326 | CLANG_WARN_STRICT_PROTOTYPES = YES;
327 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
328 | CLANG_WARN_UNREACHABLE_CODE = YES;
329 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
330 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
331 | COPY_PHASE_STRIP = NO;
332 | DEBUG_INFORMATION_FORMAT = dwarf;
333 | ENABLE_STRICT_OBJC_MSGSEND = YES;
334 | ENABLE_TESTABILITY = YES;
335 | GCC_C_LANGUAGE_STANDARD = gnu99;
336 | GCC_DYNAMIC_NO_PIC = NO;
337 | GCC_NO_COMMON_BLOCKS = YES;
338 | GCC_OPTIMIZATION_LEVEL = 0;
339 | GCC_PREPROCESSOR_DEFINITIONS = (
340 | "DEBUG=1",
341 | "$(inherited)",
342 | );
343 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
344 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
345 | GCC_WARN_UNDECLARED_SELECTOR = YES;
346 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
347 | GCC_WARN_UNUSED_FUNCTION = YES;
348 | GCC_WARN_UNUSED_VARIABLE = YES;
349 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
350 | MTL_ENABLE_DEBUG_INFO = YES;
351 | ONLY_ACTIVE_ARCH = YES;
352 | SDKROOT = iphoneos;
353 | TARGETED_DEVICE_FAMILY = "1,2";
354 | };
355 | name = Debug;
356 | };
357 | 97C147041CF9000F007C117D /* Release */ = {
358 | isa = XCBuildConfiguration;
359 | buildSettings = {
360 | ALWAYS_SEARCH_USER_PATHS = NO;
361 | CLANG_ANALYZER_NONNULL = YES;
362 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
363 | CLANG_CXX_LIBRARY = "libc++";
364 | CLANG_ENABLE_MODULES = YES;
365 | CLANG_ENABLE_OBJC_ARC = YES;
366 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
367 | CLANG_WARN_BOOL_CONVERSION = YES;
368 | CLANG_WARN_COMMA = YES;
369 | CLANG_WARN_CONSTANT_CONVERSION = YES;
370 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
371 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
372 | CLANG_WARN_EMPTY_BODY = YES;
373 | CLANG_WARN_ENUM_CONVERSION = YES;
374 | CLANG_WARN_INFINITE_RECURSION = YES;
375 | CLANG_WARN_INT_CONVERSION = YES;
376 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
377 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
378 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
379 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
380 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
381 | CLANG_WARN_STRICT_PROTOTYPES = YES;
382 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
383 | CLANG_WARN_UNREACHABLE_CODE = YES;
384 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
385 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
386 | COPY_PHASE_STRIP = NO;
387 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
388 | ENABLE_NS_ASSERTIONS = NO;
389 | ENABLE_STRICT_OBJC_MSGSEND = YES;
390 | GCC_C_LANGUAGE_STANDARD = gnu99;
391 | GCC_NO_COMMON_BLOCKS = YES;
392 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
393 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
394 | GCC_WARN_UNDECLARED_SELECTOR = YES;
395 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
396 | GCC_WARN_UNUSED_FUNCTION = YES;
397 | GCC_WARN_UNUSED_VARIABLE = YES;
398 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
399 | MTL_ENABLE_DEBUG_INFO = NO;
400 | SDKROOT = iphoneos;
401 | SUPPORTED_PLATFORMS = iphoneos;
402 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
403 | TARGETED_DEVICE_FAMILY = "1,2";
404 | VALIDATE_PRODUCT = YES;
405 | };
406 | name = Release;
407 | };
408 | 97C147061CF9000F007C117D /* Debug */ = {
409 | isa = XCBuildConfiguration;
410 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
411 | buildSettings = {
412 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
413 | CLANG_ENABLE_MODULES = YES;
414 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
415 | ENABLE_BITCODE = NO;
416 | INFOPLIST_FILE = Runner/Info.plist;
417 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
418 | PRODUCT_BUNDLE_IDENTIFIER = com.example.plumbr;
419 | PRODUCT_NAME = "$(TARGET_NAME)";
420 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
421 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
422 | SWIFT_VERSION = 5.0;
423 | VERSIONING_SYSTEM = "apple-generic";
424 | };
425 | name = Debug;
426 | };
427 | 97C147071CF9000F007C117D /* Release */ = {
428 | isa = XCBuildConfiguration;
429 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
430 | buildSettings = {
431 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
432 | CLANG_ENABLE_MODULES = YES;
433 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
434 | ENABLE_BITCODE = NO;
435 | INFOPLIST_FILE = Runner/Info.plist;
436 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
437 | PRODUCT_BUNDLE_IDENTIFIER = com.example.plumbr;
438 | PRODUCT_NAME = "$(TARGET_NAME)";
439 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
440 | SWIFT_VERSION = 5.0;
441 | VERSIONING_SYSTEM = "apple-generic";
442 | };
443 | name = Release;
444 | };
445 | /* End XCBuildConfiguration section */
446 |
447 | /* Begin XCConfigurationList section */
448 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
449 | isa = XCConfigurationList;
450 | buildConfigurations = (
451 | 97C147031CF9000F007C117D /* Debug */,
452 | 97C147041CF9000F007C117D /* Release */,
453 | 249021D3217E4FDB00AE95B9 /* Profile */,
454 | );
455 | defaultConfigurationIsVisible = 0;
456 | defaultConfigurationName = Release;
457 | };
458 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
459 | isa = XCConfigurationList;
460 | buildConfigurations = (
461 | 97C147061CF9000F007C117D /* Debug */,
462 | 97C147071CF9000F007C117D /* Release */,
463 | 249021D4217E4FDB00AE95B9 /* Profile */,
464 | );
465 | defaultConfigurationIsVisible = 0;
466 | defaultConfigurationName = Release;
467 | };
468 | /* End XCConfigurationList section */
469 | };
470 | rootObject = 97C146E61CF9000F007C117D /* Project object */;
471 | }
472 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/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/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamsyy/plumbr/70fec24dd98112f14de8c410b05ef24069b610fb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | plumbr
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/employee/CreateAccountemployee.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import 'package:plumbr/employee/Signinrecruitee.dart';
4 | import 'package:adobe_xd/page_link.dart';
5 | import 'package:cloud_firestore/cloud_firestore.dart';
6 | import 'package:firebase_auth/firebase_auth.dart';
7 | import 'package:geolocator/geolocator.dart';
8 |
9 | final _auth = FirebaseAuth.instance;
10 | double latitude;
11 | double longitude;
12 | String username = '';
13 | String email = '';
14 | String phoneno = '';
15 | String pass = '';
16 | String work = '';
17 | final fire = FirebaseFirestore.instance;
18 |
19 | class CreateAccountemployee extends StatefulWidget {
20 | @override
21 | State createState() => _CreateAccountemployeeState();
22 | }
23 |
24 | class _CreateAccountemployeeState extends State {
25 | @override
26 | void initState() {
27 | getcurrentlocation();
28 | super.initState();
29 | }
30 |
31 | Future getcurrentlocation() async {
32 | try {
33 | Position position = await Geolocator.getCurrentPosition(
34 | desiredAccuracy: LocationAccuracy.high);
35 | latitude = position.latitude;
36 | longitude = position.longitude;
37 | print(position);
38 | } catch (e) {
39 | print(e);
40 | }
41 | }
42 |
43 | @override
44 | Widget build(BuildContext context) {
45 | return Scaffold(
46 | backgroundColor: const Color(0xffffffff),
47 | body: Stack(
48 | children: [
49 | Pinned.fromPins(
50 | Pin(start: -49.0, end: -50.0),
51 | Pin(start: -426.0, end: -48.0),
52 | child: Stack(
53 | children: [
54 | Pinned.fromPins(
55 | Pin(start: 0.0, end: 0.0),
56 | Pin(start: 0.0, end: 136.0),
57 | child:
58 | // Adobe XD layer: 'Bg' (shape)
59 | Container(
60 | decoration: BoxDecoration(
61 | borderRadius: BorderRadius.circular(210.0),
62 | color: const Color(0xffc2dbd2),
63 | ),
64 | ),
65 | ),
66 | Container(),
67 | Container(),
68 | Container(),
69 | Container(),
70 | Pinned.fromPins(
71 | Pin(size: 245.0, middle: 0.5338),
72 | Pin(size: 46.0, middle: 0.433),
73 | child: const Text(
74 | 'Create Account',
75 | style: TextStyle(
76 | fontFamily: 'Roboto',
77 | fontSize: 35,
78 | color: Color(0xff3c3c3c),
79 | fontWeight: FontWeight.w700,
80 | ),
81 | textAlign: TextAlign.left,
82 | ),
83 | ),
84 | Pinned.fromPins(
85 | Pin(size: 200.0, middle: 0.2762),
86 | Pin(size: 26.0, middle: 0.5046),
87 | child: TextField(
88 | decoration: const InputDecoration(
89 | hintText: 'username',
90 | ),
91 | onChanged: (String y) {
92 | username = y;
93 | },
94 | ),
95 | ),
96 | Pinned.fromPins(
97 | Pin(size: 200.0, middle: 0.2762),
98 | Pin(size: 26.0, middle: 0.5744),
99 | child: TextField(
100 | decoration: const InputDecoration(
101 | hintText: 'Email id',
102 | ),
103 | onChanged: (String y) {
104 | email = y;
105 | },
106 | ),
107 | ),
108 | Pinned.fromPins(
109 | Pin(size: 200.0, middle: 0.288),
110 | Pin(size: 26.0, middle: 0.6442),
111 | child: TextField(
112 | decoration: const InputDecoration(
113 | hintText: 'Phone no',
114 | ),
115 | onChanged: (String y) {
116 | phoneno = y;
117 | },
118 | ),
119 | ),
120 | Pinned.fromPins(
121 | Pin(size: 200.0, middle: 0.2762),
122 | Pin(size: 26.0, middle: 0.714),
123 | child: TextField(
124 | decoration: const InputDecoration(
125 | hintText: 'Password',
126 | ),
127 | onChanged: (String y) {
128 | pass = y;
129 | }),
130 | ),
131 | Pinned.fromPins(Pin(size: 200.0, middle: 0.2762),
132 | Pin(size: 26.0, middle: 0.754),
133 | child: DropdownButton(
134 | hint: const Padding(
135 | padding: EdgeInsets.fromLTRB(0, 0, 0, 0),
136 | child: Text('Select the work you do'),
137 | ),
138 | items: ['Maid', 'Electrician', 'Driver']
139 | .map((String value) {
140 | return DropdownMenuItem(
141 | value: value,
142 | child: Text(value),
143 | );
144 | }).toList(),
145 | onChanged: (String workselected) {
146 | work = workselected;
147 | print(work);
148 | },
149 | )),
150 | Pinned.fromPins(
151 | Pin(size: 108.0, middle: 0.5211),
152 | Pin(size: 33.0, middle: 0.3356),
153 | child:
154 | // Adobe XD layer: 'Logo' (group)
155 | Stack(
156 | children: [
157 | Pinned.fromPins(
158 | Pin(start: 0.0, end: 0.0),
159 | Pin(size: 33.0, middle: 0.5),
160 | child: const Text(
161 | 'plumbr.',
162 | style: TextStyle(
163 | fontFamily: 'Roboto Mono',
164 | fontSize: 25,
165 | color: Color(0xff3b3b3b),
166 | fontWeight: FontWeight.w500,
167 | ),
168 | textAlign: TextAlign.left,
169 | ),
170 | ),
171 | ],
172 | ),
173 | ),
174 | Pinned.fromPins(
175 | Pin(size: 173.0, middle: 0.5),
176 | Pin(size: 20.0, end: 0.0),
177 | child:
178 | // Adobe XD layer: 'Logo' (group)
179 | Stack(
180 | children: [
181 | Pinned.fromPins(
182 | Pin(start: 0.0, end: 0.0),
183 | Pin(size: 20.0, middle: 0.5),
184 | child: const Text(
185 | 'All Rights Reserved',
186 | style: TextStyle(
187 | fontFamily: 'Roboto Mono',
188 | fontSize: 15,
189 | color: Color(0xff3c3c3c),
190 | fontWeight: FontWeight.w500,
191 | ),
192 | textAlign: TextAlign.left,
193 | ),
194 | ),
195 | ],
196 | ),
197 | ),
198 | Pinned.fromPins(
199 | Pin(size: 50.0, middle: 0.4989),
200 | Pin(size: 26.0, end: 154.0),
201 | child: PageLink(
202 | links: [
203 | PageLinkInfo(
204 | ease: Curves.easeInOut,
205 | duration: 0.4,
206 | pageBuilder: () => const Signinrecruitee(),
207 | ),
208 | ],
209 | child: const Text(
210 | 'Login',
211 | style: TextStyle(
212 | fontFamily: 'Roboto',
213 | fontSize: 20,
214 | color: Color(0xff3c3c3c),
215 | fontWeight: FontWeight.w300,
216 | height: 2.5,
217 | ),
218 | textHeightBehavior:
219 | TextHeightBehavior(applyHeightToFirstAscent: false),
220 | textAlign: TextAlign.left,
221 | ),
222 | ),
223 | ),
224 | ],
225 | ),
226 | ),
227 | Pinned.fromPins(
228 | Pin(size: 189.0, middle: 0.4978),
229 | Pin(size: 47.0, middle: 0.7509),
230 | child:
231 | // Adobe XD layer: 'Sign in' (group)
232 | Stack(
233 | children: [
234 | Pinned.fromPins(
235 | Pin(start: 0.0, end: 0.0),
236 | Pin(start: 1.0, end: 1.0),
237 | child: Container(
238 | decoration: BoxDecoration(
239 | borderRadius: BorderRadius.circular(24.0),
240 | color: const Color(0xff5a5a5a),
241 | ),
242 | ),
243 | ),
244 | Pinned.fromPins(
245 | Pin(size: 64.0, middle: 0.504),
246 | Pin(size: 26.0, middle: 0.5714),
247 | child: GestureDetector(
248 | onTap: () async {
249 | final newuser =
250 | await _auth.createUserWithEmailAndPassword(
251 | email: email, password: pass);
252 | fire.collection('employee').add({
253 | 'latittude': latitude,
254 | 'longitude': longitude,
255 | 'email': email,
256 | 'phone': phoneno,
257 | 'work': work,
258 | });
259 | if (newuser != null) {
260 | Navigator.push(context,
261 | MaterialPageRoute(builder: (context) {
262 | return const Signinrecruitee();
263 | }));
264 | }
265 | },
266 | child: const Text(
267 | 'Submit',
268 | style: TextStyle(
269 | fontFamily: 'Roboto',
270 | fontSize: 20,
271 | color: Color(0xffffffff),
272 | fontWeight: FontWeight.w300,
273 | ),
274 | textAlign: TextAlign.left,
275 | ),
276 | ),
277 | ),
278 | ],
279 | ),
280 | ),
281 | Pinned.fromPins(
282 | Pin(size: 129.0, middle: 0.5018),
283 | Pin(size: 39.0, start: 108.0),
284 | child: const Text(
285 | 'employee',
286 | style: TextStyle(
287 | fontFamily: 'Roboto',
288 | fontSize: 30,
289 | color: Color(0xff3b3b3b),
290 | fontWeight: FontWeight.w300,
291 | ),
292 | textAlign: TextAlign.left,
293 | ),
294 | ),
295 | ],
296 | ),
297 | );
298 | }
299 | }
300 |
--------------------------------------------------------------------------------
/lib/employee/Employee.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import 'package:plumbr/employee/Signinrecruitee.dart';
4 | import 'package:adobe_xd/page_link.dart';
5 | import 'CreateAccountemployee.dart';
6 | import 'package:flutter_svg/flutter_svg.dart';
7 |
8 | class Employee extends StatelessWidget {
9 | const Employee({
10 | Key key,
11 | }) : super(key: key);
12 | @override
13 | Widget build(BuildContext context) {
14 | return Scaffold(
15 | backgroundColor: const Color(0xffffffff),
16 | body: Stack(
17 | children: [
18 | Pinned.fromPins(
19 | Pin(start: -173.9, end: -307.9),
20 | Pin(start: -317.4, end: -5.0),
21 | child: Stack(
22 | children: [
23 | Pinned.fromPins(
24 | Pin(size: 84.0, middle: 0.4173),
25 | Pin(size: 26.0, end: 0.0),
26 | child: const Text(
27 | 'All Rights Reserved',
28 | style: TextStyle(
29 | fontFamily: 'Roboto',
30 | fontSize: 10,
31 | color: Color(0xff3c3c3c),
32 | fontWeight: FontWeight.w100,
33 | ),
34 | textAlign: TextAlign.left,
35 | ),
36 | ),
37 | Pinned.fromPins(
38 | Pin(start: 0.0, end: 0.0),
39 | Pin(start: 0.0, end: 310.6),
40 | child:
41 | // Adobe XD layer: 'Bg' (shape)
42 | SvgPicture.string(
43 | _svg_lj7abv,
44 | allowDrawingOutsideViewBox: true,
45 | fit: BoxFit.fill,
46 | ),
47 | ),
48 | Pinned.fromPins(
49 | Pin(size: 300.0, middle: 0.4192),
50 | Pin(size: 92.0, middle: 0.3884),
51 | child:
52 | // Adobe XD layer: 'Logo' (group)
53 | Stack(
54 | children: [
55 | Pinned.fromPins(
56 | Pin(start: 0.0, end: 0.0),
57 | Pin(size: 92.0, middle: 0.5),
58 | child: const Text(
59 | 'plumbr.',
60 | style: TextStyle(
61 | fontFamily: 'Roboto Mono',
62 | fontSize: 70,
63 | color: Color(0xff3b3b3b),
64 | fontWeight: FontWeight.w500,
65 | ),
66 | textAlign: TextAlign.left,
67 | ),
68 | ),
69 | ],
70 | ),
71 | ),
72 | Pinned.fromPins(
73 | Pin(size: 189.0, middle: 0.4042),
74 | Pin(size: 47.0, middle: 0.7136),
75 | child:
76 | // Adobe XD layer: 'Sign in' (group)
77 | PageLink(
78 | links: [
79 | PageLinkInfo(
80 | ease: Curves.easeInOut,
81 | duration: 0.4,
82 | pageBuilder: () => const Signinrecruitee()
83 | ),
84 | ],
85 | child: Stack(
86 | children: [
87 | Pinned.fromPins(
88 | Pin(start: 0.0, end: 0.0),
89 | Pin(start: 0.0, end: 0.0),
90 | child: Container(
91 | decoration: BoxDecoration(
92 | borderRadius: BorderRadius.circular(24.0),
93 | color: const Color(0xff5a5a5a),
94 | ),
95 | ),
96 | ),
97 | Pinned.fromPins(
98 | Pin(size: 64.0, middle: 0.504),
99 | Pin(size: 26.0, middle: 0.5714),
100 | child: const Text(
101 | 'Sign In',
102 | style: TextStyle(
103 | fontFamily: 'Roboto',
104 | fontSize: 20,
105 | color: Color(0xffffffff),
106 | fontWeight: FontWeight.w300,
107 | ),
108 | textAlign: TextAlign.left,
109 | ),
110 | ),
111 | ],
112 | ),
113 | ),
114 | ),
115 | Pinned.fromPins(
116 | Pin(size: 247.0, middle: 0.3972),
117 | Pin(size: 47.0, middle: 0.7774),
118 | child:
119 | // Adobe XD layer: 'Create accouht' (group)
120 | PageLink(
121 | links: [
122 | PageLinkInfo(
123 | ease: Curves.easeInOut,
124 | duration: 0.4,
125 | pageBuilder: () => CreateAccountemployee(),
126 | ),
127 | ],
128 | child: Stack(
129 | children: [
130 | Pinned.fromPins(
131 | Pin(start: 0.0, end: 0.0),
132 | Pin(start: 0.0, end: 0.0),
133 | child: Container(
134 | decoration: BoxDecoration(
135 | borderRadius: BorderRadius.circular(24.0),
136 | color: const Color(0xff5a5a5a),
137 | ),
138 | ),
139 | ),
140 | Pinned.fromPins(
141 | Pin(size: 140.0, middle: 0.5327),
142 | Pin(size: 26.0, middle: 0.5714),
143 | child: const Text(
144 | 'Create Account',
145 | style: TextStyle(
146 | fontFamily: 'Roboto',
147 | fontSize: 20,
148 | color: Color(0xffffffff),
149 | fontWeight: FontWeight.w300,
150 | ),
151 | textAlign: TextAlign.left,
152 | ),
153 | ),
154 | ],
155 | ),
156 | ),
157 | ),
158 | ],
159 | ),
160 | ),
161 | Pinned.fromPins(
162 | Pin(size: 179.0, end: 27.0),
163 | Pin(size: 53.0, middle: 0.2326),
164 | child:
165 | // Adobe XD layer: 'Logo' (group)
166 | Stack(
167 | children: [
168 | Pinned.fromPins(
169 | Pin(start: 0.0, end: 0.0),
170 | Pin(size: 53.0, middle: 0.5),
171 | child: const Text(
172 | 'employee',
173 | style: TextStyle(
174 | fontFamily: 'Roboto',
175 | fontSize: 40,
176 | color: Color(0xff3b3b3b),
177 | fontWeight: FontWeight.w300,
178 | ),
179 | textAlign: TextAlign.left,
180 | ),
181 | ),
182 | ],
183 | ),
184 | ),
185 | ],
186 | ),
187 | );
188 | }
189 | }
190 |
191 | const String _svg_lj7abv =
192 | '';
193 |
--------------------------------------------------------------------------------
/lib/employee/Signinrecruitee.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import '../random/Forgotpassword.dart';
4 | import 'package:adobe_xd/page_link.dart';
5 | import 'package:flutter_svg/flutter_svg.dart';
6 | import 'package:firebase_auth/firebase_auth.dart';
7 |
8 | import '../random/Msgscren.dart';
9 | import 'CreateAccountemployee.dart';
10 | String email;
11 | String pass;
12 |
13 |
14 | final _auth = FirebaseAuth.instance;
15 | class Signinrecruitee extends StatelessWidget {
16 | const Signinrecruitee({
17 | Key key,
18 | }) : super(key: key);
19 | @override
20 | @override
21 | Widget build(BuildContext context) {
22 | return Scaffold(
23 | backgroundColor: const Color(0xffffffff),
24 | body: Stack(
25 | children: [
26 | Pinned.fromPins(
27 | Pin(start: -49.0, end: -50.0),
28 | Pin(start: -426.0, end: -48.0),
29 | child: Stack(
30 | children: [
31 | Pinned.fromPins(
32 | Pin(start: 0.0, end: 0.0),
33 | Pin(start: 0.0, end: 136.0),
34 | child:
35 | // Adobe XD layer: 'Bg' (shape)
36 | SvgPicture.string(
37 | _svg_q92na,
38 | allowDrawingOutsideViewBox: true,
39 | fit: BoxFit.fill,
40 | ),
41 | ),
42 | Pinned.fromPins(
43 | Pin(size: 113.0, middle: 0.5),
44 | Pin(size: 46.0, middle: 0.4322),
45 | child: InkWell(onTap: ()async{
46 | print('/////////////////////');
47 | final user = await _auth.signInWithEmailAndPassword(
48 | email: email, password: pass);
49 | if (user != null) {
50 | Navigator.push(context,
51 | MaterialPageRoute(builder: (context) {
52 | return Msgscren();
53 | }));
54 | }
55 | },
56 | child: const Text(
57 | 'Sign insss',
58 | style: TextStyle(
59 | fontFamily: 'Roboto',
60 | fontSize: 35,
61 | color: Color(0xff3c3c3c),
62 | fontWeight: FontWeight.w700,
63 | ),
64 | textAlign: TextAlign.left,
65 | ),
66 | ),
67 | ),
68 | Pinned.fromPins(
69 | Pin(size: 120.0, middle: 0.2634),
70 | Pin(size: 26.0, middle: 0.5303),
71 | child: TextField(decoration: const InputDecoration(
72 | hintText: 'email',
73 |
74 | ),onChanged: (String y){
75 | email=y;
76 | },),
77 | ),
78 | Pinned.fromPins(
79 | Pin(size: 120.0, middle: 0.2634),
80 | Pin(size: 26.0, middle: 0.6161),
81 | child: TextField(decoration: const InputDecoration(
82 | hintText: 'Password',
83 |
84 | ),onChanged: (String y){
85 | pass=y;
86 | },),
87 | ),
88 | Pinned.fromPins(
89 | Pin(size: 164.0, end: 72.0),
90 | Pin(size: 26.0, middle: 0.6958),
91 | child: PageLink(
92 | links: [
93 | PageLinkInfo(
94 | ease: Curves.easeInOut,
95 | duration: 0.4,
96 | pageBuilder: () => const Forgotpassword(),
97 | ),
98 | ],
99 | child: const Text(
100 | 'Forgot password ?',
101 | style: TextStyle(
102 | fontFamily: 'Roboto',
103 | fontSize: 20,
104 | color: Color(0xff3c3c3c),
105 | fontWeight: FontWeight.w300,
106 | ),
107 | textAlign: TextAlign.left,
108 | ),
109 | ),
110 | ),
111 | Pinned.fromPins(
112 | Pin(size: 108.0, middle: 0.5211),
113 | Pin(size: 33.0, middle: 0.3356),
114 | child:
115 | // Adobe XD layer: 'Logo' (group)
116 | Stack(
117 | children: [
118 | Pinned.fromPins(
119 | Pin(start: 0.0, end: 0.0),
120 | Pin(size: 33.0, middle: 0.5),
121 | child: const Text(
122 | 'plumbr.',
123 | style: TextStyle(
124 | fontFamily: 'Roboto Mono',
125 | fontSize: 25,
126 | color: Color(0xff3b3b3b),
127 | fontWeight: FontWeight.w500,
128 | ),
129 | textAlign: TextAlign.left,
130 | ),
131 | ),
132 | ],
133 | ),
134 | ),
135 | Pinned.fromPins(
136 | Pin(size: 173.0, middle: 0.5),
137 | Pin(size: 20.0, end: 0.0),
138 | child:
139 | // Adobe XD layer: 'Logo' (group)
140 | Stack(
141 | children: [
142 | Pinned.fromPins(
143 | Pin(start: 0.0, end: 0.0),
144 | Pin(size: 20.0, middle: 0.5),
145 | child: const Text(
146 | 'All Rights Reserved',
147 | style: TextStyle(
148 | fontFamily: 'Roboto Mono',
149 | fontSize: 15,
150 | color: Color(0xff3c3c3c),
151 | fontWeight: FontWeight.w500,
152 | ),
153 | textAlign: TextAlign.left,
154 | ),
155 | ),
156 | ],
157 | ),
158 | ),
159 | Pinned.fromPins(
160 | Pin(size: 163.0, middle: 0.5),
161 | Pin(size: 26.0, end: 164.0),
162 | child: PageLink(
163 | links: [
164 | PageLinkInfo(
165 | ease: Curves.easeInOut,
166 | duration: 0.4,
167 | pageBuilder: () => CreateAccountemployee(),
168 | ),
169 | ],
170 | child: const Text(
171 | 'Create an account',
172 | style: TextStyle(
173 | fontFamily: 'Roboto',
174 | fontSize: 20,
175 | color: Color(0xff3c3c3c),
176 | fontWeight: FontWeight.w300,
177 | height: 2.5,
178 | ),
179 | textHeightBehavior:
180 | TextHeightBehavior(applyHeightToFirstAscent: false),
181 | textAlign: TextAlign.left,
182 | ),
183 | ),
184 | ),
185 | Container(),
186 | Container(),
187 | ],
188 | ),
189 | ),
190 | Pinned.fromPins(
191 | Pin(size: 189.0, middle: 0.4978),
192 | Pin(size: 47.0, middle: 0.6719),
193 | child:
194 | // Adobe XD layer: 'Sign in' (group)
195 | GestureDetector(onTap: ()async{ print('/////////////////////');
196 | final user = await _auth.signInWithEmailAndPassword(
197 | email: email, password: pass);
198 | if (user != null) {
199 | Navigator.push(context,
200 | MaterialPageRoute(builder: (context) {
201 | return Msgscren();
202 | }));
203 | }},
204 | child: Stack(
205 | children: [
206 | Pinned.fromPins(
207 | Pin(start: 0.0, end: 0.0),
208 | Pin(start: 0.0, end: 0.0),
209 | child: Container(
210 | decoration: BoxDecoration(
211 | borderRadius: BorderRadius.circular(24.0),
212 | color: const Color(0xff5a5a5a),
213 | ),
214 | ),
215 | ),
216 | Pinned.fromPins(
217 | Pin(size: 64.0, middle: 0.504),
218 | Pin(size: 26.0, middle: 0.5714),
219 | child: GestureDetector(onTap: ()async{
220 | print('/////////////////////');
221 | final user = await _auth.signInWithEmailAndPassword(
222 | email: email, password: pass);
223 | if (user != null) {
224 | Navigator.push(context,
225 | MaterialPageRoute(builder: (context) {
226 | return Msgscren();
227 | }));
228 | }
229 | },
230 | child: const Text(
231 | 'Sign Iniii',
232 | style: TextStyle(
233 | fontFamily: 'Roboto',
234 | fontSize: 20,
235 | color: Color(0xffffffff),
236 | fontWeight: FontWeight.w300,
237 | ),
238 | textAlign: TextAlign.left,
239 | ),
240 | ),
241 | ),
242 | ],
243 | ),
244 | ),
245 | ),
246 | Pinned.fromPins(
247 | Pin(size: 130.0, middle: 0.5),
248 | Pin(size: 39.0, start: 98.0),
249 | child:
250 | // Adobe XD layer: 'Logo' (group)
251 | Stack(
252 | children: [
253 | Pinned.fromPins(
254 | Pin(start: 0.0, end: 0.0),
255 | Pin(size: 39.0, middle: 0.5),
256 | child: const Text(
257 | 'employee',
258 | style: TextStyle(
259 | fontFamily: 'Roboto',
260 | fontSize: 30,
261 | color: Color(0xff3b3b3b),
262 | fontWeight: FontWeight.w300,
263 | ),
264 | textAlign: TextAlign.left,
265 | ),
266 | ),
267 | ],
268 | ),
269 | ),
270 | ],
271 | ),
272 | );
273 | }
274 | }
275 |
276 | const String _svg_q92na =
277 | '';
278 |
--------------------------------------------------------------------------------
/lib/fetch_location/Mapshow.dart:
--------------------------------------------------------------------------------
1 | import 'package:cloud_firestore/cloud_firestore.dart';
2 | import 'package:firebase_auth/firebase_auth.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:flutter_polyline_points/flutter_polyline_points.dart';
5 | import 'package:geolocator/geolocator.dart';
6 | import 'package:google_maps_flutter/google_maps_flutter.dart';
7 | import 'package:plumbr/general/Payment.dart';
8 | import 'package:flutter/services.dart' show rootBundle;
9 | import 'dart:ui' as ui;
10 | import 'dart:typed_data';
11 |
12 | PolylinePoints polylinePoints = PolylinePoints();
13 | final _auth = FirebaseAuth.instance;
14 | final fire = FirebaseFirestore.instance;
15 | List list = [];
16 | double latitude;
17 | double longitude;
18 | Map polylines = {};
19 | List polylineCoordinates = [];
20 | String job;
21 |
22 | class Mapshow extends StatefulWidget {
23 | String joli;
24 | Mapshow({String joli}) {
25 | job = joli;
26 | }
27 | @override
28 | _MapshowState createState() => _MapshowState();
29 | }
30 |
31 | class _MapshowState extends State {
32 | final Set _markers = {};
33 |
34 | Future getDocs() async {
35 | final Uint8List customMarker = await getBytesFromAsset(
36 | path: "images/4.png", //paste the custom image path
37 | width: 150); // size of custom image as marker
38 | int x = 2;
39 | await FirebaseFirestore.instance
40 | .collection('employee')
41 | .get()
42 | .then((QuerySnapshot querySnapshot) {
43 | for (var doc in querySnapshot.docs) {
44 | if (doc["work"].toString() == job) {
45 | x++;
46 | setState(() {
47 | _markers.add(
48 | Marker(
49 | icon: BitmapDescriptor.fromBytes(customMarker),
50 | markerId: MarkerId('id-$x'),
51 | position: LatLng(doc["latittude"], doc["longitude"]),
52 | infoWindow: InfoWindow(
53 | onTap: () {
54 | Navigator.push(
55 | context, MaterialPageRoute(builder: (context) {}));
56 | },
57 | title: doc["email"],
58 | snippet: doc["phone"])),
59 | );
60 | });
61 | }
62 | }
63 | });
64 | print(list);
65 | }
66 |
67 | Future getBytesFromAsset({String path, int width}) async {
68 | ByteData data = await rootBundle.load(path);
69 | ui.Codec codec = await ui.instantiateImageCodec(data.buffer.asUint8List(),
70 | targetWidth: width);
71 | ui.FrameInfo fi = await codec.getNextFrame();
72 | return (await fi.image.toByteData(format: ui.ImageByteFormat.png))
73 | .buffer
74 | .asUint8List();
75 | }
76 |
77 | final Set _polylines = {};
78 | List polylinecordinates = [];
79 | PolylinePoints polylinePoints;
80 | @override
81 | void initState() {
82 | getDocs();
83 | getcurrentlocation();
84 |
85 | super.initState();
86 | }
87 |
88 | Future getcurrentlocation() async {
89 | LocationPermission permission = await Geolocator.requestPermission();
90 | try {
91 | Position position = await Geolocator.getCurrentPosition(
92 | desiredAccuracy: LocationAccuracy.high);
93 | latitude = position.latitude;
94 | longitude = position.longitude;
95 | print(position);
96 | print('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
97 | setState(() {
98 | _markers.add(
99 | Marker(
100 | markerId: const MarkerId('id-2'),
101 | position: LatLng(latitude, longitude),
102 | infoWindow: InfoWindow(
103 | onTap: () {
104 | Navigator.push(context, MaterialPageRoute(builder: (context) {
105 | return Payment();
106 | }));
107 | },
108 | title: "Your Location",
109 | )),
110 | );
111 | });
112 | } catch (e) {
113 | print(e);
114 | }
115 | }
116 |
117 | @override
118 | Widget build(BuildContext context) {
119 | return Scaffold(
120 | body: GoogleMap(
121 | polylines: _polylines,
122 | onMapCreated: (GoogleMapController controller) {
123 | setpolylines();
124 | },
125 | markers: _markers,
126 | initialCameraPosition:
127 | const CameraPosition(target: LatLng(10.8505, 76.2711), zoom: 5),
128 | ));
129 | }
130 |
131 | void setpolylines() async {
132 | PolylineResult result = await polylinePoints.getRouteBetweenCoordinates(
133 | "AIzaSyCEaait6-hAjeXn0zgNNwJNHk1LEOzzl9Q",
134 | const PointLatLng(29.0, 76.0),
135 | const PointLatLng(10.8505, 76.433));
136 | if (result.status == 'OK') {
137 | for (var point in result.points) {
138 | polylinecordinates.add(LatLng(point.latitude, point.longitude));
139 | }
140 | }
141 | setState(() {
142 | _polylines.add(Polyline(
143 | width: 100,
144 | polylineId: const PolylineId('polyline'),
145 | points: polylinecordinates));
146 | });
147 | }
148 | }
149 |
--------------------------------------------------------------------------------
/lib/general/Dashboard.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import '../random/Component21.dart';
4 |
5 | class Dashboard extends StatelessWidget {
6 |
7 | @override
8 | Widget build(BuildContext context) {
9 | return Scaffold(
10 | backgroundColor: const Color(0xffffffff),
11 | body: Stack(
12 | children: [
13 | Pinned.fromPins(
14 | Pin(start: -66.0, end: -72.0),
15 | Pin(size: 205.0, start: 66.0),
16 | child: Component21(),
17 | ),
18 | Pinned.fromPins(
19 | Pin(start: -66.0, end: -72.0),
20 | Pin(size: 205.0, middle: 0.7579),
21 | child: Component21(),
22 | ),
23 | ],
24 | ),
25 | );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/lib/general/Payment.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_phone_direct_caller/flutter_phone_direct_caller.dart';
3 | import 'package:font_awesome_flutter/font_awesome_flutter.dart';
4 | import 'package:razorpay_flutter/razorpay_flutter.dart';
5 |
6 |
7 |
8 | String pin;
9 | String address;
10 | String no;
11 |
12 | class Payment extends StatefulWidget {
13 | Payment({String number}) {
14 | no = number;
15 | }
16 | @override
17 | _PaymentState createState() => _PaymentState();
18 | }
19 |
20 | class _PaymentState extends State {
21 | Razorpay razorpay;
22 | TextEditingController textEditingController = TextEditingController();
23 | @override
24 | void initState() {
25 | super.initState();
26 | razorpay = Razorpay();
27 | razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, handlerPaymentSuccess);
28 | razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, handlerPaymentError);
29 | razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, handlerExternalWallet);
30 | }
31 |
32 | @override
33 | void dispose() {
34 | super.dispose();
35 | razorpay.clear();
36 | }
37 |
38 | void openCheckout() {
39 | int z = int.parse(textEditingController.text) * 100;
40 | var options = {
41 | "key": "rzp_test_KRIbh5kOB96e8q",
42 | "amount": "$z",
43 | "name": "Plumbr",
44 | "description": "Fastest Payment Method",
45 | "prefill": {
46 | "contact": "7559076475",
47 | "email": "adamrubiks@gmail.com",
48 | },
49 | "external": {
50 | "wallets": ["paytm"],
51 | }
52 | };
53 | try {
54 | razorpay.open(options);
55 | } catch (e) {
56 | print(e.toString());
57 | }
58 | }
59 |
60 | void handlerPaymentSuccess() {
61 | print('success aayye');
62 | }
63 |
64 | void handlerPaymentError() {
65 | print('error aai');
66 | }
67 |
68 | void handlerExternalWallet() {
69 | print('external aaye');
70 | }
71 |
72 | @override
73 | Widget build(BuildContext context) {
74 | return Scaffold(
75 | backgroundColor: Colors.grey[200],
76 | appBar: AppBar(
77 | toolbarHeight: 70,
78 | backgroundColor: Colors.grey[200],
79 | elevation: 0,
80 | leading: GestureDetector(
81 | onTap: () {
82 | Navigator.pop(context);
83 | },
84 | child: const Icon(
85 | FontAwesomeIcons.backward,
86 | color: Colors.black,
87 | )),
88 | actions: [
89 | Container(
90 | decoration: const BoxDecoration(
91 | shape: BoxShape.circle,
92 | ),
93 | margin: const EdgeInsets.all(10),
94 | child: Icon(
95 | FontAwesomeIcons.signature,
96 | color: Colors.pinkAccent.withOpacity(0.8),
97 | ),
98 | ),
99 | ],
100 | ),
101 | body: SingleChildScrollView(
102 | scrollDirection: Axis.vertical,
103 | child: Column(
104 | children: [
105 | Padding(
106 | padding: const EdgeInsets.all(18.0),
107 | child: Container(
108 | height: 250,
109 | decoration: BoxDecoration(
110 | color: Colors.grey[200],
111 | borderRadius: BorderRadius.circular(8.0),
112 | boxShadow: const [
113 | BoxShadow(
114 | color: Colors.black,
115 | blurRadius: 2.0,
116 | spreadRadius: 0.0,
117 | offset: Offset(2.0, 2.0),
118 |
119 | //(x,y)
120 | ),
121 | ],
122 | ),
123 | child: Column(
124 | children: [
125 | Padding(
126 | padding: const EdgeInsets.all(20),
127 | child: Padding(
128 | padding: const EdgeInsets.only(top: 35.0),
129 | child: TextField(
130 | controller: textEditingController,
131 | decoration: InputDecoration(
132 | border: OutlineInputBorder(
133 | borderSide: BorderSide(
134 | color: Colors.black.withOpacity(0.8))),
135 | hintText: 'Amount to pay',
136 | suffixText: 'INR',
137 | hintStyle: const TextStyle(
138 | fontWeight: FontWeight.w100,
139 | fontStyle: FontStyle.italic),
140 | suffixStyle: const TextStyle(color: Colors.black)),
141 | ),
142 | ),
143 | ),
144 | const SizedBox(
145 | height: 12,
146 | ),
147 | ElevatedButton(
148 | onPressed: () {
149 | openCheckout();
150 | },
151 | style: ElevatedButton.styleFrom(
152 | backgroundColor: Colors.black.withOpacity(0.8),
153 | shape: RoundedRectangleBorder(
154 | borderRadius: BorderRadius.circular(30.0))
155 | ),
156 | child: const Text(
157 | 'Pay Now',
158 | style: TextStyle(color: Colors.white),
159 | ),
160 | )
161 | ],
162 | ),
163 | ),
164 | ),
165 | Padding(
166 | padding: const EdgeInsets.all(18.0),
167 | child: Container(
168 | height: 350,
169 | decoration: BoxDecoration(
170 | color: Colors.grey[200],
171 | borderRadius: BorderRadius.circular(8.0),
172 | boxShadow: const [
173 | BoxShadow(
174 | color: Colors.black,
175 | blurRadius: 2.0,
176 | spreadRadius: 0.0,
177 | offset: Offset(2.0, 2.0),
178 |
179 | //(x,y)
180 | ),
181 | ],
182 | ),
183 | child: Column(
184 | children: [
185 | Padding(
186 | padding: const EdgeInsets.all(20),
187 | child: Padding(
188 | padding: const EdgeInsets.only(top: 35.0),
189 | child: TextField(
190 | onChanged: (value) {
191 | pin = value;
192 | },
193 | decoration: InputDecoration(
194 | border: OutlineInputBorder(
195 | borderSide: BorderSide(
196 | color: Colors.black.withOpacity(0.8))),
197 | hintText: 'Add work details',
198 | hintStyle: const TextStyle(
199 | fontWeight: FontWeight.w100,
200 | fontStyle: FontStyle.italic),
201 | suffixStyle: const TextStyle(color: Colors.black)),
202 | ),
203 | ),
204 | ),
205 | Padding(
206 | padding: const EdgeInsets.all(20),
207 | child: Padding(
208 | padding: const EdgeInsets.only(top: 1),
209 | child: TextField(
210 | onChanged: (value) {
211 | address = value;
212 | },
213 | decoration: InputDecoration(
214 | border: OutlineInputBorder(
215 | borderSide: BorderSide(
216 | color: Colors.black.withOpacity(0.8))),
217 | hintText: 'any extra information',
218 | hintStyle: const TextStyle(
219 | fontWeight: FontWeight.w100,
220 | fontStyle: FontStyle.italic),
221 | suffixStyle: const TextStyle(color: Colors.black)),
222 | ),
223 | ),
224 | ),
225 | const SizedBox(
226 | height: 12,
227 | ),
228 | ElevatedButton(
229 | onPressed: () async {
230 | if (address != null && pin != null) {
231 | var number = no;
232 | bool res =
233 | await FlutterPhoneDirectCaller.callNumber(
234 | number);
235 | } else {
236 | showDialog(
237 | context: context,
238 | builder: (BuildContext context) {
239 | // return object of type Dialog
240 | return AlertDialog(
241 | title: const Text("Order Failed"),
242 | content: const Text(
243 | "Please enter your details to continue"),
244 | actions: [
245 | // usually buttons at the bottom of the dialog
246 | TextButton(
247 | child: const Text("Close"),
248 | onPressed: () {
249 | Navigator.of(context).pop();
250 | },
251 | ),
252 | ],
253 | );
254 | },
255 | );
256 | }
257 | },
258 | style: ElevatedButton.styleFrom(
259 | backgroundColor: Colors.black,
260 | elevation: 4,
261 | shape: RoundedRectangleBorder(
262 | borderRadius: BorderRadius.circular(30.0))
263 | ),
264 | child: const Text(
265 | 'Call',
266 | style: TextStyle(color: Colors.white),
267 | ),
268 | )
269 | ],
270 | ),
271 | ),
272 | ),
273 | ],
274 | ),
275 | ));
276 | }
277 | }
278 |
--------------------------------------------------------------------------------
/lib/general/Start.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import '../recruiter/Recruiter.dart';
4 | import 'package:adobe_xd/page_link.dart';
5 | import '../employee/Employee.dart';
6 | import 'package:flutter_svg/flutter_svg.dart';
7 |
8 | class Start extends StatelessWidget {
9 | const Start({
10 | Key key,
11 | }) : super(key: key);
12 | @override
13 | Widget build(BuildContext context) {
14 | return Scaffold(
15 | backgroundColor: const Color(0xffffffff),
16 | body: Stack(
17 | children: [
18 | Pinned.fromPins(
19 | Pin(start: -173.9, end: -307.9),
20 | Pin(start: -373.4, end: 164.1),
21 | child: Stack(
22 | children: [
23 | Pinned.fromPins(
24 | Pin(start: 0.0, end: 0.0),
25 | Pin(start: 0.0, end: 197.5),
26 | child:
27 | // Adobe XD layer: 'Bg' (shape)
28 | SvgPicture.string(
29 | _svg_rkuh9m,
30 | allowDrawingOutsideViewBox: true,
31 | fit: BoxFit.fill,
32 | ),
33 | ),
34 | Pinned.fromPins(
35 | Pin(size: 300.0, middle: 0.4192),
36 | Pin(size: 92.0, middle: 0.4896),
37 | child:
38 | // Adobe XD layer: 'Logo' (group)
39 | Stack(
40 | children: [
41 | Pinned.fromPins(
42 | Pin(start: 0.0, end: 0.0),
43 | Pin(size: 92.0, middle: 0.5),
44 | child: const Text(
45 | 'plumbr.',
46 | style: TextStyle(
47 | fontFamily: 'Roboto Mono',
48 | fontSize: 70,
49 | color: Color(0xff3b3b3b),
50 | fontWeight: FontWeight.w500,
51 | ),
52 | textAlign: TextAlign.left,
53 | ),
54 | ),
55 | ],
56 | ),
57 | ),
58 | Pinned.fromPins(
59 | Pin(size: 142.0, middle: 0.4129),
60 | Pin(size: 37.5, end: 72.0),
61 | child: PageLink(
62 | links: [
63 | PageLinkInfo(
64 | ease: Curves.easeInOut,
65 | duration: 0.4,
66 | pageBuilder: () => const Recruiter(),
67 | ),
68 | ],
69 | child: Stack(
70 | children: [
71 | Pinned.fromPins(
72 | Pin(start: 0.0, end: 0.0),
73 | Pin(size: 1.0, end: -1.0),
74 | child: SvgPicture.string(
75 | _svg_xyk9,
76 | allowDrawingOutsideViewBox: true,
77 | fit: BoxFit.fill,
78 | ),
79 | ),
80 | Pinned.fromPins(
81 | Pin(size: 101.0, start: 19.5),
82 | Pin(size: 33.0, middle: 0.0),
83 | child: const Text(
84 | 'Recruiter',
85 | style: TextStyle(
86 | fontFamily: 'Roboto',
87 | fontSize: 25,
88 | color: Color(0xff3b3b3b),
89 | fontWeight: FontWeight.w300,
90 | ),
91 | textAlign: TextAlign.left,
92 | ),
93 | ),
94 | ],
95 | ),
96 | ),
97 | ),
98 | Pinned.fromPins(
99 | Pin(size: 142.0, middle: 0.4129),
100 | Pin(size: 38.5, end: 0.0),
101 | child: Stack(
102 | children: [
103 | Pinned.fromPins(
104 | Pin(start: 0.0, end: 0.0),
105 | Pin(size: 1.0, end: -1.0),
106 | child: SvgPicture.string(
107 | _svg_cqlcxz,
108 | allowDrawingOutsideViewBox: true,
109 | fit: BoxFit.fill,
110 | ),
111 | ),
112 | Pinned.fromPins(
113 | Pin(start: 17.0, end: 14.0),
114 | Pin(size: 33.0, middle: 0.0),
115 | child: PageLink(
116 | links: [
117 | PageLinkInfo(
118 | ease: Curves.easeInOut,
119 | duration: 0.4,
120 | pageBuilder: () => const Employee(),
121 | ),
122 | ],
123 | child: const Text(
124 | 'Employee',
125 | style: TextStyle(
126 | fontFamily: 'Roboto',
127 | fontSize: 25,
128 | color: Color(0xff3b3b3b),
129 | fontWeight: FontWeight.w300,
130 | ),
131 | textAlign: TextAlign.left,
132 | ),
133 | ),
134 | ),
135 | ],
136 | ),
137 | ),
138 | Pinned.fromPins(
139 | Pin(size: 181.0, middle: 0.4067),
140 | Pin(size: 66.0, end: 131.5),
141 | child: const Text(
142 | 'Continue As\n',
143 | style: TextStyle(
144 | fontFamily: 'Roboto',
145 | fontSize: 25,
146 | color: Color(0xff292828),
147 | fontWeight: FontWeight.w100,
148 | ),
149 | textAlign: TextAlign.center,
150 | ),
151 | ),
152 | ],
153 | ),
154 | ),
155 | ],
156 | ),
157 | );
158 | }
159 | }
160 |
161 | const String _svg_rkuh9m =
162 | '';
163 | const String _svg_xyk9 =
164 | '';
165 | const String _svg_cqlcxz =
166 | '';
167 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:cloud_firestore/cloud_firestore.dart';
2 | import 'package:firebase_auth/firebase_auth.dart';
3 | import 'package:flutter/material.dart';
4 | import 'package:geolocator/geolocator.dart';
5 | import 'package:plumbr/general/Start.dart';
6 | import 'package:get/get.dart';
7 | import 'package:firebase_core/firebase_core.dart';
8 |
9 | final _auth = FirebaseAuth.instance;
10 | final fire = FirebaseFirestore.instance;
11 | double latitude;
12 | double longitude;
13 | List list = [];
14 | void main() async {
15 | WidgetsFlutterBinding.ensureInitialized();
16 | await Firebase.initializeApp();
17 | runApp(GetMaterialApp(home: MyApp()));
18 | }
19 |
20 | class MyApp extends StatefulWidget {
21 | @override
22 | State createState() => _MyAppState();
23 | }
24 |
25 | class _MyAppState extends State {
26 | @override
27 | void initState() {
28 | getDocs();
29 |
30 | super.initState();
31 | }
32 |
33 | Future getcurrentlocation() async {
34 | LocationPermission permission = await Geolocator.requestPermission();
35 | try {
36 | Position position = await Geolocator.getCurrentPosition(
37 | desiredAccuracy: LocationAccuracy.high);
38 | latitude = position.latitude;
39 | longitude = position.longitude;
40 | print(position);
41 | print('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
42 | } catch (e) {
43 | print(e);
44 | }
45 | }
46 |
47 | Future getDocs() async {
48 | await FirebaseFirestore.instance
49 | .collection('employee')
50 | .get()
51 | .then((QuerySnapshot querySnapshot) {
52 | for (var doc in querySnapshot.docs) {
53 | if (doc["work"].toString() == "Maid") {
54 | list.add(doc["email"]);
55 | }
56 | }
57 | });
58 | print(list);
59 | }
60 |
61 | // This widget is the root of your application.
62 | @override
63 | Widget build(BuildContext context) {
64 | return MaterialApp(
65 | title: 'Plumbr',
66 | theme: ThemeData(
67 | primarySwatch: Colors.blue,
68 | ),
69 | home: const Start(),
70 | );
71 | }
72 | }
73 | //comments 223456
74 |
--------------------------------------------------------------------------------
/lib/random/Component21.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import 'package:flutter_svg/flutter_svg.dart';
4 |
5 | class Component21 extends StatelessWidget {
6 |
7 | @override
8 | Widget build(BuildContext context) {
9 | return Stack(
10 | children: [
11 | Pinned.fromPins(
12 | Pin(start: 0.0, end: 0.0),
13 | Pin(start: 0.0, end: 0.0),
14 | child: SvgPicture.string(
15 | _svg_akmrx4,
16 | allowDrawingOutsideViewBox: true,
17 | fit: BoxFit.fill,
18 | ),
19 | ),
20 | ],
21 | );
22 | }
23 | }
24 |
25 | const String _svg_akmrx4 =
26 | '';
27 |
--------------------------------------------------------------------------------
/lib/random/Forgotpassword.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import '../general/Start.dart';
4 | import 'package:adobe_xd/page_link.dart';
5 | import 'package:flutter_svg/flutter_svg.dart';
6 |
7 | class Forgotpassword extends StatelessWidget {
8 | const Forgotpassword({
9 | Key key,
10 | }) : super(key: key);
11 | @override
12 | Widget build(BuildContext context) {
13 | return Scaffold(
14 | backgroundColor: const Color(0xffffffff),
15 | body: Stack(
16 | children: [
17 | Pinned.fromPins(
18 | Pin(start: -49.0, end: -50.0),
19 | Pin(start: -426.0, end: 88.0),
20 | child:
21 | // Adobe XD layer: 'Bg' (shape)
22 | SvgPicture.string(
23 | _svg_ck5c2k,
24 | allowDrawingOutsideViewBox: true,
25 | fit: BoxFit.fill,
26 | ),
27 | ),
28 | Pinned.fromPins(
29 | Pin(start: 39.0, end: 21.0),
30 | Pin(start: 14.0, end: -48.0),
31 | child: Stack(
32 | children: [
33 | Pinned.fromPins(
34 | Pin(start: 49.0, end: 48.0),
35 | Pin(size: 46.0, start: 119.0),
36 | child: const Text(
37 | 'Reset password',
38 | style: TextStyle(
39 | fontFamily: 'Roboto',
40 | fontSize: 35,
41 | color: Color(0xff3c3c3c),
42 | fontWeight: FontWeight.w700,
43 | ),
44 | textAlign: TextAlign.left,
45 | ),
46 | ),
47 | Pinned.fromPins(
48 | Pin(start: 0.0, end: 0.0),
49 | Pin(size: 50.0, middle: 0.2892),
50 | child: const Scrollbar(
51 | child: SingleChildScrollView(
52 | child: Text(
53 | 'We\'ll send a link to reset your passwor don your registered email id',
54 | style: TextStyle(
55 | fontFamily: 'Roboto',
56 | fontSize: 20,
57 | color: Color(0xff3c3c3c),
58 | fontWeight: FontWeight.w300,
59 | ),
60 | textAlign: TextAlign.center,
61 | ),
62 | ),
63 | ),
64 | ),
65 | Pinned.fromPins(
66 | Pin(size: 120.0, start: 21.0),
67 | Pin(size: 26.0, middle: 0.4157),
68 | child: const Text(
69 | 'Email Id',
70 | style: TextStyle(
71 | fontFamily: 'Roboto',
72 | fontSize: 20,
73 | color: Color(0xff3c3c3c),
74 | fontWeight: FontWeight.w300,
75 | ),
76 | textAlign: TextAlign.left,
77 | ),
78 | ),
79 | Pinned.fromPins(
80 | Pin(size: 108.0, middle: 0.5),
81 | Pin(size: 33.0, start: 0.0),
82 | child:
83 | // Adobe XD layer: 'Logo' (group)
84 | Stack(
85 | children: [
86 | Pinned.fromPins(
87 | Pin(start: 0.0, end: 0.0),
88 | Pin(size: 33.0, middle: 0.5),
89 | child: const Text(
90 | 'plumbr.',
91 | style: TextStyle(
92 | fontFamily: 'Roboto Mono',
93 | fontSize: 25,
94 | color: Color(0xff3b3b3b),
95 | fontWeight: FontWeight.w500,
96 | ),
97 | textAlign: TextAlign.left,
98 | ),
99 | ),
100 | ],
101 | ),
102 | ),
103 | Pinned.fromPins(
104 | Pin(size: 173.0, middle: 0.4525),
105 | Pin(size: 20.0, end: 0.0),
106 | child:
107 | // Adobe XD layer: 'Logo' (group)
108 | Stack(
109 | children: [
110 | Pinned.fromPins(
111 | Pin(start: 0.0, end: 0.0),
112 | Pin(size: 20.0, middle: 0.5),
113 | child: const Text(
114 | 'All Rights Reserved',
115 | style: TextStyle(
116 | fontFamily: 'Roboto Mono',
117 | fontSize: 15,
118 | color: Color(0xff3c3c3c),
119 | fontWeight: FontWeight.w500,
120 | ),
121 | textAlign: TextAlign.left,
122 | ),
123 | ),
124 | ],
125 | ),
126 | ),
127 | Pinned.fromPins(
128 | Pin(size: 48.0, middle: 0.4704),
129 | Pin(size: 26.0, middle: 0.8189),
130 | child: PageLink(
131 | links: [
132 | PageLinkInfo(
133 | ease: Curves.easeInOut,
134 | duration: 0.4,
135 | pageBuilder: () => const Start(),
136 | ),
137 | ],
138 | child: const Text(
139 | 'Back',
140 | style: TextStyle(
141 | fontFamily: 'Roboto',
142 | fontSize: 20,
143 | color: Color(0xff3c3c3c),
144 | fontWeight: FontWeight.w300,
145 | height: 2.5,
146 | ),
147 | textHeightBehavior:
148 | TextHeightBehavior(applyHeightToFirstAscent: false),
149 | textAlign: TextAlign.left,
150 | ),
151 | ),
152 | ),
153 | Container(),
154 | ],
155 | ),
156 | ),
157 | Pinned.fromPins(
158 | Pin(size: 229.0, middle: 0.5027),
159 | Pin(size: 47.0, middle: 0.5954),
160 | child:
161 | // Adobe XD layer: 'Sign in' (group)
162 | Stack(
163 | children: [
164 | Pinned.fromPins(
165 | Pin(start: 0.0, end: 0.0),
166 | Pin(start: 0.0, end: 0.0),
167 | child: Container(
168 | decoration: BoxDecoration(
169 | borderRadius: BorderRadius.circular(24.0),
170 | color: const Color(0xff5a5a5a),
171 | ),
172 | ),
173 | ),
174 | Pinned.fromPins(
175 | Pin(start: 43.0, end: 43.0),
176 | Pin(size: 26.0, middle: 0.5714),
177 | child: const Text(
178 | 'Reset password',
179 | style: TextStyle(
180 | fontFamily: 'Roboto',
181 | fontSize: 20,
182 | color: Color(0xffffffff),
183 | fontWeight: FontWeight.w300,
184 | ),
185 | textAlign: TextAlign.left,
186 | ),
187 | ),
188 | ],
189 | ),
190 | ),
191 | ],
192 | ),
193 | );
194 | }
195 | }
196 |
197 | const String _svg_ck5c2k =
198 | '';
199 |
--------------------------------------------------------------------------------
/lib/random/Msgscren.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class Msgscren extends StatefulWidget {
4 |
5 |
6 | @override
7 | _MsgscrenState createState() => _MsgscrenState();
8 | }
9 |
10 | class _MsgscrenState extends State {
11 | @override
12 | Widget build(BuildContext context) {
13 | return Scaffold(appBar: AppBar(),body:const Text('Thanks for registering, we will let you in soon'),);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/lib/random/Test.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:geolocator/geolocator.dart';
3 | double latitude;
4 | double longitude;
5 | class Test extends StatefulWidget {
6 |
7 |
8 | @override
9 | _TestState createState() => _TestState();
10 | }
11 |
12 | class _TestState extends State {
13 | @override
14 | void initState() {
15 | getcurrentlocation();
16 | super.initState();
17 | }
18 |
19 | Future getcurrentlocation() async{
20 | LocationPermission permission = await Geolocator.requestPermission();
21 | try {
22 |
23 | Position position = await Geolocator.getCurrentPosition(
24 | desiredAccuracy: LocationAccuracy.low);
25 | latitude=position.latitude;
26 | longitude=position.longitude;
27 | print(position);
28 | }
29 | catch(e){
30 | print(e);
31 | }
32 | }
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | /// Determine the current position of the device.
42 | ///
43 | /// When the location services are not enabled or permissions
44 | /// are denied the `Future` will return an error.
45 |
46 | @override
47 | Widget build(BuildContext context) {
48 | return Center(child: Container(color:Colors.green,child: const Text('hi'),));
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/lib/random/Thanks.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class Thanks extends StatefulWidget {
4 |
5 |
6 | @override
7 | _ThanksState createState() => _ThanksState();
8 | }
9 |
10 | class _ThanksState extends State {
11 |
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | return Scaffold(appBar: AppBar(backgroundColor: Colors.black.withOpacity(0.85),),
16 | body: Padding(
17 | padding: const EdgeInsets.all(18.0),
18 | child: Container(height:500,width: MediaQuery.of(context).size.width /1, decoration: BoxDecoration(color: Colors.grey[200],borderRadius: BorderRadius.circular(8.0),
19 | boxShadow: const [
20 | BoxShadow(
21 | color: Colors.black,
22 | blurRadius: 2.0,
23 | spreadRadius: 0.0,
24 | offset: Offset(1,1),
25 |
26 |
27 | //(x,y)
28 |
29 | ),
30 | ],
31 | ),
32 | child: Column(
33 | children: const [
34 | Padding(
35 | padding: EdgeInsets.all(20),
36 | child: Padding(
37 | padding: EdgeInsets.only(top: 35.0),
38 | child: Text('Thank You For Shopping With Us!',style: TextStyle(fontSize: 70,fontWeight: FontWeight.bold),)
39 | ),
40 | ),
41 | SizedBox(height: 12,),
42 |
43 | ],
44 | ),
45 | ),
46 | ),
47 | );
48 |
49 | }
50 | }
--------------------------------------------------------------------------------
/lib/recruiter/CreateAccountRecruiter.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import 'Signinrecruiter.dart';
4 | import 'package:adobe_xd/page_link.dart';
5 | import 'package:firebase_auth/firebase_auth.dart';
6 |
7 | final _auth = FirebaseAuth.instance;
8 | String username = '';
9 | String email = '';
10 | String phoneno = '';
11 | String pass = '';
12 |
13 | class CreateAccountRecruiter extends StatelessWidget {
14 | const CreateAccountRecruiter({
15 | Key key,
16 | }) : super(key: key);
17 | @override
18 | Widget build(BuildContext context) {
19 | return Scaffold(
20 | backgroundColor: const Color(0xffffffff),
21 | body: Stack(
22 | children: [
23 | Pinned.fromPins(
24 | Pin(start: -49.0, end: -50.0),
25 | Pin(start: -426.0, end: -48.0),
26 | child: Stack(
27 | children: [
28 | Pinned.fromPins(
29 | Pin(start: 0.0, end: 0.0),
30 | Pin(start: 0.0, end: 136.0),
31 | child:
32 | // Adobe XD layer: 'Bg' (shape)
33 | Container(
34 | decoration: BoxDecoration(
35 | borderRadius: BorderRadius.circular(210.0),
36 | color: const Color(0xccebe645),
37 | ),
38 | ),
39 | ),
40 | Container(),
41 | Container(),
42 | Container(),
43 | Container(),
44 | Pinned.fromPins(
45 | Pin(size: 245.0, middle: 0.5338),
46 | Pin(size: 46.0, middle: 0.433),
47 | child: const Text(
48 | 'Create Account',
49 | style: TextStyle(
50 | fontFamily: 'Roboto',
51 | fontSize: 35,
52 | color: Color(0xff3c3c3c),
53 | fontWeight: FontWeight.w700,
54 | ),
55 | textAlign: TextAlign.left,
56 | ),
57 | ),
58 | Pinned.fromPins(
59 | Pin(size: 200.0, middle: 0.2762),
60 | Pin(size: 26.0, middle: 0.5046),
61 | child: TextField(
62 | decoration: const InputDecoration(
63 | hintText: 'Username',
64 | ),
65 | onChanged: (String x) async {
66 | username = x;
67 | },
68 | ),
69 | ),
70 | Pinned.fromPins(
71 | Pin(size: 200.0, middle: 0.2762),
72 | Pin(size: 26.0, middle: 0.5744),
73 | child: TextField(
74 | decoration: const InputDecoration(
75 | hintText: 'Email id',
76 | ),
77 | onChanged: (String y) {
78 | email = y;
79 | },
80 | ),
81 | ),
82 | Pinned.fromPins(
83 | Pin(size: 200.0, middle: 0.288),
84 | Pin(size: 26.0, middle: 0.6442),
85 | child: TextField(
86 | decoration: const InputDecoration(
87 | hintText: 'Phone no',
88 | ),
89 | onChanged: (String z) {
90 | phoneno = z;
91 | },
92 | ),
93 | ),
94 | Pinned.fromPins(
95 | Pin(size: 200.0, middle: 0.2762),
96 | Pin(size: 26.0, middle: 0.714),
97 | child: TextField(
98 | decoration: const InputDecoration(
99 | hintText: 'Password',
100 | ),
101 | onChanged: (String r) {
102 | pass = r;
103 | },
104 | ),
105 | ),
106 | Pinned.fromPins(
107 | Pin(size: 108.0, middle: 0.5211),
108 | Pin(size: 33.0, middle: 0.3356),
109 | child:
110 | // Adobe XD layer: 'Logo' (group)
111 | Stack(
112 | children: [
113 | Pinned.fromPins(
114 | Pin(start: 0.0, end: 0.0),
115 | Pin(size: 33.0, middle: 0.5),
116 | child: const Text(
117 | 'plumbr.',
118 | style: TextStyle(
119 | fontFamily: 'Roboto Mono',
120 | fontSize: 25,
121 | color: Color(0xff3b3b3b),
122 | fontWeight: FontWeight.w500,
123 | ),
124 | textAlign: TextAlign.left,
125 | ),
126 | ),
127 | ],
128 | ),
129 | ),
130 | Pinned.fromPins(
131 | Pin(size: 173.0, middle: 0.5),
132 | Pin(size: 20.0, end: 0.0),
133 | child:
134 | // Adobe XD layer: 'Logo' (group)
135 | Stack(
136 | children: [
137 | Pinned.fromPins(
138 | Pin(start: 0.0, end: 0.0),
139 | Pin(size: 20.0, middle: 0.5),
140 | child: const Text(
141 | 'All Rights Reserved',
142 | style: TextStyle(
143 | fontFamily: 'Roboto Mono',
144 | fontSize: 15,
145 | color: Color(0xff3c3c3c),
146 | fontWeight: FontWeight.w500,
147 | ),
148 | textAlign: TextAlign.left,
149 | ),
150 | ),
151 | ],
152 | ),
153 | ),
154 | Pinned.fromPins(
155 | Pin(size: 50.0, middle: 0.4989),
156 | Pin(size: 26.0, end: 154.0),
157 | child: PageLink(
158 | links: [
159 | PageLinkInfo(
160 | ease: Curves.easeInOut,
161 | duration: 0.4,
162 | pageBuilder: () => const Signinrecruiter(),
163 | ),
164 | ],
165 | child: const Text(
166 | 'Login',
167 | style: TextStyle(
168 | fontFamily: 'Roboto',
169 | fontSize: 20,
170 | color: Color(0xff3c3c3c),
171 | fontWeight: FontWeight.w300,
172 | height: 2.5,
173 | ),
174 | textHeightBehavior:
175 | TextHeightBehavior(applyHeightToFirstAscent: false),
176 | textAlign: TextAlign.left,
177 | ),
178 | ),
179 | ),
180 | ],
181 | ),
182 | ),
183 | Pinned.fromPins(
184 | Pin(size: 189.0, middle: 0.4978),
185 | Pin(size: 47.0, middle: 0.7509),
186 | child:
187 | // Adobe XD layer: 'Sign in' (group)
188 | Stack(
189 | children: [
190 | Pinned.fromPins(
191 | Pin(start: 0.0, end: 0.0),
192 | Pin(start: 0.0, end: 0.0),
193 | child: Container(
194 | decoration: BoxDecoration(
195 | borderRadius: BorderRadius.circular(24.0),
196 | color: const Color(0xff5a5a5a),
197 | ),
198 | ),
199 | ),
200 | GestureDetector(
201 | onTap: () async {
202 | final newuser = await _auth.createUserWithEmailAndPassword(
203 | email: email, password: pass);
204 | if (newuser != null) {
205 | Navigator.push(context,
206 | MaterialPageRoute(builder: (context) {
207 | return const Signinrecruiter();
208 | }));
209 | }
210 | },
211 | child: Pinned.fromPins(
212 | Pin(size: 64.0, middle: 0.504),
213 | Pin(size: 26.0, middle: 0.5714),
214 | child: const Text(
215 | 'Submit',
216 | style: TextStyle(
217 | fontFamily: 'Roboto',
218 | fontSize: 20,
219 | color: Color(0xffffffff),
220 | fontWeight: FontWeight.w300,
221 | ),
222 | textAlign: TextAlign.left,
223 | ),
224 | ),
225 | ),
226 | ],
227 | ),
228 | ),
229 | Pinned.fromPins(
230 | Pin(size: 119.0, middle: 0.5017),
231 | Pin(size: 39.0, start: 108.0),
232 | child: const Text(
233 | 'Recruiter',
234 | style: TextStyle(
235 | fontFamily: 'Roboto',
236 | fontSize: 30,
237 | color: Color(0xff3b3b3b),
238 | fontWeight: FontWeight.w300,
239 | ),
240 | textAlign: TextAlign.left,
241 | ),
242 | ),
243 | ],
244 | ),
245 | );
246 | }
247 | }
248 |
--------------------------------------------------------------------------------
/lib/recruiter/Recruiter.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import 'Signinrecruiter.dart';
4 | import 'package:adobe_xd/page_link.dart';
5 | import 'CreateAccountRecruiter.dart';
6 | import 'package:flutter_svg/flutter_svg.dart';
7 |
8 | class Recruiter extends StatelessWidget {
9 | const Recruiter({
10 | Key key,
11 | }) : super(key: key);
12 | @override
13 | Widget build(BuildContext context) {
14 | return Scaffold(
15 | backgroundColor: const Color(0xffffffff),
16 | body: Stack(
17 | children: [
18 | Pinned.fromPins(
19 | Pin(start: -173.9, end: -307.9),
20 | Pin(start: -317.4, end: -5.0),
21 | child: Stack(
22 | children: [
23 | Pinned.fromPins(
24 | Pin(size: 84.0, middle: 0.4173),
25 | Pin(size: 26.0, end: 0.0),
26 | child: const Text(
27 | 'All Rights Reserved',
28 | style: TextStyle(
29 | fontFamily: 'Roboto',
30 | fontSize: 10,
31 | color: Color(0xff3c3c3c),
32 | fontWeight: FontWeight.w100,
33 | ),
34 | textAlign: TextAlign.left,
35 | ),
36 | ),
37 | Pinned.fromPins(
38 | Pin(start: 0.0, end: 0.0),
39 | Pin(start: 0.0, end: 310.6),
40 | child:
41 | // Adobe XD layer: 'Bg' (shape)
42 | SvgPicture.string(
43 | _svg_pqowj2,
44 | allowDrawingOutsideViewBox: true,
45 | fit: BoxFit.fill,
46 | ),
47 | ),
48 | Pinned.fromPins(
49 | Pin(size: 300.0, middle: 0.4192),
50 | Pin(size: 92.0, middle: 0.3884),
51 | child:
52 | // Adobe XD layer: 'Logo' (group)
53 | Stack(
54 | children: [
55 | Pinned.fromPins(
56 | Pin(start: 0.0, end: 0.0),
57 | Pin(size: 92.0, middle: 0.5),
58 | child: const Text(
59 | 'plumbr.',
60 | style: TextStyle(
61 | fontFamily: 'Roboto Mono',
62 | fontSize: 70,
63 | color: Color(0xff3b3b3b),
64 | fontWeight: FontWeight.w500,
65 | ),
66 | textAlign: TextAlign.left,
67 | ),
68 | ),
69 | ],
70 | ),
71 | ),
72 | Pinned.fromPins(
73 | Pin(size: 162.0, middle: 0.5191),
74 | Pin(size: 53.0, middle: 0.4462),
75 | child:
76 | // Adobe XD layer: 'Logo' (group)
77 | Stack(
78 | children: [
79 | Pinned.fromPins(
80 | Pin(start: 0.0, end: 0.0),
81 | Pin(size: 53.0, middle: 0.5),
82 | child: const Text(
83 | 'Recruiter',
84 | style: TextStyle(
85 | fontFamily: 'Roboto',
86 | fontSize: 40,
87 | color: Color(0xff3b3b3b),
88 | fontWeight: FontWeight.w300,
89 | ),
90 | textAlign: TextAlign.left,
91 | ),
92 | ),
93 | ],
94 | ),
95 | ),
96 | Pinned.fromPins(
97 | Pin(size: 189.0, middle: 0.4042),
98 | Pin(size: 47.0, middle: 0.7136),
99 | child:
100 | // Adobe XD layer: 'Sign in' (group)
101 | PageLink(
102 | links: [
103 | PageLinkInfo(
104 | ease: Curves.easeInOut,
105 | duration: 0.4,
106 | pageBuilder: () => const Signinrecruiter(),
107 | ),
108 | ],
109 | child: Stack(
110 | children: [
111 | Pinned.fromPins(
112 | Pin(start: 0.0, end: 0.0),
113 | Pin(start: 0.0, end: 0.0),
114 | child: Container(
115 | decoration: BoxDecoration(
116 | borderRadius: BorderRadius.circular(24.0),
117 | color: const Color(0xff5a5a5a),
118 | ),
119 | ),
120 | ),
121 | Pinned.fromPins(
122 | Pin(size: 64.0, middle: 0.504),
123 | Pin(size: 26.0, middle: 0.5714),
124 | child: const Text(
125 | 'Sign In',
126 | style: TextStyle(
127 | fontFamily: 'Roboto',
128 | fontSize: 20,
129 | color: Color(0xffffffff),
130 | fontWeight: FontWeight.w300,
131 | ),
132 | textAlign: TextAlign.left,
133 | ),
134 | ),
135 | ],
136 | ),
137 | ),
138 | ),
139 | Pinned.fromPins(
140 | Pin(size: 247.0, middle: 0.3972),
141 | Pin(size: 47.0, middle: 0.7774),
142 | child:
143 | // Adobe XD layer: 'Create accouht' (group)
144 | Stack(
145 | children: [
146 | Pinned.fromPins(
147 | Pin(start: 0.0, end: 0.0),
148 | Pin(start: 0.0, end: 0.0),
149 | child: PageLink(
150 | links: [
151 | PageLinkInfo(
152 | ease: Curves.easeInOut,
153 | duration: 0.4,
154 | pageBuilder: () => const CreateAccountRecruiter(),
155 | ),
156 | ],
157 | child: Container(
158 | decoration: BoxDecoration(
159 | borderRadius: BorderRadius.circular(24.0),
160 | color: const Color(0xff5a5a5a),
161 | ),
162 | ),
163 | ),
164 | ),
165 | Pinned.fromPins(
166 | Pin(size: 140.0, middle: 0.5327),
167 | Pin(size: 26.0, middle: 0.5714),
168 | child: const Text(
169 | 'Create Account',
170 | style: TextStyle(
171 | fontFamily: 'Roboto',
172 | fontSize: 20,
173 | color: Color(0xffffffff),
174 | fontWeight: FontWeight.w300,
175 | ),
176 | textAlign: TextAlign.left,
177 | ),
178 | ),
179 | ],
180 | ),
181 | ),
182 | ],
183 | ),
184 | ),
185 | ],
186 | ),
187 | );
188 | }
189 | }
190 |
191 | const String _svg_pqowj2 =
192 | '';
193 |
--------------------------------------------------------------------------------
/lib/recruiter/Recruiterdashboard.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import 'package:adobe_xd/blend_mask.dart';
4 | import 'package:flutter_svg/flutter_svg.dart';
5 |
6 | import '../fetch_location/Mapshow.dart';
7 |
8 | class Recruiterdashboard extends StatelessWidget {
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | return Scaffold(
13 | backgroundColor: const Color(0xffffffff),
14 | body: Stack(
15 | children: [
16 | Pinned.fromPins(
17 | Pin(start: 16.0, end: 16.0),
18 | Pin(size: 186.0, start: 130.0),
19 | child:
20 | // Adobe XD layer: 'Container' (group)
21 | Stack(
22 | children: [
23 | // background:
24 | Positioned.fill(
25 | child: SvgPicture.string(
26 | _svg_khnlrg,
27 | allowDrawingOutsideViewBox: true,
28 | fit: BoxFit.fill,
29 | ),
30 | ),
31 | Positioned.fill(
32 | child: Padding(
33 | padding: const EdgeInsets.fromLTRB(0.0, 136.0, 0.0, 0.0),
34 | child: Stack(
35 | children: [
36 | Pinned.fromPins(
37 | Pin(start: 0.0, end: 0.0),
38 | Pin(start: 0.0, end: 0.0),
39 | child: BlendMask(
40 | blendMode: BlendMode.screen,
41 | child: Container(
42 | decoration: const BoxDecoration(
43 | color: Color(0x80ffffff),
44 | ),
45 | ),
46 | ),
47 | ),
48 | ],
49 | ),
50 | ),
51 | ),
52 | ],
53 | ),
54 | ),
55 | Pinned.fromPins(
56 | Pin(start: 16.0, end: 16.0),
57 | Pin(size: 186.0, end: 121.0),
58 | child:
59 | // Adobe XD layer: 'Container' (group)
60 | Stack(
61 | children: [
62 | Pinned.fromPins(
63 | Pin(start: 0.0, end: 0.0),
64 | Pin(start: 0.0, end: 0.0),
65 | child: SvgPicture.string(
66 | _svg_khnlrg,
67 | allowDrawingOutsideViewBox: true,
68 | fit: BoxFit.fill,
69 | ),
70 | ),
71 | Pinned.fromPins(
72 | Pin(start: 0.0, end: 0.0),
73 | Pin(size: 39.0, end: 0.0),
74 | child: BlendMask(
75 | blendMode: BlendMode.screen,
76 | child: Container(
77 | decoration: const BoxDecoration(
78 | color: Color(0x80ffffff),
79 | ),
80 | ),
81 | ),
82 | ),
83 | ],
84 | ),
85 | ),
86 | Pinned.fromPins(
87 | Pin(start: 16.0, end: 16.0),
88 | Pin(size: 186.0, middle: 0.5066),
89 | child:
90 | // Adobe XD layer: 'Container' (group)
91 | Stack(
92 | children: [
93 | Pinned.fromPins(
94 | Pin(start: 0.0, end: 0.0),
95 | Pin(start: 0.0, end: 0.0),
96 | child: SvgPicture.string(
97 | _svg_q6vxa,
98 | allowDrawingOutsideViewBox: true,
99 | fit: BoxFit.fill,
100 | ),
101 | ),
102 | Pinned.fromPins(
103 | Pin(start: 0.0, end: 0.0),
104 | Pin(size: 39.0, end: 0.0),
105 | child: BlendMask(
106 | blendMode: BlendMode.screen,
107 | child: Container(
108 | decoration: const BoxDecoration(
109 | color: Color(0x80ffffff),
110 | ),
111 | ),
112 | ),
113 | ),
114 | ],
115 | ),
116 | ),
117 | Pinned.fromPins(
118 | Pin(size: 50.0, start: 41.0),
119 | Pin(size: 50.0, middle: 0.2234),
120 | child:
121 | // Adobe XD layer: 'maid' (shape)
122 | Container(
123 | decoration: const BoxDecoration(
124 | image: DecorationImage(
125 | image: AssetImage(''),
126 | fit: BoxFit.fill,
127 | ),
128 | ),
129 | ),
130 | ),
131 | Pinned.fromPins(
132 | Pin(size: 60.0, middle: 0.3125),
133 | Pin(size: 33.0, middle: 0.2309),
134 | child: GestureDetector(onTap: ()async{
135 | Navigator.push(context,
136 | MaterialPageRoute(builder: (context) {
137 | return Mapshow(joli: "Maid",);
138 | }));
139 | },
140 | child: const Text(
141 | 'Maid',
142 | style: TextStyle(
143 | fontFamily: 'Roboto',
144 | fontSize: 25,
145 | color: Color(0xff3b3b3b),
146 | ),
147 | textAlign: TextAlign.left,
148 | ),
149 | ),
150 | ),
151 | Pinned.fromPins(
152 | Pin(size: 122.0, middle: 0.3759),
153 | Pin(size: 33.0, middle: 0.4892),
154 | child: GestureDetector(onTap: ()async{
155 | Navigator.push(context,
156 | MaterialPageRoute(builder: (context) {
157 | return Mapshow(joli: "Electrician",);
158 | }));
159 | },
160 | child: const Text(
161 | 'Electrician',
162 | style: TextStyle(
163 | fontFamily: 'Roboto',
164 | fontSize: 25,
165 | color: Color(0xff3b3b3b),
166 | ),
167 | textAlign: TextAlign.left,
168 | ),
169 | ),
170 | ),
171 | Pinned.fromPins(
172 | Pin(size: 122.0, middle: 0.3759),
173 | Pin(size: 33.0, middle: 0.7476),
174 | child: GestureDetector(onTap: ()async{
175 | Navigator.push(context,
176 | MaterialPageRoute(builder: (context) {
177 | return Mapshow(joli: "Driver",);
178 | }));
179 | },
180 | child: const Text(
181 | 'Driver',
182 | style: TextStyle(
183 | fontFamily: 'Roboto',
184 | fontSize: 25,
185 | color: Color(0xff3b3b3b),
186 | ),
187 | textAlign: TextAlign.left,
188 | ),
189 | ),
190 | ),
191 | Pinned.fromPins(
192 | Pin(size: 50.0, start: 41.0),
193 | Pin(size: 50.0, middle: 0.4872),
194 | child:
195 | // Adobe XD layer: 'electrician' (shape)
196 | Container(
197 | decoration: const BoxDecoration(
198 | image: DecorationImage(
199 | image: AssetImage(''),
200 | fit: BoxFit.fill,
201 | ),
202 | ),
203 | ),
204 | ),
205 | Pinned.fromPins(
206 | Pin(size: 50.0, start: 41.0),
207 | Pin(size: 50.0, middle: 0.7509),
208 | child:
209 | // Adobe XD layer: 'driver' (shape)
210 | Container(
211 | decoration: const BoxDecoration(
212 | image: DecorationImage(
213 | image: AssetImage(''),
214 | fit: BoxFit.fill,
215 | ),
216 | ),
217 | ),
218 | ),
219 | Pinned.fromPins(
220 | Pin(size: 198.0, middle: 0.5),
221 | Pin(size: 26.0, start: 77.0),
222 | child: Stack(
223 | children: [
224 | Pinned.fromPins(
225 | Pin(start: 0.0, end: 0.0),
226 | Pin(size: 26.0, middle: 0.5),
227 | child: const Text(
228 | 'Find workers near you',
229 | style: TextStyle(
230 | fontFamily: 'Roboto',
231 | fontSize: 20,
232 | color: Color(0xff3b3b3b),
233 | fontWeight: FontWeight.w300,
234 | ),
235 | textAlign: TextAlign.left,
236 | ),
237 | ),
238 | ],
239 | ),
240 | ),
241 | Pinned.fromPins(
242 | Pin(size: 292.0, end: 54.0),
243 | Pin(size: 25.0, middle: 0.3294),
244 | child:
245 | // Adobe XD layer: 'Stats' (group)
246 | Stack(
247 | children: [
248 | Pinned.fromPins(
249 | Pin(size: 27.0, start: 31.0),
250 | Pin(size: 20.0, middle: 0.6),
251 | child: const Text(
252 | '39',
253 | style: TextStyle(
254 | fontFamily: 'Roboto',
255 | fontSize: 15,
256 | color: Color(0xff535353),
257 | fontWeight: FontWeight.w100,
258 | ),
259 | textAlign: TextAlign.left,
260 | ),
261 | ),
262 | Pinned.fromPins(
263 | Pin(size: 38.0, middle: 0.5085),
264 | Pin(size: 20.0, middle: 0.5),
265 | child: Transform.rotate(
266 | angle: 0.0175,
267 | child: const Text(
268 | '300+',
269 | style: TextStyle(
270 | fontFamily: 'Roboto',
271 | fontSize: 15,
272 | color: Color(0xff535353),
273 | fontWeight: FontWeight.w100,
274 | ),
275 | textAlign: TextAlign.left,
276 | ),
277 | ),
278 | ),
279 | Pinned.fromPins(
280 | Pin(size: 47.0, end: 0.0),
281 | Pin(size: 20.0, middle: 0.6),
282 | child: const Text(
283 | '<24hrs',
284 | style: TextStyle(
285 | fontFamily: 'Roboto',
286 | fontSize: 15,
287 | color: Color(0xff535353),
288 | fontWeight: FontWeight.w100,
289 | ),
290 | textAlign: TextAlign.left,
291 | ),
292 | ),
293 | Pinned.fromPins(
294 | Pin(size: 25.0, start: 0.0),
295 | Pin(start: 0.0, end: 0.0),
296 | child:
297 | // Adobe XD layer: 'available' (shape)
298 | Container(
299 | decoration: const BoxDecoration(
300 | image: DecorationImage(
301 | image: AssetImage(''),
302 | fit: BoxFit.fill,
303 | ),
304 | ),
305 | ),
306 | ),
307 | Pinned.fromPins(
308 | Pin(size: 25.0, middle: 0.367),
309 | Pin(start: 0.0, end: 0.0),
310 | child:
311 | // Adobe XD layer: 'rupee (1)' (shape)
312 | Container(
313 | decoration: const BoxDecoration(
314 | image: DecorationImage(
315 | image: AssetImage(''),
316 | fit: BoxFit.fill,
317 | ),
318 | ),
319 | ),
320 | ),
321 | Pinned.fromPins(
322 | Pin(size: 25.0, middle: 0.8015),
323 | Pin(start: 0.0, end: 0.0),
324 | child:
325 | // Adobe XD layer: 'back-in-time' (shape)
326 | Container(
327 | decoration: const BoxDecoration(
328 | image: DecorationImage(
329 | image: AssetImage(''),
330 | fit: BoxFit.fill,
331 | ),
332 | ),
333 | ),
334 | ),
335 | ],
336 | ),
337 | ),
338 | Pinned.fromPins(
339 | Pin(start: 60.0, end: 60.0),
340 | Pin(size: 25.0, middle: 0.5948),
341 | child:
342 | // Adobe XD layer: 'Stats' (group)
343 | Stack(
344 | children: [
345 | Pinned.fromPins(
346 | Pin(size: 27.0, start: 31.0),
347 | Pin(size: 20.0, middle: 0.6),
348 | child: const Text(
349 | '120',
350 | style: TextStyle(
351 | fontFamily: 'Roboto',
352 | fontSize: 15,
353 | color: Color(0xff535353),
354 | fontWeight: FontWeight.w100,
355 | ),
356 | textAlign: TextAlign.left,
357 | ),
358 | ),
359 | Pinned.fromPins(
360 | Pin(size: 38.0, middle: 0.5085),
361 | Pin(size: 20.0, middle: 0.5),
362 | child: Transform.rotate(
363 | angle: 0.0175,
364 | child: const Text(
365 | '500+',
366 | style: TextStyle(
367 | fontFamily: 'Roboto',
368 | fontSize: 15,
369 | color: Color(0xff535353),
370 | fontWeight: FontWeight.w100,
371 | ),
372 | textAlign: TextAlign.left,
373 | ),
374 | ),
375 | ),
376 | Pinned.fromPins(
377 | Pin(size: 47.0, end: 0.0),
378 | Pin(size: 20.0, middle: 0.6),
379 | child: const Text(
380 | '<24hrs',
381 | style: TextStyle(
382 | fontFamily: 'Roboto',
383 | fontSize: 15,
384 | color: Color(0xff535353),
385 | fontWeight: FontWeight.w100,
386 | ),
387 | textAlign: TextAlign.left,
388 | ),
389 | ),
390 | Pinned.fromPins(
391 | Pin(size: 25.0, start: 0.0),
392 | Pin(start: 0.0, end: 0.0),
393 | child:
394 | // Adobe XD layer: 'available' (shape)
395 | Container(
396 | decoration: const BoxDecoration(
397 | image: DecorationImage(
398 | image: AssetImage(''),
399 | fit: BoxFit.fill,
400 | ),
401 | ),
402 | ),
403 | ),
404 | Pinned.fromPins(
405 | Pin(size: 25.0, middle: 0.367),
406 | Pin(start: 0.0, end: 0.0),
407 | child:
408 | // Adobe XD layer: 'rupee (1)' (shape)
409 | Container(
410 | decoration: const BoxDecoration(
411 | image: DecorationImage(
412 | image: AssetImage(''),
413 | fit: BoxFit.fill,
414 | ),
415 | ),
416 | ),
417 | ),
418 | Pinned.fromPins(
419 | Pin(size: 25.0, middle: 0.8015),
420 | Pin(start: 0.0, end: 0.0),
421 | child:
422 | // Adobe XD layer: 'back-in-time' (shape)
423 | Container(
424 | decoration: const BoxDecoration(
425 | image: DecorationImage(
426 | image: AssetImage(''),
427 | fit: BoxFit.fill,
428 | ),
429 | ),
430 | ),
431 | ),
432 | ],
433 | ),
434 | ),
435 | Pinned.fromPins(
436 | Pin(start: 60.0, end: 60.0),
437 | Pin(size: 25.0, end: 126.0),
438 | child:
439 | // Adobe XD layer: 'Stats' (group)
440 | Stack(
441 | children: [
442 | Pinned.fromPins(
443 | Pin(size: 27.0, start: 31.0),
444 | Pin(size: 20.0, middle: 0.6),
445 | child: const Text(
446 | '48',
447 | style: TextStyle(
448 | fontFamily: 'Roboto',
449 | fontSize: 15,
450 | color: Color(0xff535353),
451 | fontWeight: FontWeight.w100,
452 | ),
453 | textAlign: TextAlign.left,
454 | ),
455 | ),
456 | Pinned.fromPins(
457 | Pin(size: 44.0, middle: 0.5209),
458 | Pin(size: 20.0, middle: 0.5105),
459 | child: Transform.rotate(
460 | angle: 0.0175,
461 | child: const Text(
462 | '1000+',
463 | style: TextStyle(
464 | fontFamily: 'Roboto',
465 | fontSize: 15,
466 | color: Color(0xff535353),
467 | fontWeight: FontWeight.w100,
468 | ),
469 | textAlign: TextAlign.left,
470 | ),
471 | ),
472 | ),
473 | Pinned.fromPins(
474 | Pin(size: 47.0, end: 0.0),
475 | Pin(size: 20.0, middle: 0.6),
476 | child: const Text(
477 | '<24hrs',
478 | style: TextStyle(
479 | fontFamily: 'Roboto',
480 | fontSize: 15,
481 | color: Color(0xff535353),
482 | fontWeight: FontWeight.w100,
483 | ),
484 | textAlign: TextAlign.left,
485 | ),
486 | ),
487 | Pinned.fromPins(
488 | Pin(size: 25.0, start: 0.0),
489 | Pin(start: 0.0, end: 0.0),
490 | child:
491 | // Adobe XD layer: 'available' (shape)
492 | Container(
493 | decoration: const BoxDecoration(
494 | image: DecorationImage(
495 | image: AssetImage(''),
496 | fit: BoxFit.fill,
497 | ),
498 | ),
499 | ),
500 | ),
501 | Pinned.fromPins(
502 | Pin(size: 25.0, middle: 0.367),
503 | Pin(start: 0.0, end: 0.0),
504 | child:
505 | // Adobe XD layer: 'rupee (1)' (shape)
506 | Container(
507 | decoration: const BoxDecoration(
508 | image: DecorationImage(
509 | image: AssetImage(''),
510 | fit: BoxFit.fill,
511 | ),
512 | ),
513 | ),
514 | ),
515 | Pinned.fromPins(
516 | Pin(size: 25.0, middle: 0.8015),
517 | Pin(start: 0.0, end: 0.0),
518 | child:
519 | // Adobe XD layer: 'back-in-time' (shape)
520 | Container(
521 | decoration: const BoxDecoration(
522 | image: DecorationImage(
523 | image: AssetImage(''),
524 | fit: BoxFit.fill,
525 | ),
526 | ),
527 | ),
528 | ),
529 | ],
530 | ),
531 | ),
532 | Pinned.fromPins(
533 | Pin(start: 23.0, end: 16.0),
534 | Pin(size: 54.0, start: 10.0),
535 | child:
536 | // Adobe XD layer: 'Location indicator' (group)
537 | Stack(
538 | children: [
539 | Pinned.fromPins(
540 | Pin(start: 0.0, end: 0.0),
541 | Pin(start: 0.0, end: 0.0),
542 | child: Container(
543 | decoration: BoxDecoration(
544 | borderRadius: BorderRadius.circular(5.0),
545 | color: const Color(0xff2e2f3f),
546 | ),
547 | ),
548 | ),
549 | Pinned.fromPins(
550 | Pin(size: 26.0, start: 16.0),
551 | Pin(size: 25.0, middle: 0.5172),
552 | child:
553 | // Adobe XD layer: 'pin' (shape)
554 | Container(
555 | decoration: const BoxDecoration(
556 | image: DecorationImage(
557 | image: AssetImage(''),
558 | fit: BoxFit.fill,
559 | ),
560 | ),
561 | ),
562 | ),
563 | Pinned.fromPins(
564 | Pin(size: 194.0, start: 54.0),
565 | Pin(size: 20.0, middle: 0.5882),
566 | child: const Text(
567 | 'Model Engineering College ..',
568 | style: TextStyle(
569 | fontFamily: 'Roboto',
570 | fontSize: 15,
571 | color: Color(0xffffffff),
572 | ),
573 | textAlign: TextAlign.left,
574 | ),
575 | ),
576 | ],
577 | ),
578 | ),
579 | Pinned.fromPins(
580 | Pin(size: 208.0, middle: 0.4779),
581 | Pin(size: 1.0, start: 107.5),
582 | child: SvgPicture.string(
583 | _svg_nhqz80,
584 | allowDrawingOutsideViewBox: true,
585 | fit: BoxFit.fill,
586 | ),
587 | ),
588 | ],
589 | ),
590 | );
591 | }
592 | }
593 |
594 | const String _svg_khnlrg =
595 | '';
596 | const String _svg_q6vxa =
597 | '';
598 | const String _svg_nhqz80 =
599 | '';
600 |
--------------------------------------------------------------------------------
/lib/recruiter/Signinrecruiter.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:adobe_xd/pinned.dart';
3 | import 'package:plumbr/recruiter/Recruiterdashboard.dart';
4 |
5 | import '../random/Forgotpassword.dart';
6 | import 'package:adobe_xd/page_link.dart';
7 | import 'CreateAccountRecruiter.dart';
8 | import 'package:flutter_svg/flutter_svg.dart';
9 | import 'package:firebase_auth/firebase_auth.dart';
10 |
11 | final _auth = FirebaseAuth.instance;
12 | String email = '';
13 | String pass = '';
14 |
15 | class Signinrecruiter extends StatelessWidget {
16 | const Signinrecruiter({
17 | Key key,
18 | }) : super(key: key);
19 | @override
20 | Widget build(BuildContext context) {
21 | return Scaffold(
22 | backgroundColor: const Color(0xffffffff),
23 | body: Stack(
24 | children: [
25 | Pinned.fromPins(
26 | Pin(start: -49.0, end: -50.0),
27 | Pin(start: -426.0, end: -48.0),
28 | child: Stack(
29 | children: [
30 | Pinned.fromPins(
31 | Pin(start: 0.0, end: 0.0),
32 | Pin(start: 0.0, end: 136.0),
33 | child:
34 | // Adobe XD layer: 'Bg' (shape)
35 | SvgPicture.string(
36 | _svg_uzhy0b,
37 | allowDrawingOutsideViewBox: true,
38 | fit: BoxFit.fill,
39 | ),
40 | ),
41 | Pinned.fromPins(
42 | Pin(size: 113.0, middle: 0.5),
43 | Pin(size: 46.0, middle: 0.4322),
44 | child: const Text(
45 | 'Sign in',
46 | style: TextStyle(
47 | fontFamily: 'Roboto',
48 | fontSize: 35,
49 | color: Color(0xff3c3c3c),
50 | fontWeight: FontWeight.w700,
51 | ),
52 | textAlign: TextAlign.left,
53 | ),
54 | ),
55 | Pinned.fromPins(
56 | Pin(size: 200.0, middle: 0.2634),
57 | Pin(size: 26.0, middle: 0.5303),
58 | child: TextField(
59 | decoration: const InputDecoration(
60 | hintText: 'Username',
61 | ),
62 | onChanged: (String x) {
63 | email = x;
64 | },
65 | ),
66 | ),
67 | Pinned.fromPins(
68 | Pin(size: 200.0, middle: 0.2634),
69 | Pin(size: 26.0, middle: 0.6161),
70 | child: TextField(
71 | decoration: const InputDecoration(
72 | hintText: 'Password',
73 | ),
74 | onChanged: (String y) {
75 | pass = y;
76 | },
77 | ),
78 | ),
79 | Pinned.fromPins(
80 | Pin(size: 164.0, end: 72.0),
81 | Pin(size: 26.0, middle: 0.6958),
82 | child: PageLink(
83 | links: [
84 | PageLinkInfo(
85 | ease: Curves.easeInOut,
86 | duration: 0.4,
87 | pageBuilder: () => const Forgotpassword(),
88 | ),
89 | ],
90 | child: const Text(
91 | 'Forgot password ?',
92 | style: TextStyle(
93 | fontFamily: 'Roboto',
94 | fontSize: 20,
95 | color: Color(0xff3c3c3c),
96 | fontWeight: FontWeight.w300,
97 | ),
98 | textAlign: TextAlign.left,
99 | ),
100 | ),
101 | ),
102 | Pinned.fromPins(
103 | Pin(size: 108.0, middle: 0.5211),
104 | Pin(size: 33.0, middle: 0.3356),
105 | child:
106 | // Adobe XD layer: 'Logo' (group)
107 | Stack(
108 | children: [
109 | Pinned.fromPins(
110 | Pin(start: 0.0, end: 0.0),
111 | Pin(size: 33.0, middle: 0.5),
112 | child: const Text(
113 | 'plumbr.',
114 | style: TextStyle(
115 | fontFamily: 'Roboto Mono',
116 | fontSize: 25,
117 | color: Color(0xff3b3b3b),
118 | fontWeight: FontWeight.w500,
119 | ),
120 | textAlign: TextAlign.left,
121 | ),
122 | ),
123 | ],
124 | ),
125 | ),
126 | Pinned.fromPins(
127 | Pin(size: 173.0, middle: 0.5),
128 | Pin(size: 20.0, end: 0.0),
129 | child:
130 | // Adobe XD layer: 'Logo' (group)
131 | Stack(
132 | children: [
133 | Pinned.fromPins(
134 | Pin(start: 0.0, end: 0.0),
135 | Pin(size: 20.0, middle: 0.5),
136 | child: const Text(
137 | 'All Rights Reserved',
138 | style: TextStyle(
139 | fontFamily: 'Roboto Mono',
140 | fontSize: 15,
141 | color: Color(0xff3c3c3c),
142 | fontWeight: FontWeight.w500,
143 | ),
144 | textAlign: TextAlign.left,
145 | ),
146 | ),
147 | ],
148 | ),
149 | ),
150 | Pinned.fromPins(
151 | Pin(size: 163.0, middle: 0.5),
152 | Pin(size: 26.0, end: 164.0),
153 | child: PageLink(
154 | links: [
155 | PageLinkInfo(
156 | ease: Curves.easeInOut,
157 | duration: 0.4,
158 | pageBuilder: () => const CreateAccountRecruiter(),
159 | ),
160 | ],
161 | child: const Text(
162 | 'Create an account',
163 | style: TextStyle(
164 | fontFamily: 'Roboto',
165 | fontSize: 20,
166 | color: Color(0xff3c3c3c),
167 | fontWeight: FontWeight.w300,
168 | height: 2.5,
169 | ),
170 | textHeightBehavior:
171 | TextHeightBehavior(applyHeightToFirstAscent: false),
172 | textAlign: TextAlign.left,
173 | ),
174 | ),
175 | ),
176 | Container(),
177 | Container(),
178 | ],
179 | ),
180 | ),
181 | Pinned.fromPins(
182 | Pin(size: 189.0, middle: 0.4978),
183 | Pin(size: 47.0, middle: 0.6719),
184 | child:
185 | // Adobe XD layer: 'Sign in' (group)
186 | Stack(
187 | children: [
188 | Pinned.fromPins(
189 | Pin(start: 0.0, end: 0.0),
190 | Pin(start: 0.0, end: 0.0),
191 | child: Container(
192 | decoration: BoxDecoration(
193 | borderRadius: BorderRadius.circular(24.0),
194 | color: const Color(0xff5a5a5a),
195 | ),
196 | ),
197 | ),
198 | GestureDetector(
199 | onTap: () async {
200 | final user = await _auth.signInWithEmailAndPassword(
201 | email: email, password: pass);
202 | if (user != null) {
203 | Navigator.push(context,
204 | MaterialPageRoute(builder: (context) {
205 | return Recruiterdashboard();
206 | }));
207 | }
208 | },
209 | child: Pinned.fromPins(
210 | Pin(size: 64.0, middle: 0.504),
211 | Pin(size: 26.0, middle: 0.5714),
212 | child: const Text(
213 | 'Sign In',
214 | style: TextStyle(
215 | fontFamily: 'Roboto',
216 | fontSize: 20,
217 | color: Color(0xffffffff),
218 | fontWeight: FontWeight.w300,
219 | ),
220 | textAlign: TextAlign.left,
221 | ),
222 | ),
223 | ),
224 | ],
225 | ),
226 | ),
227 | Pinned.fromPins(
228 | Pin(size: 119.0, middle: 0.5017),
229 | Pin(size: 39.0, start: 95.0),
230 | child:
231 | // Adobe XD layer: 'Logo' (group)
232 | Stack(
233 | children: [
234 | Pinned.fromPins(
235 | Pin(start: 0.0, end: 0.0),
236 | Pin(size: 39.0, middle: 0.5),
237 | child: const Text(
238 | 'Recruiter',
239 | style: TextStyle(
240 | fontFamily: 'Roboto',
241 | fontSize: 30,
242 | color: Color(0xff3b3b3b),
243 | fontWeight: FontWeight.w300,
244 | ),
245 | textAlign: TextAlign.left,
246 | ),
247 | ),
248 | ],
249 | ),
250 | ),
251 | ],
252 | ),
253 | );
254 | }
255 | }
256 |
257 | const String _svg_uzhy0b =
258 | '';
259 |
--------------------------------------------------------------------------------
/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | adobe_xd:
5 | dependency: "direct main"
6 | description:
7 | name: adobe_xd
8 | url: "https://pub.dartlang.org"
9 | source: hosted
10 | version: "2.0.0+1"
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 | characters:
26 | dependency: transitive
27 | description:
28 | name: characters
29 | url: "https://pub.dartlang.org"
30 | source: hosted
31 | version: "1.2.1"
32 | charcode:
33 | dependency: transitive
34 | description:
35 | name: charcode
36 | url: "https://pub.dartlang.org"
37 | source: hosted
38 | version: "1.3.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: "3.1.4"
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.4.9"
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: "2.6.4"
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 | cupertino_icons:
75 | dependency: "direct main"
76 | description:
77 | name: cupertino_icons
78 | url: "https://pub.dartlang.org"
79 | source: hosted
80 | version: "1.0.4"
81 | dio:
82 | dependency: "direct main"
83 | description:
84 | name: dio
85 | url: "https://pub.dartlang.org"
86 | source: hosted
87 | version: "4.0.4"
88 | eventify:
89 | dependency: transitive
90 | description:
91 | name: eventify
92 | url: "https://pub.dartlang.org"
93 | source: hosted
94 | version: "1.0.0"
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 | firebase_auth:
103 | dependency: "direct main"
104 | description:
105 | name: firebase_auth
106 | url: "https://pub.dartlang.org"
107 | source: hosted
108 | version: "3.3.3"
109 | firebase_auth_platform_interface:
110 | dependency: transitive
111 | description:
112 | name: firebase_auth_platform_interface
113 | url: "https://pub.dartlang.org"
114 | source: hosted
115 | version: "6.1.8"
116 | firebase_auth_web:
117 | dependency: transitive
118 | description:
119 | name: firebase_auth_web
120 | url: "https://pub.dartlang.org"
121 | source: hosted
122 | version: "3.3.4"
123 | firebase_core:
124 | dependency: "direct main"
125 | description:
126 | name: firebase_core
127 | url: "https://pub.dartlang.org"
128 | source: hosted
129 | version: "1.10.5"
130 | firebase_core_platform_interface:
131 | dependency: transitive
132 | description:
133 | name: firebase_core_platform_interface
134 | url: "https://pub.dartlang.org"
135 | source: hosted
136 | version: "4.2.2"
137 | firebase_core_web:
138 | dependency: transitive
139 | description:
140 | name: firebase_core_web
141 | url: "https://pub.dartlang.org"
142 | source: hosted
143 | version: "1.5.2"
144 | flutter:
145 | dependency: "direct main"
146 | description: flutter
147 | source: sdk
148 | version: "0.0.0"
149 | flutter_lints:
150 | dependency: "direct dev"
151 | description:
152 | name: flutter_lints
153 | url: "https://pub.dartlang.org"
154 | source: hosted
155 | version: "2.0.1"
156 | flutter_phone_direct_caller:
157 | dependency: "direct main"
158 | description:
159 | name: flutter_phone_direct_caller
160 | url: "https://pub.dartlang.org"
161 | source: hosted
162 | version: "2.1.0"
163 | flutter_plugin_android_lifecycle:
164 | dependency: transitive
165 | description:
166 | name: flutter_plugin_android_lifecycle
167 | url: "https://pub.dartlang.org"
168 | source: hosted
169 | version: "2.0.5"
170 | flutter_polyline_points:
171 | dependency: "direct main"
172 | description:
173 | name: flutter_polyline_points
174 | url: "https://pub.dartlang.org"
175 | source: hosted
176 | version: "1.0.0"
177 | flutter_svg:
178 | dependency: transitive
179 | description:
180 | name: flutter_svg
181 | url: "https://pub.dartlang.org"
182 | source: hosted
183 | version: "0.21.0+1"
184 | flutter_test:
185 | dependency: "direct dev"
186 | description: flutter
187 | source: sdk
188 | version: "0.0.0"
189 | flutter_web_plugins:
190 | dependency: transitive
191 | description: flutter
192 | source: sdk
193 | version: "0.0.0"
194 | font_awesome_flutter:
195 | dependency: "direct main"
196 | description:
197 | name: font_awesome_flutter
198 | url: "https://pub.dartlang.org"
199 | source: hosted
200 | version: "9.2.0"
201 | geolocator:
202 | dependency: "direct main"
203 | description:
204 | name: geolocator
205 | url: "https://pub.dartlang.org"
206 | source: hosted
207 | version: "8.0.0"
208 | geolocator_android:
209 | dependency: transitive
210 | description:
211 | name: geolocator_android
212 | url: "https://pub.dartlang.org"
213 | source: hosted
214 | version: "3.0.0+4"
215 | geolocator_apple:
216 | dependency: transitive
217 | description:
218 | name: geolocator_apple
219 | url: "https://pub.dartlang.org"
220 | source: hosted
221 | version: "2.0.0+2"
222 | geolocator_platform_interface:
223 | dependency: transitive
224 | description:
225 | name: geolocator_platform_interface
226 | url: "https://pub.dartlang.org"
227 | source: hosted
228 | version: "3.0.0+1"
229 | geolocator_web:
230 | dependency: transitive
231 | description:
232 | name: geolocator_web
233 | url: "https://pub.dartlang.org"
234 | source: hosted
235 | version: "2.1.0"
236 | get:
237 | dependency: "direct main"
238 | description:
239 | name: get
240 | url: "https://pub.dartlang.org"
241 | source: hosted
242 | version: "4.5.1"
243 | google_maps_flutter:
244 | dependency: "direct main"
245 | description:
246 | name: google_maps_flutter
247 | url: "https://pub.dartlang.org"
248 | source: hosted
249 | version: "2.1.1"
250 | google_maps_flutter_platform_interface:
251 | dependency: transitive
252 | description:
253 | name: google_maps_flutter_platform_interface
254 | url: "https://pub.dartlang.org"
255 | source: hosted
256 | version: "2.1.3"
257 | http:
258 | dependency: transitive
259 | description:
260 | name: http
261 | url: "https://pub.dartlang.org"
262 | source: hosted
263 | version: "0.13.4"
264 | http_parser:
265 | dependency: transitive
266 | description:
267 | name: http_parser
268 | url: "https://pub.dartlang.org"
269 | source: hosted
270 | version: "4.0.0"
271 | intl:
272 | dependency: transitive
273 | description:
274 | name: intl
275 | url: "https://pub.dartlang.org"
276 | source: hosted
277 | version: "0.17.0"
278 | js:
279 | dependency: transitive
280 | description:
281 | name: js
282 | url: "https://pub.dartlang.org"
283 | source: hosted
284 | version: "0.6.4"
285 | lints:
286 | dependency: transitive
287 | description:
288 | name: lints
289 | url: "https://pub.dartlang.org"
290 | source: hosted
291 | version: "2.0.0"
292 | matcher:
293 | dependency: transitive
294 | description:
295 | name: matcher
296 | url: "https://pub.dartlang.org"
297 | source: hosted
298 | version: "0.12.12"
299 | material_color_utilities:
300 | dependency: transitive
301 | description:
302 | name: material_color_utilities
303 | url: "https://pub.dartlang.org"
304 | source: hosted
305 | version: "0.1.5"
306 | meta:
307 | dependency: transitive
308 | description:
309 | name: meta
310 | url: "https://pub.dartlang.org"
311 | source: hosted
312 | version: "1.8.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_drawing:
321 | dependency: transitive
322 | description:
323 | name: path_drawing
324 | url: "https://pub.dartlang.org"
325 | source: hosted
326 | version: "0.5.1+1"
327 | path_parsing:
328 | dependency: transitive
329 | description:
330 | name: path_parsing
331 | url: "https://pub.dartlang.org"
332 | source: hosted
333 | version: "0.2.1"
334 | petitparser:
335 | dependency: transitive
336 | description:
337 | name: petitparser
338 | url: "https://pub.dartlang.org"
339 | source: hosted
340 | version: "4.4.0"
341 | plugin_platform_interface:
342 | dependency: transitive
343 | description:
344 | name: plugin_platform_interface
345 | url: "https://pub.dartlang.org"
346 | source: hosted
347 | version: "2.0.2"
348 | razorpay_flutter:
349 | dependency: "direct main"
350 | description:
351 | name: razorpay_flutter
352 | url: "https://pub.dartlang.org"
353 | source: hosted
354 | version: "1.2.7"
355 | sky_engine:
356 | dependency: transitive
357 | description: flutter
358 | source: sdk
359 | version: "0.0.99"
360 | source_span:
361 | dependency: transitive
362 | description:
363 | name: source_span
364 | url: "https://pub.dartlang.org"
365 | source: hosted
366 | version: "1.9.0"
367 | stack_trace:
368 | dependency: transitive
369 | description:
370 | name: stack_trace
371 | url: "https://pub.dartlang.org"
372 | source: hosted
373 | version: "1.10.0"
374 | stream_channel:
375 | dependency: transitive
376 | description:
377 | name: stream_channel
378 | url: "https://pub.dartlang.org"
379 | source: hosted
380 | version: "2.1.0"
381 | stream_transform:
382 | dependency: transitive
383 | description:
384 | name: stream_transform
385 | url: "https://pub.dartlang.org"
386 | source: hosted
387 | version: "2.0.0"
388 | string_scanner:
389 | dependency: transitive
390 | description:
391 | name: string_scanner
392 | url: "https://pub.dartlang.org"
393 | source: hosted
394 | version: "1.1.1"
395 | term_glyph:
396 | dependency: transitive
397 | description:
398 | name: term_glyph
399 | url: "https://pub.dartlang.org"
400 | source: hosted
401 | version: "1.2.1"
402 | test_api:
403 | dependency: transitive
404 | description:
405 | name: test_api
406 | url: "https://pub.dartlang.org"
407 | source: hosted
408 | version: "0.4.12"
409 | typed_data:
410 | dependency: transitive
411 | description:
412 | name: typed_data
413 | url: "https://pub.dartlang.org"
414 | source: hosted
415 | version: "1.3.0"
416 | url_launcher:
417 | dependency: "direct main"
418 | description:
419 | name: url_launcher
420 | url: "https://pub.dartlang.org"
421 | source: hosted
422 | version: "6.0.18"
423 | url_launcher_android:
424 | dependency: transitive
425 | description:
426 | name: url_launcher_android
427 | url: "https://pub.dartlang.org"
428 | source: hosted
429 | version: "6.0.14"
430 | url_launcher_ios:
431 | dependency: transitive
432 | description:
433 | name: url_launcher_ios
434 | url: "https://pub.dartlang.org"
435 | source: hosted
436 | version: "6.0.14"
437 | url_launcher_linux:
438 | dependency: transitive
439 | description:
440 | name: url_launcher_linux
441 | url: "https://pub.dartlang.org"
442 | source: hosted
443 | version: "2.0.3"
444 | url_launcher_macos:
445 | dependency: transitive
446 | description:
447 | name: url_launcher_macos
448 | url: "https://pub.dartlang.org"
449 | source: hosted
450 | version: "2.0.3"
451 | url_launcher_platform_interface:
452 | dependency: transitive
453 | description:
454 | name: url_launcher_platform_interface
455 | url: "https://pub.dartlang.org"
456 | source: hosted
457 | version: "2.0.4"
458 | url_launcher_web:
459 | dependency: transitive
460 | description:
461 | name: url_launcher_web
462 | url: "https://pub.dartlang.org"
463 | source: hosted
464 | version: "2.0.6"
465 | url_launcher_windows:
466 | dependency: transitive
467 | description:
468 | name: url_launcher_windows
469 | url: "https://pub.dartlang.org"
470 | source: hosted
471 | version: "2.0.2"
472 | vector_math:
473 | dependency: transitive
474 | description:
475 | name: vector_math
476 | url: "https://pub.dartlang.org"
477 | source: hosted
478 | version: "2.1.2"
479 | xml:
480 | dependency: transitive
481 | description:
482 | name: xml
483 | url: "https://pub.dartlang.org"
484 | source: hosted
485 | version: "5.3.1"
486 | sdks:
487 | dart: ">=2.17.0-206.0.dev <3.0.0"
488 | flutter: ">=2.5.0"
489 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: plumbr
2 | description: A new Flutter project.
3 |
4 | # The following line prevents the package from being accidentally published to
5 | # pub.dev using `pub publish`. This is preferred for private packages.
6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev
7 |
8 | # The following defines the version and build number for your application.
9 | # A version number is three numbers separated by dots, like 1.2.43
10 | # followed by an optional build number separated by a +.
11 | # Both the version and the builder number may be overridden in flutter
12 | # build by specifying --build-name and --build-number, respectively.
13 | # In Android, build-name is used as versionName while build-number used as versionCode.
14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning
15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
16 | # Read more about iOS versioning at
17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
18 | version: 1.0.0+1
19 |
20 | environment:
21 | sdk: ">=2.7.0 <3.0.0"
22 |
23 | dependencies:
24 | flutter:
25 | sdk: flutter
26 |
27 |
28 | # The following adds the Cupertino Icons font to your application.
29 | # Use with the CupertinoIcons class for iOS style icons.
30 | cupertino_icons: ^1.0.2
31 | adobe_xd: ^2.0.0+1
32 | firebase_core: ^1.10.5
33 | firebase_auth: ^3.3.3
34 | cloud_firestore: ^3.1.4
35 | get: ^4.5.1
36 | geolocator: ^8.0.0
37 | google_maps_flutter: ^2.1.1
38 | dio: ^4.0.4
39 | flutter_polyline_points: ^1.0.0
40 | font_awesome_flutter: ^9.0.0
41 | razorpay_flutter: ^1.2.3
42 | url_launcher: ^6.0.18
43 | flutter_phone_direct_caller: ^2.1.0
44 |
45 | dev_dependencies:
46 | flutter_lints: ^2.0.1
47 | flutter_test:
48 | sdk: flutter
49 |
50 |
51 |
52 | # For information on the generic Dart part of this file, see the
53 | # following page: https://dart.dev/tools/pub/pubspec
54 |
55 | # The following section is specific to Flutter.
56 | flutter:
57 |
58 | # The following line ensures that the Material Icons font is
59 | # included with your application, so that you can use the icons in
60 | # the material Icons class.
61 | uses-material-design: true
62 |
63 | # To add assets to your application, add an assets section, like this:
64 | assets:
65 | - images/one.jpg
66 | - images/two.png
67 | - images/3.png
68 | - images/4.png
69 | # An image asset can refer to one or more resolution-specific "variants", see
70 | # https://flutter.dev/assets-and-images/#resolution-aware.
71 |
72 | # For details regarding adding assets from package dependencies, see
73 | # https://flutter.dev/assets-and-images/#from-packages
74 |
75 | # To add custom fonts to your application, add a fonts section here,
76 | # in this "flutter" section. Each entry in this list should have a
77 | # "family" key with the font family name, and a "fonts" key with a
78 | # list giving the asset and other descriptors for the font. For
79 | # example:
80 | # fonts:
81 | # - family: Schyler
82 | # fonts:
83 | # - asset: fonts/Schyler-Regular.ttf
84 | # - asset: fonts/Schyler-Italic.ttf
85 | # style: italic
86 | # - family: Trajan Pro
87 | # fonts:
88 | # - asset: fonts/TrajanPro.ttf
89 | # - asset: fonts/TrajanPro_Bold.ttf
90 | # weight: 700
91 | #
92 | # For details regarding fonts from package dependencies,
93 | # see https://flutter.dev/custom-fonts/#from-packages
94 |
--------------------------------------------------------------------------------