├── .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 | ![img](https://user-images.githubusercontent.com/75473780/152063368-9ce59ddd-140e-4893-a5c9-d01ab2a292b4.jpg) 31 | ![2](https://user-images.githubusercontent.com/75473780/152063542-2a8e1cb7-3abb-4a2b-a428-b5d3b4fc8b37.jpg) 32 | ![img](https://user-images.githubusercontent.com/75473780/152063391-8e1aca46-915f-423f-b82e-7c52f1afb1a1.jpg) 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 | --------------------------------------------------------------------------------