Nano santé OK
This commit is contained in:
parent
a40786c779
commit
e6a51feb48
8
App.js
8
App.js
|
@ -83,6 +83,9 @@ import CasserEpargneUser from './screens/nano-credit/CasserEpargneUser';
|
|||
import {IlinkEmitter} from './utils/events';
|
||||
import EnvoieWalletToBankAgent from "./screens/wallet/agent/EnvoieWalletToBankAgent";
|
||||
import ReattachAccountUser from "./screens/wallet/user/ReattachAccountUser";
|
||||
import AcceptPrestationAgent from "./screens/nano-sante/AcceptPrestationAgent";
|
||||
import SouscrireAssuranceUser from "./screens/nano-sante/SouscrireAssuranceUser";
|
||||
import AskPrestationUser from "./screens/nano-sante/AskPrestationUser";
|
||||
|
||||
|
||||
const instructions = Platform.select({
|
||||
|
@ -137,6 +140,8 @@ const AppStack = createDrawerNavigator({
|
|||
reattachAccountUser: ReattachAccountUser,
|
||||
epargnerArgentUser: EpargnerArgentUser,
|
||||
createGroupNanoCredit: CreateGroupNanoCredit,
|
||||
souscrireAssuranceUser: SouscrireAssuranceUser,
|
||||
askPrestationUser: AskPrestationUser,
|
||||
groupNanoCredit: {
|
||||
screen: createBottomTabNavigator({
|
||||
demandeValidationGroupe: {
|
||||
|
@ -264,6 +269,7 @@ const AppAgentStack = createDrawerNavigator({
|
|||
envoieWalletToBankAgent: EnvoieWalletToBankAgent,
|
||||
createGroupNanoCredit: CreateGroupNanoCredit,
|
||||
cautionNanoCreditAgent: CautionNanoCreditAgent,
|
||||
acceptPrestationAgent: AcceptPrestationAgent
|
||||
})
|
||||
}, {
|
||||
contentComponent: OptionsMenu,
|
||||
|
@ -398,6 +404,7 @@ class App extends React.Component {
|
|||
OneSignal.setLogLevel(6, 0);
|
||||
IlinkEmitter.on("langueChange", this.updateLangue.bind(this))
|
||||
// Replace 'YOUR_ONESIGNAL_APP_ID' with your OneSignal App ID.
|
||||
/*
|
||||
OneSignal.init("e8e7251f-713d-4658-9510-86d877fa6a7c", {
|
||||
kOSSettingsKeyAutoPrompt: false,
|
||||
kOSSettingsKeyInAppLaunchURL: false,
|
||||
|
@ -411,6 +418,7 @@ class App extends React.Component {
|
|||
OneSignal.addEventListener('received', this.onReceived);
|
||||
OneSignal.addEventListener('opened', this.onOpened);
|
||||
OneSignal.addEventListener('ids', this.onIds);
|
||||
*/
|
||||
}
|
||||
|
||||
updateLangue() {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5,11 +5,8 @@ import android.content.Context;
|
|||
|
||||
import com.facebook.react.PackageList;
|
||||
import com.facebook.react.ReactApplication;
|
||||
<<<<<<< Updated upstream:android/app/src/main/java/com/ilinktest/MainApplication.java
|
||||
import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
|
||||
=======
|
||||
import com.airbnb.android.react.lottie.LottiePackage;
|
||||
>>>>>>> Stashed changes:android/app/src/main/java/com/appli/ilink/MainApplication.java
|
||||
import com.facebook.react.ReactNativeHost;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.soloader.SoLoader;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"name": "iLinkWorld",
|
||||
"name": "iLink",
|
||||
"displayName": "iLinkWorld"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,88 +1,84 @@
|
|||
{
|
||||
"name": "react-native",
|
||||
"version": "0.61.5",
|
||||
"bin": "./cli.js",
|
||||
"description": "A framework for building native apps using React",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:facebook/react-native.git"
|
||||
"_from": "react-native@0.61.5",
|
||||
"_id": "react-native@0.61.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-MXqE3NoGO0T3dUKIKkIppijBhRRMpfN6ANbhMXHDuyfA+fSilRWgCwYgR/YNCC7ntECoJYikKaNTUBB0DeQy6Q==",
|
||||
"_location": "/react-native",
|
||||
"_phantomChildren": {
|
||||
"@hapi/joi": "15.1.1",
|
||||
"@react-native-community/cli-debugger-ui": "3.0.0",
|
||||
"@react-native-community/cli-tools": "3.0.0",
|
||||
"@react-native-community/cli-types": "3.0.0",
|
||||
"@types/istanbul-lib-coverage": "2.0.1",
|
||||
"@types/istanbul-reports": "1.1.1",
|
||||
"@types/yargs-parser": "15.0.0",
|
||||
"chalk": "2.4.2",
|
||||
"command-exists": "1.2.9",
|
||||
"commander": "2.20.3",
|
||||
"compression": "1.7.4",
|
||||
"connect": "3.7.0",
|
||||
"core-js": "2.6.11",
|
||||
"cosmiconfig": "5.2.1",
|
||||
"deepmerge": "3.3.0",
|
||||
"didyoumean": "1.2.1",
|
||||
"envinfo": "7.7.4",
|
||||
"errorhandler": "1.5.1",
|
||||
"execa": "1.0.0",
|
||||
"fbjs-css-vars": "1.0.2",
|
||||
"fs-extra": "7.0.1",
|
||||
"glob": "7.1.6",
|
||||
"graceful-fs": "4.2.3",
|
||||
"inquirer": "3.3.0",
|
||||
"isomorphic-fetch": "2.2.1",
|
||||
"lodash": "4.17.15",
|
||||
"loose-envify": "1.4.0",
|
||||
"metro": "0.56.4",
|
||||
"metro-config": "0.56.4",
|
||||
"metro-core": "0.56.4",
|
||||
"metro-react-native-babel-transformer": "0.56.4",
|
||||
"minimist": "1.2.4",
|
||||
"mkdirp": "0.5.1",
|
||||
"morgan": "1.10.0",
|
||||
"node-notifier": "5.4.3",
|
||||
"object-assign": "4.1.1",
|
||||
"open": "6.4.0",
|
||||
"ora": "3.4.0",
|
||||
"p-limit": "2.2.2",
|
||||
"plist": "3.0.1",
|
||||
"promise": "7.3.1",
|
||||
"react-is": "16.13.0",
|
||||
"serve-static": "1.14.1",
|
||||
"setimmediate": "1.0.5",
|
||||
"shell-quote": "1.6.1",
|
||||
"sudo-prompt": "9.2.1",
|
||||
"ua-parser-js": "0.7.21",
|
||||
"wcwidth": "1.0.1",
|
||||
"ws": "1.1.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.3"
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "react-native@0.61.5",
|
||||
"name": "react-native",
|
||||
"escapedName": "react-native",
|
||||
"rawSpec": "0.61.5",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.61.5"
|
||||
},
|
||||
"jest-junit": {
|
||||
"outputDirectory": "reports/junit",
|
||||
"outputName": "js-test-results.xml"
|
||||
},
|
||||
"main": "Libraries/react-native/react-native-implementation.js",
|
||||
"files": [
|
||||
".flowconfig",
|
||||
"android",
|
||||
"cli.js",
|
||||
"flow",
|
||||
"init.sh",
|
||||
"scripts/compose-source-maps.js",
|
||||
"scripts/ios-configure-glog.sh",
|
||||
"scripts/ios-install-third-party.sh",
|
||||
"scripts/launchPackager.bat",
|
||||
"scripts/launchPackager.command",
|
||||
"scripts/node-binary.sh",
|
||||
"scripts/packager.sh",
|
||||
"scripts/react-native-xcode.sh",
|
||||
"jest-preset.js",
|
||||
"jest",
|
||||
"lib",
|
||||
"rn-get-polyfills.js",
|
||||
"Libraries",
|
||||
"LICENSE",
|
||||
"packager",
|
||||
"react-native.config.js",
|
||||
"react.gradle",
|
||||
"React.podspec",
|
||||
"React-Core.podspec",
|
||||
"React",
|
||||
"ReactAndroid",
|
||||
"ReactCommon",
|
||||
"README.md",
|
||||
"third-party-podspecs",
|
||||
"template",
|
||||
"local-cli",
|
||||
"template.config.js",
|
||||
"!template/node_modules",
|
||||
"!template/yarn.lock",
|
||||
"!template/package-lock.json"
|
||||
"_requiredBy": [
|
||||
"/"
|
||||
],
|
||||
"scripts": {
|
||||
"start": "react-native start",
|
||||
"test": "jest",
|
||||
"test-ci": "jest --maxWorkers=2 --ci --reporters=\"default\" --reporters=\"jest-junit\"",
|
||||
"flow": "flow",
|
||||
"flow-check-ios": "flow check",
|
||||
"flow-check-android": "flow check --flowconfig-name .flowconfig.android",
|
||||
"lint": "eslint .",
|
||||
"lint-ci": "./scripts/circleci/analyze_code.sh && yarn shellcheck",
|
||||
"shellcheck": "./scripts/circleci/analyze_scripts.sh",
|
||||
"clang-format": "clang-format -i --glob=*/**/*.{h,cpp,m,mm}",
|
||||
"format": "npm run prettier && npm run clang-format",
|
||||
"prettier": "prettier --write \"./**/*.{js,md,yml}\"",
|
||||
"format-check": "prettier --list-different \"./**/*.{js,md,yml}\"",
|
||||
"docker-setup-android": "docker pull reactnativecommunity/react-native-android",
|
||||
"docker-build-android": "docker build -t reactnativeci/android -f .circleci/Dockerfiles/Dockerfile.android .",
|
||||
"test-android-run-instrumentation": "docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-instrumentation-tests.sh",
|
||||
"test-android-run-unit": "docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-unit-tests.sh",
|
||||
"test-android-run-e2e": "docker run --privileged -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-ci-e2e-tests.sh --android --js",
|
||||
"test-android-all": "yarn run docker-build-android && yarn run test-android-run-unit && yarn run test-android-run-instrumentation && yarn run test-android-run-e2e",
|
||||
"test-android-instrumentation": "yarn run docker-build-android && yarn run test-android-run-instrumentation",
|
||||
"test-android-unit": "yarn run docker-build-android && yarn run test-android-run-unit",
|
||||
"test-android-e2e": "yarn run docker-build-android && yarn run test-android-run-e2e",
|
||||
"build-ios-e2e": "detox build -c ios.sim.release",
|
||||
"test-ios-e2e": "detox test -c ios.sim.release RNTester/e2e",
|
||||
"test-ios": "./scripts/objc-test.sh test"
|
||||
"_resolved": "https://registry.npmjs.org/react-native/-/react-native-0.61.5.tgz",
|
||||
"_shasum": "6e21acb56cbd75a3baeb1f70201a66f42600bba8",
|
||||
"_spec": "react-native@0.61.5",
|
||||
"_where": "/Users/retina/Documents/Projets/iLinkWorld",
|
||||
"bin": {
|
||||
"react-native": "cli.js"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "16.9.0"
|
||||
"bugs": {
|
||||
"url": "https://github.com/facebook/react-native/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.0.0",
|
||||
"@react-native-community/cli": "^3.0.0",
|
||||
|
@ -114,6 +110,27 @@
|
|||
"stacktrace-parser": "^0.1.3",
|
||||
"whatwg-fetch": "^3.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "A framework for building native apps using React",
|
||||
"detox": {
|
||||
"test-runner": "jest",
|
||||
"runner-config": "RNTester/e2e/config.json",
|
||||
"specs": "",
|
||||
"configurations": {
|
||||
"ios.sim.release": {
|
||||
"binaryPath": "RNTester/build/Build/Products/Release-iphonesimulator/RNTester.app/",
|
||||
"build": "xcodebuild -workspace RNTester/RNTesterPods.xcworkspace -scheme RNTester -configuration Release -sdk iphonesimulator -derivedDataPath RNTester/build -UseModernBuildSystem=NO -quiet",
|
||||
"type": "ios.simulator",
|
||||
"name": "iPhone 6s"
|
||||
},
|
||||
"ios.sim.debug": {
|
||||
"binaryPath": "RNTester/build/Build/Products/Debug-iphonesimulator/RNTester.app/",
|
||||
"build": "xcodebuild -workspace RNTester/RNTesterPods.xcworkspace -scheme RNTester -configuration Debug -sdk iphonesimulator -derivedDataPath RNTester/build -UseModernBuildSystem=NO -quiet",
|
||||
"type": "ios.simulator",
|
||||
"name": "iPhone 6s"
|
||||
}
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"@babel/generator": "^7.0.0",
|
||||
|
@ -151,23 +168,87 @@
|
|||
"ws": "^6.1.4",
|
||||
"yargs": "^9.0.0"
|
||||
},
|
||||
"detox": {
|
||||
"test-runner": "jest",
|
||||
"runner-config": "RNTester/e2e/config.json",
|
||||
"specs": "",
|
||||
"configurations": {
|
||||
"ios.sim.release": {
|
||||
"binaryPath": "RNTester/build/Build/Products/Release-iphonesimulator/RNTester.app/",
|
||||
"build": "xcodebuild -workspace RNTester/RNTesterPods.xcworkspace -scheme RNTester -configuration Release -sdk iphonesimulator -derivedDataPath RNTester/build -UseModernBuildSystem=NO -quiet",
|
||||
"type": "ios.simulator",
|
||||
"name": "iPhone 6s"
|
||||
},
|
||||
"ios.sim.debug": {
|
||||
"binaryPath": "RNTester/build/Build/Products/Debug-iphonesimulator/RNTester.app/",
|
||||
"build": "xcodebuild -workspace RNTester/RNTesterPods.xcworkspace -scheme RNTester -configuration Debug -sdk iphonesimulator -derivedDataPath RNTester/build -UseModernBuildSystem=NO -quiet",
|
||||
"type": "ios.simulator",
|
||||
"name": "iPhone 6s"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"engines": {
|
||||
"node": ">=8.3"
|
||||
},
|
||||
"files": [
|
||||
".flowconfig",
|
||||
"android",
|
||||
"cli.js",
|
||||
"flow",
|
||||
"init.sh",
|
||||
"scripts/compose-source-maps.js",
|
||||
"scripts/ios-configure-glog.sh",
|
||||
"scripts/ios-install-third-party.sh",
|
||||
"scripts/launchPackager.bat",
|
||||
"scripts/launchPackager.command",
|
||||
"scripts/node-binary.sh",
|
||||
"scripts/packager.sh",
|
||||
"scripts/react-native-xcode.sh",
|
||||
"jest-preset.js",
|
||||
"jest",
|
||||
"lib",
|
||||
"rn-get-polyfills.js",
|
||||
"Libraries",
|
||||
"LICENSE",
|
||||
"packager",
|
||||
"react-native.config.js",
|
||||
"react.gradle",
|
||||
"React.podspec",
|
||||
"React-Core.podspec",
|
||||
"React",
|
||||
"ReactAndroid",
|
||||
"ReactCommon",
|
||||
"README.md",
|
||||
"third-party-podspecs",
|
||||
"template",
|
||||
"local-cli",
|
||||
"template.config.js",
|
||||
"!template/node_modules",
|
||||
"!template/yarn.lock",
|
||||
"!template/package-lock.json"
|
||||
],
|
||||
"homepage": "https://github.com/facebook/react-native#readme",
|
||||
"jest-junit": {
|
||||
"outputDirectory": "reports/junit",
|
||||
"outputName": "js-test-results.xml"
|
||||
},
|
||||
"license": "MIT",
|
||||
"main": "Libraries/react-native/react-native-implementation.js",
|
||||
"name": "react-native",
|
||||
"peerDependencies": {
|
||||
"react": "16.9.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/facebook/react-native.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build-ios-e2e": "detox build -c ios.sim.release",
|
||||
"clang-format": "clang-format -i --glob=*/**/*.{h,cpp,m,mm}",
|
||||
"docker-build-android": "docker build -t reactnativeci/android -f .circleci/Dockerfiles/Dockerfile.android .",
|
||||
"docker-setup-android": "docker pull reactnativecommunity/react-native-android",
|
||||
"flow": "flow",
|
||||
"flow-check-android": "flow check --flowconfig-name .flowconfig.android",
|
||||
"flow-check-ios": "flow check",
|
||||
"format": "npm run prettier && npm run clang-format",
|
||||
"format-check": "prettier --list-different \"./**/*.{js,md,yml}\"",
|
||||
"lint": "eslint .",
|
||||
"lint-ci": "./scripts/circleci/analyze_code.sh && yarn shellcheck",
|
||||
"prettier": "prettier --write \"./**/*.{js,md,yml}\"",
|
||||
"shellcheck": "./scripts/circleci/analyze_scripts.sh",
|
||||
"start": "react-native start",
|
||||
"test": "jest",
|
||||
"test-android-all": "yarn run docker-build-android && yarn run test-android-run-unit && yarn run test-android-run-instrumentation && yarn run test-android-run-e2e",
|
||||
"test-android-e2e": "yarn run docker-build-android && yarn run test-android-run-e2e",
|
||||
"test-android-instrumentation": "yarn run docker-build-android && yarn run test-android-run-instrumentation",
|
||||
"test-android-run-e2e": "docker run --privileged -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-ci-e2e-tests.sh --android --js",
|
||||
"test-android-run-instrumentation": "docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-instrumentation-tests.sh",
|
||||
"test-android-run-unit": "docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-unit-tests.sh",
|
||||
"test-android-unit": "yarn run docker-build-android && yarn run test-android-run-unit",
|
||||
"test-ci": "jest --maxWorkers=2 --ci --reporters=\"default\" --reporters=\"jest-junit\"",
|
||||
"test-ios": "./scripts/objc-test.sh test",
|
||||
"test-ios-e2e": "detox test -c ios.sim.release RNTester/e2e"
|
||||
},
|
||||
"version": "0.61.5"
|
||||
}
|
||||
|
|
2
app.json
2
app.json
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"name": "iLink",
|
||||
"name": "iLinkWorld",
|
||||
"displayName": "iLinkWorld"
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -6,7 +6,7 @@
|
|||
"start": "node node_modules/react-native/local-cli/cli.js start",
|
||||
"test": "jest",
|
||||
"postinstall": "node ./fix-android/android-release-fix.js",
|
||||
"release-build": "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/build/intermediates/res/merged/release/ && rm -rf ./android/app/src/main/res/drawable-* && rm -rf ./android/app/src/main/res/raw/* && cd ./android && ./gradlew assembleRelease && cd .. && adb install ./android/app/build/outputs/apk/release/app-release.apk",
|
||||
"release-build": "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/build/intermediates/res/merged/release/ && rm -rf ./android/app/src/main/res/drawable-* && rm -rf ./android/app/src/main/res/raw/* && cd ./android && ./gradlew assembleRelease -x bundleReleaseJsAndAssets && cd .. && adb install ./android/app/build/outputs/apk/release/app-release.apk",
|
||||
"debug-build": "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/ && cd ./android && ./gradlew assembleDebug && cd .. && adb install ./android/app/build/outputs/apk/debug/app-debug.apk",
|
||||
"start-emulator": "emulator -avd Nexus_5X_API_29 -dns-server 8.8.8.8",
|
||||
"start-emulator-pixel": "emulator -avd Pixel_2_API_29 -dns-server 8.8.8.8",
|
||||
|
|
|
@ -64,5 +64,8 @@
|
|||
"cautionNanoCreditAgent": "cautionNanoCreditAgent",
|
||||
"epargnerArgentUser": "epargnerArgentUser",
|
||||
"casserEpargneUser": "casserEpargneUser",
|
||||
"reattachAccountUser": "reattachAccountUser"
|
||||
"reattachAccountUser": "reattachAccountUser",
|
||||
"acceptPrestationAgent": "acceptPrestationAgent",
|
||||
"souscrireAssuranceUser": "souscrireAssuranceUser",
|
||||
"askPrestationUser": "askPrestationUser"
|
||||
}
|
||||
|
|
|
@ -45,7 +45,6 @@ import InterticielAds from './../ads/InterticielAds'
|
|||
import SnackBar from 'react-native-snackbar-component'
|
||||
import {FAB, Surface} from 'react-native-paper'
|
||||
import BottomSheet from 'reanimated-bottom-sheet'
|
||||
import MarkerManager from './../../webservice/persistences/MarkerManager'
|
||||
import {bindActionCreators} from 'redux';
|
||||
import getAuthApiKey from '../../webservice/AuthKeyApi';
|
||||
import {connect} from 'react-redux';
|
||||
|
@ -309,7 +308,6 @@ class Home extends BaseScreen {
|
|||
this.mounted = true;
|
||||
this.configuration = new Configuration()
|
||||
const {navigation} = this.props;
|
||||
this.markerManager = new MarkerManager()
|
||||
this.configuration.getCurrentPubValue().then((value) => {
|
||||
try {
|
||||
const val = parseInt(value)
|
||||
|
@ -1653,7 +1651,7 @@ class Home extends BaseScreen {
|
|||
translucent={true}
|
||||
/>
|
||||
{/* Start here to comment */}
|
||||
{/*{
|
||||
{
|
||||
(this.state.loadingDialog || this.props.loading) ?
|
||||
<View
|
||||
style={{
|
||||
|
@ -1705,7 +1703,7 @@ class Home extends BaseScreen {
|
|||
}
|
||||
}])
|
||||
}}
|
||||
/>*/}
|
||||
/>
|
||||
{this.makeCardSearch()}
|
||||
{this.makeSlidingUp()}
|
||||
{this.makeDialogLoader()}
|
||||
|
@ -2088,8 +2086,6 @@ class Home extends BaseScreen {
|
|||
)
|
||||
}
|
||||
|
||||
markerManager: MarkerManager
|
||||
|
||||
getHypervisorActionButton() {
|
||||
return (<ActionButton
|
||||
buttonColor={theme.accent}
|
||||
|
@ -2806,4 +2802,4 @@ const styles = StyleSheet.create({
|
|||
color: '#333333',
|
||||
marginBottom: 5,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
|
|
@ -0,0 +1,152 @@
|
|||
import React, {Component} from 'react';
|
||||
import {Color} from "../../config/Color";
|
||||
import I18n from "react-native-i18n";
|
||||
import * as Animatable from "react-native-animatable";
|
||||
import {Fumi} from "react-native-textinput-effects";
|
||||
import FontAwesomeIcon from "react-native-vector-icons/FontAwesome";
|
||||
import {ScrollView, StyleSheet, Text, View} from "react-native";
|
||||
import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions";
|
||||
import {FontWeight, Typography} from "../../config/typography";
|
||||
import Button from "apsl-react-native-button";
|
||||
|
||||
|
||||
export default class AcceptPrestationAgent extends Component {
|
||||
|
||||
static navigatorStyle = {
|
||||
navBarBackgroundColor: Color.primaryColor,
|
||||
statusBarColor: Color.primaryDarkColor,
|
||||
navBarTextColor: '#FFFFFF',
|
||||
navBarButtonColor: '#FFFFFF'
|
||||
|
||||
};
|
||||
|
||||
static navigationOptions = () => {
|
||||
return {
|
||||
drawerLabel: () => null,
|
||||
headerTitle: I18n.t('ACCEPTER_PRESTATION'),
|
||||
headerTintColor: 'white',
|
||||
headerStyle: {
|
||||
backgroundColor: Color.primaryColor,
|
||||
marginTop: 0,
|
||||
color: 'white'
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: "white"
|
||||
},
|
||||
title: I18n.t('ACCEPTER_PRESTATION')
|
||||
}
|
||||
};
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
password: null,
|
||||
numeroTelephone: null
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<ScrollView style={styles.container}>
|
||||
|
||||
<Text style={styles.subbigtitle}>{I18n.t('ACCEPTER_PRESTATION')}</Text>
|
||||
<Animatable.View ref={(comp) => {
|
||||
this.numeroTelephoneAnim = comp
|
||||
}}>
|
||||
<Fumi iconClass={FontAwesomeIcon} iconName="phone"
|
||||
label={I18n.t('PHONE')}
|
||||
iconColor={'#f95a25'}
|
||||
keyboardType='phone-pad'
|
||||
iconSize={20}
|
||||
value={this.state.numeroTelephone}
|
||||
onChangeText={(numeroTelephone) => {
|
||||
this.setState({numeroTelephone})
|
||||
}}
|
||||
style={styles.input}
|
||||
>
|
||||
</Fumi>
|
||||
</Animatable.View>
|
||||
|
||||
<Animatable.View ref={(comp) => {
|
||||
this.passwordAnim = comp
|
||||
}}>
|
||||
<Fumi iconClass={FontAwesomeIcon} iconName={'lock'}
|
||||
label={I18n.t('PASSWORD')}
|
||||
iconColor={'#f95a25'}
|
||||
iconSize={20}
|
||||
secureTextEntry={true}
|
||||
value={this.state.password}
|
||||
onChangeText={(password) => {
|
||||
this.setState({password})
|
||||
}}
|
||||
style={styles.input}
|
||||
>
|
||||
</Fumi>
|
||||
</Animatable.View>
|
||||
|
||||
<Button style={styles.btnvalide}
|
||||
textStyle={styles.textbtnvalide}
|
||||
onPress={() => {
|
||||
//this.onSubmitSendWalletToCard()
|
||||
}}>
|
||||
{I18n.t('SUBMIT_LABEL')}</Button>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: Color.primaryDarkColor,
|
||||
},
|
||||
textbtnvalide: {
|
||||
color: 'white',
|
||||
fontWeight: 'bold'
|
||||
},
|
||||
bigtitle: {
|
||||
color: 'white',
|
||||
fontSize: 20,
|
||||
flex: 1,
|
||||
fontWeight: 'bold',
|
||||
textAlign: 'center',
|
||||
margin: 20,
|
||||
},
|
||||
blockView: {
|
||||
paddingVertical: 10,
|
||||
borderBottomWidth: 1
|
||||
},
|
||||
subbigtitle: {
|
||||
color: 'white',
|
||||
fontSize: 17,
|
||||
textAlign: 'center',
|
||||
margin: 5,
|
||||
},
|
||||
btnvalide: {
|
||||
marginTop: 20,
|
||||
marginLeft: 20,
|
||||
marginRight: 20,
|
||||
borderColor: 'transparent',
|
||||
backgroundColor: Color.accentLightColor,
|
||||
height: 52
|
||||
},
|
||||
btnSubmit: {
|
||||
marginTop: 20,
|
||||
borderColor: 'transparent',
|
||||
backgroundColor: Color.accentLightColor,
|
||||
height: 52,
|
||||
width: "30%",
|
||||
marginLeft: 20,
|
||||
marginRight: 20,
|
||||
},
|
||||
input: {
|
||||
height: 60,
|
||||
marginTop: responsiveHeight(2),
|
||||
marginLeft: responsiveWidth(5),
|
||||
marginRight: responsiveWidth(5),
|
||||
borderRadius: 5,
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
import React, {Component} from 'react';
|
||||
import {Color} from "../../config/Color";
|
||||
import I18n from "react-native-i18n";
|
||||
import * as Animatable from "react-native-animatable";
|
||||
import {Fumi} from "react-native-textinput-effects";
|
||||
import FontAwesomeIcon from "react-native-vector-icons/FontAwesome";
|
||||
import {ScrollView, StyleSheet, Text, View} from "react-native";
|
||||
import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions";
|
||||
import {FontWeight, Typography} from "../../config/typography";
|
||||
import Button from "apsl-react-native-button";
|
||||
|
||||
|
||||
export default class AskPrestationUser extends Component {
|
||||
|
||||
static navigatorStyle = {
|
||||
navBarBackgroundColor: Color.primaryColor,
|
||||
statusBarColor: Color.primaryDarkColor,
|
||||
navBarTextColor: '#FFFFFF',
|
||||
navBarButtonColor: '#FFFFFF'
|
||||
|
||||
};
|
||||
|
||||
static navigationOptions = () => {
|
||||
return {
|
||||
drawerLabel: () => null,
|
||||
headerTitle: I18n.t('DEMANDER_PRESTATION'),
|
||||
headerTintColor: 'white',
|
||||
headerStyle: {
|
||||
backgroundColor: Color.primaryColor,
|
||||
marginTop: 0,
|
||||
color: 'white'
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: "white"
|
||||
},
|
||||
title: I18n.t('DEMANDER_PRESTATION')
|
||||
}
|
||||
};
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
password: null,
|
||||
numeroTelephone: null
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<ScrollView style={styles.container}>
|
||||
|
||||
<Text style={styles.subbigtitle}>{I18n.t('DEMANDER_PRESTATION')}</Text>
|
||||
<Animatable.View ref={(comp) => {
|
||||
this.numeroTelephoneAnim = comp
|
||||
}}>
|
||||
<Fumi iconClass={FontAwesomeIcon} iconName="phone"
|
||||
label={I18n.t('PHONE')}
|
||||
iconColor={'#f95a25'}
|
||||
keyboardType='phone-pad'
|
||||
iconSize={20}
|
||||
value={this.state.numeroTelephone}
|
||||
onChangeText={(numeroTelephone) => {
|
||||
this.setState({numeroTelephone})
|
||||
}}
|
||||
style={styles.input}
|
||||
>
|
||||
</Fumi>
|
||||
</Animatable.View>
|
||||
|
||||
<Animatable.View ref={(comp) => {
|
||||
this.passwordAnim = comp
|
||||
}}>
|
||||
<Fumi iconClass={FontAwesomeIcon} iconName={'lock'}
|
||||
label={I18n.t('PASSWORD')}
|
||||
iconColor={'#f95a25'}
|
||||
iconSize={20}
|
||||
secureTextEntry={true}
|
||||
value={this.state.password}
|
||||
onChangeText={(password) => {
|
||||
this.setState({password})
|
||||
}}
|
||||
style={styles.input}
|
||||
>
|
||||
</Fumi>
|
||||
</Animatable.View>
|
||||
|
||||
<Button style={styles.btnvalide}
|
||||
textStyle={styles.textbtnvalide}
|
||||
onPress={() => {
|
||||
//this.onSubmitSendWalletToCard()
|
||||
}}>
|
||||
{I18n.t('SUBMIT_LABEL')}</Button>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: Color.primaryDarkColor,
|
||||
},
|
||||
textbtnvalide: {
|
||||
color: 'white',
|
||||
fontWeight: 'bold'
|
||||
},
|
||||
bigtitle: {
|
||||
color: 'white',
|
||||
fontSize: 20,
|
||||
flex: 1,
|
||||
fontWeight: 'bold',
|
||||
textAlign: 'center',
|
||||
margin: 20,
|
||||
},
|
||||
blockView: {
|
||||
paddingVertical: 10,
|
||||
borderBottomWidth: 1
|
||||
},
|
||||
subbigtitle: {
|
||||
color: 'white',
|
||||
fontSize: 17,
|
||||
textAlign: 'center',
|
||||
margin: 5,
|
||||
},
|
||||
btnvalide: {
|
||||
marginTop: 20,
|
||||
marginLeft: 20,
|
||||
marginRight: 20,
|
||||
borderColor: 'transparent',
|
||||
backgroundColor: Color.accentLightColor,
|
||||
height: 52
|
||||
},
|
||||
btnSubmit: {
|
||||
marginTop: 20,
|
||||
borderColor: 'transparent',
|
||||
backgroundColor: Color.accentLightColor,
|
||||
height: 52,
|
||||
width: "30%",
|
||||
marginLeft: 20,
|
||||
marginRight: 20,
|
||||
},
|
||||
input: {
|
||||
height: 60,
|
||||
marginTop: responsiveHeight(2),
|
||||
marginLeft: responsiveWidth(5),
|
||||
marginRight: responsiveWidth(5),
|
||||
borderRadius: 5,
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,333 @@
|
|||
import React, {Component} from 'react';
|
||||
import {
|
||||
ActivityIndicator,
|
||||
Image,
|
||||
Platform,
|
||||
ProgressBarAndroid,
|
||||
ScrollView,
|
||||
StatusBar,
|
||||
StyleSheet,
|
||||
Text,
|
||||
TouchableOpacity,
|
||||
View
|
||||
} from 'react-native';
|
||||
import I18n from 'react-native-i18n';
|
||||
import {Appbar, Provider} from 'react-native-paper';
|
||||
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
|
||||
import {Color} from '../../config/Color';
|
||||
import {Typography} from '../../config/typography';
|
||||
import * as Utils from '../../utils/DeviceUtils';
|
||||
import {IlinkEmitter} from "../../utils/events";
|
||||
import {connect} from "react-redux";
|
||||
import {bindActionCreators} from "redux";
|
||||
import {getBankListAction, getBankListReset} from "../../webservice/BankApi";
|
||||
import {store} from "../../redux/store";
|
||||
import {readUser} from "../../webservice/AuthApi";
|
||||
import {getOperatorListAction, getOperatorListReset} from "../../webservice/WalletApi";
|
||||
|
||||
const route = require('../../route.json');
|
||||
let slugify = require('slugify');
|
||||
|
||||
class SouscrireAssuranceUser extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
IlinkEmitter.on("langueChange", this.updateLangue.bind(this));
|
||||
|
||||
this.state = {
|
||||
options: this.props.navigation.state.params.optionSelect
|
||||
}
|
||||
console.log("OPERATEUR OPTION PROPS", this.props);
|
||||
console.log("OPERATEUR OPTION STATE", this.state);
|
||||
|
||||
|
||||
}
|
||||
|
||||
updateLangue() {
|
||||
this.props.navigation.setParams({name: I18n.t('WALLET')})
|
||||
this.forceUpdate();
|
||||
}
|
||||
|
||||
static navigationOptions = ({navigation}) => ({
|
||||
header: null,
|
||||
headerMode: 'none',
|
||||
headerTitle: null,
|
||||
activeColor: '#f0edf6',
|
||||
inactiveColor: '#3e2465',
|
||||
barStyle: {backgroundColor: '#694fad'},
|
||||
drawerLabel: I18n.t('INSURANCE_LIST'),
|
||||
drawerIcon: ({tintColor}) => (
|
||||
<Icon
|
||||
name={'credit-card'}
|
||||
size={24}
|
||||
/>)
|
||||
});
|
||||
|
||||
redirectToRoute = (item) => {
|
||||
|
||||
/* console.log("Item selected", item);
|
||||
if (this.state.options.length > 0) {
|
||||
|
||||
this.props.navigation.push(this.state.options[0].screen, {
|
||||
title: item.operator_name,
|
||||
type: this.state.options[0].type,
|
||||
operator_id: item.id_operator,
|
||||
typeOperator: this.state.operatorType
|
||||
});
|
||||
} else {
|
||||
if (this.state.user.category === 'geolocated')
|
||||
this.props.navigation.navigate(route.envoieWalletToBankAgent, {bank: item});
|
||||
else
|
||||
this.props.navigation.navigate(route.envoieWalletToBankUser, {bank: item});
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
renderLoader = () => {
|
||||
return (
|
||||
<View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
|
||||
{Platform.OS === 'android'
|
||||
?
|
||||
(
|
||||
<>
|
||||
<ProgressBarAndroid/>
|
||||
<Text>{I18n.t('LOADING_DOTS')}</Text>
|
||||
|
||||
</>
|
||||
) :
|
||||
<>
|
||||
<ActivityIndicator size="large" color={'#ccc'}/>
|
||||
<Text>{I18n.t('LOADING_DOTS')}</Text>
|
||||
</>
|
||||
}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
renderItem = (item, index) => {
|
||||
return (
|
||||
|
||||
<TouchableOpacity
|
||||
key={index}
|
||||
style={[styles.paymentItem, {borderBottomColor: Color.borderColor}]}
|
||||
onPress={() => {
|
||||
this.redirectToRoute(item);
|
||||
}}>
|
||||
<View style={{flexDirection: 'row', alignItems: 'center'}}>
|
||||
<View>
|
||||
<Text style={Typography.body1}>{item.title}</Text>
|
||||
<Text style={[Typography.footnote, Color.grayColor]} style={{marginTop: 5}}>
|
||||
{I18n.t('AMOUNT')}: {`${item.amount}`}
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
)
|
||||
}
|
||||
|
||||
renderBankList = () => {
|
||||
|
||||
const {result, error} = this.props;
|
||||
const {options} = this.state;
|
||||
|
||||
return (
|
||||
Array.isArray(options) && (options.length) > 0 ?
|
||||
(<ScrollView style={{flex: 1, padding: 20}}>
|
||||
{
|
||||
options.map((item, index) => (
|
||||
this.renderItem(item, index)
|
||||
))
|
||||
}
|
||||
</ScrollView>) :
|
||||
(
|
||||
<View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
|
||||
<Text style={Typography.body1}>{I18n.t('NO_OPERATOR_AVAILABLE')}</Text>
|
||||
</View>
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
}
|
||||
|
||||
renderItemElement = (item, index) => {
|
||||
|
||||
return (
|
||||
<TouchableOpacity
|
||||
key={index}
|
||||
style={[styles.paymentItem, {borderBottomColor: Color.borderColor}]}
|
||||
onPress={() => {
|
||||
this.props.navigation.navigate(item.screen, {
|
||||
type: item.type,
|
||||
title: item.title
|
||||
})
|
||||
}}>
|
||||
|
||||
<View style={{flexDirection: 'row', alignItems: 'center'}}>
|
||||
<View style={styles.iconContent}>
|
||||
<Image style={{width: 48, height: 48}} source={{uri: item.icon}}/>
|
||||
</View>
|
||||
<View>
|
||||
<Text style={Typography.body1}>{item.title}</Text>
|
||||
<Text style={Typography.footnote}>{item.title}</Text>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
</TouchableOpacity>
|
||||
)
|
||||
}
|
||||
|
||||
renderList = () => {
|
||||
|
||||
const {options} = this.state;
|
||||
|
||||
return (
|
||||
<ScrollView style={{flex: 1, padding: 20}}>
|
||||
{
|
||||
options.map((item, index) => (
|
||||
this.renderItem(item, index)
|
||||
))
|
||||
}
|
||||
</ScrollView>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
console.log("OPERATEUR OPTION STATE", this.state.options.length);
|
||||
return (
|
||||
<Provider>
|
||||
<View style={{flex: 1}}>
|
||||
|
||||
<StatusBar
|
||||
backgroundColor={Color.primaryDarkColor}
|
||||
barStyle="light-content"
|
||||
translucent={false}
|
||||
/>
|
||||
|
||||
<Appbar.Header dark={true} style={{backgroundColor: Color.primaryColor}}>
|
||||
<Appbar.BackAction
|
||||
onPress={() => {
|
||||
this.props.navigation.pop()
|
||||
}}
|
||||
/>
|
||||
<Appbar.Content
|
||||
title={I18n.t("INSURANCE_LIST")}
|
||||
subtitle={I18n.t("CHOOSE_OPTION")}
|
||||
/>
|
||||
</Appbar.Header>
|
||||
|
||||
<View style={styles.container}>
|
||||
|
||||
{
|
||||
this.renderBankList()
|
||||
}
|
||||
|
||||
</View>
|
||||
|
||||
</View>
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
loading: state.getListOperatorReducer.loading,
|
||||
result: state.getListOperatorReducer.result,
|
||||
error: state.getListOperatorReducer.error,
|
||||
|
||||
|
||||
});
|
||||
|
||||
const mapDispatchToProps = dispatch => bindActionCreators({
|
||||
getBankListAction,
|
||||
getBankListReset,
|
||||
getOperatorListAction,
|
||||
getOperatorListReset
|
||||
}, dispatch);
|
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(SouscrireAssuranceUser);
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
},
|
||||
paymentItem: {
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
justifyContent: "space-between",
|
||||
borderBottomWidth: 1,
|
||||
paddingVertical: 5,
|
||||
width: "100%",
|
||||
marginBottom: 15
|
||||
},
|
||||
iconContent: {
|
||||
width: 60,
|
||||
marginRight: 10,
|
||||
alignItems: "center"
|
||||
},
|
||||
item: {
|
||||
paddingVertical: 15,
|
||||
borderBottomWidth: 1,
|
||||
flexDirection: "row",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "center"
|
||||
},
|
||||
/* item: {
|
||||
paddingVertical: 15,
|
||||
borderBottomWidth: 1,
|
||||
flexDirection: "row",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "center"
|
||||
}, */
|
||||
lottie: {
|
||||
width: 540,
|
||||
height: 240
|
||||
},
|
||||
checkDefault: {
|
||||
flexDirection: "row",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "center",
|
||||
borderBottomWidth: 1,
|
||||
paddingVertical: 10,
|
||||
marginTop: 5
|
||||
},
|
||||
transactionContainer: {
|
||||
flexDirection: 'row',
|
||||
paddingTop: 10,
|
||||
},
|
||||
containerTouch: {
|
||||
flex: 1,
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
shadowColor: Color.borderColor,
|
||||
borderColor: Color.borderColor,
|
||||
borderWidth: 0.5,
|
||||
shadowOffset: {width: 1.5, height: 1.5},
|
||||
shadowOpacity: 1.0,
|
||||
elevation: 5,
|
||||
borderRadius: 10,
|
||||
backgroundColor: Color.cardBackgroundColor
|
||||
},
|
||||
|
||||
contain: {
|
||||
flexDirection: 'row',
|
||||
justifyContent: 'space-between',
|
||||
},
|
||||
imageBanner: {
|
||||
marginTop: 15,
|
||||
marginLeft: 5,
|
||||
width: Utils.scaleWithPixel(30),
|
||||
height: Utils.scaleWithPixel(30)
|
||||
},
|
||||
content: {
|
||||
height: Utils.scaleWithPixel(60),
|
||||
paddingHorizontal: 10,
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'flex-start',
|
||||
flex: 1,
|
||||
},
|
||||
contentTitle: {
|
||||
paddingTop: 12,
|
||||
}
|
||||
|
||||
});
|
|
@ -271,7 +271,8 @@ export default class OptionsMenu extends Component {
|
|||
|| item === 'envoieCashVersAutreWalletAgent' || item === 'retraitCarteVersCashUser' || item === 'envoiCashVersCashAgent' || item === 'envoieCashVersCashAgent'
|
||||
|| item === 'envoieCashVersCarteAgent' || item === 'modifyIdentificationUser' || item === 'createGroupNanoCredit' || item === 'groupNanoCredit' || item === 'demandeValidationGroupe'
|
||||
|| item === 'adhererGroupNanoCredit' || item === 'myNanoCreditGroup' || item === 'askNanoCredit' || item === 'refundNanoCreditUser' || item === 'cautionNanoCreditAgent'
|
||||
|| item === 'epargnerArgentUser' || item === 'askNanoCredit' || item === 'casserEpargneUser' || item === 'envoieWalletToBankAgent' || item === 'reattachAccountUser') {
|
||||
|| item === 'epargnerArgentUser' || item === 'askNanoCredit' || item === 'casserEpargneUser' || item === 'envoieWalletToBankAgent' || item === 'reattachAccountUser'
|
||||
|| item === 'acceptPrestationAgent' || item === 'souscrireAssuranceUser' || item === 'askPrestationUser') {
|
||||
return null
|
||||
} else {
|
||||
const color = this.state.currentId === item.id ? theme.accent : "grey"
|
||||
|
|
|
@ -43,7 +43,7 @@ import {
|
|||
isIlinkWorldWallet,
|
||||
optionDepotScreen,
|
||||
optionIdentificationScreen,
|
||||
optionNanoCreditAgentScreen,
|
||||
optionNanoCreditAgentScreen, optionNanoSanteAgent, optionNanoSanteUser,
|
||||
optionPaiementFacture,
|
||||
optionRetraitScreen,
|
||||
transactionHistoryIlinkLabel
|
||||
|
@ -1478,6 +1478,14 @@ class WalletDetail extends Component {
|
|||
<View style={[styles.containerTouch]}>
|
||||
<TouchableOpacity style={styles.contain}
|
||||
onPress={() => {
|
||||
this.props.navigation.push(route.walletOptionSelect, {
|
||||
optionSelect: optionNanoSanteAgent,
|
||||
onGoBack: () => this.refresh(),
|
||||
lottie: {
|
||||
source: require("./../../datas/json/spend-healthies.json"),
|
||||
loop: true
|
||||
}
|
||||
})
|
||||
}}
|
||||
activeOpacity={0.9}>
|
||||
<Icon name='heart-multiple'
|
||||
|
@ -2032,4 +2040,4 @@ const styles = StyleSheet.create({
|
|||
contentTitle: {
|
||||
paddingTop: 5,
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
|
@ -49,7 +49,7 @@ import {
|
|||
optionDepotUserScreen,
|
||||
optionIdentificationUserScreen,
|
||||
optionLinkAccountUserScreen,
|
||||
optionNanoCreditScreen,
|
||||
optionNanoCreditScreen, optionNanoSanteUser,
|
||||
optionPaiementFacture,
|
||||
optionRetraitUserScreen,
|
||||
transactionHistoryIlinkLabel
|
||||
|
@ -574,16 +574,26 @@ class WalletDetailUser extends Component {
|
|||
<View style={[styles.containerTouch]}>
|
||||
<TouchableOpacity style={styles.contain}
|
||||
onPress={() => {
|
||||
this.props.navigation.push(route.walletOptionSelect, {
|
||||
optionSelect: optionNanoSanteUser,
|
||||
onGoBack: () => this.refresh(),
|
||||
lottie: {
|
||||
source: require("./../../datas/json/spend-healthies.json"),
|
||||
loop: true
|
||||
}
|
||||
})
|
||||
}}
|
||||
activeOpacity={0.9}>
|
||||
<Icon name='heart-multiple'
|
||||
color={Color.primaryColor}
|
||||
size={30}
|
||||
style={styles.imageBanner}/>
|
||||
|
||||
<View style={[styles.content]}>
|
||||
|
||||
<View style={{paddingTop: 20,}}>
|
||||
<Text style={[Typography.headline, Typography.semibold]}>
|
||||
<Text
|
||||
style={[Typography.headline, Typography.semibold]}>
|
||||
{I18n.t('NANO_SANTE')}
|
||||
</Text>
|
||||
</View>
|
||||
|
@ -1164,4 +1174,4 @@ const styles = StyleSheet.create({
|
|||
contentTitle: {
|
||||
paddingTop: 5,
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
|
@ -223,6 +223,14 @@ class WalletOptionSelect extends Component {
|
|||
onGoBack: () => this.props.navigation.state.params.onGoBack(),
|
||||
});
|
||||
break;
|
||||
case 'NANO_SANTE':
|
||||
console.log("Option param", optionsParam);
|
||||
this.props.navigation.push(optionsParam.screen, {
|
||||
wallet: this.state.wallet,
|
||||
optionSelect: optionsParam.subScreenOption,
|
||||
onGoBack: () => this.props.navigation.state.params.onGoBack(),
|
||||
});
|
||||
break;
|
||||
default:
|
||||
this.props.navigation.push(optionsParam.screen);
|
||||
break;
|
||||
|
@ -274,7 +282,7 @@ class WalletOptionSelect extends Component {
|
|||
displayToast(I18n.t('ALREADY_IDENTIFIED'));
|
||||
else
|
||||
this.redirectToRoute(options);
|
||||
} else if (_.isEqual(options.screen, 'modifyIdentificationUser')) {
|
||||
} else if (_.isEqual(options.screen, 'modifyIdentificationUser') || _.isEqual(options.screen, 'askPrestationUser')) {
|
||||
if (!this.state.isIdentified)
|
||||
displayToast(I18n.t('NOT_YET_IDENTIFY'));
|
||||
else
|
||||
|
@ -1160,4 +1168,4 @@ const styles = StyleSheet.create({
|
|||
},
|
||||
tagFollow: {width: 150, margin: 10},
|
||||
|
||||
});
|
||||
});
|
||||
|
|
|
@ -790,4 +790,85 @@ export const optionPaiementFacture = {
|
|||
subScreenOption: optionPaiementAbonnementTV
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
export const operateurAssureurUser = [
|
||||
{
|
||||
type: 'PAIEMENT_EAU',
|
||||
screen: route.paiementFacture,
|
||||
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
||||
title: 'Assureur 1',
|
||||
amount: "10 000 FCFA"
|
||||
},
|
||||
{
|
||||
type: 'PAIEMENT_EAU',
|
||||
screen: route.paiementFacture,
|
||||
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
||||
title: 'Assureur 2',
|
||||
amount: "20 000 FCFA"
|
||||
},
|
||||
{
|
||||
type: 'PAIEMENT_EAU',
|
||||
screen: route.paiementFacture,
|
||||
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
||||
title: 'Assureur 3',
|
||||
amount: "30 000 FCFA"
|
||||
},
|
||||
{
|
||||
type: 'PAIEMENT_EAU',
|
||||
screen: route.paiementFacture,
|
||||
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
||||
title: 'Assureur 4',
|
||||
amount: "40 000 FCFA"
|
||||
},
|
||||
{
|
||||
type: 'PAIEMENT_EAU',
|
||||
screen: route.paiementFacture,
|
||||
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
||||
title: 'Assureur 5',
|
||||
amount: "50 000 FCFA"
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
export const optionNanoSanteUser = {
|
||||
type: 'NANO_SANTE',
|
||||
title: 'NANO_SANTE',
|
||||
subTitle: 'CHOOSE_OPTION',
|
||||
options: [
|
||||
{
|
||||
type: 'FACTURE_WATER_ELECTRICITY',
|
||||
icon: 'heart-pulse',
|
||||
title: 'SOUSCRIRE_ASSURANCE',
|
||||
screen: route.souscrireAssuranceUser,
|
||||
subScreenOption: operateurAssureurUser
|
||||
},
|
||||
{
|
||||
type: 'FACTURE_ELECTRICITY',
|
||||
icon: 'note-plus',
|
||||
title: 'DEMANDER_PRESTATION',
|
||||
screen: route.askPrestationUser,
|
||||
subScreenOption: operateurAssureurUser
|
||||
},
|
||||
{
|
||||
type: 'FACTURE_SCHOOL',
|
||||
icon: 'cash',
|
||||
title: 'PAYER_ASSURANCE',
|
||||
screen: "",
|
||||
subScreenOption: operateurAssureurUser
|
||||
}
|
||||
]
|
||||
}
|
||||
export const optionNanoSanteAgent = {
|
||||
type: 'NANO_SANTE',
|
||||
title: 'NANO_SANTE',
|
||||
subTitle: 'CHOOSE_OPTION',
|
||||
options: [
|
||||
{
|
||||
type: 'FACTURE_WATER_ELECTRICITY',
|
||||
icon: 'check-circle',
|
||||
title: 'ACCEPTER_PRESTATION',
|
||||
screen: route.acceptPrestationAgent
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -555,5 +555,10 @@
|
|||
"UNABLE_GET_INFORMATION_TEXT": "Make sure your GPS is turned on and put in high precision mode and restart iLink World",
|
||||
"TITLE_HELP_SOON": "Help not available!",
|
||||
"YOUR_NETWORK": "Select your network",
|
||||
"HELP_SOON": "A tutorial helping you in understanding the features of the application will soon be available."
|
||||
"HELP_SOON": "A tutorial helping you in understanding the features of the application will soon be available.",
|
||||
"ACCEPTER_PRESTATION": "Accept a service",
|
||||
"SOUSCRIRE_ASSURANCE": "Take out insurance",
|
||||
"DEMANDER_PRESTATION": "Request a service",
|
||||
"PAYER_ASSURANCE": "Pay an insurance",
|
||||
"INSURANCE_LIST": "Insurance list"
|
||||
}
|
||||
|
|
|
@ -558,5 +558,10 @@
|
|||
"UNABLE_GET_INFORMATION_TEXT": "Vérifiez que votre GPS est activé et mis en mode haute precision et relancez iLink World",
|
||||
"TITLE_HELP_SOON": "Aide non disponible !",
|
||||
"YOUR_NETWORK": "Sélectionner votre réseau",
|
||||
"HELP_SOON": "Un tutoriel vous aidant dans la compréhension des fonctionnalités de l'application vous sera bientôt mis à disposition."
|
||||
"HELP_SOON": "Un tutoriel vous aidant dans la compréhension des fonctionnalités de l'application vous sera bientôt mis à disposition.",
|
||||
"ACCEPTER_PRESTATION": "Accepter une prestation",
|
||||
"SOUSCRIRE_ASSURANCE": "Souscrire à une assurance",
|
||||
"DEMANDER_PRESTATION": "Demander une prestation",
|
||||
"PAYER_ASSURANCE": "Payer une assurance",
|
||||
"INSURANCE_LIST": "Liste des assureurs"
|
||||
}
|
||||
|
|
|
@ -7,8 +7,13 @@ export const isDebugMode = false
|
|||
//export const baseUrl = "http://test.ilink-app.com:8080/mobilebackendtest";
|
||||
//const baseUrl = "https://ilink-app.com/mobilebackendtest2"
|
||||
|
||||
export const baseUrl = "http://test.ilink-app.com:8080/mobilebackend";
|
||||
export const testBaseUrl = "https://test.ilink-app.com";
|
||||
|
||||
/*
|
||||
export const baseUrl = " http://ilink-app.com:8082/mobilebackend";
|
||||
export const testBaseUrl = "http://ilink-app.com:8080";
|
||||
*/
|
||||
|
||||
/* export const baseUrl = "https://preprod.ilink-app.com:8080/mobilebackend";
|
||||
export const testBaseUrl = "https://preprod.ilink-app.com"; */
|
||||
|
|
|
@ -1,74 +0,0 @@
|
|||
const Realm = require('realm');
|
||||
let geolib=require("geolib")
|
||||
|
||||
import GeolocatedPoint from './../../model/GeolocatedPoint'
|
||||
import Network from './../../model/Network'
|
||||
import { getLocalMarkers } from '../MapService';
|
||||
GeolocatedPointSchema={
|
||||
name:"GeolocatedPoint",
|
||||
properties:{
|
||||
id:'int',
|
||||
firstname:'string?',
|
||||
lastname:'string',
|
||||
adresse:'string',
|
||||
longitude:'float',
|
||||
latitude:'float',
|
||||
phone:'string?',
|
||||
solde:'int',
|
||||
country:'string',
|
||||
category:'string',
|
||||
email:'string',
|
||||
etat:'int' ,
|
||||
code_parrain:'string',
|
||||
code_dial:'string',
|
||||
network_id:'int',
|
||||
transactionNumber:'string?',
|
||||
code_membre:'string',
|
||||
network:'string'
|
||||
}
|
||||
}
|
||||
export default class MarkerManager {
|
||||
realm
|
||||
constructor(){
|
||||
this.realm=new Realm({schema: [GeolocatedPointSchema]})
|
||||
}
|
||||
getLocalMarkers(){
|
||||
return this.realm.objects('GeolocatedPoint').slice(0,3);
|
||||
}
|
||||
async getLocalMarkersFromDistance(distance:5,location){
|
||||
return new Promise((resolve,reject)=>{
|
||||
let points=getLocalMarkers();
|
||||
return points.filter((mark,index)=>{
|
||||
const position={longitude:parseFloat(mark.longitude),latitude:parseFloat(mark.latitude)}
|
||||
return geolib.getDistance(position,location)<=(distance*1000)
|
||||
})
|
||||
});
|
||||
}
|
||||
close(){
|
||||
this.realm.close();
|
||||
}
|
||||
async insertMarkers(markers:Array<any>){
|
||||
return new Promise((resolve,reject)=>{
|
||||
var count=0
|
||||
let rejet=[]
|
||||
markers.forEach((value,index)=>{
|
||||
try {
|
||||
|
||||
this.realm.write(() => {
|
||||
this.realm.create('GeolocatedPoint',value);
|
||||
});
|
||||
count++
|
||||
} catch (e) {
|
||||
console.log("Error on creation");
|
||||
reject(e)
|
||||
rejet.push(value)
|
||||
}
|
||||
})
|
||||
|
||||
resolve({row:count,total:markers.length,rejet:rejet})
|
||||
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue