├── .buckconfig ├── .flowconfig ├── .gitignore ├── .watchmanconfig ├── 7017c054d03eeaf2d82102961d7ce41f ├── README.md ├── android ├── app │ ├── BUCK │ ├── app-release.apk │ ├── build.gradle │ ├── my-release-key.keystore │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ └── index.android.bundle │ │ ├── java │ │ └── com │ │ │ └── fooddelivery │ │ │ ├── MainActivity.java │ │ │ └── MainApplication.java │ │ └── res │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keystores │ ├── BUCK │ └── debug.keystore.properties └── settings.gradle ├── components ├── App.js ├── Cart.js ├── ConfirmOrder.js ├── DashBoard.js ├── Home.js ├── HotDeals.js ├── Menu.js ├── Notifications.js ├── PastOrders.js ├── ReviewOrder.js └── images │ ├── drawer_screenshot.png │ ├── ic_menu_black_24dp.png │ └── menu_screenshot.png ├── helpers ├── ActionButton.js ├── ActionButtonItem.js └── navigation.js ├── index.android.js ├── index.ios.js ├── ios ├── foodDelivery.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ └── foodDelivery.xcscheme ├── foodDelivery │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Base.lproj │ │ └── LaunchScreen.xib │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Info.plist │ └── main.m └── foodDeliveryTests │ ├── Info.plist │ └── foodDeliveryTests.m ├── my-release-key.keystore ├── package.json └── styles ├── hotdeals.js ├── menu.js └── root.js /.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | 3 | # We fork some components by platform. 4 | .*/*.android.js 5 | 6 | # Ignore templates with `@flow` in header 7 | .*/local-cli/generator.* 8 | 9 | # Ignore malformed json 10 | .*/node_modules/y18n/test/.*\.json 11 | 12 | [include] 13 | 14 | [libs] 15 | node_modules/react-native/Libraries/react-native/react-native-interface.js 16 | node_modules/react-native/flow 17 | flow/ 18 | 19 | [options] 20 | module.system=haste 21 | 22 | esproposal.class_static_fields=enable 23 | esproposal.class_instance_fields=enable 24 | 25 | experimental.strict_type_args=true 26 | 27 | munge_underscores=true 28 | 29 | module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub' 30 | module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' 31 | 32 | suppress_type=$FlowIssue 33 | suppress_type=$FlowFixMe 34 | suppress_type=$FixMe 35 | 36 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) 37 | suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ 38 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy 39 | 40 | [version] 41 | ^0.27.0 42 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | project.xcworkspace 24 | 25 | # Android/IJ 26 | # 27 | *.iml 28 | .idea 29 | .gradle 30 | local.properties 31 | 32 | # node.js 33 | # 34 | node_modules/ 35 | npm-debug.log 36 | 37 | # BUCK 38 | buck-out/ 39 | \.buckd/ 40 | android/app/libs 41 | android/keystores/debug.keystore 42 | -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /7017c054d03eeaf2d82102961d7ce41f: -------------------------------------------------------------------------------- 1 | {"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/0.20/makeImportPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/0.20/makePackagePatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/0.18/makeImportPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/0.18/makePackagePatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/0.17/makeImportPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/0.17/makePackagePatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/0.20/makeImportPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/0.20/makePackagePatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/0.18/makeImportPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/0.18/makePackagePatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/0.17/makeImportPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/0.17/makePackagePatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/ios/findProject.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/ios/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/android/findManifest.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/android/findPackageClassName.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/android/readManifest.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/android/findAndroidAppFolder.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/android/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/makeSettingsPatch.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/makeBuildPatch.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/patches/applyPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/makeBuildPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/makeStringsPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/revokePatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/applyParams.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/applyPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/patches/makeSettingsPatch.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Cache/__mocks__/Cache.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/lib/__mocks__/declareOpts.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/polyfills.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Object.es6"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/String.prototype.es6.js":{"metadata":{"mtime":1469088717000},"data":{"name":"String.prototype.es6"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/Array.es6.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Array.es6"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/require.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/console.js":{"metadata":{"mtime":1469088717000},"data":{"name":"console"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/prelude_dev.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/Number.es6.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Number.es6"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/Object.es7.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Object.es7"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/error-guard.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/babelHelpers.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/prelude.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/polyfills/Array.prototype.es6.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Array.prototype.es6"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/extract-dependencies.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/inline.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/constant-folding.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/minify.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/__mocks__/q.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/__mocks__/lodash.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/__mocks__/worker.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Activity/__mocks__/chalk.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/mapHeaderSearchPaths.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/addProjectToLibraries.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/unlinkAssets.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeFromProjectReferences.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/getGroup.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/getBuildProperty.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/getHeadersInFolder.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeProjectFromLibraries.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/getProducts.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/copyAssets.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/addSharedLibraries.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/isInstalled.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/getPlist.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeFromPbxItemContainerProxySection.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/getHeaderSearchPath.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeProjectFromProject.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/registerNativeModule.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeProductGroup.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeFromStaticLibraries.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/addFileToProject.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeFromHeaderSearchPaths.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/addToHeaderSearchPaths.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/createGroup.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/getPlistPath.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/hasLibraryImported.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeSharedLibraries.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/unregisterNativeModule.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/ios/removeFromPbxReferenceProxySection.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/unlinkAssets.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/copyAssets.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/getPrefix.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/isInstalled.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/fs.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/registerNativeModule.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/android/unregisterNativeModule.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/createGroup.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/mapHeaderSearchPaths.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/getBuildProperty.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/isInstalled.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/removeProjectFromLibraries.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/getHeadersInFolder.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/removeProjectFromProject.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/getProducts.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/hasLibraryImported.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/getPlistPath.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/addProjectToLibraries.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/getPlist.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/getGroup.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/addFileToProject.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/ios/getHeaderSearchPath.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/android/isInstalled.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/wrapCommands.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/config/findAssets.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/fixtures/ios.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/fixtures/android.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/fixtures/dependencies.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/fixtures/projects.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/fixtures/commands.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/ios/getProjectConfig.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/ios/findProject.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/android/getProjectConfig.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/android/findPackageClassName.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/android/findManifest.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/android/getDependencyConfig.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/android/findAndroidAppFolder.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/android/readManifest.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/polyfills/flattenStyle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/polyfills/Set.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/polyfills/InteractionManager.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BatchedBridge/BatchedBridgedModules/__mocks__/NativeModules.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationTreeNode.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationTreeNode"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationRouteStack.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationRouteStack"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationEventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationEventEmitter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationContext.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationContext"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationEvent.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationEvent"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/System/JSTimers/JSTimersExecution.js":{"metadata":{"mtime":1469088717000},"data":{"name":"JSTimersExecution"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/System/JSTimers/JSTimers.js":{"metadata":{"mtime":1469088717000},"data":{"name":"JSTimers"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/View/__mocks__/View.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/document/selection/DocumentSelectionState.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DocumentSelectionState"}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/getCommands.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/findAssets.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/makeCommand.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/findPlugins.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/getCommands.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/makeCommand.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/src/findPlugins.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/install/src/uninstall.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/install/src/install.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/link.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/getPrefix.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/promiseWaterfall.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/groupFilesByType.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/getProjectDependencies.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/test/getDependencyConfig.spec.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/unlink.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/getReactNativeVersion.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/getDependencyConfig.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/promiseWaterfall.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/link.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/getProjectDependencies.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/groupFilesByType.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/src/pollParams.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/unbundle/magic-number.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/unbundle/build-unbundle-sourcemap-with-metadata.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/unbundle/util.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/unbundle/write-sourcemap.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/unbundle/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/unbundle/as-assets.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/unbundle/as-indexed-file.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Activity/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/JSTransformer/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Resolver/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/lib/ModuleTransport.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/lib/declareOpts.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/__mocks__/debug.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/__mocks__/fs.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/__mocks__/graceful-fs.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Server/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/AssetServer/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Bundler/HMRBundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Bundler/BundleBase.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Bundler/base64-vlq.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Bundler/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Bundler/PrepackBundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/src/Bundler/Bundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/JSResponderTestApp.js":{"metadata":{"mtime":1469088717000},"data":{"name":"JSResponderTestApp"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/ViewRenderingTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ViewRenderingTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TestJSToJavaParametersModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TestJSToJavaParametersModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/SwipeRefreshLayoutTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwipeRefreshLayoutTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/ProgressBarTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ProgressBarTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TextInputTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TextInputTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/MeasureLayoutTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"MeasureLayoutTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/CatalystRootViewTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"CatalystRootViewTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/MultitouchHandlingTestAppModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"MultitouchHandlingTestAppModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/Asserts.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Asserts"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/UIManagerTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"UIManagerTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TestBundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TestIdTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TestIdTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/InitialPropsTestApp.js":{"metadata":{"mtime":1469088717000},"data":{"name":"InitialPropsTestApp"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TestJSLocaleModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TestJSLocaleModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PickerAndroidTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/LayoutEventsTestApp.js":{"metadata":{"mtime":1469088717000},"data":{"name":"LayoutEventsTestApp"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TouchBubblingTestAppModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TouchBubblingTestAppModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TimePickerDialogTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TimePickerDialogTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DatePickerDialogTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/SubviewsClippingTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SubviewsClippingTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/TestJavaToJSArgumentsModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TestJavaToJSArgumentsModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/js/ScrollViewTestModule.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ScrollViewTestModule"}},"/var/React/foodDelivery/node_modules/react-native/ReactAndroid/src/androidTest/assets/AndroidTestBundle.js":{"metadata":{"mtime":1469089656000},"data":{}},"/var/React/foodDelivery/node_modules/moment/src/lib/parse/token.js":{"metadata":{"mtime":1480830511000},"data":{}},"/var/React/foodDelivery/node_modules/moment/src/lib/parse/regex.js":{"metadata":{"mtime":1480830511000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/__mocks__/sign.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/meta.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/bundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/prepack.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/output/writeFile.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generator/templates/index.android.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generator/templates/index.ios.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/__mocks__/log.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/indexPage.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/openStackFrameInEditorMiddleware.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/copyToClipBoardMiddleware.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/systraceProfileMiddleware.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/cpuProfilerMiddleware.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/loadRawBodyMiddleware.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/statusPageMiddleware.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/middleware/getDevToolsMiddleware.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/util/messageSocket.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/util/webSocketProxy.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/util/debuggerWorker.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/util/launchEditor.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/util/copyToClipBoard.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/util/attachHMRServer.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/install/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/Reducer/NavigationScenesReducer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationScenesReducer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/__mocks__/NavigationRootContainer.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/__mocks__/Image.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/getObjectValues.js":{"metadata":{"mtime":1469088717000},"data":{"name":"getObjectValues"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/guid.js":{"metadata":{"mtime":1469088717000},"data":{"name":"guid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/Map.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Map"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/clearImmediate.js":{"metadata":{"mtime":1469088717000},"data":{"name":"clearImmediate"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/toIterator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"toIterator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/Set.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Set"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/copyProperties.js":{"metadata":{"mtime":1469088717000},"data":{"name":"copyProperties"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/mergeHelpers.js":{"metadata":{"mtime":1469088717000},"data":{"name":"mergeHelpers"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/setImmediate.js":{"metadata":{"mtime":1469088717000},"data":{"name":"setImmediate"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/mergeInto.js":{"metadata":{"mtime":1469088717000},"data":{"name":"mergeInto"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/throwImmediate.js":{"metadata":{"mtime":1469088717000},"data":{"name":"throwImmediate"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/merge.js":{"metadata":{"mtime":1469088717000},"data":{"name":"merge"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/_shouldPolyfillES6Collection.js":{"metadata":{"mtime":1469088717000},"data":{"name":"_shouldPolyfillES6Collection"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/vendor/core/isEmpty.js":{"metadata":{"mtime":1469088717000},"data":{"name":"isEmpty"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Text/__mocks__/Text.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListViewDataSource.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwipeableListViewDataSource"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableQuickActions.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwipeableQuickActions"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableRow.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwipeableRow"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwipeableListView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableQuickActionButton.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwipeableQuickActionButton"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/__mocks__/MessageQueueTestConfig.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/__mocks__/PixelRatio.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/__mocks__/ErrorUtils.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/__mocks__/MessageQueueTestModule1.js":{"metadata":{"mtime":1469088717000},"data":{"name":"MessageQueueTestModule1"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/__mocks__/MessageQueueTestModule2.js":{"metadata":{"mtime":1469088717000},"data":{"name":"MessageQueueTestModule2"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/differ/deepDiffer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"deepDiffer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/differ/pointsDiffer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"pointsDiffer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/differ/matricesDiffer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"matricesDiffer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/differ/insetsDiffer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"insetsDiffer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/differ/sizesDiffer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"sizesDiffer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ToolbarAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ToolbarAndroid/ToolbarAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ToolbarAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SwitchAndroid/SwitchAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwitchAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SwitchAndroid/SwitchAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwitchAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/WebView/WebView.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"WebView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/WebView/WebView.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"WebView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ReactNativeViewAttributes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/View/ShadowPropTypesIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ShadowPropTypesIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ReactNativeStyleAttributes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ViewStylePropTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/View/View.js":{"metadata":{"mtime":1469088717000},"data":{"name":"View"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DatePickerIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DatePickerIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TouchableHighlight"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/Touchable.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Touchable"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TouchableNativeFeedback"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TouchableOpacity"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/TouchableBounce.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TouchableBounce"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/ensureComponentIsNative.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ensureComponentIsNative"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/ensurePositiveDelayProps.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ensurePositiveDelayProps"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TouchableWithoutFeedback"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/Position.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Position"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/BoundingDimensions.js":{"metadata":{"mtime":1469088717000},"data":{"name":"BoundingDimensions"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TouchableNativeFeedback"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Intent/IntentAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"IntentAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Intent/IntentAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"IntentAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SegmentedControlIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SegmentedControlIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SwitchIOS/SwitchIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwitchIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SwitchIOS/SwitchIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SwitchIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TextInput/TextInput.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TextInput"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TextInput/TextInputState.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TextInputState"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/MapView/MapView.js":{"metadata":{"mtime":1469088717000},"data":{"name":"MapView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ToastAndroid/ToastAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ToastAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ToastAndroid/ToastAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ToastAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Keyboard"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js":{"metadata":{"mtime":1469088717000},"data":{"name":"KeyboardAvoidingView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Picker/PickerAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PickerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Picker/Picker.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Picker"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PickerIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Picker/PickerAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PickerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Picker/PickerIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PickerIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DatePickerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DatePickerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TimePickerAndroid/TimePickerAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TimePickerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TimePickerAndroid/TimePickerAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TimePickerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TabBarIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TabBarItemIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TabBarIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TabBarItemIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RefreshControl"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/StatusBar/StatusBarIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StatusBarIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StatusBar"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/StatusBar/StatusBarIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StatusBarIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicatorIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ActivityIndicatorIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicatorIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ActivityIndicatorIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ActivityIndicator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ProgressBarAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ProgressBarAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ViewPager/ViewPagerAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ViewPagerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ViewPager/ViewPagerAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ViewPagerAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js":{"metadata":{"mtime":1469088717000},"data":{"name":"UnimplementedView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ScrollView/RecyclerViewBackedScrollView.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RecyclerViewBackedScrollView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ScrollView/processDecelerationRate.js":{"metadata":{"mtime":1469088717000},"data":{"name":"processDecelerationRate"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ScrollView/RecyclerViewBackedScrollView.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RecyclerViewBackedScrollView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ScrollView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ProgressViewIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ProgressViewIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DrawerLayoutAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"DrawerLayoutAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Clipboard/Clipboard.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Clipboard"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Slider/Slider.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Slider"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SliderIOS/SliderIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SliderIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/SliderIOS/SliderIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SliderIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Switch/Switch.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Switch"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/ExceptionsManager.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ExceptionsManager"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/InitializeJavaScriptAppEngine.js":{"metadata":{"mtime":1469088717000},"data":{"name":"InitializeJavaScriptAppEngine"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/getDevServer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"getDevServer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/parseErrorStack.js":{"metadata":{"mtime":1469088717000},"data":{"name":"parseErrorStack"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/symbolicateStackTrace.js":{"metadata":{"mtime":1469088717000},"data":{"name":"symbolicateStackTrace"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/source-map-url.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorBreadcrumbNavigationBar"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBarStyles.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorBreadcrumbNavigationBarStyles"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorSceneConfigs.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorSceneConfigs"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Navigator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorNavigationBarStylesIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBar.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorNavigationBar"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBarStyles.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorBreadcrumbNavigationBarStyles"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesAndroid.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigatorNavigationBarStylesAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/ListView/ListViewDataSource.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ListViewDataSource"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/ListView/ListView.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ListView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeader.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationHeader"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationAnimatedValueSubscription.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationAnimatedValueSubscription"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCard.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationCard"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStack.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationCardStack"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderTitle.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationHeaderTitle"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderStyleInterpolator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationHeaderStyleInterpolator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackStyleInterpolator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationCardStackStyleInterpolator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPagerStyleInterpolator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationPagerStyleInterpolator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPagerPanResponder.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationPagerPanResponder"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderBackButton.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationHeaderBackButton"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackPanResponder.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationCardStackPanResponder"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPointerEventsContainer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationPointerEventsContainer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BatchedBridge/BatchedBridgedModules/RCTEventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTEventEmitter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BatchedBridge/BatchedBridgedModules/RCTAlertManager.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTAlertManager"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BatchedBridge/BatchedBridgedModules/NativeModules.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NativeModules"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/SpringConfig.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SpringConfig"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/NativeAnimatedHelper.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NativeAnimatedHelper"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AnimatedImplementation"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/bezier.js":{"metadata":{"mtime":1469088717000},"data":{"name":"bezier"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/Animated.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Animated"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/AnimatedWeb.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/Easing.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Easing"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/src/Interpolation.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Interpolation"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/release/gulpfile.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/WebSocket/__mocks__/event-target-shim.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/WebSocket/WebSocket.js":{"metadata":{"mtime":1469088717000},"data":{"name":"WebSocket"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/WebSocket/WebSocketEvent.js":{"metadata":{"mtime":1469088717000},"data":{"name":"WebSocketEvent"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ReactNative/UIManagerStatTracker.js":{"metadata":{"mtime":1469088717000},"data":{"name":"UIManagerStatTracker"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/LinkingIOS/LinkingIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"LinkingIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/EventSubscriptionVendor.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EventSubscriptionVendor"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/EventEmitterWithHolding.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EventEmitterWithHolding"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTDeviceEventEmitter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/mixInEventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"mixInEventEmitter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/EmitterSubscription.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EmitterSubscription"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/EventValidator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EventValidator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/EventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EventEmitter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTNativeAppEventEmitter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/EventHolder.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EventHolder"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/EventSubscription.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EventSubscription"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NativeEventEmitter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PushNotificationIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Linking/Linking.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Linking"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ART/ARTSerializablePath.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ARTSerializablePath"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ART/ReactNativeART.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ReactNativeART"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js":{"metadata":{"mtime":1469088717000},"data":{"name":"BatchedBridge"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SnapshotViewIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"SnapshotViewIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BugReporting/dumpReactTree.js":{"metadata":{"mtime":1469088717000},"data":{"name":"dumpReactTree"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BugReporting/getReactData.js":{"metadata":{"mtime":1469088717000},"data":{"name":"getReactData"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/BugReporting/BugReporting.js":{"metadata":{"mtime":1469088717000},"data":{"name":"BugReporting"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/react-native/react-native-interface.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/react-native/React.js":{"metadata":{"mtime":1469088717000},"data":{"name":"React"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/react-native/ReactNative.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ReactNative"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/react-native/react-native.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Storage/AsyncStorage.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AsyncStorage"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CameraRoll/ImagePickerIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ImagePickerIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/CameraRoll/CameraRoll.js":{"metadata":{"mtime":1469088717000},"data":{"name":"CameraRoll"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ActionSheetIOS/ActionSheetIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ActionSheetIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Geolocation/Geolocation.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Geolocation"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/TransformPropTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TransformPropTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/flattenStyle.js":{"metadata":{"mtime":1469088717000},"data":{"name":"flattenStyle"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/setNormalizedColorAlpha.js":{"metadata":{"mtime":1469088717000},"data":{"name":"setNormalizedColorAlpha"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/LayoutPropTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"LayoutPropTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/StyleSheetValidation.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StyleSheetValidation"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/StyleSheetTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StyleSheetTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/processTransform.js":{"metadata":{"mtime":1469088717000},"data":{"name":"processTransform"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/ColorPropType.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ColorPropType"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/PointPropType.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PointPropType"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/StyleSheet.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StyleSheet"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/processColor.js":{"metadata":{"mtime":1469088717000},"data":{"name":"processColor"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/normalizeColor.js":{"metadata":{"mtime":1469088717000},"data":{"name":"normalizeColor"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js":{"metadata":{"mtime":1469088717000},"data":{"name":"EdgeInsetsPropType"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StyleSheetPropType"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/AdSupport/AdSupportIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AdSupportIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Sample/Sample.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Sample"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Sample/Sample.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Sample"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ReactIOS/AppContainer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AppContainer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ReactIOS/YellowBox.js":{"metadata":{"mtime":1469088717000},"data":{"name":"YellowBox"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ReactIOS/renderApplication.js":{"metadata":{"mtime":1469088717000},"data":{"name":"renderApplication"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ReactIOS/verifyPropTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"verifyPropTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/ReactIOS/requireNativeComponent.js":{"metadata":{"mtime":1469088717000},"data":{"name":"requireNativeComponent"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Interaction/PanResponder.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PanResponder"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Interaction/TaskQueue.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TaskQueue"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Interaction/JSEventLoopWatchdog.js":{"metadata":{"mtime":1469088717000},"data":{"name":"JSEventLoopWatchdog"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Interaction/InteractionManager.js":{"metadata":{"mtime":1469088717000},"data":{"name":"InteractionManager"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Interaction/InteractionMixin.js":{"metadata":{"mtime":1469088717000},"data":{"name":"InteractionMixin"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/Subscribable.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Subscribable"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/ScrollResponder.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ScrollResponder"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/StaticRenderer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StaticRenderer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/StaticContainer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StaticContainer.react"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Components/LazyRenderer.js":{"metadata":{"mtime":1469088717000},"data":{"name":"LazyRenderer"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/ElementProperties.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ElementProperties"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/resolveBoxStyle.js":{"metadata":{"mtime":1469088717000},"data":{"name":"resolveBoxStyle"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/Inspector.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Inspector"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/InspectorPanel.js":{"metadata":{"mtime":1469088717000},"data":{"name":"InspectorPanel"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/PerformanceOverlay.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PerformanceOverlay"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/ElementBox.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ElementBox"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/BorderBox.js":{"metadata":{"mtime":1469088717000},"data":{"name":"BorderBox"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/StyleInspector.js":{"metadata":{"mtime":1469088717000},"data":{"name":"StyleInspector"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/BoxInspector.js":{"metadata":{"mtime":1469088717000},"data":{"name":"BoxInspector"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/InspectorOverlay.js":{"metadata":{"mtime":1469088717000},"data":{"name":"InspectorOverlay"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Inspector/InspectorUtils.js":{"metadata":{"mtime":1469088717000},"data":{"name":"InspectorUtils"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Vibration/VibrationIOS.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"VibrationIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Vibration/Vibration.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Vibration"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Vibration/VibrationIOS.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"VibrationIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Settings/Settings.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Settings"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Settings/Settings.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Settings"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/buildStyleInterpolator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"buildStyleInterpolator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/dismissKeyboard.js":{"metadata":{"mtime":1469088717000},"data":{"name":"dismissKeyboard"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/infoLog.js":{"metadata":{"mtime":1469088717000},"data":{"name":"infoLog"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/groupByEveryN.js":{"metadata":{"mtime":1469088717000},"data":{"name":"groupByEveryN"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/HMRLoadingView.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"HMRLoadingView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/deprecatedPropType.js":{"metadata":{"mtime":1469088717000},"data":{"name":"deprecatedPropType"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/Platform.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Platform"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/PixelRatio.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PixelRatio"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/stringifySafe.js":{"metadata":{"mtime":1469088717000},"data":{"name":"stringifySafe"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/BackAndroid.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"BackAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/utf8.js":{"metadata":{"mtime":1469088717000},"data":{"name":"utf8"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/Platform.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Platform"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/truncate.js":{"metadata":{"mtime":1469088717000},"data":{"name":"truncate"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js":{"metadata":{"mtime":1469088717000},"data":{"name":"deepFreezeAndThrowOnMutationInDev"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/HMRClient.js":{"metadata":{"mtime":1469088717000},"data":{"name":"HMRClient"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js":{"metadata":{"mtime":1469088717000},"data":{"name":"createStrictShapeTypeChecker"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/RCTRenderingPerf.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTRenderingPerf"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/AlertIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AlertIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/mergeFast.js":{"metadata":{"mtime":1469088717000},"data":{"name":"mergeFast"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/deprecatedCallback.js":{"metadata":{"mtime":1469088717000},"data":{"name":"deprecatedCallback"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/HeapCapture.js":{"metadata":{"mtime":1469088717000},"data":{"name":"HeapCapture"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/logError.js":{"metadata":{"mtime":1469088717000},"data":{"name":"logError"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/ErrorUtils.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ErrorUtils"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/Systrace.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Systrace"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/mergeIntoFast.js":{"metadata":{"mtime":1469088717000},"data":{"name":"mergeIntoFast"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/CPUProfiler.js":{"metadata":{"mtime":1469088717000},"data":{"name":"CPUProfiler"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/mapWithSeparator.js":{"metadata":{"mtime":1469088717000},"data":{"name":"mapWithSeparator"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/UIManager.js":{"metadata":{"mtime":1469088717000},"data":{"name":"UIManager"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/HMRLoadingView.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"HMRLoadingView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/Dimensions.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Dimensions"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/MatrixMath.js":{"metadata":{"mtime":1469088717000},"data":{"name":"MatrixMath"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/Alert.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Alert"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/PerformanceLogger.js":{"metadata":{"mtime":1469088717000},"data":{"name":"PerformanceLogger"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/clamp.js":{"metadata":{"mtime":1469088717000},"data":{"name":"clamp"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/throwOnWrongReactAPI.js":{"metadata":{"mtime":1469088717000},"data":{"name":"throwOnWrongReactAPI"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js":{"metadata":{"mtime":1469088717000},"data":{"name":"defineLazyObjectProperty"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/MessageQueue.js":{"metadata":{"mtime":1469088717000},"data":{"name":"MessageQueue"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/BackAndroid.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"BackAndroid"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Utilities/RCTLog.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTLog"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/IncrementalPresenter.js":{"metadata":{"mtime":1469088717000},"data":{"name":"IncrementalPresenter"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/IncrementalExample.js":{"metadata":{"mtime":1469088717000},"data":{"name":"IncrementalExample"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/WindowedListView.js":{"metadata":{"mtime":1469088717000},"data":{"name":"WindowedListView"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/Incremental.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Incremental"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/ViewabilityHelper.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ViewabilityHelper"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Experimental/IncrementalGroup.js":{"metadata":{"mtime":1469088717000},"data":{"name":"IncrementalGroup"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/AppState/AppStateIOS.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AppStateIOS"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/AppState/AppState.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AppState"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Text/TextStylePropTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TextStylePropTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Text/TextUpdateTest.js":{"metadata":{"mtime":1469088717000},"data":{"name":"TextUpdateTest"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Text/Text.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Text"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/QuickPerformanceLogger/QuickPerformanceLogger.js":{"metadata":{"mtime":1469088717000},"data":{"name":"QuickPerformanceLogger"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Network/FormData.js":{"metadata":{"mtime":1469088717000},"data":{"name":"FormData"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Network/RCTNetworking.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTNetworking"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Network/RCTNetworking.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTNetworking"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Network/NetInfo.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NetInfo"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Network/XMLHttpRequest.js":{"metadata":{"mtime":1469088717000},"data":{"name":"XMLHttpRequest"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Fetch/fetch.js":{"metadata":{"mtime":1469088717000},"data":{"name":"fetch"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/AppRegistry/AppRegistry.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AppRegistry"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/RKBackendNode/queryLayoutByID.js":{"metadata":{"mtime":1469088717000},"data":{"name":"queryLayoutByID"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/DebugComponentHierarchy/RCTDebugComponentOwnership.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RCTDebugComponentOwnership"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/ImageStore.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ImageStore"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/RelativeImageStub.js":{"metadata":{"mtime":1469088717000},"data":{"name":"RelativeImageStub"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/ImageSourcePropType.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ImageSourcePropType"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/AssetRegistry.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AssetRegistry"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/ImageSource.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ImageSource"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/Image.ios.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Image"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/resolveAssetSource.js":{"metadata":{"mtime":1469088717000},"data":{"name":"resolveAssetSource"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/ImageResizeMode.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ImageResizeMode"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/ImageEditor.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ImageEditor"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/Image.android.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Image"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/GlobalImageStub.js":{"metadata":{"mtime":1469088717000},"data":{"name":"GlobalImageStub"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/ImageStylePropTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"ImageStylePropTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Image/AssetSourceResolver.js":{"metadata":{"mtime":1469088717000},"data":{"name":"AssetSourceResolver"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Modal/Modal.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Modal"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Devtools/setupDevtools.js":{"metadata":{"mtime":1469088717000},"data":{"name":"setupDevtools"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js":{"metadata":{"mtime":1469088717000},"data":{"name":"LayoutAnimation"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/NavigationTransitioner.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationTransitioner"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/NavigationExperimental.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationExperimental"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/NavigationStateUtils.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationStateUtils"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/NavigationAbstractPanResponder.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationAbstractPanResponder"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/NavigationPropTypes.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationPropTypes"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/NavigationExperimental/NavigationTypeDefinition.js":{"metadata":{"mtime":1469088717000},"data":{"name":"NavigationTypeDefinition"}},"/var/React/foodDelivery/node_modules/react-native/local-cli/runAndroid/adb.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/runAndroid/runAndroid.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generator-android/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/logIOS/logIOS.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/version/version.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/library/library.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/dependencies/dependencies.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/__mocks__/beeper.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generator-ios/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/upgrade/upgrade.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/checkNodeVersion.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/formatBanner.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/server.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/server/runServer.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/isPackagerRunning.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/parseCommandLine.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/walk.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/log.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/copyAndReplace.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/isValidPackageName.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/util/Config.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generator/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generate/generate.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/logAndroid/logAndroid.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/signedsource.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/assetPathUtils.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/saveAssets.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/bundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/unbundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/getAssetDestPathIOS.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/getAssetDestPathAndroid.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/sign.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/buildBundle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/bundle/bundleCommandLineArgs.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/runIOS/findXcodeProject.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/runIOS/parseIOSSimulatorsList.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/runIOS/runIOS.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/index.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/blacklist.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/babelRegisterOnly.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/transformer.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/rn-cli.config.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/default.config.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/cli.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generate-android.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/wrong-react-native.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generator-utils.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/cliEntry.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/RCTEventEmitter.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/deepDiffer.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/InitializeJavaScriptAppEngine.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/flattenStyle.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/UIManagerStatTracker.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/deepFreezeAndThrowOnMutationInDev.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/UIManager.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/TextInputState.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/lib/View.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/jestSupport/env.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/jestSupport/preprocessor.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/flow/Promise.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/flow/Map.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/flow/Set.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/flow/react.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Promise.js":{"metadata":{"mtime":1469088717000},"data":{"name":"Promise"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/promiseRejectionIsError.js":{"metadata":{"mtime":1469088717000},"data":{"name":"promiseRejectionIsError"}},"/var/React/foodDelivery/node_modules/react-native/cli.js":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/styles/menu.js":{"metadata":{"mtime":1470732175425},"data":{}},"/var/React/foodDelivery/styles/root.js":{"metadata":{"mtime":1470206041923},"data":{}},"/var/React/foodDelivery/components/Cart.js":{"metadata":{"mtime":1470919031461},"data":{}},"/var/React/foodDelivery/components/HotDeals.js":{"metadata":{"mtime":1472716762936},"data":{}},"/var/React/foodDelivery/components/ConfirmOrder.js":{"metadata":{"mtime":1472725178822},"data":{}},"/var/React/foodDelivery/components/App.js":{"metadata":{"mtime":1473314587727},"data":{}},"/var/React/foodDelivery/components/DashBoard.js":{"metadata":{"mtime":1473311510397},"data":{}},"/var/React/foodDelivery/components/PastOrders.js":{"metadata":{"mtime":1472726611187},"data":{}},"/var/React/foodDelivery/components/ReviewOrder.js":{"metadata":{"mtime":1473311603605},"data":{}},"/var/React/foodDelivery/components/Notifications.js":{"metadata":{"mtime":1472726529128},"data":{}},"/var/React/foodDelivery/components/Home.js":{"metadata":{"mtime":1470470303171},"data":{}},"/var/React/foodDelivery/components/Menu.js":{"metadata":{"mtime":1472716765712},"data":{}},"/var/React/foodDelivery/helpers/ActionButtonItem.js":{"metadata":{"mtime":1472729119986},"data":{}},"/var/React/foodDelivery/helpers/navigation.js":{"metadata":{"mtime":1470736853190},"data":{}},"/var/React/foodDelivery/helpers/ActionButton.js":{"metadata":{"mtime":1473230552127},"data":{}},"/var/React/foodDelivery/index.android.js":{"metadata":{"mtime":1470722019437},"data":{}},"/var/React/foodDelivery/index.ios.js":{"metadata":{"mtime":1485068328638},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/generator-ios/templates/app/Images.xcassets/AppIcon.appiconset/Contents.json":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json":{"metadata":{"mtime":1469088717000},"data":{"package-name":"react-native-vector-icons"}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/link/package.json":{"metadata":{"mtime":1469088717000},"data":{"package-name":"rnpm-plugin-link"}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/install/package.json":{"metadata":{"mtime":1469088717000},"data":{"package-name":"rnpm-plugin-install"}},"/var/React/foodDelivery/node_modules/react-native/local-cli/rnpm/core/package.json":{"metadata":{"mtime":1469088717000},"data":{"package-name":"rnpm"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Animated/release/package.json":{"metadata":{"mtime":1469088717000},"data":{"package-name":"react-animated"}},"/var/React/foodDelivery/node_modules/react-native/Libraries/Sample/package.json":{"metadata":{"mtime":1469088717000},"data":{"package-name":"Sample"}},"/var/React/foodDelivery/node_modules/react-native/packager/react-packager/rn-babelrc.json":{"metadata":{"mtime":1469088717000},"data":{}},"/var/React/foodDelivery/ios/foodDelivery/Images.xcassets/AppIcon.appiconset/Contents.json":{"metadata":{"mtime":1470200800260},"data":{}},"/var/React/foodDelivery/node_modules/react-native/packager/package.json":{"metadata":{"mtime":1469088717000},"data":{"package-name":"react-native-packager"}},"/var/React/foodDelivery/node_modules/react-native/package.json":{"metadata":{"mtime":1485069566692},"data":{"package-name":"react-native"}},"/var/React/foodDelivery/package.json":{"metadata":{"mtime":1473313210651},"data":{"package-name":"foodDelivery"}}} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Food Delivery Mobile App 2 | 3 | A food delivery application. 4 | you can use this app for food delivery 5 | 6 | ![alt tag](https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/master/components/images/drawer_screenshot.png) 7 | ![alt tag](https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/master/components/images/menu_screenshot.png) 8 | -------------------------------------------------------------------------------- /android/app/BUCK: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | # To learn about Buck see [Docs](https://buckbuild.com/). 4 | # To run your application with Buck: 5 | # - install Buck 6 | # - `npm start` - to start the packager 7 | # - `cd android` 8 | # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` 9 | # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck 10 | # - `buck install -r android/app` - compile, install and run application 11 | # 12 | 13 | lib_deps = [] 14 | for jarfile in glob(['libs/*.jar']): 15 | name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) 16 | lib_deps.append(':' + name) 17 | prebuilt_jar( 18 | name = name, 19 | binary_jar = jarfile, 20 | ) 21 | 22 | for aarfile in glob(['libs/*.aar']): 23 | name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) 24 | lib_deps.append(':' + name) 25 | android_prebuilt_aar( 26 | name = name, 27 | aar = aarfile, 28 | ) 29 | 30 | android_library( 31 | name = 'all-libs', 32 | exported_deps = lib_deps 33 | ) 34 | 35 | android_library( 36 | name = 'app-code', 37 | srcs = glob([ 38 | 'src/main/java/**/*.java', 39 | ]), 40 | deps = [ 41 | ':all-libs', 42 | ':build_config', 43 | ':res', 44 | ], 45 | ) 46 | 47 | android_build_config( 48 | name = 'build_config', 49 | package = 'com.fooddelivery', 50 | ) 51 | 52 | android_resource( 53 | name = 'res', 54 | res = 'src/main/res', 55 | package = 'com.fooddelivery', 56 | ) 57 | 58 | android_binary( 59 | name = 'app', 60 | package_type = 'debug', 61 | manifest = 'src/main/AndroidManifest.xml', 62 | keystore = '//android/keystores:debug', 63 | deps = [ 64 | ':app-code', 65 | ], 66 | ) 67 | -------------------------------------------------------------------------------- /android/app/app-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/android/app/app-release.apk -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | 3 | import com.android.build.OutputFile 4 | 5 | /** 6 | * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets 7 | * and bundleReleaseJsAndAssets). 8 | * These basically call `react-native bundle` with the correct arguments during the Android build 9 | * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the 10 | * bundle directly from the development server. Below you can see all the possible configurations 11 | * and their defaults. If you decide to add a configuration block, make sure to add it before the 12 | * `apply from: "../../node_modules/react-native/react.gradle"` line. 13 | * 14 | * project.ext.react = [ 15 | * // the name of the generated asset file containing your JS bundle 16 | * bundleAssetName: "index.android.bundle", 17 | * 18 | * // the entry file for bundle generation 19 | * entryFile: "index.android.js", 20 | * 21 | * // whether to bundle JS and assets in debug mode 22 | * bundleInDebug: false, 23 | * 24 | * // whether to bundle JS and assets in release mode 25 | * bundleInRelease: true, 26 | * 27 | * // whether to bundle JS and assets in another build variant (if configured). 28 | * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants 29 | * // The configuration property can be in the following formats 30 | * // 'bundleIn${productFlavor}${buildType}' 31 | * // 'bundleIn${buildType}' 32 | * // bundleInFreeDebug: true, 33 | * // bundleInPaidRelease: true, 34 | * // bundleInBeta: true, 35 | * 36 | * // the root of your project, i.e. where "package.json" lives 37 | * root: "../../", 38 | * 39 | * // where to put the JS bundle asset in debug mode 40 | * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", 41 | * 42 | * // where to put the JS bundle asset in release mode 43 | * jsBundleDirRelease: "$buildDir/intermediates/assets/release", 44 | * 45 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 46 | * // require('./image.png')), in debug mode 47 | * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", 48 | * 49 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 50 | * // require('./image.png')), in release mode 51 | * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", 52 | * 53 | * // by default the gradle tasks are skipped if none of the JS files or assets change; this means 54 | * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to 55 | * // date; if you have any other folders that you want to ignore for performance reasons (gradle 56 | * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ 57 | * // for example, you might want to remove it from here. 58 | * inputExcludes: ["android/**", "ios/**"], 59 | * 60 | * // override which node gets called and with what additional arguments 61 | * nodeExecutableAndArgs: ["node"] 62 | * 63 | * // supply additional arguments to the packager 64 | * extraPackagerArgs: [] 65 | * ] 66 | */ 67 | 68 | apply from: "../../node_modules/react-native/react.gradle" 69 | 70 | /*I, Prateek altered the below lines regarding Icon Font*/ 71 | apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" 72 | 73 | project.ext.vectoricons = [ 74 | iconFontNames: [ 'MaterialIcons.ttf', 'Ionicons.ttf', 'EvilIcons.ttf' ] // Name of the font files you want to copy 75 | ] 76 | /** 77 | * Set this to true to create two separate APKs instead of one: 78 | * - An APK that only works on ARM devices 79 | * - An APK that only works on x86 devices 80 | * The advantage is the size of the APK is reduced by about 4MB. 81 | * Upload all the APKs to the Play Store and people will download 82 | * the correct one based on the CPU architecture of their device. 83 | */ 84 | def enableSeparateBuildPerCPUArchitecture = false 85 | 86 | /** 87 | * Run Proguard to shrink the Java bytecode in release builds. 88 | */ 89 | def enableProguardInReleaseBuilds = false 90 | 91 | android { 92 | compileSdkVersion 23 93 | buildToolsVersion "23.0.1" 94 | 95 | defaultConfig { 96 | applicationId "com.fooddelivery" 97 | minSdkVersion 16 98 | targetSdkVersion 22 99 | versionCode 1 100 | versionName "1.0" 101 | ndk { 102 | abiFilters "armeabi-v7a", "x86" 103 | } 104 | } 105 | splits { 106 | abi { 107 | reset() 108 | enable enableSeparateBuildPerCPUArchitecture 109 | universalApk false // If true, also generate a universal APK 110 | include "armeabi-v7a", "x86" 111 | } 112 | } 113 | signingConfigs { 114 | release { 115 | storeFile file(MYAPP_RELEASE_STORE_FILE) 116 | storePassword MYAPP_RELEASE_STORE_PASSWORD 117 | keyAlias MYAPP_RELEASE_KEY_ALIAS 118 | keyPassword MYAPP_RELEASE_KEY_PASSWORD 119 | } 120 | } 121 | buildTypes { 122 | release { 123 | minifyEnabled enableProguardInReleaseBuilds 124 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 125 | signingConfig signingConfigs.release 126 | } 127 | } 128 | // applicationVariants are e.g. debug, release 129 | applicationVariants.all { variant -> 130 | variant.outputs.each { output -> 131 | // For each separate APK per architecture, set a unique version code as described here: 132 | // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits 133 | def versionCodes = ["armeabi-v7a":1, "x86":2] 134 | def abi = output.getFilter(OutputFile.ABI) 135 | if (abi != null) { // null for the universal-debug, universal-release variants 136 | output.versionCodeOverride = 137 | versionCodes.get(abi) * 1048576 + defaultConfig.versionCode 138 | } 139 | } 140 | } 141 | } 142 | 143 | dependencies { 144 | compile fileTree(dir: "libs", include: ["*.jar"]) 145 | compile "com.android.support:appcompat-v7:23.0.1" 146 | compile "com.facebook.react:react-native:+" // From node_modules 147 | } 148 | 149 | // Run this once to be able to run the application with BUCK 150 | // puts all compile dependencies into folder libs for BUCK to use 151 | task copyDownloadableDepsToLibs(type: Copy) { 152 | from configurations.compile 153 | into 'libs' 154 | } 155 | -------------------------------------------------------------------------------- /android/app/my-release-key.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/android/app/my-release-key.keystore -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Disabling obfuscation is useful if you collect stack traces from production crashes 20 | # (unless you are using a system that supports de-obfuscate the stack traces). 21 | -dontobfuscate 22 | 23 | # React Native 24 | 25 | # Keep our interfaces so they can be used by other ProGuard rules. 26 | # See http://sourceforge.net/p/proguard/bugs/466/ 27 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip 28 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters 29 | -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip 30 | 31 | # Do not strip any method/class that is annotated with @DoNotStrip 32 | -keep @com.facebook.proguard.annotations.DoNotStrip class * 33 | -keep @com.facebook.common.internal.DoNotStrip class * 34 | -keepclassmembers class * { 35 | @com.facebook.proguard.annotations.DoNotStrip *; 36 | @com.facebook.common.internal.DoNotStrip *; 37 | } 38 | 39 | -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { 40 | void set*(***); 41 | *** get*(); 42 | } 43 | 44 | -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } 45 | -keep class * extends com.facebook.react.bridge.NativeModule { *; } 46 | -keepclassmembers,includedescriptorclasses class * { native ; } 47 | -keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } 48 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } 49 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } 50 | 51 | -dontwarn com.facebook.react.** 52 | 53 | # okhttp 54 | 55 | -keepattributes Signature 56 | -keepattributes *Annotation* 57 | -keep class okhttp3.** { *; } 58 | -keep interface okhttp3.** { *; } 59 | -dontwarn okhttp3.** 60 | 61 | # okio 62 | 63 | -keep class sun.misc.Unsafe { *; } 64 | -dontwarn java.nio.file.* 65 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 66 | -dontwarn okio.** 67 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/fooddelivery/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.fooddelivery; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "foodDelivery"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/fooddelivery/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.fooddelivery; 2 | 3 | import android.app.Application; 4 | import android.util.Log; 5 | 6 | import com.facebook.react.ReactApplication; 7 | import com.facebook.react.ReactInstanceManager; 8 | import com.facebook.react.ReactNativeHost; 9 | import com.facebook.react.ReactPackage; 10 | import com.facebook.react.shell.MainReactPackage; 11 | 12 | import java.util.Arrays; 13 | import java.util.List; 14 | 15 | public class MainApplication extends Application implements ReactApplication { 16 | 17 | private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { 18 | @Override 19 | protected boolean getUseDeveloperSupport() { 20 | return BuildConfig.DEBUG; 21 | } 22 | 23 | @Override 24 | protected List getPackages() { 25 | return Arrays.asList( 26 | new MainReactPackage() 27 | ); 28 | } 29 | }; 30 | 31 | @Override 32 | public ReactNativeHost getReactNativeHost() { 33 | return mReactNativeHost; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | foodDelivery 3 | 4 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:1.3.1' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | mavenLocal() 18 | jcenter() 19 | maven { 20 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 21 | url "$rootDir/../node_modules/react-native/android" 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | 20 | android.useDeprecatedNdk=true 21 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /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-2.4-all.zip 6 | -------------------------------------------------------------------------------- /android/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10 | DEFAULT_JVM_OPTS="" 11 | 12 | APP_NAME="Gradle" 13 | APP_BASE_NAME=`basename "$0"` 14 | 15 | # Use the maximum available, or set MAX_FD != -1 to use that value. 16 | MAX_FD="maximum" 17 | 18 | warn ( ) { 19 | echo "$*" 20 | } 21 | 22 | die ( ) { 23 | echo 24 | echo "$*" 25 | echo 26 | exit 1 27 | } 28 | 29 | # OS specific support (must be 'true' or 'false'). 30 | cygwin=false 31 | msys=false 32 | darwin=false 33 | case "`uname`" in 34 | CYGWIN* ) 35 | cygwin=true 36 | ;; 37 | Darwin* ) 38 | darwin=true 39 | ;; 40 | MINGW* ) 41 | msys=true 42 | ;; 43 | esac 44 | 45 | # For Cygwin, ensure paths are in UNIX format before anything is touched. 46 | if $cygwin ; then 47 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 48 | fi 49 | 50 | # Attempt to set APP_HOME 51 | # Resolve links: $0 may be a link 52 | PRG="$0" 53 | # Need this for relative symlinks. 54 | while [ -h "$PRG" ] ; do 55 | ls=`ls -ld "$PRG"` 56 | link=`expr "$ls" : '.*-> \(.*\)$'` 57 | if expr "$link" : '/.*' > /dev/null; then 58 | PRG="$link" 59 | else 60 | PRG=`dirname "$PRG"`"/$link" 61 | fi 62 | done 63 | SAVED="`pwd`" 64 | cd "`dirname \"$PRG\"`/" >&- 65 | APP_HOME="`pwd -P`" 66 | cd "$SAVED" >&- 67 | 68 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 69 | 70 | # Determine the Java command to use to start the JVM. 71 | if [ -n "$JAVA_HOME" ] ; then 72 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 73 | # IBM's JDK on AIX uses strange locations for the executables 74 | JAVACMD="$JAVA_HOME/jre/sh/java" 75 | else 76 | JAVACMD="$JAVA_HOME/bin/java" 77 | fi 78 | if [ ! -x "$JAVACMD" ] ; then 79 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 80 | 81 | Please set the JAVA_HOME variable in your environment to match the 82 | location of your Java installation." 83 | fi 84 | else 85 | JAVACMD="java" 86 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 87 | 88 | Please set the JAVA_HOME variable in your environment to match the 89 | location of your Java installation." 90 | fi 91 | 92 | # Increase the maximum file descriptors if we can. 93 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 94 | MAX_FD_LIMIT=`ulimit -H -n` 95 | if [ $? -eq 0 ] ; then 96 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 97 | MAX_FD="$MAX_FD_LIMIT" 98 | fi 99 | ulimit -n $MAX_FD 100 | if [ $? -ne 0 ] ; then 101 | warn "Could not set maximum file descriptor limit: $MAX_FD" 102 | fi 103 | else 104 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 105 | fi 106 | fi 107 | 108 | # For Darwin, add options to specify how the application appears in the dock 109 | if $darwin; then 110 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 111 | fi 112 | 113 | # For Cygwin, switch paths to Windows format before running java 114 | if $cygwin ; then 115 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 116 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 158 | function splitJvmOpts() { 159 | JVM_OPTS=("$@") 160 | } 161 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 162 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 163 | 164 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 165 | -------------------------------------------------------------------------------- /android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = 'debug', 3 | store = 'debug.keystore', 4 | properties = 'debug.keystore.properties', 5 | visibility = [ 6 | 'PUBLIC', 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'foodDelivery' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /components/App.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | import React, { Component } from 'react'; 4 | import { 5 | BackAndroid, 6 | View, 7 | Text, 8 | renderNavigationView 9 | } from 'react-native'; 10 | 11 | import DrawerLayout from 'react-native-drawer-layout'; 12 | 13 | import Icon from 'react-native-vector-icons/Ionicons'; 14 | 15 | import ScrollableTabView, { ScrollableTabBar, } from 'react-native-scrollable-tab-view'; 16 | import HotDeals from'./HotDeals' 17 | 18 | import { Toolbar } from 'react-native-material-design'; 19 | 20 | import Menu from './Menu' 21 | 22 | import styles from '../styles/root'; 23 | 24 | import ActionButton from '../helpers/ActionButton'; 25 | import { Actions } from 'react-native-router-flux'; 26 | 27 | import _ from 'underscore'; 28 | 29 | const menuIcon = () 30 | 31 | import { EventEmitter } from 'fbemitter'; 32 | 33 | let _emitter = new EventEmitter(); 34 | 35 | var order = []; 36 | 37 | 38 | class App extends Component { 39 | 40 | constructor(props) { 41 | super(props); 42 | 43 | this.state = { 44 | value : 7, 45 | actions: [{ 46 | icon: "ios-cart-outline", 47 | counter: { 48 | color: 'red', 49 | fontSize: 24 50 | }, 51 | badge: { 52 | value: 0, 53 | animate: true, 54 | backgroundColor: "#e5e5e5", 55 | textColor: '#616161' 56 | } 57 | }] 58 | }; 59 | } 60 | 61 | componentDidMount() { 62 | var self = this; 63 | var startsWith = 0; 64 | 65 | _emitter.addListener('openMenu', () => { 66 | self._drawer.openDrawer(); 67 | }); 68 | 69 | _emitter.addListener('updateBagde', (value) => { 70 | let newValue = value + 1; 71 | const actions = [{ 72 | icon: "ios-cart-outline", 73 | counter: { 74 | color: 'red', 75 | fontSize: 24 76 | }, 77 | badge: { 78 | value: newValue, 79 | animate: true, 80 | backgroundColor: "#e5e5e5", 81 | textColor: '#616161' 82 | }}]; 83 | this.setState({actions: this.actions}); 84 | }) 85 | } 86 | 87 | render() { 88 | return ( 89 | { return this._drawer = drawer }} 91 | drawerWidth={300} 92 | drawerPosition={DrawerLayout.positions.Left} 93 | renderNavigationView={() => { 95 | this._navigateTo(route) 96 | this._drawer.closeDrawer(); 97 | } 98 | } /> 99 | }> 100 | 101 | {_emitter.emit('openMenu')}} 106 | actions = {this.state.actions} 107 | > 108 | 109 | }> 113 | this._addItemToCart(x)}> 114 | this._addItemToCart(x)} > 115 | this._addItemToCart(x)}>project 116 | favorite 117 | project 118 | 119 | 120 | 121 | ); 122 | } 123 | 124 | _addItemToCart(x) { 125 | } 126 | 127 | _navigateTo(route){ 128 | switch(route) { 129 | case 'notifications' : 130 | Actions.notifications(); 131 | break; 132 | case 'past_orders': 133 | Actions.past_orders(); 134 | break; 135 | default : 136 | // Do nothing 137 | break; 138 | } 139 | } 140 | } 141 | 142 | export default App; 143 | 144 | 145 | 146 | 147 | 148 | 149 | /* 150 | console.log("New Task")}> 151 | 152 | 153 | {}}> 154 | 155 | 156 | */ -------------------------------------------------------------------------------- /components/Cart.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, from 'react'; 4 | 5 | import _ from 'underscore'; 6 | 7 | default export class Cart { 8 | constructor(props) { 9 | super(props); 10 | 11 | this.state = { 12 | items : [ 13 | ] 14 | }; 15 | } 16 | } -------------------------------------------------------------------------------- /components/ConfirmOrder.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { Component } from 'react'; 4 | 5 | import { 6 | StyleSheet, 7 | View, 8 | ListView, 9 | } from 'react-native'; 10 | 11 | import { Toolbar } from 'react-native-material-design'; 12 | 13 | import { EventEmitter } from 'fbemitter'; 14 | 15 | let _emitter = new EventEmitter(); 16 | 17 | class ConfirmOrder extends Component { 18 | 19 | constructor(props) { 20 | super(props); 21 | 22 | this.state = { 23 | isLoading: false, 24 | dataSource : new ListView.DataSource({ 25 | rowHasChanged : (row1, row2) => row1 !== row2 26 | }) 27 | }; 28 | } 29 | 30 | 31 | render() { 32 | return ( 33 | 34 | {_emitter.emit('back')}} 38 | /> 39 | < 40 | 41 | ); 42 | } 43 | } 44 | 45 | const styles = StyleSheet.create({ 46 | 47 | }); 48 | 49 | 50 | export default ConfirmOrder; -------------------------------------------------------------------------------- /components/DashBoard.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { Component } from 'react'; 4 | 5 | import { 6 | StyleSheet, 7 | View, 8 | Navigator, 9 | BackAndroid, 10 | } from 'react-native'; 11 | 12 | var _navigator; 13 | 14 | import navigation from '../helpers/navigation' 15 | 16 | import App from './App' 17 | import PastOrders from './PastOrders' 18 | import Notifications from './Notifications' 19 | import Menu from './Menu' 20 | import ReviewOrder from './ReviewOrder' 21 | import {Scene, Router} from 'react-native-router-flux'; 22 | 23 | class DashBoard extends Component { 24 | 25 | render() { 26 | return 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | } 35 | } 36 | 37 | export default DashBoard; -------------------------------------------------------------------------------- /components/Home.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { Component } from 'react'; 4 | 5 | import { 6 | StyleSheet, 7 | View, 8 | } from 'react-native'; 9 | 10 | import Icon from 'react-native-vector-icons/MaterialIcons'; 11 | 12 | import ScrollableTabView, { ScrollableTabBar, } from 'react-native-scrollable-tab-view'; 13 | import HotDeals from'./HotDeals' 14 | 15 | class Home extends Component { 16 | render() { 17 | return ( 18 | 19 | ); 20 | } 21 | } 22 | 23 | const styles = StyleSheet.create({ 24 | 25 | }); 26 | 27 | 28 | export default Home; -------------------------------------------------------------------------------- /components/HotDeals.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { Component } from 'react'; 4 | 5 | import { 6 | StyleSheet, 7 | View, 8 | Text, 9 | Image, 10 | ListView, 11 | TouchableHighlight, 12 | AsyncStorage 13 | } from 'react-native'; 14 | 15 | 16 | var Mock = [{ 17 | "id": 1, 18 | "dish_name": "Andalax", 19 | "dish_price": "6.84", 20 | "dish_image": "http://dummyimage.com/300x300.png/dddddd/000000" 21 | }] 22 | 23 | import { Card, Button , Divider, Ripple } from 'react-native-material-design'; 24 | 25 | import styles from '../styles/hotdeals' 26 | 27 | import Icon from 'react-native-vector-icons/Ionicons'; 28 | 29 | import GiftedSpinner from 'react-native-gifted-spinner'; 30 | 31 | var REQUEST_URL = 'http://www.mocky.io/v2/57a30ea93b0000b10f903406'; 32 | 33 | import { EventEmitter } from 'fbemitter'; 34 | 35 | let _emitter = new EventEmitter(); 36 | 37 | var _addToCart; 38 | 39 | class HotDeals extends Component { 40 | constructor(props) { 41 | super(props); 42 | this.state = { 43 | isLoading: true, 44 | dataSource: new ListView.DataSource({ 45 | rowHasChanged: (row1, row2) => row1 !== row2 46 | }) 47 | }; 48 | this.renderEntity = this.renderEntity.bind(this); 49 | this.renderLoadingView = this.renderLoadingView.bind(this); 50 | _addToCart = this.props.addToCart; 51 | } 52 | 53 | componentDidMount(){ 54 | this.fetchData(); 55 | } 56 | 57 | fetchData() { 58 | let value = null; 59 | try { 60 | AsyncStorage.getItem("@MYSUPERSTORE", (err, result) => { 61 | if(result) { 62 | this.setState({ 63 | dataSource: this.state.dataSource.cloneWithRows(JSON.parse(result)), 64 | isLoading: false, 65 | }); 66 | 67 | } else { 68 | fetch(REQUEST_URL) 69 | .then((response) => response.json()) 70 | .then((responseData) => { 71 | try { 72 | AsyncStorage.setItem("@MYSUPERSTORE", JSON.stringify(responseData)); 73 | } catch (err) { 74 | // 75 | } 76 | this.setState({ 77 | dataSource: this.state.dataSource.cloneWithRows(responseData), 78 | isLoading: false, 79 | }); 80 | }) 81 | .done(); 82 | } 83 | }); 84 | } catch (err) { 85 | // 86 | } 87 | } 88 | 89 | render() { 90 | if (this.state.isLoading) { 91 | return this.renderLoadingView(); 92 | } 93 | 94 | return ( 95 | 96 | 100 | 101 | ); 102 | } 103 | 104 | renderEntity( 105 | entity : entity, 106 | sectionID: number, 107 | rowID: number, ) { 108 | return( 109 | 110 | ); 111 | } 112 | 113 | renderLoadingView() { 114 | return ( 115 | 116 | 117 | 118 | ) 119 | } 120 | 121 | populateData() { 122 | this.fetchData(); 123 | } 124 | } 125 | 126 | ///////////////////// 127 | // CLASS DISH ITEM // 128 | ///////////////////// 129 | 130 | class DishItem extends Component { 131 | constructor(props) { 132 | super(props); 133 | 134 | this.state = { 135 | quantity : 0, 136 | }; 137 | } 138 | 139 | render(){ 140 | const { entity } = this.props; 141 | return ( 142 | 143 | 144 | 145 | CLASSIC 146 | 147 | 148 | 149 | {entity.dish_name} 150 | {entity.dish_price} 151 | 152 | 153 | 154 | Rice, Extra Chicken, Extra Paneer, Extra Cheese 155 | 156 | 157 | 158 | { this.state.quantity > 0 && 159 | {this.state.quantity} 160 | } 161 | 162 | 163 | {this.state.quantity > 0 && 164 | this.removeDish(entity)} underlayColor="white"> 166 | 167 | 168 | } 169 | this.addDish(entity)} underlayColor="white"> 170 | 171 | 172 | 173 | 174 | 175 | 176 | ); 177 | } 178 | 179 | addDish(entity) { 180 | this.setState({ 181 | quantity : this.state.quantity + 1, 182 | }) 183 | _emitter.emit('updateBagde'); 184 | // this.props.addToCart(entity); 185 | } 186 | 187 | removeDish(entity) { 188 | this.setState({ 189 | quantity : (this.state.quantity > 0) ? this.state.quantity - 1 : this.state.quantity 190 | }) 191 | } 192 | } 193 | 194 | 195 | export default HotDeals; -------------------------------------------------------------------------------- /components/Menu.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | import React, { Component } from 'react'; 4 | import { 5 | ListView, 6 | StyleSheet, 7 | TouchableOpacity, 8 | Text, 9 | View, 10 | } from 'react-native'; 11 | 12 | import styles from '../styles/menu'; 13 | 14 | import Icon from 'react-native-vector-icons/Ionicons'; 15 | 16 | const drawerMenuListItem = [ 17 | { 18 | 'name':'HOME', 19 | 'key':'app', 20 | 'icon': 'ios-home-outline' 21 | }, 22 | { 23 | 'name':'PROFILE', 24 | 'key':'profile', //New Component 25 | 'icon': 'ios-person-outline' 26 | 27 | }, 28 | { 29 | 'name':'TRACK ORDER', 30 | 'key':'track_order', //New Component 31 | 'icon': 'ios-paw-outline' 32 | }, 33 | { 34 | 'name':'PAST ORDERS', 35 | 'key':'past_order', 36 | 'icon': 'ios-filing-outline' 37 | }, 38 | { 39 | 'name':'NOTIFICATIONS', 40 | 'key':'notifications', 41 | 'icon':'ios-color-wand-outline' 42 | }, 43 | { 44 | 'name': 'CONTACT US', 45 | 'key': 'contactus', 46 | 'icon':'ios-heart-outline' 47 | } 48 | ] 49 | 50 | var _navigate; 51 | 52 | // A particular View Component 53 | class Menu extends Component { 54 | 55 | // contructor instantiate 56 | constructor(props) { 57 | super(props); 58 | // using for ListView 59 | this.state = { 60 | dataSource: new ListView.DataSource({ 61 | rowHasChanged: (row1, row2) => row1 !== row2 62 | }) 63 | }; 64 | _navigate = this.props.navigate; 65 | } 66 | 67 | // Component LifeCycle 68 | componentDidMount() { 69 | this.setState({ 70 | dataSource : this.state.dataSource.cloneWithRows(drawerMenuListItem) 71 | }); 72 | } 73 | 74 | _renderMenuItem(item) { 75 | return( 76 | 77 | this.onItemSelect(item)}> 78 | 79 | 80 | {item.name} 81 | 82 | 83 | 84 | ); 85 | } 86 | 87 | onItemSelect (item) { 88 | _navigate(item.key); 89 | } 90 | 91 | // rendering View 92 | render() { 93 | return ( 94 | 95 | 96 | this._renderMenuItem(item) } 99 | > 100 | 101 | 102 | 103 | 104 | CHECK NEW OFFERS 105 | 106 | 107 | 108 | 109 | ); 110 | } 111 | 112 | } 113 | 114 | module.exports = Menu; 115 | 116 | 117 | /* 118 | 119 | Sign In 120 | 121 | 122 | this._renderMenuItem(item)} 125 | /> 126 | 127 | */ 128 | -------------------------------------------------------------------------------- /components/Notifications.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | import React, { Component } from 'react'; 4 | import { 5 | StyleSheet, 6 | TouchableOpacity, 7 | Text, 8 | View, 9 | } from 'react-native'; 10 | 11 | import styles from '../styles/menu'; 12 | import { Toolbar } from 'react-native-material-design'; 13 | 14 | import { EventEmitter } from 'fbemitter'; 15 | 16 | let _emitter = new EventEmitter(); 17 | 18 | // A particular View Component 19 | class Notifications extends Component { 20 | 21 | constructor(props) { 22 | super(props); 23 | 24 | this.state = {}; 25 | } 26 | 27 | // rendering Veiw 28 | render() { 29 | return ( 30 | 31 | {_emitter.emit('back')}} 35 | /> 36 | 37 | ); 38 | } 39 | 40 | } 41 | 42 | module.exports = Notifications; 43 | -------------------------------------------------------------------------------- /components/PastOrders.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | import React, { Component } from 'react'; 4 | import { 5 | ListView, 6 | StyleSheet, 7 | TouchableOpacity, 8 | Text, 9 | View, 10 | } from 'react-native'; 11 | 12 | import styles from '../styles/menu'; 13 | 14 | import { Toolbar } from 'react-native-material-design'; 15 | 16 | import { EventEmitter } from 'fbemitter'; 17 | 18 | let _emitter = new EventEmitter(); 19 | 20 | // A particular View Component 21 | class PastOrders extends Component { 22 | 23 | // rendering Veiw 24 | render() { 25 | return ( 26 | 27 | {_emitter.emit('back')}} 31 | /> 32 | 33 | ); 34 | } 35 | 36 | } 37 | 38 | module.exports = PastOrders; 39 | -------------------------------------------------------------------------------- /components/ReviewOrder.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { Component } from 'react'; 4 | 5 | import { 6 | StyleSheet, 7 | View, 8 | Text, 9 | } from 'react-native'; 10 | 11 | class ReviewOrder extends Component { 12 | render() { 13 | return ( 14 | 15 | Review Order 16 | 17 | ); 18 | } 19 | } 20 | 21 | 22 | const styles = StyleSheet.create({ 23 | 24 | }); 25 | 26 | 27 | export default ReviewOrder; -------------------------------------------------------------------------------- /components/images/drawer_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/components/images/drawer_screenshot.png -------------------------------------------------------------------------------- /components/images/ic_menu_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/components/images/ic_menu_black_24dp.png -------------------------------------------------------------------------------- /components/images/menu_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/components/images/menu_screenshot.png -------------------------------------------------------------------------------- /helpers/ActionButton.js: -------------------------------------------------------------------------------- 1 | import React, { Component, PropTypes } from 'react'; 2 | import { StyleSheet, Text, View, Animated, TouchableOpacity } from 'react-native'; 3 | import ActionButtonItem from './ActionButtonItem'; 4 | import Icon from 'react-native-vector-icons/MaterialIcons'; 5 | const alignItemsMap = { 6 | "center" : "center", 7 | "left" : "flex-start", 8 | "right" : "flex-end" 9 | } 10 | 11 | const shadowHeight = 12; 12 | 13 | export default class ActionButton extends Component { 14 | 15 | constructor(props) { 16 | super(props); 17 | 18 | this.state = { 19 | active: props.active, 20 | } 21 | 22 | this.anim = new Animated.Value(props.active ? 1 : 0); 23 | this.timeout = null; 24 | } 25 | 26 | componentWillUnmount() { 27 | clearTimeout(this.timeout); 28 | } 29 | 30 | 31 | ////////////////////// 32 | // STYLESHEET GETTERS 33 | ////////////////////// 34 | 35 | getContainerStyles() { 36 | return [styles.overlay, this.getOrientation(), this.getOffsetXY()]; 37 | } 38 | 39 | getActionButtonStyles() { 40 | return [styles.actionBarItem, this.getButtonSize()]; 41 | } 42 | 43 | getOrientation() { 44 | return { alignItems: alignItemsMap[this.props.position] }; 45 | } 46 | 47 | getButtonSize() { 48 | return { 49 | width: null, 50 | height: this.props.size + shadowHeight, 51 | } 52 | } 53 | 54 | getOffsetXY() { 55 | return { 56 | paddingHorizontal: this.props.offsetX, 57 | paddingBottom: this.props.offsetY 58 | }; 59 | } 60 | 61 | getActionsStyle() { 62 | return [ styles.actionsVertical, this.getOrientation() ]; 63 | } 64 | 65 | 66 | ////////////////////// 67 | // RENDER METHODS 68 | ////////////////////// 69 | 70 | render() { 71 | return ( 72 | 73 | 77 | NEED TO WORK HERE 78 | {this.props.backdrop} 79 | 80 | 81 | {this.state.active && this._renderTappableBackground()} 82 | 83 | {this.props.children && this._renderActions()} 84 | {this._renderButton()} 85 | 86 | 87 | ); 88 | } 89 | 90 | _renderButton() { 91 | const buttonColorMax = this.props.btnOutRange ? this.props.btnOutRange : this.props.buttonColor; 92 | 93 | const animatedViewStyle = [ 94 | styles.btn, 95 | { 96 | width: this.anim.interpolate({ 97 | inputRange: [0,1], 98 | outputRange: [this.props.size, 280] 99 | }), 100 | height: this.props.size, 101 | borderRadius: this.anim.interpolate({ 102 | inputRange: [0, 1], 103 | outputRange: [this.props.size / 2, 5] 104 | }), 105 | backgroundColor: this.anim.interpolate({ 106 | inputRange: [0, 1], 107 | outputRange: [this.props.buttonColor, buttonColorMax] 108 | }), 109 | transform: [{ 110 | scale: this.anim.interpolate({ 111 | inputRange: [0, 1], 112 | outputRange: [1, this.props.outRangeScale] 113 | }), 114 | }, { 115 | rotate: this.anim.interpolate({ 116 | inputRange: [0, 1], 117 | outputRange: ['0deg', this.props.degrees + 'deg'] 118 | }) 119 | }], 120 | }, 121 | ]; 122 | 123 | if(!this.props.hideShadow) animatedViewStyle.push(styles.btnShadow); 124 | 125 | return ( 126 | 127 | { 131 | this.props.onPress() 132 | if (this.props.children) this.animateButton() 133 | }}> 134 | 136 | {this._renderButtonIcon()} 137 | 138 | 139 | 140 | 141 | ); 142 | } 143 | 144 | _renderButtonIcon() { 145 | const { icon, btnOutRangeTxt, buttonTextColor } = this.props; 146 | 147 | // if (icon) return icon; 148 | 149 | const buttonTextColorMax = btnOutRangeTxt ? btnOutRangeTxt : buttonTextColor; 150 | 151 | return ( 152 | 158 | 159 | 160 | ) 161 | } 162 | 163 | _renderActions() { 164 | if (!this.state.active) return null; 165 | 166 | let actionButtons = this.props.children 167 | 168 | if (!Array.isArray(this.props.children)) { 169 | actionButtons = [this.props.children] 170 | } 171 | 172 | return ( 173 | 177 | Checkout 178 | 179 | ); 180 | } 181 | 182 | _renderTappableBackground() { 183 | return ( 184 | 190 | ); 191 | } 192 | 193 | 194 | ////////////////////// 195 | // Animation Methods 196 | ////////////////////// 197 | 198 | animateButton() { 199 | if (this.state.active) return this.reset(); 200 | Animated.spring(this.anim, { toValue: 1 }).start(); 201 | 202 | this.setState({ active: true }); 203 | } 204 | 205 | reset() { 206 | if (this.props.onReset) this.props.onReset(); 207 | 208 | Animated.spring(this.anim, { toValue: 0 }).start(); 209 | 210 | setTimeout(() => this.setState({ active: false }), 250); 211 | } 212 | } 213 | 214 | ActionButton.Item = ActionButtonItem; 215 | 216 | ActionButton.propTypes = { 217 | active: PropTypes.bool, 218 | 219 | position: PropTypes.string, 220 | 221 | hideShadow: PropTypes.bool, 222 | 223 | bgColor: PropTypes.string, 224 | buttonColor: PropTypes.string, 225 | buttonTextColor: PropTypes.string, 226 | 227 | offsetX: PropTypes.number, 228 | offsetY: PropTypes.number, 229 | spacing: PropTypes.number, 230 | size: PropTypes.number, 231 | autoInactive: PropTypes.bool, 232 | onPress: PropTypes.func, 233 | backdrop: PropTypes.oneOfType([ 234 | PropTypes.bool, 235 | PropTypes.object 236 | ]), 237 | degrees: PropTypes.number 238 | }; 239 | 240 | ActionButton.defaultProps = { 241 | active: false, 242 | bgColor: 'transparent', 243 | buttonColor: 'rgba(0,0,0,1)', 244 | buttonTextColor: 'rgba(222,81,69,1)', 245 | spacing: 200, 246 | outRangeScale: 1, 247 | autoInactive: true, 248 | onPress: () => {}, 249 | backdrop: false, 250 | degrees: 0, 251 | position: 'right', 252 | offsetX: 30, 253 | offsetY: 30, 254 | size: 56, 255 | }; 256 | 257 | const styles = StyleSheet.create({ 258 | overlay: { 259 | position: 'absolute', 260 | bottom: 0, 261 | left: 0, 262 | right: 0, 263 | top: 0, 264 | backgroundColor: 'transparent', 265 | justifyContent: 'flex-end', 266 | }, 267 | actionBarItem: { 268 | alignItems: 'center', 269 | justifyContent: 'center', 270 | backgroundColor: 'transparent', 271 | }, 272 | btn: { 273 | justifyContent: 'center', 274 | alignItems: 'center', 275 | }, 276 | btnText: { 277 | marginTop: -4, 278 | fontSize: 24, 279 | backgroundColor: 'transparent', 280 | position: 'relative', 281 | }, 282 | btnShadow: { 283 | shadowOpacity: 0.3, 284 | shadowOffset: { 285 | width: 0, height: 1, 286 | }, 287 | shadowColor: '#444', 288 | shadowRadius: 1, 289 | }, 290 | actionsVertical: { 291 | flex: 1, 292 | justifyContent: 'flex-end', 293 | flexDirection: 'column', 294 | }, 295 | }); -------------------------------------------------------------------------------- /helpers/ActionButtonItem.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import { StyleSheet, Text, View, Animated, TouchableOpacity, Dimensions } from 'react-native'; 3 | const { width } = Dimensions.get('window'); 4 | 5 | const alignItemsMap = { 6 | center: "center", 7 | left: "flex-start", 8 | right: "flex-end" 9 | } 10 | 11 | let actionBtnWidth = 0; 12 | 13 | export default class ActionButtonItem extends Component { 14 | 15 | constructor(props) { 16 | super(props); 17 | this.state = { 18 | spaceBetween: 15, 19 | alignItems: alignItemsMap[this.props.position] 20 | }; 21 | 22 | if (!props.children || Array.isArray(props.children)) { 23 | throw new Error("ActionButtonItem must have a Child component."); 24 | } 25 | 26 | if(props.size > 0) { 27 | actionBtnWidth = this.props.size; 28 | } 29 | } 30 | 31 | render() { 32 | return ( 33 | 47 | 48 | 56 | {this.props.children} 57 | 58 | 59 | { 60 | !!this.props.title && ( 61 | 62 | 63 | {this.props.title} 64 | 65 | 66 | ) 67 | } 68 | 69 | ); 70 | } 71 | 72 | getTextStyles() { 73 | // to align the center of the label with the center of the button, 74 | // offset = (half the size of the btn) - (half the size of the label) 75 | let offsetTop = actionBtnWidth >= 28 ? (actionBtnWidth / 2) - 14 : 0; 76 | 77 | let positionStyles = { 78 | right: actionBtnWidth + this.state.spaceBetween, 79 | top: offsetTop 80 | } 81 | 82 | let bgStyle = { backgroundColor : 'white' }; 83 | 84 | if (this.props.titleBgColor) bgStyle = { 85 | backgroundColor:this.props.titleBgColor 86 | } 87 | 88 | if (this.props.position == 'left') positionStyles = { 89 | left: actionBtnWidth + this.state.spaceBetween, 90 | top: offsetTop 91 | } 92 | 93 | if (this.props.position == 'center') positionStyles = { 94 | right: actionBtnWidth/2 + width/2 + this.state.spaceBetween, 95 | top: offsetTop 96 | } 97 | 98 | return [styles.actionTextView, positionStyles, bgStyle]; 99 | } 100 | } 101 | 102 | const styles = StyleSheet.create({ 103 | actionButtonWrap: { 104 | width 105 | }, 106 | actionButton: { 107 | justifyContent: 'center', 108 | alignItems: 'center', 109 | flexDirection: 'row', 110 | paddingTop: 2, 111 | shadowOpacity: 0.3, 112 | shadowOffset: { 113 | width: 0, height: 1, 114 | }, 115 | shadowColor: '#444', 116 | shadowRadius: 1, 117 | }, 118 | actionTextView: { 119 | position: 'absolute', 120 | paddingVertical: 4, 121 | paddingHorizontal: 10, 122 | borderRadius: 3, 123 | shadowOpacity: 0.3, 124 | shadowOffset: { 125 | width: 0, height: 1, 126 | }, 127 | shadowColor: '#444', 128 | shadowRadius: 1, 129 | }, 130 | actionText: { 131 | flex: 1, 132 | fontSize: 14, 133 | } 134 | }); 135 | -------------------------------------------------------------------------------- /helpers/navigation.js: -------------------------------------------------------------------------------- 1 | import React, { Platform } from 'react-native'; 2 | import _ from 'underscore'; 3 | 4 | module.exports = function (scene) { 5 | var componentMap = { 6 | 'Home': { 7 | title: 'Home', 8 | name: 'Home' 9 | }, 10 | 'Notifications': { 11 | title: 'Notifications', 12 | name: 'Notifications' 13 | }, 14 | 'Past Orders' : { 15 | title: 'Past Orders', 16 | name: 'PastOrders' 17 | } 18 | } 19 | 20 | return componentMap[scene]; 21 | } 22 | -------------------------------------------------------------------------------- /index.android.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { AppRegistry } from 'react-native'; 4 | 5 | import DashBoard from './components/DashBoard'; 6 | 7 | AppRegistry.registerComponent('foodDelivery', () => DashBoard); 8 | -------------------------------------------------------------------------------- /index.ios.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { AppRegistry } from 'react-native'; 4 | 5 | import DashBoard from './components/DashBoard'; 6 | 7 | AppRegistry.registerComponent('foodDelivery', () => DashBoard); 8 | -------------------------------------------------------------------------------- /ios/foodDelivery.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 11 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; 12 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; 13 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 14 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 15 | 00E356F31AD99517003FC87E /* foodDeliveryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* foodDeliveryTests.m */; }; 16 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 17 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 18 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 19 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 20 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 21 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 22 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 23 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 24 | 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 25 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 26 | /* End PBXBuildFile section */ 27 | 28 | /* Begin PBXContainerItemProxy section */ 29 | 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { 30 | isa = PBXContainerItemProxy; 31 | containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 32 | proxyType = 2; 33 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 34 | remoteInfo = RCTActionSheet; 35 | }; 36 | 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { 37 | isa = PBXContainerItemProxy; 38 | containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 39 | proxyType = 2; 40 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 41 | remoteInfo = RCTGeolocation; 42 | }; 43 | 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { 44 | isa = PBXContainerItemProxy; 45 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 46 | proxyType = 2; 47 | remoteGlobalIDString = 58B5115D1A9E6B3D00147676; 48 | remoteInfo = RCTImage; 49 | }; 50 | 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { 51 | isa = PBXContainerItemProxy; 52 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 53 | proxyType = 2; 54 | remoteGlobalIDString = 58B511DB1A9E6C8500147676; 55 | remoteInfo = RCTNetwork; 56 | }; 57 | 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { 58 | isa = PBXContainerItemProxy; 59 | containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 60 | proxyType = 2; 61 | remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; 62 | remoteInfo = RCTVibration; 63 | }; 64 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { 65 | isa = PBXContainerItemProxy; 66 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 67 | proxyType = 1; 68 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A; 69 | remoteInfo = foodDelivery; 70 | }; 71 | 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { 72 | isa = PBXContainerItemProxy; 73 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 74 | proxyType = 2; 75 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 76 | remoteInfo = RCTSettings; 77 | }; 78 | 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { 79 | isa = PBXContainerItemProxy; 80 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 81 | proxyType = 2; 82 | remoteGlobalIDString = 3C86DF461ADF2C930047B81A; 83 | remoteInfo = RCTWebSocket; 84 | }; 85 | 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { 86 | isa = PBXContainerItemProxy; 87 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 88 | proxyType = 2; 89 | remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; 90 | remoteInfo = React; 91 | }; 92 | 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { 93 | isa = PBXContainerItemProxy; 94 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 95 | proxyType = 2; 96 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 97 | remoteInfo = RCTLinking; 98 | }; 99 | 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { 100 | isa = PBXContainerItemProxy; 101 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 102 | proxyType = 2; 103 | remoteGlobalIDString = 58B5119B1A9E6C1200147676; 104 | remoteInfo = RCTText; 105 | }; 106 | /* End PBXContainerItemProxy section */ 107 | 108 | /* Begin PBXFileReference section */ 109 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = main.jsbundle; path = main.jsbundle; sourceTree = ""; }; 110 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = ../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj; sourceTree = ""; }; 111 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = ../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj; sourceTree = ""; }; 112 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = ../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj; sourceTree = ""; }; 113 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = ../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj; sourceTree = ""; }; 114 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = ../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj; sourceTree = ""; }; 115 | 00E356EE1AD99517003FC87E /* foodDeliveryTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = foodDeliveryTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 116 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 117 | 00E356F21AD99517003FC87E /* foodDeliveryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = foodDeliveryTests.m; sourceTree = ""; }; 118 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = ../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj; sourceTree = ""; }; 119 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = ../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj; sourceTree = ""; }; 120 | 13B07F961A680F5B00A75B9A /* foodDelivery.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = foodDelivery.app; sourceTree = BUILT_PRODUCTS_DIR; }; 121 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = foodDelivery/AppDelegate.h; sourceTree = ""; }; 122 | 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = foodDelivery/AppDelegate.m; sourceTree = ""; }; 123 | 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 124 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = foodDelivery/Images.xcassets; sourceTree = ""; }; 125 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = foodDelivery/Info.plist; sourceTree = ""; }; 126 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = foodDelivery/main.m; sourceTree = ""; }; 127 | 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = ../node_modules/react-native/React/React.xcodeproj; sourceTree = ""; }; 128 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = ../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj; sourceTree = ""; }; 129 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = ../node_modules/react-native/Libraries/Text/RCTText.xcodeproj; sourceTree = ""; }; 130 | /* End PBXFileReference section */ 131 | 132 | /* Begin PBXFrameworksBuildPhase section */ 133 | 00E356EB1AD99517003FC87E /* Frameworks */ = { 134 | isa = PBXFrameworksBuildPhase; 135 | buildActionMask = 2147483647; 136 | files = ( 137 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, 138 | ); 139 | runOnlyForDeploymentPostprocessing = 0; 140 | }; 141 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 142 | isa = PBXFrameworksBuildPhase; 143 | buildActionMask = 2147483647; 144 | files = ( 145 | 146834051AC3E58100842450 /* libReact.a in Frameworks */, 146 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 147 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, 148 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, 149 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, 150 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, 151 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, 152 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 153 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 154 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, 155 | ); 156 | runOnlyForDeploymentPostprocessing = 0; 157 | }; 158 | /* End PBXFrameworksBuildPhase section */ 159 | 160 | /* Begin PBXGroup section */ 161 | 00C302A81ABCB8CE00DB3ED1 /* Products */ = { 162 | isa = PBXGroup; 163 | children = ( 164 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, 165 | ); 166 | name = Products; 167 | sourceTree = ""; 168 | }; 169 | 00C302B61ABCB90400DB3ED1 /* Products */ = { 170 | isa = PBXGroup; 171 | children = ( 172 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, 173 | ); 174 | name = Products; 175 | sourceTree = ""; 176 | }; 177 | 00C302BC1ABCB91800DB3ED1 /* Products */ = { 178 | isa = PBXGroup; 179 | children = ( 180 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, 181 | ); 182 | name = Products; 183 | sourceTree = ""; 184 | }; 185 | 00C302D41ABCB9D200DB3ED1 /* Products */ = { 186 | isa = PBXGroup; 187 | children = ( 188 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, 189 | ); 190 | name = Products; 191 | sourceTree = ""; 192 | }; 193 | 00C302E01ABCB9EE00DB3ED1 /* Products */ = { 194 | isa = PBXGroup; 195 | children = ( 196 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, 197 | ); 198 | name = Products; 199 | sourceTree = ""; 200 | }; 201 | 00E356EF1AD99517003FC87E /* foodDeliveryTests */ = { 202 | isa = PBXGroup; 203 | children = ( 204 | 00E356F21AD99517003FC87E /* foodDeliveryTests.m */, 205 | 00E356F01AD99517003FC87E /* Supporting Files */, 206 | ); 207 | path = foodDeliveryTests; 208 | sourceTree = ""; 209 | }; 210 | 00E356F01AD99517003FC87E /* Supporting Files */ = { 211 | isa = PBXGroup; 212 | children = ( 213 | 00E356F11AD99517003FC87E /* Info.plist */, 214 | ); 215 | name = "Supporting Files"; 216 | sourceTree = ""; 217 | }; 218 | 139105B71AF99BAD00B5F7CC /* Products */ = { 219 | isa = PBXGroup; 220 | children = ( 221 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, 222 | ); 223 | name = Products; 224 | sourceTree = ""; 225 | }; 226 | 139FDEE71B06529A00C62182 /* Products */ = { 227 | isa = PBXGroup; 228 | children = ( 229 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, 230 | ); 231 | name = Products; 232 | sourceTree = ""; 233 | }; 234 | 13B07FAE1A68108700A75B9A /* foodDelivery */ = { 235 | isa = PBXGroup; 236 | children = ( 237 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 238 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 239 | 13B07FB01A68108700A75B9A /* AppDelegate.m */, 240 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 241 | 13B07FB61A68108700A75B9A /* Info.plist */, 242 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 243 | 13B07FB71A68108700A75B9A /* main.m */, 244 | ); 245 | name = foodDelivery; 246 | sourceTree = ""; 247 | }; 248 | 146834001AC3E56700842450 /* Products */ = { 249 | isa = PBXGroup; 250 | children = ( 251 | 146834041AC3E56700842450 /* libReact.a */, 252 | ); 253 | name = Products; 254 | sourceTree = ""; 255 | }; 256 | 78C398B11ACF4ADC00677621 /* Products */ = { 257 | isa = PBXGroup; 258 | children = ( 259 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, 260 | ); 261 | name = Products; 262 | sourceTree = ""; 263 | }; 264 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 265 | isa = PBXGroup; 266 | children = ( 267 | 146833FF1AC3E56700842450 /* React.xcodeproj */, 268 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, 269 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, 270 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, 271 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, 272 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, 273 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, 274 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 275 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 276 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, 277 | ); 278 | name = Libraries; 279 | sourceTree = ""; 280 | }; 281 | 832341B11AAA6A8300B99B32 /* Products */ = { 282 | isa = PBXGroup; 283 | children = ( 284 | 832341B51AAA6A8300B99B32 /* libRCTText.a */, 285 | ); 286 | name = Products; 287 | sourceTree = ""; 288 | }; 289 | 83CBB9F61A601CBA00E9B192 = { 290 | isa = PBXGroup; 291 | children = ( 292 | 13B07FAE1A68108700A75B9A /* foodDelivery */, 293 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 294 | 00E356EF1AD99517003FC87E /* foodDeliveryTests */, 295 | 83CBBA001A601CBA00E9B192 /* Products */, 296 | ); 297 | indentWidth = 2; 298 | sourceTree = ""; 299 | tabWidth = 2; 300 | }; 301 | 83CBBA001A601CBA00E9B192 /* Products */ = { 302 | isa = PBXGroup; 303 | children = ( 304 | 13B07F961A680F5B00A75B9A /* foodDelivery.app */, 305 | 00E356EE1AD99517003FC87E /* foodDeliveryTests.xctest */, 306 | ); 307 | name = Products; 308 | sourceTree = ""; 309 | }; 310 | /* End PBXGroup section */ 311 | 312 | /* Begin PBXNativeTarget section */ 313 | 00E356ED1AD99517003FC87E /* foodDeliveryTests */ = { 314 | isa = PBXNativeTarget; 315 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "foodDeliveryTests" */; 316 | buildPhases = ( 317 | 00E356EA1AD99517003FC87E /* Sources */, 318 | 00E356EB1AD99517003FC87E /* Frameworks */, 319 | 00E356EC1AD99517003FC87E /* Resources */, 320 | ); 321 | buildRules = ( 322 | ); 323 | dependencies = ( 324 | 00E356F51AD99517003FC87E /* PBXTargetDependency */, 325 | ); 326 | name = foodDeliveryTests; 327 | productName = foodDeliveryTests; 328 | productReference = 00E356EE1AD99517003FC87E /* foodDeliveryTests.xctest */; 329 | productType = "com.apple.product-type.bundle.unit-test"; 330 | }; 331 | 13B07F861A680F5B00A75B9A /* foodDelivery */ = { 332 | isa = PBXNativeTarget; 333 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "foodDelivery" */; 334 | buildPhases = ( 335 | 13B07F871A680F5B00A75B9A /* Sources */, 336 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 337 | 13B07F8E1A680F5B00A75B9A /* Resources */, 338 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 339 | ); 340 | buildRules = ( 341 | ); 342 | dependencies = ( 343 | ); 344 | name = foodDelivery; 345 | productName = "Hello World"; 346 | productReference = 13B07F961A680F5B00A75B9A /* foodDelivery.app */; 347 | productType = "com.apple.product-type.application"; 348 | }; 349 | /* End PBXNativeTarget section */ 350 | 351 | /* Begin PBXProject section */ 352 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 353 | isa = PBXProject; 354 | attributes = { 355 | LastUpgradeCheck = 0610; 356 | ORGANIZATIONNAME = Facebook; 357 | TargetAttributes = { 358 | 00E356ED1AD99517003FC87E = { 359 | CreatedOnToolsVersion = 6.2; 360 | TestTargetID = 13B07F861A680F5B00A75B9A; 361 | }; 362 | }; 363 | }; 364 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "foodDelivery" */; 365 | compatibilityVersion = "Xcode 3.2"; 366 | developmentRegion = English; 367 | hasScannedForEncodings = 0; 368 | knownRegions = ( 369 | en, 370 | Base, 371 | ); 372 | mainGroup = 83CBB9F61A601CBA00E9B192; 373 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 374 | projectDirPath = ""; 375 | projectReferences = ( 376 | { 377 | ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; 378 | ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 379 | }, 380 | { 381 | ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; 382 | ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 383 | }, 384 | { 385 | ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; 386 | ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 387 | }, 388 | { 389 | ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; 390 | ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 391 | }, 392 | { 393 | ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; 394 | ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 395 | }, 396 | { 397 | ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; 398 | ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 399 | }, 400 | { 401 | ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; 402 | ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 403 | }, 404 | { 405 | ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; 406 | ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 407 | }, 408 | { 409 | ProductGroup = 139FDEE71B06529A00C62182 /* Products */; 410 | ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 411 | }, 412 | { 413 | ProductGroup = 146834001AC3E56700842450 /* Products */; 414 | ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; 415 | }, 416 | ); 417 | projectRoot = ""; 418 | targets = ( 419 | 13B07F861A680F5B00A75B9A /* foodDelivery */, 420 | 00E356ED1AD99517003FC87E /* foodDeliveryTests */, 421 | ); 422 | }; 423 | /* End PBXProject section */ 424 | 425 | /* Begin PBXReferenceProxy section */ 426 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { 427 | isa = PBXReferenceProxy; 428 | fileType = archive.ar; 429 | path = libRCTActionSheet.a; 430 | remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; 431 | sourceTree = BUILT_PRODUCTS_DIR; 432 | }; 433 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { 434 | isa = PBXReferenceProxy; 435 | fileType = archive.ar; 436 | path = libRCTGeolocation.a; 437 | remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; 438 | sourceTree = BUILT_PRODUCTS_DIR; 439 | }; 440 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { 441 | isa = PBXReferenceProxy; 442 | fileType = archive.ar; 443 | path = libRCTImage.a; 444 | remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; 445 | sourceTree = BUILT_PRODUCTS_DIR; 446 | }; 447 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { 448 | isa = PBXReferenceProxy; 449 | fileType = archive.ar; 450 | path = libRCTNetwork.a; 451 | remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; 452 | sourceTree = BUILT_PRODUCTS_DIR; 453 | }; 454 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { 455 | isa = PBXReferenceProxy; 456 | fileType = archive.ar; 457 | path = libRCTVibration.a; 458 | remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; 459 | sourceTree = BUILT_PRODUCTS_DIR; 460 | }; 461 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { 462 | isa = PBXReferenceProxy; 463 | fileType = archive.ar; 464 | path = libRCTSettings.a; 465 | remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; 466 | sourceTree = BUILT_PRODUCTS_DIR; 467 | }; 468 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { 469 | isa = PBXReferenceProxy; 470 | fileType = archive.ar; 471 | path = libRCTWebSocket.a; 472 | remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; 473 | sourceTree = BUILT_PRODUCTS_DIR; 474 | }; 475 | 146834041AC3E56700842450 /* libReact.a */ = { 476 | isa = PBXReferenceProxy; 477 | fileType = archive.ar; 478 | path = libReact.a; 479 | remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; 480 | sourceTree = BUILT_PRODUCTS_DIR; 481 | }; 482 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { 483 | isa = PBXReferenceProxy; 484 | fileType = archive.ar; 485 | path = libRCTLinking.a; 486 | remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; 487 | sourceTree = BUILT_PRODUCTS_DIR; 488 | }; 489 | 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { 490 | isa = PBXReferenceProxy; 491 | fileType = archive.ar; 492 | path = libRCTText.a; 493 | remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; 494 | sourceTree = BUILT_PRODUCTS_DIR; 495 | }; 496 | /* End PBXReferenceProxy section */ 497 | 498 | /* Begin PBXResourcesBuildPhase section */ 499 | 00E356EC1AD99517003FC87E /* Resources */ = { 500 | isa = PBXResourcesBuildPhase; 501 | buildActionMask = 2147483647; 502 | files = ( 503 | ); 504 | runOnlyForDeploymentPostprocessing = 0; 505 | }; 506 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 507 | isa = PBXResourcesBuildPhase; 508 | buildActionMask = 2147483647; 509 | files = ( 510 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 511 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 512 | ); 513 | runOnlyForDeploymentPostprocessing = 0; 514 | }; 515 | /* End PBXResourcesBuildPhase section */ 516 | 517 | /* Begin PBXShellScriptBuildPhase section */ 518 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 519 | isa = PBXShellScriptBuildPhase; 520 | buildActionMask = 2147483647; 521 | files = ( 522 | ); 523 | inputPaths = ( 524 | ); 525 | name = "Bundle React Native code and images"; 526 | outputPaths = ( 527 | ); 528 | runOnlyForDeploymentPostprocessing = 0; 529 | shellPath = /bin/sh; 530 | shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"; 531 | showEnvVarsInLog = 1; 532 | }; 533 | /* End PBXShellScriptBuildPhase section */ 534 | 535 | /* Begin PBXSourcesBuildPhase section */ 536 | 00E356EA1AD99517003FC87E /* Sources */ = { 537 | isa = PBXSourcesBuildPhase; 538 | buildActionMask = 2147483647; 539 | files = ( 540 | 00E356F31AD99517003FC87E /* foodDeliveryTests.m in Sources */, 541 | ); 542 | runOnlyForDeploymentPostprocessing = 0; 543 | }; 544 | 13B07F871A680F5B00A75B9A /* Sources */ = { 545 | isa = PBXSourcesBuildPhase; 546 | buildActionMask = 2147483647; 547 | files = ( 548 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, 549 | 13B07FC11A68108700A75B9A /* main.m in Sources */, 550 | ); 551 | runOnlyForDeploymentPostprocessing = 0; 552 | }; 553 | /* End PBXSourcesBuildPhase section */ 554 | 555 | /* Begin PBXTargetDependency section */ 556 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { 557 | isa = PBXTargetDependency; 558 | target = 13B07F861A680F5B00A75B9A /* foodDelivery */; 559 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; 560 | }; 561 | /* End PBXTargetDependency section */ 562 | 563 | /* Begin PBXVariantGroup section */ 564 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { 565 | isa = PBXVariantGroup; 566 | children = ( 567 | 13B07FB21A68108700A75B9A /* Base */, 568 | ); 569 | name = LaunchScreen.xib; 570 | path = foodDelivery; 571 | sourceTree = ""; 572 | }; 573 | /* End PBXVariantGroup section */ 574 | 575 | /* Begin XCBuildConfiguration section */ 576 | 00E356F61AD99517003FC87E /* Debug */ = { 577 | isa = XCBuildConfiguration; 578 | buildSettings = { 579 | BUNDLE_LOADER = "$(TEST_HOST)"; 580 | GCC_PREPROCESSOR_DEFINITIONS = ( 581 | "DEBUG=1", 582 | "$(inherited)", 583 | ); 584 | INFOPLIST_FILE = foodDeliveryTests/Info.plist; 585 | IPHONEOS_DEPLOYMENT_TARGET = 8.2; 586 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 587 | PRODUCT_NAME = "$(TARGET_NAME)"; 588 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/foodDelivery.app/foodDelivery"; 589 | }; 590 | name = Debug; 591 | }; 592 | 00E356F71AD99517003FC87E /* Release */ = { 593 | isa = XCBuildConfiguration; 594 | buildSettings = { 595 | BUNDLE_LOADER = "$(TEST_HOST)"; 596 | COPY_PHASE_STRIP = NO; 597 | INFOPLIST_FILE = foodDeliveryTests/Info.plist; 598 | IPHONEOS_DEPLOYMENT_TARGET = 8.2; 599 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 600 | PRODUCT_NAME = "$(TARGET_NAME)"; 601 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/foodDelivery.app/foodDelivery"; 602 | }; 603 | name = Release; 604 | }; 605 | 13B07F941A680F5B00A75B9A /* Debug */ = { 606 | isa = XCBuildConfiguration; 607 | buildSettings = { 608 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 609 | DEAD_CODE_STRIPPING = NO; 610 | HEADER_SEARCH_PATHS = ( 611 | "$(inherited)", 612 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 613 | "$(SRCROOT)/../node_modules/react-native/React/**", 614 | ); 615 | INFOPLIST_FILE = "foodDelivery/Info.plist"; 616 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 617 | OTHER_LDFLAGS = ( 618 | "$(inherited)", 619 | "-ObjC", 620 | "-lc++", 621 | ); 622 | PRODUCT_NAME = foodDelivery; 623 | }; 624 | name = Debug; 625 | }; 626 | 13B07F951A680F5B00A75B9A /* Release */ = { 627 | isa = XCBuildConfiguration; 628 | buildSettings = { 629 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 630 | HEADER_SEARCH_PATHS = ( 631 | "$(inherited)", 632 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 633 | "$(SRCROOT)/../node_modules/react-native/React/**", 634 | ); 635 | INFOPLIST_FILE = "foodDelivery/Info.plist"; 636 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 637 | OTHER_LDFLAGS = ( 638 | "$(inherited)", 639 | "-ObjC", 640 | "-lc++", 641 | ); 642 | PRODUCT_NAME = foodDelivery; 643 | }; 644 | name = Release; 645 | }; 646 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 647 | isa = XCBuildConfiguration; 648 | buildSettings = { 649 | ALWAYS_SEARCH_USER_PATHS = NO; 650 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 651 | CLANG_CXX_LIBRARY = "libc++"; 652 | CLANG_ENABLE_MODULES = YES; 653 | CLANG_ENABLE_OBJC_ARC = YES; 654 | CLANG_WARN_BOOL_CONVERSION = YES; 655 | CLANG_WARN_CONSTANT_CONVERSION = YES; 656 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 657 | CLANG_WARN_EMPTY_BODY = YES; 658 | CLANG_WARN_ENUM_CONVERSION = YES; 659 | CLANG_WARN_INT_CONVERSION = YES; 660 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 661 | CLANG_WARN_UNREACHABLE_CODE = YES; 662 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 663 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 664 | COPY_PHASE_STRIP = NO; 665 | ENABLE_STRICT_OBJC_MSGSEND = YES; 666 | GCC_C_LANGUAGE_STANDARD = gnu99; 667 | GCC_DYNAMIC_NO_PIC = NO; 668 | GCC_OPTIMIZATION_LEVEL = 0; 669 | GCC_PREPROCESSOR_DEFINITIONS = ( 670 | "DEBUG=1", 671 | "$(inherited)", 672 | ); 673 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 674 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 675 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 676 | GCC_WARN_UNDECLARED_SELECTOR = YES; 677 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 678 | GCC_WARN_UNUSED_FUNCTION = YES; 679 | GCC_WARN_UNUSED_VARIABLE = YES; 680 | HEADER_SEARCH_PATHS = ( 681 | "$(inherited)", 682 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 683 | "$(SRCROOT)/../node_modules/react-native/React/**", 684 | ); 685 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 686 | MTL_ENABLE_DEBUG_INFO = YES; 687 | ONLY_ACTIVE_ARCH = YES; 688 | SDKROOT = iphoneos; 689 | }; 690 | name = Debug; 691 | }; 692 | 83CBBA211A601CBA00E9B192 /* Release */ = { 693 | isa = XCBuildConfiguration; 694 | buildSettings = { 695 | ALWAYS_SEARCH_USER_PATHS = NO; 696 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 697 | CLANG_CXX_LIBRARY = "libc++"; 698 | CLANG_ENABLE_MODULES = YES; 699 | CLANG_ENABLE_OBJC_ARC = YES; 700 | CLANG_WARN_BOOL_CONVERSION = YES; 701 | CLANG_WARN_CONSTANT_CONVERSION = YES; 702 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 703 | CLANG_WARN_EMPTY_BODY = YES; 704 | CLANG_WARN_ENUM_CONVERSION = YES; 705 | CLANG_WARN_INT_CONVERSION = YES; 706 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 707 | CLANG_WARN_UNREACHABLE_CODE = YES; 708 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 709 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 710 | COPY_PHASE_STRIP = YES; 711 | ENABLE_NS_ASSERTIONS = NO; 712 | ENABLE_STRICT_OBJC_MSGSEND = YES; 713 | GCC_C_LANGUAGE_STANDARD = gnu99; 714 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 715 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 716 | GCC_WARN_UNDECLARED_SELECTOR = YES; 717 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 718 | GCC_WARN_UNUSED_FUNCTION = YES; 719 | GCC_WARN_UNUSED_VARIABLE = YES; 720 | HEADER_SEARCH_PATHS = ( 721 | "$(inherited)", 722 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 723 | "$(SRCROOT)/../node_modules/react-native/React/**", 724 | ); 725 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 726 | MTL_ENABLE_DEBUG_INFO = NO; 727 | SDKROOT = iphoneos; 728 | VALIDATE_PRODUCT = YES; 729 | }; 730 | name = Release; 731 | }; 732 | /* End XCBuildConfiguration section */ 733 | 734 | /* Begin XCConfigurationList section */ 735 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "foodDeliveryTests" */ = { 736 | isa = XCConfigurationList; 737 | buildConfigurations = ( 738 | 00E356F61AD99517003FC87E /* Debug */, 739 | 00E356F71AD99517003FC87E /* Release */, 740 | ); 741 | defaultConfigurationIsVisible = 0; 742 | defaultConfigurationName = Release; 743 | }; 744 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "foodDelivery" */ = { 745 | isa = XCConfigurationList; 746 | buildConfigurations = ( 747 | 13B07F941A680F5B00A75B9A /* Debug */, 748 | 13B07F951A680F5B00A75B9A /* Release */, 749 | ); 750 | defaultConfigurationIsVisible = 0; 751 | defaultConfigurationName = Release; 752 | }; 753 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "foodDelivery" */ = { 754 | isa = XCConfigurationList; 755 | buildConfigurations = ( 756 | 83CBBA201A601CBA00E9B192 /* Debug */, 757 | 83CBBA211A601CBA00E9B192 /* Release */, 758 | ); 759 | defaultConfigurationIsVisible = 0; 760 | defaultConfigurationName = Release; 761 | }; 762 | /* End XCConfigurationList section */ 763 | }; 764 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 765 | } 766 | -------------------------------------------------------------------------------- /ios/foodDelivery.xcodeproj/xcshareddata/xcschemes/foodDelivery.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 38 | 39 | 44 | 45 | 47 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 65 | 66 | 75 | 77 | 83 | 84 | 85 | 86 | 87 | 88 | 94 | 96 | 102 | 103 | 104 | 105 | 107 | 108 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /ios/foodDelivery/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /ios/foodDelivery/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "AppDelegate.h" 11 | 12 | #import "RCTBundleURLProvider.h" 13 | #import "RCTRootView.h" 14 | 15 | @implementation AppDelegate 16 | 17 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 18 | { 19 | NSURL *jsCodeLocation; 20 | 21 | jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; 22 | 23 | RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 24 | moduleName:@"foodDelivery" 25 | initialProperties:nil 26 | launchOptions:launchOptions]; 27 | rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; 28 | 29 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 30 | UIViewController *rootViewController = [UIViewController new]; 31 | rootViewController.view = rootView; 32 | self.window.rootViewController = rootViewController; 33 | [self.window makeKeyAndVisible]; 34 | return YES; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /ios/foodDelivery/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /ios/foodDelivery/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /ios/foodDelivery/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UIViewControllerBasedStatusBarAppearance 38 | 39 | NSLocationWhenInUseUsageDescription 40 | 41 | NSAppTransportSecurity 42 | 43 | 44 | NSExceptionDomains 45 | 46 | localhost 47 | 48 | NSTemporaryExceptionAllowsInsecureHTTPLoads 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /ios/foodDelivery/main.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import "AppDelegate.h" 13 | 14 | int main(int argc, char * argv[]) { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ios/foodDeliveryTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /ios/foodDeliveryTests/foodDeliveryTests.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | #import 12 | 13 | #import "RCTLog.h" 14 | #import "RCTRootView.h" 15 | 16 | #define TIMEOUT_SECONDS 600 17 | #define TEXT_TO_LOOK_FOR @"Welcome to React Native!" 18 | 19 | @interface foodDeliveryTests : XCTestCase 20 | 21 | @end 22 | 23 | @implementation foodDeliveryTests 24 | 25 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test 26 | { 27 | if (test(view)) { 28 | return YES; 29 | } 30 | for (UIView *subview in [view subviews]) { 31 | if ([self findSubviewInView:subview matching:test]) { 32 | return YES; 33 | } 34 | } 35 | return NO; 36 | } 37 | 38 | - (void)testRendersWelcomeScreen 39 | { 40 | UIViewController *vc = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 41 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; 42 | BOOL foundElement = NO; 43 | 44 | __block NSString *redboxError = nil; 45 | RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { 46 | if (level >= RCTLogLevelError) { 47 | redboxError = message; 48 | } 49 | }); 50 | 51 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { 52 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 53 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 54 | 55 | foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { 56 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { 57 | return YES; 58 | } 59 | return NO; 60 | }]; 61 | } 62 | 63 | RCTSetLogFunction(RCTDefaultLogFunction); 64 | 65 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); 66 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); 67 | } 68 | 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /my-release-key.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroConsis/Food-Delivery-App/2a30d7955beffe430df9c3de58d6cce44f3d1426/my-release-key.keystore -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foodDelivery", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start" 7 | }, 8 | "dependencies": { 9 | "react": "15.2.1", 10 | "react-native": "0.30.0", 11 | "react-native-drawer-layout": "^1.0.0", 12 | "react-native-gifted-spinner": "^0.1.0", 13 | "react-native-material-design": "^0.3.7", 14 | "react-native-router-flux": "^3.35.0", 15 | "react-native-scrollable-tab-view": "^0.5.3", 16 | "react-native-vector-icons": "^2.0.3", 17 | "underscore": "^1.8.3" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /styles/hotdeals.js: -------------------------------------------------------------------------------- 1 | import React from "react-native"; 2 | import Dimensions from 'Dimensions'; 3 | 4 | import { StyleSheet } from 'react-native'; 5 | 6 | // Precalculate Device Dimensions for better performance 7 | const x = Dimensions.get('window').width; 8 | const y = Dimensions.get('window').height; 9 | 10 | // Calculating ratio from iPhone breakpoints 11 | const ratioX = x < 375 ? (x < 320 ? 0.75 : 0.875) : 1 ; 12 | const ratioY = y < 568 ? (y < 480 ? 0.75 : 0.875) : 1 ; 13 | 14 | // We set our base font size value 15 | const base_unit = 24; 16 | 17 | // We're simulating EM by changing font size according to Ratio 18 | const unit = base_unit * ratioX; 19 | 20 | // We add an em() shortcut function 21 | function em(value) { 22 | return unit * value; 23 | } 24 | 25 | module.exports = StyleSheet.create({ 26 | container: { 27 | flex: 1, 28 | justifyContent: 'center', 29 | backgroundColor: '#f3e5f5', 30 | }, 31 | 32 | loading: { 33 | flex: 1, 34 | alignItems: 'center', 35 | justifyContent: 'center' 36 | }, 37 | 38 | item: { 39 | flex: 1, 40 | flexDirection: 'column', 41 | backgroundColor: "#FFFFFF", 42 | borderBottomWidth: 1, 43 | paddingLeft: em(1), 44 | paddingRight: em(1), 45 | borderColor: '#e5e5e5', 46 | justifyContent: 'space-between', 47 | height: (x - em(1.22) * 2) * (2/5) 48 | }, 49 | 50 | item_top_info: { 51 | flex: .2, 52 | justifyContent: 'flex-end' 53 | }, 54 | 55 | classic: { 56 | fontSize: em(0.65), 57 | fontWeight: "900", 58 | color: '#F7484c' 59 | }, 60 | 61 | item_middle_info: { 62 | flex: .2, 63 | flexDirection: 'row', 64 | justifyContent: 'space-between', 65 | alignItems: 'flex-end' 66 | }, 67 | 68 | dish_name: { 69 | fontSize: em(1.25), 70 | // fontFamily: 'monospace', 71 | color: '#616161', 72 | }, 73 | 74 | currency: { 75 | fontSize: em(.85), 76 | color: '#616161' 77 | }, 78 | 79 | dish_price: { 80 | fontSize: em(1.25), 81 | color: '#616161' 82 | }, 83 | 84 | item_bottom_info: { 85 | flex: .4, 86 | flexDirection: 'row', 87 | }, 88 | 89 | details_container: { 90 | flex: 6, 91 | }, 92 | 93 | details: { 94 | fontSize: em(.75), 95 | color: "#bdbdbd" 96 | }, 97 | 98 | counter_container: { 99 | flex: 4, 100 | flexDirection: 'row', 101 | top: em(.2), 102 | }, 103 | 104 | counter: { 105 | flex: 1, 106 | top: em(.2), 107 | alignItems: 'flex-end', 108 | }, 109 | 110 | counter_text: { 111 | fontSize:em(1), 112 | color: "#bdc3c7", 113 | fontFamily: 'Iowan Old Style' 114 | }, 115 | 116 | buttons: { 117 | flex: 3, 118 | flexDirection: 'row', 119 | justifyContent: 'flex-end' 120 | }, 121 | 122 | button_icon: { 123 | fontSize: em(2), 124 | } 125 | 126 | 127 | 128 | }); -------------------------------------------------------------------------------- /styles/menu.js: -------------------------------------------------------------------------------- 1 | import React from "react-native"; 2 | import Dimensions from 'Dimensions'; 3 | 4 | import { StyleSheet } from 'react-native'; 5 | 6 | // Precalculate Device Dimensions for better performance 7 | const x = Dimensions.get('window').width; 8 | const y = Dimensions.get('window').height; 9 | 10 | // Calculating ratio from iPhone breakpoints 11 | const ratioX = x < 375 ? (x < 320 ? 0.75 : 0.875) : 1 ; 12 | const ratioY = y < 568 ? (y < 480 ? 0.75 : 0.875) : 1 ; 13 | 14 | // We set our base font size value 15 | const base_unit = 16; 16 | 17 | // We're simulating EM by changing font size according to Ratio 18 | const unit = base_unit * ratioX; 19 | 20 | // We add an em() shortcut function 21 | function em(value) { 22 | return unit * value; 23 | } 24 | 25 | module.exports = StyleSheet.create({ 26 | container: { 27 | flex: 1, 28 | flexDirection: 'column', 29 | }, 30 | 31 | header_container: { 32 | marginTop: em(1.55), 33 | height: (x - em(50) * 2) * (3/5), 34 | }, 35 | 36 | drawer_list_item: { 37 | }, 38 | 39 | item_container: { 40 | flex: 1, 41 | flexDirection: 'row', 42 | width: x - em(1.25) * 2, 43 | justifyContent: 'flex-start', 44 | alignItems: 'center', 45 | height: (x - em(9) * 2) * (3/5) 46 | }, 47 | 48 | item_icon: { 49 | flex: 1, 50 | paddingLeft: em(3) 51 | }, 52 | 53 | item_title: { 54 | flex: 7, 55 | paddingLeft: em(0.3) 56 | }, 57 | 58 | icon: { 59 | color: '#616161' 60 | }, 61 | 62 | title_text: { 63 | fontSize: em(1.2), 64 | fontFamily: 'Verdana', 65 | color: '#616161' 66 | }, 67 | 68 | footer_container: { 69 | marginTop: em(.75), 70 | }, 71 | 72 | button: { 73 | borderWidth: em(.1), 74 | borderColor: '#e5e5e5', 75 | borderRadius: em(.3), 76 | height: (x - em(7) * 2) * (2/6), 77 | marginLeft: 30, 78 | marginRight: 30, 79 | marginTop: 5, 80 | marginBottom: 5, 81 | alignItems: 'center', 82 | justifyContent: 'center' 83 | }, 84 | 85 | button_text: { 86 | fontFamily: 'Verdana', 87 | fontSize: 20, 88 | alignSelf: 'center', 89 | color: '#3e3e3e' 90 | } 91 | }); 92 | -------------------------------------------------------------------------------- /styles/root.js: -------------------------------------------------------------------------------- 1 | import Dimensions from 'Dimensions'; 2 | 3 | import { StyleSheet } from 'react-native'; 4 | 5 | // Precalculate Device Dimensions for better performance 6 | const x = Dimensions.get('window').width; 7 | const y = Dimensions.get('window').height; 8 | 9 | // Calculating ratio from iPhone breakpoints 10 | const ratioX = x < 375 ? (x < 320 ? 0.75 : 0.875) : 1 ; 11 | const ratioY = y < 568 ? (y < 480 ? 0.75 : 0.875) : 1 ; 12 | 13 | // We set our base font size value 14 | const base_unit = 16; 15 | 16 | // We're simulating EM by changing font size according to Ratio 17 | const unit = base_unit * ratioX; 18 | 19 | // We add an em() shortcut function 20 | function em(value) { 21 | return unit * value; 22 | } 23 | 24 | export default StyleSheet.create({ 25 | menuIcon: { 26 | 27 | }, 28 | 29 | container: { 30 | flex: 1, 31 | justifyContent: 'center' 32 | }, 33 | navBar: { 34 | backgroundColor: '#BD5026', 35 | }, 36 | navBarText: { 37 | color: 'white', 38 | fontSize: 16, 39 | marginVertical: 10, 40 | }, 41 | navBarTitleText: { 42 | fontWeight: '500', 43 | marginVertical: 9, 44 | }, 45 | navBarLeftButton: { 46 | paddingLeft: 10, 47 | }, 48 | navBarRightButton: { 49 | padding: 10, 50 | paddingTop: 5 51 | }, 52 | scene: { 53 | flex: 1, 54 | paddingTop: 63, 55 | } 56 | }); 57 | --------------------------------------------------------------------------------