├── .watchmanconfig
├── app.json
├── src
├── globals
│ ├── globals.js
│ ├── DimenConstants.js
│ ├── ColorConstants.js
│ ├── GlobalStyles.js
│ ├── AppConstants.js
│ └── MessageConstants.js
├── assets
│ └── images
│ │ ├── user.jpg
│ │ ├── close.png
│ │ ├── app_logo.png
│ │ ├── front_logo.png
│ │ ├── left-arrow.png
│ │ ├── login_back.jpg
│ │ ├── menu-button.png
│ │ ├── ic_menu_home.png
│ │ ├── ic_menu_share.png
│ │ ├── img-bg-drawer.png
│ │ ├── login_footer.jpg
│ │ ├── login_footer_1.png
│ │ ├── login_footer_2.png
│ │ ├── ic_menu_request.png
│ │ ├── ic_menu_signout.png
│ │ ├── ic_menu__my_account.png
│ │ ├── ic_menu_contact_us.png
│ │ └── img-bg-drawer_reverse.png
├── components
│ ├── icons
│ │ ├── Ionicons.js
│ │ └── MaterialIcons.js
│ ├── views
│ │ ├── UILoader.js
│ │ ├── CustomButton.js
│ │ ├── EmptyView.js
│ │ ├── NoInternetView.js
│ │ ├── HyperLink.js
│ │ └── ErrorView.js
│ ├── Sidebar.js
│ └── DrawerScreen.js
├── containers
│ ├── screens
│ │ ├── Home
│ │ │ ├── Styles.js
│ │ │ └── HomeScreen.js
│ │ ├── HeliconiaView.js
│ │ ├── VerificationOTP.js
│ │ ├── LoginScreen.js
│ │ └── Register.js
│ └── navigator
│ │ └── RootNavigator.js
├── redux
│ ├── action.js
│ ├── store.js
│ └── reducer.js
├── index.js
├── utils
│ ├── F8Touchable.js
│ ├── ValidationManager.js
│ └── api.js
├── AuthLoading.js
└── AppRoot.js
├── babel.config.js
├── ios
├── KBZApp
│ ├── Images.xcassets
│ │ ├── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── AppDelegate.h
│ ├── main.m
│ ├── AppDelegate.m
│ ├── Info.plist
│ └── Base.lproj
│ │ └── LaunchScreen.xib
├── KBZAppTests
│ ├── Info.plist
│ └── KBZAppTests.m
├── KBZApp-tvOSTests
│ └── Info.plist
├── KBZApp-tvOS
│ └── Info.plist
└── KBZApp.xcodeproj
│ └── xcshareddata
│ └── xcschemes
│ ├── KBZApp.xcscheme
│ └── KBZApp-tvOS.xcscheme
├── .buckconfig
├── android
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── app
│ ├── src
│ │ └── main
│ │ │ ├── assets
│ │ │ └── fonts
│ │ │ │ ├── Entypo.ttf
│ │ │ │ ├── Feather.ttf
│ │ │ │ ├── Ionicons.ttf
│ │ │ │ ├── Octicons.ttf
│ │ │ │ ├── Roboto.ttf
│ │ │ │ ├── Zocial.ttf
│ │ │ │ ├── AntDesign.ttf
│ │ │ │ ├── EvilIcons.ttf
│ │ │ │ ├── Foundation.ttf
│ │ │ │ ├── FontAwesome.ttf
│ │ │ │ ├── MaterialIcons.ttf
│ │ │ │ ├── Roboto_medium.ttf
│ │ │ │ ├── SimpleLineIcons.ttf
│ │ │ │ ├── FontAwesome5_Solid.ttf
│ │ │ │ ├── rubicon-icon-font.ttf
│ │ │ │ ├── FontAwesome5_Brands.ttf
│ │ │ │ ├── FontAwesome5_Regular.ttf
│ │ │ │ └── MaterialCommunityIcons.ttf
│ │ │ ├── res
│ │ │ ├── drawable
│ │ │ │ ├── app_logo.png
│ │ │ │ ├── ic_heart.png
│ │ │ │ └── splash_bg.png
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── src_assets_images_user.jpg
│ │ │ │ ├── src_assets_images_app_logo.png
│ │ │ │ ├── src_assets_images_leftarrow.png
│ │ │ │ ├── src_assets_images_menubutton.png
│ │ │ │ ├── src_assets_images_ic_menu_home.png
│ │ │ │ ├── src_assets_images_ic_menu_request.png
│ │ │ │ ├── src_assets_images_ic_menu_share.png
│ │ │ │ ├── src_assets_images_ic_menu_signout.png
│ │ │ │ ├── src_assets_images_login_footer_1.png
│ │ │ │ ├── src_assets_images_ic_menu__my_account.png
│ │ │ │ ├── src_assets_images_ic_menu_contact_us.png
│ │ │ │ ├── node_modules_reactnavigationstack_dist_views_assets_backicon.png
│ │ │ │ └── node_modules_reactnavigationstack_dist_views_assets_backiconmask.png
│ │ │ ├── drawable-hdpi
│ │ │ │ └── node_modules_reactnavigationstack_dist_views_assets_backicon.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ └── node_modules_reactnavigationstack_dist_views_assets_backicon.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ └── node_modules_reactnavigationstack_dist_views_assets_backicon.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ └── node_modules_reactnavigationstack_dist_views_assets_backicon.png
│ │ │ ├── values
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── layout
│ │ │ │ └── launch_screen.xml
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── kbzapp
│ │ │ │ ├── MainActivity.java
│ │ │ │ └── MainApplication.java
│ │ │ └── AndroidManifest.xml
│ ├── build_defs.bzl
│ ├── proguard-rules.pro
│ ├── BUCK
│ ├── build.gradle
│ └── google-services.json
├── keystores
│ ├── debug.keystore.properties
│ └── BUCK
├── gradle.properties
├── build.gradle
├── settings.gradle
├── gradlew.bat
└── gradlew
├── index.js
├── __tests__
└── App-test.js
├── metro.config.js
├── App.js
├── package.json
└── .flowconfig
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "KBZApp",
3 | "displayName": "KBZ App"
4 | }
--------------------------------------------------------------------------------
/src/globals/globals.js:
--------------------------------------------------------------------------------
1 | export var isInternetConnected = false
2 | export var odoo;
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ['module:metro-react-native-babel-preset'],
3 | };
4 |
--------------------------------------------------------------------------------
/src/globals/DimenConstants.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = {
3 | IOS_DEFAULT_PADDING_TOP : 20,
4 | }
5 |
--------------------------------------------------------------------------------
/src/assets/images/user.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/user.jpg
--------------------------------------------------------------------------------
/ios/KBZApp/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/assets/images/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/close.png
--------------------------------------------------------------------------------
/src/assets/images/app_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/app_logo.png
--------------------------------------------------------------------------------
/src/assets/images/front_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/front_logo.png
--------------------------------------------------------------------------------
/src/assets/images/left-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/left-arrow.png
--------------------------------------------------------------------------------
/src/assets/images/login_back.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/login_back.jpg
--------------------------------------------------------------------------------
/src/assets/images/menu-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/menu-button.png
--------------------------------------------------------------------------------
/src/assets/images/ic_menu_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/ic_menu_home.png
--------------------------------------------------------------------------------
/src/assets/images/ic_menu_share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/ic_menu_share.png
--------------------------------------------------------------------------------
/src/assets/images/img-bg-drawer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/img-bg-drawer.png
--------------------------------------------------------------------------------
/src/assets/images/login_footer.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/login_footer.jpg
--------------------------------------------------------------------------------
/src/assets/images/login_footer_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/login_footer_1.png
--------------------------------------------------------------------------------
/src/assets/images/login_footer_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/login_footer_2.png
--------------------------------------------------------------------------------
/src/assets/images/ic_menu_request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/ic_menu_request.png
--------------------------------------------------------------------------------
/src/assets/images/ic_menu_signout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/ic_menu_signout.png
--------------------------------------------------------------------------------
/.buckconfig:
--------------------------------------------------------------------------------
1 |
2 | [android]
3 | target = Google Inc.:Google APIs:23
4 |
5 | [maven_repositories]
6 | central = https://repo1.maven.org/maven2
7 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/src/assets/images/ic_menu__my_account.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/ic_menu__my_account.png
--------------------------------------------------------------------------------
/src/assets/images/ic_menu_contact_us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/ic_menu_contact_us.png
--------------------------------------------------------------------------------
/src/assets/images/img-bg-drawer_reverse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/src/assets/images/img-bg-drawer_reverse.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Entypo.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Entypo.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Feather.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Feather.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Ionicons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Octicons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Roboto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Roboto.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Zocial.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Zocial.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/app_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable/app_logo.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/ic_heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable/ic_heart.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/AntDesign.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/AntDesign.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/EvilIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/EvilIcons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Foundation.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Foundation.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/splash_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable/splash_bg.png
--------------------------------------------------------------------------------
/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/app/src/main/assets/fonts/FontAwesome.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/FontAwesome.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/MaterialIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/MaterialIcons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Roboto_medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/Roboto_medium.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/SimpleLineIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/SimpleLineIcons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/rubicon-icon-font.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/rubicon-icon-font.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_user.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_user.jpg
--------------------------------------------------------------------------------
/android/keystores/BUCK:
--------------------------------------------------------------------------------
1 | keystore(
2 | name = "debug",
3 | properties = "debug.keystore.properties",
4 | store = "debug.keystore",
5 | visibility = [
6 | "PUBLIC",
7 | ],
8 | )
9 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_app_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_app_logo.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_leftarrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_leftarrow.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_menubutton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_menubutton.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_home.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_request.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_share.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_signout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_signout.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_login_footer_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_login_footer_1.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu__my_account.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu__my_account.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_contact_us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/src_assets_images_ic_menu_contact_us.png
--------------------------------------------------------------------------------
/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-4.10.2-all.zip
6 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-hdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-xxxhdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @format
3 | */
4 |
5 | import {AppRegistry} from 'react-native';
6 | import {name as appName} from './app.json';
7 |
8 | //import App from './App';
9 | import App from './src/index';
10 |
11 | AppRegistry.registerComponent(appName, () => App);
12 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_dist_views_assets_backiconmask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/starmastar1126/KBZ_Food_ReactNative/HEAD/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_dist_views_assets_backiconmask.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | KBZ App
3 |
4 | #7C7BAD
5 | #5a5a7e
6 | #7C7BAD
7 |
8 |
9 |
--------------------------------------------------------------------------------
/__tests__/App-test.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @format
3 | */
4 |
5 | import 'react-native';
6 | import React from 'react';
7 | import App from '../App';
8 |
9 | // Note: test renderer must be required after react-native.
10 | import renderer from 'react-test-renderer';
11 |
12 | it('renders correctly', () => {
13 | renderer.create();
14 | });
15 |
--------------------------------------------------------------------------------
/metro.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Metro configuration for React Native
3 | * https://github.com/facebook/react-native
4 | *
5 | * @format
6 | */
7 |
8 | module.exports = {
9 | transformer: {
10 | getTransformOptions: async () => ({
11 | transform: {
12 | experimentalImportSupport: false,
13 | inlineRequires: false,
14 | },
15 | }),
16 | },
17 | };
18 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/components/icons/Ionicons.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Icon from 'react-native-vector-icons/Ionicons';
3 | import AppColors from '../../globals/ColorConstants';
4 |
5 | export default class Ionicons extends React.Component {
6 | render() {
7 | return (
8 |
13 | );
14 | }
15 | }
--------------------------------------------------------------------------------
/ios/KBZApp/AppDelegate.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Facebook, Inc. and its affiliates.
3 | *
4 | * This source code is licensed under the MIT license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | */
7 |
8 | #import
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (nonatomic, strong) UIWindow *window;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/ios/KBZApp/main.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Facebook, Inc. and its affiliates.
3 | *
4 | * This source code is licensed under the MIT license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | */
7 |
8 | #import
9 |
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/components/icons/MaterialIcons.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Icon from 'react-native-vector-icons/MaterialIcons';
3 | import AppColors from '../../globals/ColorConstants';
4 |
5 | export default class MaterialIcons extends React.Component {
6 | render() {
7 | return (
8 |
13 | );
14 | }
15 | }
--------------------------------------------------------------------------------
/src/globals/ColorConstants.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | APP_TINT_COLORS: "#7C7BAD",
3 | APP_TINT_COLORS_DARK: "#5a5a7e",
4 | HEADER_TINT_COLOR: "#FFF",
5 | APP_BACKGROUND_COLOR: "#FFF",
6 | ICON_COLOR: "#243747",
7 | TEXT_COLOR: "#333",
8 | TEXT_INPUT_COLOR: "#181818",
9 | THUMB_IMAGE_COLOR: '#f5f5f5',
10 | LINE_COLOR: "#E1E1E1",
11 | ICON_EMPTY_COLOR: "#A4A4A4",
12 |
13 | LOGIN_BG:"#9D5D2F"
14 | }
15 |
--------------------------------------------------------------------------------
/src/containers/screens/Home/Styles.js:
--------------------------------------------------------------------------------
1 | import {StyleSheet} from 'react-native';
2 |
3 | const styles = StyleSheet.create({
4 | mainContainer: {
5 | flex: 1
6 | },
7 | titleContainer: {
8 | fontSize: 35,
9 | fontWeight: 'bold'
10 | },
11 | mobileContainer: {
12 | marginTop: 15,
13 | fontSize: 25,
14 | },
15 | emailContainer: {
16 | marginTop: 15,
17 | fontSize: 25,
18 | }
19 | })
20 |
21 | export default styles;
--------------------------------------------------------------------------------
/src/redux/action.js:
--------------------------------------------------------------------------------
1 | export const action_NetworkStatus = isConnected => ({
2 | type: "NETWORK_STATUS",
3 | isConnected
4 | })
5 |
6 | export const action_UserLogin = user => ({
7 | type: "USER_LOGIN",
8 | user: user
9 | })
10 |
11 | export const action_LoadingIndicator = isLoading => ({
12 | type: "LAODING_INDICATOR",
13 | isLoading
14 | })
15 |
16 | export const action_Odoo_Response = response => ({
17 | type: "ODOO_RESPONSE",
18 | response: response
19 | })
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/globals/GlobalStyles.js:
--------------------------------------------------------------------------------
1 | import {StyleSheet} from 'react-native';
2 | import AppColors from './ColorConstants';
3 |
4 | export default styles = StyleSheet.create({
5 | headerStyle: {
6 | backgroundColor: AppColors.APP_TINT_COLORS
7 | },
8 | bodyStyle: {
9 | backgroundColor: AppColors.APP_BACKGROUND_COLOR
10 | },
11 | textFieldIcon: {
12 | position: 'absolute', right: 10, top: 40
13 | },
14 | iconSize: {
15 | height: 24,
16 | width: 24
17 | }
18 | })
--------------------------------------------------------------------------------
/src/components/views/UILoader.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { ActivityIndicator, View, Text } from "react-native";
3 | import AppColors from '../../globals/ColorConstants';
4 |
5 | export default class UILoader extends React.Component {
6 | render() {
7 | return (
8 |
9 |
10 | {/* Please Wait... */}
11 |
12 | );
13 | }
14 | }
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import { Provider } from 'react-redux';
3 | import { store, persistor } from "./redux/store";
4 | import AppRoot from "./AppRoot";
5 | import { PersistGate } from 'redux-persist/integration/react'
6 |
7 | export default class App extends Component {
8 |
9 | constructor(props) {
10 | super(props)
11 | }
12 |
13 | render() {
14 | return (
15 |
16 |
17 |
18 |
19 |
20 | );
21 | }
22 | }
--------------------------------------------------------------------------------
/android/app/build_defs.bzl:
--------------------------------------------------------------------------------
1 | """Helper definitions to glob .aar and .jar targets"""
2 |
3 | def create_aar_targets(aarfiles):
4 | for aarfile in aarfiles:
5 | name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
6 | lib_deps.append(":" + name)
7 | android_prebuilt_aar(
8 | name = name,
9 | aar = aarfile,
10 | )
11 |
12 | def create_jar_targets(jarfiles):
13 | for jarfile in jarfiles:
14 | name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
15 | lib_deps.append(":" + name)
16 | prebuilt_jar(
17 | name = name,
18 | binary_jar = jarfile,
19 | )
20 |
--------------------------------------------------------------------------------
/android/app/src/main/java/com/kbzapp/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.kbzapp;
2 |
3 | import android.os.Bundle;
4 | import com.facebook.react.ReactActivity;
5 | import org.devio.rn.splashscreen.SplashScreen; // here
6 |
7 | public class MainActivity extends ReactActivity {
8 |
9 | @Override
10 | protected void onCreate(Bundle savedInstanceState) {
11 | SplashScreen.show(this); // here
12 | super.onCreate(savedInstanceState);
13 | }
14 |
15 | /**
16 | * Returns the name of the main component registered from JavaScript.
17 | * This is used to schedule rendering of the component.
18 | */
19 | @Override
20 | protected String getMainComponentName() {
21 | return "KBZApp";
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ios/KBZApp/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 | }
--------------------------------------------------------------------------------
/src/redux/store.js:
--------------------------------------------------------------------------------
1 | import { combineReducers, createStore, compose } from 'redux';
2 | import { persistStore, persistReducer } from 'redux-persist';
3 | import storage from 'redux-persist/lib/storage';
4 | import rootReducer from './reducer';
5 | import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2'
6 |
7 | const persistConfig = {
8 | key: 'root',
9 | storage: storage,
10 | stateReconciler: autoMergeLevel2
11 | }
12 |
13 | let composeEnhancers = compose;
14 | if (__DEV__) {
15 | composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
16 | }
17 |
18 | export const persistedReducer = persistReducer(persistConfig, rootReducer);
19 | export const store = createStore(persistedReducer, composeEnhancers());
20 | export const persistor = persistStore(store);
--------------------------------------------------------------------------------
/ios/KBZAppTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
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/KBZApp-tvOSTests/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | ext {
5 | buildToolsVersion = "28.0.3"
6 | minSdkVersion = 16
7 | compileSdkVersion = 28
8 | targetSdkVersion = 28
9 | supportLibVersion = "28.0.0"
10 | }
11 | repositories {
12 | google()
13 | jcenter()
14 | }
15 | dependencies {
16 | classpath 'com.android.tools.build:gradle:3.3.2'
17 | classpath 'com.google.gms:google-services:4.2.0'
18 |
19 | // NOTE: Do not place your application dependencies here; they belong
20 | // in the individual module build.gradle files
21 | }
22 | }
23 |
24 | allprojects {
25 | repositories {
26 | mavenLocal()
27 | google()
28 | jcenter()
29 | maven {
30 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
31 | url "$rootDir/../node_modules/react-native/android"
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/components/views/CustomButton.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Image } from 'react-native';
3 | import { View, Button, Text, Body, Right } from 'native-base';
4 | import AppColors from '../../globals/ColorConstants';
5 |
6 | const CustomButton = (props) => {
7 | return (
8 |
9 |
34 | )
35 | }
36 |
37 | export default CustomButton;
38 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
14 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/components/views/EmptyView.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | View,
4 | Text,
5 | } from "react-native";
6 | import Ionicons from '../Icons/Ionicons';
7 | import AppMessages from '../../globals/MessageConstants';
8 | import AppColors from '../../globals/ColorConstants';
9 | import AppConstant from '../../globals/AppConstants';
10 |
11 | export default class EmptyView extends React.Component {
12 |
13 | constructor(props) {
14 | super(props);
15 | }
16 |
17 | _onPressButton = () => {
18 | setTimeout(() => {
19 | this.props.onPressButton()
20 | }, AppConstant.DEFAULT_TOUCH_DELAY);
21 | }
22 |
23 | render() {
24 | return (
25 |
26 |
31 | {AppMessages.EMPTY_SERVER_RESPONSE}
32 |
33 | )
34 | }
35 | }
--------------------------------------------------------------------------------
/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | *
5 | * @format
6 | * @flow
7 | */
8 |
9 | import React, {Component} from 'react';
10 | import {Platform, StyleSheet, Text, View} from 'react-native';
11 |
12 | const instructions = Platform.select({
13 | ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
14 | android:
15 | 'Double tap R on your keyboard to reload,\n' +
16 | 'Shake or press menu button for dev menu',
17 | });
18 |
19 | type Props = {};
20 | export default class App extends Component {
21 | render() {
22 | return (
23 |
24 | Welcome to React Native!
25 | To get started, edit App.js
26 | {instructions}
27 |
28 | );
29 | }
30 | }
31 |
32 | const styles = StyleSheet.create({
33 | container: {
34 | flex: 1,
35 | justifyContent: 'center',
36 | alignItems: 'center',
37 | backgroundColor: '#F5FCFF',
38 | },
39 | welcome: {
40 | fontSize: 20,
41 | textAlign: 'center',
42 | margin: 10,
43 | },
44 | instructions: {
45 | textAlign: 'center',
46 | color: '#333333',
47 | marginBottom: 5,
48 | },
49 | });
50 |
--------------------------------------------------------------------------------
/src/components/views/NoInternetView.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | View,
4 | Text,
5 | } from "react-native";
6 | import Ionicons from '../Icons/Ionicons';
7 | import AppMessages from '../../globals/MessageConstants';
8 | import AppColors from '../../globals/ColorConstants';
9 | import AppConstant from '../../globals/AppConstants';
10 |
11 |
12 | export default class NoInternetView extends React.Component {
13 |
14 | constructor(props) {
15 | super(props);
16 | }
17 |
18 | _onPressButton = () => {
19 | setTimeout(() => {
20 | this.props.onPressButton()
21 | }, AppConstant.DEFAULT_TOUCH_DELAY);
22 | }
23 |
24 | render() {
25 | return (
26 |
27 |
28 | {AppMessages.MSG_NO_INTERNET_ON_SCREEN}
29 |
33 |
34 | )
35 | }
36 | }
--------------------------------------------------------------------------------
/src/components/views/HyperLink.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import PropTypes from 'prop-types';
3 | import {Linking, StyleSheet, Text} from 'react-native';
4 |
5 | let textColor = 'white';
6 |
7 | export default class HyperLink extends Component {
8 |
9 | constructor(props) {
10 | super(props);
11 | this._goToURL = this._goToURL.bind(this);
12 |
13 | textColor = props.darkTheme ? '#333' : 'white';
14 | }
15 |
16 | static propTypes = {
17 | url: PropTypes.string.isRequired,
18 | title: PropTypes.string.isRequired,
19 | }
20 |
21 | render() {
22 |
23 | const {title} = this.props;
24 |
25 | return (
26 | {title}
27 | );
28 | }
29 |
30 | _goToURL() {
31 | const {url} = this.props;
32 | Linking.canOpenURL(url).then(supported => {
33 | if (supported) {
34 | Linking.openURL(this.props.url);
35 | } else {
36 | console.log('Don\'t know how to open URI: ' + this.props.url);
37 | }
38 | });
39 | }
40 | }
41 |
42 | const styles = StyleSheet.create({
43 | title: {
44 | /*color: '#0010ff',
45 | fontWeight: 'bold',
46 | borderBottomWidth:1,
47 | borderBottomColor:'#0010ff'*/
48 | }
49 | });
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'KBZApp'
2 | include ':react-native-firebase'
3 | project(':react-native-firebase').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-firebase/android')
4 | include ':rn-fetch-blob'
5 | project(':rn-fetch-blob').projectDir = new File(rootProject.projectDir, '../node_modules/rn-fetch-blob/android')
6 | include ':react-native-vector-icons'
7 | project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
8 | include ':react-native-splash-screen'
9 | project(':react-native-splash-screen').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-splash-screen/android')
10 | include ':react-native-share'
11 | project(':react-native-share').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share/android')
12 | include ':react-native-image-picker'
13 | project(':react-native-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-picker/android')
14 | include ':react-native-gesture-handler'
15 | project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')
16 | include ':react-native-fast-image'
17 | project(':react-native-fast-image').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fast-image/android')
18 |
19 | include ':app'
20 |
--------------------------------------------------------------------------------
/src/components/views/ErrorView.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | View,
4 | Text,
5 | } from "react-native";
6 | import Ionicons from '../Icons/Ionicons';
7 | import AppMessages from '../../globals/MessageConstants';
8 | import AppColors from '../../globals/ColorConstants';
9 | import AppConstant from '../../globals/AppConstants';
10 |
11 | export default class ErrorView extends React.Component {
12 |
13 | constructor(props) {
14 | super(props);
15 | }
16 |
17 | _onPressButton = () => {
18 | setTimeout(() => {
19 | this.props.onPressButton();
20 | }, AppConstant.DEFAULT_TOUCH_DELAY);
21 | };
22 |
23 | render() {
24 | return (
25 |
26 |
27 |
28 | {this.props.msg ? this.props.msg : AppMessages.INVALID_SERVER_RESPONSE}
29 |
30 | {this.props.showButton || this.props.showButton == undefined ? (
31 |
32 | ) : null}
33 |
34 | );
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/globals/AppConstants.js:
--------------------------------------------------------------------------------
1 | import {displayName as appName} from '../../app.json';
2 |
3 | module.exports = {
4 | APP_NAME: appName,
5 | //BASE_URL: "http://angelworkplace.com/home_cleaning/",
6 | API: {
7 | LOGIN_MODEL: 'res.partner',
8 | },
9 | /*Odoo: {
10 | host: '192.168.0.131',
11 | port: 8069, /!* Defaults to 80 if not specified *!/
12 | database: 'partner',
13 | username: 'admin', /!* Optional if using a stored session_id *!/
14 | password: 'a', /!* Optional if using a stored session_id *!/
15 | sid: '', /!* Optional if using username/password *!/
16 | protocol: 'http' /!* Defaults to http if not specified *!/
17 | },*/
18 |
19 | Odoo: {
20 | host: '103.138.233.100', //103.78.207.222
21 | port: 8833, /* Defaults to 80 if not specified */
22 | database: 'kbz_foods_v12c_001',
23 | username: 'admin', /* Optional if using a stored session_id */
24 | password: 'a', /* Optional if using a stored session_id */
25 | sid: '', /* Optional if using username/password */
26 | protocol: 'http' /* Defaults to http if not specified */
27 | },
28 | SCREEN_TITLE: {
29 | LOGIN: "LOGIN"
30 | },
31 | IMAGES: {
32 | PLACE_HOLDER_USER: require('../assets/images/user.jpg')
33 | },
34 | DEFAULT_TOUCH_DELAY: 200,
35 | USER_LOGIN_STATUS: {
36 | NEW: 'new',
37 | VERIFIED: 'verified',
38 | CANCELLED: 'cancelled'
39 | }
40 | }
--------------------------------------------------------------------------------
/android/app/BUCK:
--------------------------------------------------------------------------------
1 | # To learn about Buck see [Docs](https://buckbuild.com/).
2 | # To run your application with Buck:
3 | # - install Buck
4 | # - `npm start` - to start the packager
5 | # - `cd android`
6 | # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
7 | # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
8 | # - `buck install -r android/app` - compile, install and run application
9 | #
10 |
11 | load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
12 |
13 | lib_deps = []
14 |
15 | create_aar_targets(glob(["libs/*.aar"]))
16 |
17 | create_jar_targets(glob(["libs/*.jar"]))
18 |
19 | android_library(
20 | name = "all-libs",
21 | exported_deps = lib_deps,
22 | )
23 |
24 | android_library(
25 | name = "app-code",
26 | srcs = glob([
27 | "src/main/java/**/*.java",
28 | ]),
29 | deps = [
30 | ":all-libs",
31 | ":build_config",
32 | ":res",
33 | ],
34 | )
35 |
36 | android_build_config(
37 | name = "build_config",
38 | package = "com.kbzapp",
39 | )
40 |
41 | android_resource(
42 | name = "res",
43 | package = "com.kbzapp",
44 | res = "src/main/res",
45 | )
46 |
47 | android_binary(
48 | name = "app",
49 | keystore = "//android/keystores:debug",
50 | manifest = "src/main/AndroidManifest.xml",
51 | package_type = "debug",
52 | deps = [
53 | ":app-code",
54 | ],
55 | )
56 |
--------------------------------------------------------------------------------
/ios/KBZApp/AppDelegate.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Facebook, Inc. and its affiliates.
3 | *
4 | * This source code is licensed under the MIT license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | */
7 |
8 | #import "AppDelegate.h"
9 |
10 | #import
11 | #import
12 | #import
13 |
14 | @implementation AppDelegate
15 |
16 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
17 | {
18 | RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
19 | RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
20 | moduleName:@"KBZApp"
21 | initialProperties:nil];
22 |
23 | rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
24 |
25 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
26 | UIViewController *rootViewController = [UIViewController new];
27 | rootViewController.view = rootView;
28 | self.window.rootViewController = rootViewController;
29 | [self.window makeKeyAndVisible];
30 | return YES;
31 | }
32 |
33 | - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
34 | {
35 | #if DEBUG
36 | return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
37 | #else
38 | return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
39 | #endif
40 | }
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/src/redux/reducer.js:
--------------------------------------------------------------------------------
1 | import {combineReducers} from 'redux';
2 |
3 | const reducer_LoadingIndicator = (state = {isLoading: undefined}, action) => {
4 | switch (action.type) {
5 | case "LAODING_INDICATOR":
6 | return Object.assign({}, state, {
7 | isLoading: action.isLoading
8 | })
9 | default:
10 | return state;
11 | }
12 | }
13 |
14 | const reducer_NetworkStatus = (state = {loginUser: {}}, action) => {
15 | switch (action.type) {
16 | case "NETWORK_STATUS":
17 | return Object.assign({}, state, {
18 | isConnected: action.isConnected
19 | })
20 | default:
21 | return state;
22 | }
23 | }
24 |
25 | const reducer_GetOdooRes = (state = {response: {}}, action) => {
26 | switch (action.type) {
27 | case "ODOO_RESPONSE":
28 | return Object.assign({}, state, {
29 | response: action.response
30 | })
31 | default:
32 | return state;
33 | }
34 | }
35 |
36 |
37 | const reducer_UserLogin = (state = {user: undefined}, action) => {
38 | switch (action.type) {
39 | case "USER_LOGIN":
40 | return Object.assign({}, state, {
41 | user: action.user
42 | })
43 | default:
44 | return state;
45 | }
46 | }
47 |
48 |
49 | export default combineReducers({
50 | reducer_LoadingIndicator: reducer_LoadingIndicator,
51 | reducer_NetworkStatus: reducer_NetworkStatus,
52 | reducer_GetOdooRes: reducer_GetOdooRes,
53 | reducer_UserLogin: reducer_UserLogin
54 | })
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "KBZApp",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "start": "node node_modules/react-native/local-cli/cli.js start",
7 | "test": "jest",
8 | "build-apk": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res"
9 | },
10 | "dependencies": {
11 | "@twotalltotems/react-native-otp-input": "^1.0.21",
12 | "md5": "^2.2.1",
13 | "moment": "^2.24.0",
14 | "native-base": "^2.12.1",
15 | "react": "16.8.3",
16 | "react-native": "0.59.8",
17 | "react-native-communications": "^2.2.1",
18 | "react-native-event-listeners": "^1.0.3",
19 | "react-native-fast-image": "^6.0.1",
20 | "react-native-firebase": "^5.4.2",
21 | "react-native-gesture-handler": "^1.2.2",
22 | "react-native-image-picker": "^0.28.1",
23 | "react-native-indicators": "^0.13.0",
24 | "react-native-material-ripple": "^0.8.0",
25 | "react-native-odoo-promise-based": "^0.6.4",
26 | "react-native-share": "^1.2.1",
27 | "react-native-splash-screen": "^3.2.0",
28 | "react-native-swiper": "^1.5.14",
29 | "react-native-vector-icons": "^6.4.2",
30 | "react-navigation": "^2.9.1",
31 | "react-redux": "^7.0.3",
32 | "redux": "^4.0.1",
33 | "redux-persist": "^5.10.0",
34 | "rn-fetch-blob": "^0.10.15"
35 | },
36 | "devDependencies": {
37 | "@babel/core": "^7.4.5",
38 | "@babel/runtime": "^7.4.5",
39 | "babel-jest": "^24.8.0",
40 | "jest": "^24.8.0",
41 | "metro-react-native-babel-preset": "^0.54.1",
42 | "react-test-renderer": "16.8.3"
43 | },
44 | "jest": {
45 | "preset": "react-native"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/utils/F8Touchable.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2016 Facebook, Inc.
3 | *
4 | * You are hereby granted a non-exclusive, worldwide, royalty-free license to
5 | * use, copy, modify, and distribute this software in source code or binary
6 | * form for use in connection with the web services and APIs provided by
7 | * Facebook.
8 | *
9 | * As with any software that integrates with the Facebook platform, your use
10 | * of this software is subject to the Facebook Developer Principles and
11 | * Policies [http://developers.facebook.com/policy/]. This copyright notice
12 | * shall be included in all copies or substantial portions of the software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 | * DEALINGS IN THE SOFTWARE
21 | *
22 | * @providesModule F8Touchable
23 | * @flow
24 | */
25 |
26 | 'use strict';
27 |
28 | import React, {
29 | TouchableHighlight,
30 | TouchableNativeFeedback,
31 | Platform,
32 | } from 'react-native';
33 |
34 | function F8TouchableIOS(props: Object): ReactElement {
35 | return (
36 |
41 | );
42 | }
43 |
44 | const F8Touchable = Platform.OS === 'android'
45 | ? TouchableNativeFeedback
46 | : F8TouchableIOS;
47 |
48 | module.exports = F8Touchable;
49 |
--------------------------------------------------------------------------------
/src/AuthLoading.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import { View, Dimensions, ActivityIndicator } from 'react-native';
3 | import { connect } from 'react-redux';
4 | import AppColors from './globals/ColorConstants';
5 | import { action_NetworkStatus } from './redux/action';
6 | const { height, width } = Dimensions.get("window");
7 |
8 |
9 | class AuthLoading extends Component {
10 |
11 | constructor(props) {
12 | super(props)
13 |
14 | console.log("AuthLoading Root-->", JSON.stringify(props));
15 | this.state = {
16 | isLogin: props.user != undefined ? true : false,
17 | userLanguage: props.userLanguage
18 | }
19 | }
20 |
21 | componentDidMount(){
22 | console.log("AuthLoading componentDidMount-->", JSON.stringify(this.props));
23 |
24 | if (this.state.isLogin) {
25 | this.props.navigation.navigate('Home');
26 | } else {
27 | this.props.navigation.navigate('LoginStack');
28 | }
29 | }
30 |
31 | render() {
32 | return (
33 |
34 |
35 |
36 |
37 |
38 | )
39 | }
40 | }
41 |
42 | const mapStateToProps = (state) => ({
43 | isLoading: state.reducer_LoadingIndicator.isLoading,
44 | user: state.reducer_UserLogin.user
45 | })
46 |
47 | const mapDispatchToProps = dispatch => ({
48 | networkStatus: (props) => dispatch(action_NetworkStatus(props))
49 | })
50 |
51 | export default connect(mapStateToProps, mapDispatchToProps)(AuthLoading)
--------------------------------------------------------------------------------
/src/containers/screens/HeliconiaView.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import {Text} from "native-base";
3 | import {View} from "react-native";
4 | import HyperLink from "../../components/views/HyperLink";
5 | import FontAwesome from 'react-native-vector-icons/FontAwesome';
6 |
7 | let textColor = 'white'
8 | let showLink = true;
9 | let showWithLove = true;
10 |
11 | export default class HeliconiaView extends Component {
12 | constructor(props) {
13 | super(props);
14 |
15 | textColor = props.darkTheme ? "black" : "white"
16 | if (props.showLink != undefined) {
17 | showLink = props.showLink
18 | }
19 |
20 | if (props.showWithLove != undefined) {
21 | showWithLove = props.showWithLove
22 | }
23 | }
24 |
25 | render() {
26 | return (
27 |
28 | Powered By
29 | Heliconia Solutions Pvt. Ltd.
30 | {showLink && (
31 |
32 | )}
33 |
34 | {showWithLove && (
35 |
36 | Made In India With
37 |
38 |
39 | )}
40 |
41 | );
42 | }
43 | }
--------------------------------------------------------------------------------
/ios/KBZApp-tvOS/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 | NSExceptionAllowsInsecureHTTPLoads
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/android/app/src/main/java/com/kbzapp/MainApplication.java:
--------------------------------------------------------------------------------
1 | package com.kbzapp;
2 |
3 | import android.app.Application;
4 |
5 | import com.facebook.react.ReactApplication;
6 | import io.invertase.firebase.RNFirebasePackage;
7 | import com.RNFetchBlob.RNFetchBlobPackage;
8 | import com.oblador.vectoricons.VectorIconsPackage;
9 | import org.devio.rn.splashscreen.SplashScreenReactPackage;
10 | import cl.json.RNSharePackage;
11 | import com.imagepicker.ImagePickerPackage;
12 | import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
13 | import com.dylanvann.fastimage.FastImageViewPackage;
14 | import com.facebook.react.ReactNativeHost;
15 | import com.facebook.react.ReactPackage;
16 | import com.facebook.react.shell.MainReactPackage;
17 | import com.facebook.soloader.SoLoader;
18 | import io.invertase.firebase.auth.RNFirebaseAuthPackage;
19 |
20 | import java.util.Arrays;
21 | import java.util.List;
22 |
23 | public class MainApplication extends Application implements ReactApplication {
24 |
25 | private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
26 | @Override
27 | public boolean getUseDeveloperSupport() {
28 | return BuildConfig.DEBUG;
29 | }
30 |
31 | @Override
32 | protected List getPackages() {
33 | return Arrays.asList(
34 | new MainReactPackage(),
35 | new RNFirebasePackage(),
36 | new RNFirebaseAuthPackage(),
37 | new RNFetchBlobPackage(),
38 | new VectorIconsPackage(),
39 | new SplashScreenReactPackage(),
40 | new RNSharePackage(),
41 | new ImagePickerPackage(),
42 | new RNGestureHandlerPackage(),
43 | new FastImageViewPackage()
44 | );
45 | }
46 |
47 | @Override
48 | protected String getJSMainModuleName() {
49 | return "index";
50 | }
51 | };
52 |
53 | @Override
54 | public ReactNativeHost getReactNativeHost() {
55 | return mReactNativeHost;
56 | }
57 |
58 | @Override
59 | public void onCreate() {
60 | super.onCreate();
61 | SoLoader.init(this, /* native exopackage */ false);
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/ios/KBZAppTests/KBZAppTests.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Facebook, Inc. and its affiliates.
3 | *
4 | * This source code is licensed under the MIT license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | */
7 |
8 | #import
9 | #import
10 |
11 | #import
12 | #import
13 |
14 | #define TIMEOUT_SECONDS 600
15 | #define TEXT_TO_LOOK_FOR @"Welcome to React Native!"
16 |
17 | @interface KBZAppTests : XCTestCase
18 |
19 | @end
20 |
21 | @implementation KBZAppTests
22 |
23 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test
24 | {
25 | if (test(view)) {
26 | return YES;
27 | }
28 | for (UIView *subview in [view subviews]) {
29 | if ([self findSubviewInView:subview matching:test]) {
30 | return YES;
31 | }
32 | }
33 | return NO;
34 | }
35 |
36 | - (void)testRendersWelcomeScreen
37 | {
38 | UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];
39 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
40 | BOOL foundElement = NO;
41 |
42 | __block NSString *redboxError = nil;
43 | RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
44 | if (level >= RCTLogLevelError) {
45 | redboxError = message;
46 | }
47 | });
48 |
49 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
50 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
51 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
52 |
53 | foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) {
54 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
55 | return YES;
56 | }
57 | return NO;
58 | }];
59 | }
60 |
61 | RCTSetLogFunction(RCTDefaultLogFunction);
62 |
63 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
64 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
65 | }
66 |
67 |
68 | @end
69 |
--------------------------------------------------------------------------------
/src/components/Sidebar.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import { AppRegistry, Image, StatusBar } from "react-native";
3 | import {
4 | Button,
5 | Text,
6 | Container,
7 | List,
8 | ListItem,
9 | Content,
10 | Icon
11 | } from "native-base";
12 | const routes = ["Home", "Chat", "Profile"];
13 |
14 | export default class Sidebar extends React.Component {
15 | render() {
16 | return (
17 |
18 |
19 |
31 |
45 | {
49 | return (
50 | this.props.navigation.navigate(data)}
53 | >
54 | {data}
55 |
56 | );
57 | }}
58 | />
59 |
60 |
61 | );
62 | }
63 | }
--------------------------------------------------------------------------------
/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 | set DIRNAME=%~dp0
12 | if "%DIRNAME%" == "" set DIRNAME=.
13 | set APP_BASE_NAME=%~n0
14 | set APP_HOME=%DIRNAME%
15 |
16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 | set DEFAULT_JVM_OPTS=
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 Windows variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 |
53 | :win9xME_args
54 | @rem Slurp the command line arguments.
55 | set CMD_LINE_ARGS=
56 | set _SKIP=2
57 |
58 | :win9xME_args_slurp
59 | if "x%~1" == "x" goto execute
60 |
61 | set CMD_LINE_ARGS=%*
62 |
63 | :execute
64 | @rem Setup the command line
65 |
66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 |
68 | @rem Execute Gradle
69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 |
71 | :end
72 | @rem End local scope for the variables with windows NT shell
73 | if "%ERRORLEVEL%"=="0" goto mainEnd
74 |
75 | :fail
76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 | rem the _cmd.exe /c_ return code!
78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 | exit /b 1
80 |
81 | :mainEnd
82 | if "%OS%"=="Windows_NT" endlocal
83 |
84 | :omega
85 |
--------------------------------------------------------------------------------
/.flowconfig:
--------------------------------------------------------------------------------
1 | [ignore]
2 | ; We fork some components by platform
3 | .*/*[.]android.js
4 |
5 | ; Ignore "BUCK" generated dirs
6 | /\.buckd/
7 |
8 | ; Ignore unexpected extra "@providesModule"
9 | .*/node_modules/.*/node_modules/fbjs/.*
10 |
11 | ; Ignore duplicate module providers
12 | ; For RN Apps installed via npm, "Libraries" folder is inside
13 | ; "node_modules/react-native" but in the source repo it is in the root
14 | .*/Libraries/react-native/React.js
15 |
16 | ; Ignore polyfills
17 | .*/Libraries/polyfills/.*
18 |
19 | ; Ignore metro
20 | .*/node_modules/metro/.*
21 |
22 | [include]
23 |
24 | [libs]
25 | node_modules/react-native/Libraries/react-native/react-native-interface.js
26 | node_modules/react-native/flow/
27 |
28 | [options]
29 | emoji=true
30 |
31 | esproposal.optional_chaining=enable
32 | esproposal.nullish_coalescing=enable
33 |
34 | module.system=haste
35 | module.system.haste.use_name_reducers=true
36 | # get basename
37 | module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1'
38 | # strip .js or .js.flow suffix
39 | module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1'
40 | # strip .ios suffix
41 | module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1'
42 | module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1'
43 | module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
44 | module.system.haste.paths.blacklist=.*/__tests__/.*
45 | module.system.haste.paths.blacklist=.*/__mocks__/.*
46 | module.system.haste.paths.blacklist=/node_modules/react-native/Libraries/Animated/src/polyfills/.*
47 | module.system.haste.paths.whitelist=/node_modules/react-native/Libraries/.*
48 |
49 | munge_underscores=true
50 |
51 | 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'
52 |
53 | module.file_ext=.js
54 | module.file_ext=.jsx
55 | module.file_ext=.json
56 | module.file_ext=.native.js
57 |
58 | suppress_type=$FlowIssue
59 | suppress_type=$FlowFixMe
60 | suppress_type=$FlowFixMeProps
61 | suppress_type=$FlowFixMeState
62 |
63 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
64 | suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
65 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
66 | suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
67 |
68 | [version]
69 | ^0.92.0
70 |
--------------------------------------------------------------------------------
/ios/KBZApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | KBZApp
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1
25 | LSRequiresIPhoneOS
26 |
27 | NSLocationWhenInUseUsageDescription
28 |
29 | UILaunchStoryboardName
30 | LaunchScreen
31 | UIRequiredDeviceCapabilities
32 |
33 | armv7
34 |
35 | UISupportedInterfaceOrientations
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationLandscapeLeft
39 | UIInterfaceOrientationLandscapeRight
40 |
41 | UIViewControllerBasedStatusBarAppearance
42 |
43 | NSAppTransportSecurity
44 |
45 | NSAllowsArbitraryLoads
46 |
47 | NSExceptionDomains
48 |
49 | localhost
50 |
51 | NSExceptionAllowsInsecureHTTPLoads
52 |
53 |
54 |
55 |
56 | UIAppFonts
57 |
58 | AntDesign.ttf
59 | Entypo.ttf
60 | EvilIcons.ttf
61 | Feather.ttf
62 | FontAwesome.ttf
63 | FontAwesome5_Brands.ttf
64 | FontAwesome5_Regular.ttf
65 | FontAwesome5_Solid.ttf
66 | Foundation.ttf
67 | Ionicons.ttf
68 | MaterialCommunityIcons.ttf
69 | MaterialIcons.ttf
70 | Octicons.ttf
71 | Roboto_medium.ttf
72 | Roboto.ttf
73 | rubicon-icon-font.ttf
74 | SimpleLineIcons.ttf
75 | Zocial.ttf
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/src/globals/MessageConstants.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | MSG_NO_INTERNET: "Please check your internet connection !!!",
3 | MSG_NO_INTERNET_ON_SCREEN: "No Internet connection.\nMake sure that Wi-Fi or Celluar mobile data is turned on, then try again.",
4 |
5 | INVALID_SERVER_RESPONSE: "Invalid response from server !!!",
6 | EMPTY_SERVER_RESPONSE: "No data found",
7 |
8 | EMPTY_NO_RES_ALERTS: "No alerts found",
9 |
10 | PROMPT_LOGOUT: "Are you sure want to logout?",
11 | INVALID_LOGIN_FAIL_MESSAGE: "Invalid User",
12 |
13 | MSG_USER_EXIST: "EmailId already exist",
14 |
15 | //lOGIN
16 | PROMPT_MOBILE: 'Enter mobile',
17 | PROMPT_PWD: 'Enter password',
18 |
19 | EMPTY_PASSWORD: 'Please enter password',
20 | EMPTY_VERIFYPASSWORD: 'Please enter confirm password',
21 |
22 | INVALID_EMAIL: 'Enter valid email',
23 | INVALID_PASSWORD: 'Password length should be more than',
24 | INVALID_PASSWORD_DOESNOTMATCH: 'Password and confirm password does not match',
25 | INVALID_DETAILS: 'Invalid Mobile or Password',
26 | INVALID_LOGIN_STATUS_NEW: 'Your account is in under verification process,\n\n' +
27 | 'Please contact your Distributor to verify your Account Details.',
28 | INVALID_LOGIN_STATUS_CANCELLED: 'Your account has been cancelled,\n\n' +
29 | 'Please contact your Distributor to verify your Account Details.',
30 | LOGIN_SUCCESS: 'Login Success',
31 | INVALID_LOGIN_STATUS_UNKNOWN:"Invalid user status",
32 | //==//
33 |
34 | //REGISTER
35 | EMPTY_SHOP_NAME: 'Please enter shop name',
36 | EMPTY_OWNER_NAME: 'Please enter owner name',
37 | EMPTY_EMAIL: 'Please enter email',
38 | EMPTY_MOBILE: 'Please enter mobile',
39 | EMPTY_PASSWORD_REG: 'Please enter password',
40 | EMPTY_PASSWORD_CONFIRM_REG: 'Please enter confirm password',
41 | EMPTY_DIS_CODE: 'Please enter distributor code',
42 |
43 | INVALID_PASSWORD_LENGTH: 'Password length should be more than',
44 | INVALID_MOBILE_LENGTH: 'Mobile number length less than',
45 | INVALID_MOBILE: 'Please enter valid mobile number',
46 | INVALID_PASSWORD_REG: 'Confirm password does not match',
47 |
48 | REGISTERED_MOBILE: 'This mobile number is already registered.',
49 | INVALID_DISTRIBUTOR: 'Distributor code is not invalid.',
50 | //==//
51 |
52 | //Verification OTP
53 | DISPLAY_MSG: "Please type the verification code send to ",
54 | EMPTY_OTP: 'Please enter code',
55 | DISPLAY_MSG_SUCCESS: 'Your account has been created and needs to be verified by the Distributor.\n\n' +
56 | 'Please contact your Distributor to verify your Account Details.',
57 | //==//
58 | }
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/launch_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
18 |
19 |
27 |
28 |
36 |
37 |
42 |
43 |
51 |
52 |
61 |
62 |
73 |
74 |
--------------------------------------------------------------------------------
/src/utils/ValidationManager.js:
--------------------------------------------------------------------------------
1 | //---------------------------------------------------
2 | // Libraries & Class
3 | //---------------------------------------------------
4 |
5 | import React from 'react';
6 | import { Alert } from 'react-native';
7 | import AppConstants from '../globals/AppConstants';
8 |
9 | //---------------------------------------------------
10 | // Class: Validation
11 | //---------------------------------------------------
12 |
13 | class Validation {
14 |
15 | textInputCheck(txtInput, emptyMessage, notValidMessage) {
16 | var regex = /^[a-zA-Z ]+$/;
17 | console.log("TXTInput-->" + txtInput);
18 |
19 | if (txtInput !== null && (txtInput.length > 0)) {
20 |
21 | if (regex.test(txtInput)) {
22 | return true
23 | } else {
24 | Alert.alert(AppConstants.APP_NAME, notValidMessage)
25 | }
26 |
27 | } else {
28 | Alert.alert(AppConstants.APP_NAME, emptyMessage)
29 | return false
30 | }
31 | }
32 |
33 | dateCheck(date1, date2, message) {
34 | if (date1 > date2) {
35 | Alert.alert(AppConstants.APP_NAME, message)
36 | return false
37 | }
38 | return true
39 | }
40 |
41 | //Check empty TextInput
42 | emptyTextInput(txtInput, message) {
43 | if (txtInput == null || txtInput.length <= 0) {
44 | Alert.alert(AppConstants.APP_NAME, message)
45 | return false
46 | }
47 | return true
48 | }
49 |
50 | //Email Validation
51 | isValidEmail(email, message) {
52 | var regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
53 |
54 | if (!(regex.test(email))) {
55 | Alert.alert(AppConstants.APP_NAME, message)
56 | return false
57 | }
58 | return true
59 | }
60 |
61 | isValidMobileNumber(number, message) {
62 |
63 | var regex = /^[\s()+-]*([0-9][\s()+-]*){5,15}$/;
64 |
65 | if (!(regex.test(number))) {
66 | Alert.alert(AppConstants.APP_NAME, message)
67 | return false
68 | }
69 | return true
70 | }
71 |
72 | //Check Password length greater than minimum
73 | passwordLength(password, min, message) {
74 |
75 | if (password.length < min) {
76 | Alert.alert(AppConstants.APP_NAME, message + " " + min + " characters")
77 | return false
78 | }
79 | return true
80 | }
81 |
82 |
83 | passwordLength2(password, min, message) {
84 | if (password.length < min) {
85 | Alert.alert(AppConstants.APP_NAME, message)
86 | return false
87 | }
88 | return true
89 | }
90 |
91 | //Check if password is same
92 | samePassword(currentpwd, nwpwd, message) {
93 | if (currentpwd != nwpwd) {
94 | Alert.alert(AppConstants.APP_NAME, message)
95 | return false
96 | }
97 | return true
98 | }
99 | }
100 |
101 | module.exports = new Validation()
102 |
--------------------------------------------------------------------------------
/src/containers/navigator/RootNavigator.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {createSwitchNavigator} from 'react-navigation';
3 | import {createDrawerNavigator, DrawerActions} from 'react-navigation-drawer';
4 | import {createStackNavigator} from 'react-navigation-stack';
5 | import {Image, TouchableNativeFeedback, View} from 'react-native';
6 | import LoginScreen from '../screens/LoginScreen';
7 | import Register from '../screens/Register';
8 | import VerificationOTP from '../screens/VerificationOTP';
9 | import AppColors from '../../globals/ColorConstants';
10 | import globalStyles from '../../globals/GlobalStyles';
11 | import HomeScreen from '../screens/Home/HomeScreen';
12 | import F8Touchable from '../../utils/F8Touchable';
13 | //import Sidebar from '../../components/Sidebar';
14 | import DrawerScreen from '../../components/DrawerScreen';
15 | import AuthLoading from '../../AuthLoading';
16 |
17 | const MenuItem = ({navigation}) => {
18 | if (!navigation.state.isDrawerOpen) {
19 | return
20 | } else {
21 | return
22 | }
23 |
24 | }
25 |
26 | const RootStack = createStackNavigator({
27 | Home: HomeScreen
28 | },
29 | {
30 | initialRouteName: 'Home',
31 | navigationOptions: ({navigation}) => ({
32 | title: "Home Cleaner",
33 | headerLeft:
34 | {
37 | navigation.dispatch(DrawerActions.toggleDrawer())
38 | }}>
39 |
40 |
42 |
43 | ,
44 | headerTintColor: AppColors.HEADER_TINT_COLOR,
45 | headerStyle: globalStyles.headerStyle
46 | })
47 | }
48 | );
49 |
50 |
51 | export const HomeRoot = createDrawerNavigator({
52 | Home: {
53 | screen: RootStack
54 | }
55 | }, {
56 | initialRouteName: 'Home',
57 | contentComponent: DrawerScreen,
58 | drawerWidth: 260,
59 | drawerPosition: 'left',
60 | contentOptions: {
61 | activeTintColor: '#fff'
62 | }
63 | }
64 | )
65 |
66 |
67 | /*export const HomeRoot = createStackNavigator(
68 | {
69 | Home: HomeScreen
70 | }, {
71 | initialRouteName: 'Home',
72 | headerMode: 'none'
73 | }
74 | )*/
75 |
76 | export const LoginRoot = createStackNavigator(
77 | {
78 | Login: LoginScreen,
79 | Register: Register,
80 | VerificationOTP: VerificationOTP,
81 | }, {
82 | initialRouteName: 'Login',
83 | headerMode: 'none'
84 | }
85 | )
86 |
87 | export const MainRoot = createSwitchNavigator({
88 | AuthLoading: AuthLoading,
89 | LoginStack: LoginRoot,
90 | Home: HomeRoot
91 | })
92 |
--------------------------------------------------------------------------------
/src/utils/api.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Alert, AsyncStorage } from 'react-native';
3 | import AppConstants from '../globals/AppConstants';
4 |
5 | const METHOD_TYPE_POST = "POST";
6 | const METHOD_TYPE_GET = "GET";
7 |
8 | const RETURN_TYPE_JSON = "JSON";
9 |
10 | export const API = {
11 | login: (onResponse, data, isHeaderRequired) => {
12 | request(onResponse, data, METHOD_TYPE_POST, RETURN_TYPE_JSON, isHeaderRequired, AppConstants.BASE_URL + AppConstants.API.LOGIN, buildHeader());
13 | },
14 | getServices: (onResponse, data, isHeaderRequired) => {
15 | request(onResponse, data, METHOD_TYPE_POST, RETURN_TYPE_JSON, isHeaderRequired, AppConstants.BASE_URL + AppConstants.API.GET_SERVICES, buildHeader());
16 | }
17 | }
18 | export const buildHeader = (headerParams = { token: 123, user: true }) => {
19 | var header = {
20 | 'Accept': 'application/json',
21 | 'Content-Type': 'application/json'
22 | }
23 | Object.assign(header, headerParams);
24 | return header;
25 | }
26 |
27 |
28 | async function request(onResponse, data, type, returnType, isHeaderRequired, featureURL, secureRequest) {
29 | let response = '';
30 | let responseJSON;
31 | console.log("featureURL >>> " + featureURL);
32 | console.log("secureRequest " + JSON.stringify(secureRequest));
33 | console.log("data >>> " + JSON.stringify(data));
34 | console.log("returnType " + returnType);
35 | console.log("isHeaderRequired " + isHeaderRequired);
36 | console.log("type " + type);
37 |
38 | try {
39 | if (type === 'GET') {
40 | if (isHeaderRequired) {
41 | console.log("Request Call get with Header");
42 | response = await fetch(featureURL, {
43 | method: type,
44 | headers: secureRequest
45 | });
46 | }
47 | else {
48 | console.log("Request Call get without header");
49 | response = await fetch(featureURL, {
50 | method: type,
51 | });
52 | }
53 | }
54 | else {
55 | console.log("Request Call post with header");
56 | response = await fetch(featureURL, {
57 | method: type,
58 | headers: secureRequest,
59 | body: JSON.stringify(data)
60 | });
61 | }
62 | //console.log("response " ,JSON.stringify(response));
63 | console.log("response status " + response.status);
64 | if (returnType === 'TEXT') {
65 | responseJSON = await response.text();
66 | }
67 | else {
68 | responseJSON = await response.json();
69 | }
70 | console.log("responseJSON ", JSON.stringify(responseJSON));
71 |
72 | if (response.status == 200) {
73 | console.log("onResponse success ");
74 | onResponse.success(responseJSON);
75 | } else {
76 | console.log("onResponse error");
77 | onResponse.error(responseJSON);
78 | }
79 | // if (onResponse.complete) {
80 | // console.log("onResponse complete");
81 | // onResponse.complete();
82 | // }
83 | } catch (error) {
84 | console.log("onResponse catch error " + error);
85 | // if (onResponse.complete) {
86 | // console.log("onResponse catch complete");
87 | // onResponse.complete();
88 | // }
89 | }
90 | }
--------------------------------------------------------------------------------
/ios/KBZApp/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 |
--------------------------------------------------------------------------------
/src/components/DrawerScreen.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import {Dimensions, FlatList, Image, ImageBackground, Text, View} from 'react-native';
3 | import { NavigationActions, DrawerActions} from 'react-navigation';
4 | import AppColors from '../globals/ColorConstants';
5 | import Ripple from 'react-native-material-ripple';
6 | import HeliconiaView from "../containers/screens/HeliconiaView";
7 | import AppConstants from '../globals/AppConstants';
8 |
9 | const {height, width} = Dimensions.get("screen");
10 |
11 | const routes = [
12 | {name: "Dashboard", route: 'home', image: require('../assets/images/ic_menu_home.png'), selected: true},
13 | {name: "Your Request", route: 'your_request', image: require('../assets/images/ic_menu_request.png'), selected: false},
14 | {name: "My Profile", route: 'my_profile', image: require('../assets/images/ic_menu__my_account.png'), selected: false},
15 | {name: "Logout", route: 'logout', image: require('../assets/images/ic_menu_signout.png'), selected: false}
16 | ];
17 |
18 | class DrawerScreen extends Component {
19 |
20 | renderItem = (item) => {
21 | return (