Before fixing release issue
51
App.ios.js
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
import React, { Component } from 'react';
|
||||
import {Platform, StyleSheet, Text, View} from 'react-native';
|
||||
import { Platform, StyleSheet, Text, View, YellowBox } from 'react-native';
|
||||
import { createSwitchNavigator, createStackNavigator, createDrawerNavigator, createAppContainer, createBottomTabNavigator } from 'react-navigation';
|
||||
import Connect from "./screens/login/Connect";
|
||||
import SplashScreen from "./screens/splashscreen/SplashScreen";
|
||||
|
|
@ -50,7 +50,9 @@ const instructions = Platform.select({
|
|||
type Props = {};
|
||||
const theme = require("./utils/theme")
|
||||
class HomeScreen extends Component<Props> {
|
||||
|
||||
render() {
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<Text style={styles.welcome}>Welcome to iLink World!</Text>
|
||||
|
|
@ -73,7 +75,8 @@ const AuthStack=createStackNavigator({
|
|||
}, {
|
||||
headerMode: 'none'
|
||||
})
|
||||
const AppStack=createDrawerNavigator({sta:createStackNavigator({
|
||||
const AppStack = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
/* filtre:Filter,
|
||||
network:Networks,*/
|
||||
|
|
@ -86,8 +89,10 @@ const AppStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
configuration: Configurations,
|
||||
about: About
|
||||
|
||||
})},{contentComponent:OptionsMenu,headerMode: 'none',contentOptions:{activeTintColor: theme.accent}})
|
||||
const AppAgentStack=createDrawerNavigator({sta:createStackNavigator({
|
||||
})
|
||||
}, { contentComponent: OptionsMenu, headerMode: 'none', contentOptions: { activeTintColor: theme.accent } })
|
||||
const AppAgentStack = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
Historique:
|
||||
|
|
@ -128,16 +133,21 @@ const AppAgentStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
notificationview: Notifications,
|
||||
configuration: Configurations,
|
||||
about: About
|
||||
})},{contentComponent:OptionsMenu,
|
||||
})
|
||||
}, {
|
||||
contentComponent: OptionsMenu,
|
||||
backBehavior: "none",
|
||||
lazy: false,
|
||||
headerMode: 'none',contentOptions:{activeTintColor:theme.accent}})
|
||||
const AppAdministratorStack=createDrawerNavigator({sta:createStackNavigator({
|
||||
headerMode: 'none', contentOptions: { activeTintColor: theme.accent }
|
||||
})
|
||||
const AppAdministratorStack = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
Historique: {
|
||||
screen: createBottomTabNavigator({
|
||||
myDemand:MyHistory,OthersDemand:MyHistory}, {
|
||||
myDemand: MyHistory, OthersDemand: MyHistory
|
||||
}, {
|
||||
headerMode: "none",
|
||||
header: null,
|
||||
headerTitle: null,
|
||||
|
|
@ -146,7 +156,8 @@ const AppAdministratorStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
labelStyle: {
|
||||
fontSize: 13,
|
||||
},
|
||||
}}),
|
||||
}
|
||||
}),
|
||||
navigationOptions: ({ navigation }) => ({
|
||||
header: null,
|
||||
headerMode: 'none',
|
||||
|
|
@ -171,11 +182,15 @@ const AppAdministratorStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
configuration: Configurations,
|
||||
about: About
|
||||
|
||||
})},
|
||||
{contentComponent:OptionsMenu,
|
||||
})
|
||||
},
|
||||
{
|
||||
contentComponent: OptionsMenu,
|
||||
backBehavior: "none",
|
||||
headerMode: 'none'})
|
||||
const AppSuperAdministrator=createDrawerNavigator({sta:createStackNavigator({
|
||||
headerMode: 'none'
|
||||
})
|
||||
const AppSuperAdministrator = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
Historique: {
|
||||
|
|
@ -189,7 +204,8 @@ const AppSuperAdministrator=createDrawerNavigator({sta:createStackNavigator({
|
|||
fontSize: 13,
|
||||
fontWeight: "bold"
|
||||
},
|
||||
}}),
|
||||
}
|
||||
}),
|
||||
navigationOptions: ({ navigation }) => ({
|
||||
title: I18n.t('CREDIT_MANAGE'),
|
||||
headerMode: "none",
|
||||
|
|
@ -209,9 +225,12 @@ const AppSuperAdministrator=createDrawerNavigator({sta:createStackNavigator({
|
|||
configuration: Configurations,
|
||||
about: About
|
||||
|
||||
})},{contentComponent:OptionsMenu,
|
||||
})
|
||||
}, {
|
||||
contentComponent: OptionsMenu,
|
||||
backBehavior: "none",
|
||||
headerMode: 'none'})
|
||||
headerMode: 'none'
|
||||
})
|
||||
export const AppNavigator = createSwitchNavigator({
|
||||
first: {
|
||||
screen: SplashScreen
|
||||
|
|
|
|||
54
App.js
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
import React, { Component } from 'react';
|
||||
import {Platform, StyleSheet, Text, View} from 'react-native';
|
||||
import { Platform, StyleSheet, Text, View, YellowBox } from 'react-native';
|
||||
import { createSwitchNavigator, createStackNavigator, createDrawerNavigator, createAppContainer, createBottomTabNavigator } from 'react-navigation';
|
||||
import Connect from "./screens/login/Connect";
|
||||
import SplashScreen from "./screens/splashscreen/SplashScreen";
|
||||
|
|
@ -50,7 +50,10 @@ const instructions = Platform.select({
|
|||
type Props = {};
|
||||
const theme = require("./utils/theme")
|
||||
class HomeScreen extends Component<Props> {
|
||||
|
||||
|
||||
render() {
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<Text style={styles.welcome}>Welcome to iLink World!</Text>
|
||||
|
|
@ -59,6 +62,8 @@ class HomeScreen extends Component<Props> {
|
|||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
const AuthStack = createStackNavigator({
|
||||
login: Connect,
|
||||
|
|
@ -73,7 +78,8 @@ const AuthStack=createStackNavigator({
|
|||
}, {
|
||||
headerMode: 'none'
|
||||
})
|
||||
const AppStack=createDrawerNavigator({sta:createStackNavigator({
|
||||
const AppStack = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
/* filtre:Filter,
|
||||
network:Networks,*/
|
||||
|
|
@ -86,8 +92,10 @@ const AppStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
configuration: Configurations,
|
||||
about: About
|
||||
|
||||
})},{contentComponent:OptionsMenu,headerMode: 'none',contentOptions:{activeTintColor: theme.accent}})
|
||||
const AppAgentStack=createDrawerNavigator({sta:createStackNavigator({
|
||||
})
|
||||
}, { contentComponent: OptionsMenu, headerMode: 'none', contentOptions: { activeTintColor: theme.accent } })
|
||||
const AppAgentStack = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
Historique:
|
||||
|
|
@ -128,16 +136,21 @@ const AppAgentStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
notificationview: Notifications,
|
||||
configuration: Configurations,
|
||||
about: About
|
||||
})},{contentComponent:OptionsMenu,
|
||||
})
|
||||
}, {
|
||||
contentComponent: OptionsMenu,
|
||||
backBehavior: "none",
|
||||
lazy: false,
|
||||
headerMode: 'none',contentOptions:{activeTintColor:theme.accent}})
|
||||
const AppAdministratorStack=createDrawerNavigator({sta:createStackNavigator({
|
||||
headerMode: 'none', contentOptions: { activeTintColor: theme.accent }
|
||||
})
|
||||
const AppAdministratorStack = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
Historique: {
|
||||
screen: createBottomTabNavigator({
|
||||
myDemand:MyHistory,OthersDemand:MyHistory}, {
|
||||
myDemand: MyHistory, OthersDemand: MyHistory
|
||||
}, {
|
||||
headerMode: "none",
|
||||
header: null,
|
||||
headerTitle: null,
|
||||
|
|
@ -146,7 +159,8 @@ const AppAdministratorStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
labelStyle: {
|
||||
fontSize: 13,
|
||||
},
|
||||
}}),
|
||||
}
|
||||
}),
|
||||
navigationOptions: ({ navigation }) => ({
|
||||
header: null,
|
||||
headerMode: 'none',
|
||||
|
|
@ -171,11 +185,15 @@ const AppAdministratorStack=createDrawerNavigator({sta:createStackNavigator({
|
|||
configuration: Configurations,
|
||||
about: About
|
||||
|
||||
})},
|
||||
{contentComponent:OptionsMenu,
|
||||
})
|
||||
},
|
||||
{
|
||||
contentComponent: OptionsMenu,
|
||||
backBehavior: "none",
|
||||
headerMode: 'none'})
|
||||
const AppSuperAdministrator=createDrawerNavigator({sta:createStackNavigator({
|
||||
headerMode: 'none'
|
||||
})
|
||||
const AppSuperAdministrator = createDrawerNavigator({
|
||||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
Historique: {
|
||||
|
|
@ -189,7 +207,8 @@ const AppSuperAdministrator=createDrawerNavigator({sta:createStackNavigator({
|
|||
fontSize: 13,
|
||||
fontWeight: "bold"
|
||||
},
|
||||
}}),
|
||||
}
|
||||
}),
|
||||
navigationOptions: ({ navigation }) => ({
|
||||
title: I18n.t('CREDIT_MANAGE'),
|
||||
headerMode: "none",
|
||||
|
|
@ -209,9 +228,12 @@ const AppSuperAdministrator=createDrawerNavigator({sta:createStackNavigator({
|
|||
configuration: Configurations,
|
||||
about: About
|
||||
|
||||
})},{contentComponent:OptionsMenu,
|
||||
})
|
||||
}, {
|
||||
contentComponent: OptionsMenu,
|
||||
backBehavior: "none",
|
||||
headerMode: 'none'})
|
||||
headerMode: 'none'
|
||||
})
|
||||
export const AppNavigator = createSwitchNavigator({
|
||||
first: {
|
||||
screen: SplashScreen
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ android {
|
|||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.ilink"
|
||||
applicationId "com.ilinktest"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 1
|
||||
|
|
|
|||
|
|
@ -1,19 +1,32 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.ilink">
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.ilinktest">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.CALL_PHONE" />
|
||||
|
||||
<uses-sdk tools:overrideLibrary="com.shazam.android.widget.text.reflow" />
|
||||
|
||||
<application
|
||||
android:name=".MainApplication"
|
||||
android:label="@string/app_name"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:allowBackup="false"
|
||||
android:label="@string/app_name"
|
||||
android:largeHeap="true"
|
||||
android:theme="@style/AppTheme">
|
||||
|
||||
<meta-data
|
||||
android:name="com.google.android.geo.API_KEY"
|
||||
android:value="AIzaSyCz4B9uUu3gkuu78Sf72gPWZ3t_qKqf5zg" />
|
||||
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:label="@string/app_name"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
||||
android:label="@string/app_name"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
package com.ilink;
|
||||
|
||||
import com.facebook.react.ReactActivity;
|
||||
|
||||
public class MainActivity extends ReactActivity {
|
||||
|
||||
/**
|
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
||||
* rendering of the component.
|
||||
*/
|
||||
@Override
|
||||
protected String getMainComponentName() {
|
||||
return "iLinkWorld";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.ilinktest;
|
||||
|
||||
import com.facebook.react.ReactActivity;
|
||||
import com.facebook.react.ReactActivityDelegate;
|
||||
import com.facebook.react.ReactRootView;
|
||||
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
|
||||
|
||||
public class MainActivity extends ReactActivity {
|
||||
|
||||
/**
|
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
||||
* rendering of the component.
|
||||
*/
|
||||
@Override
|
||||
protected String getMainComponentName() {
|
||||
return "iLinkWorld";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ReactActivityDelegate createReactActivityDelegate() {
|
||||
return new ReactActivityDelegate(this, getMainComponentName()) {
|
||||
@Override
|
||||
protected ReactRootView createRootView() {
|
||||
return new RNGestureHandlerEnabledRootView(MainActivity.this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.ilink;
|
||||
package com.ilinktest;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 189 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 231 KiB |
|
After Width: | Height: | Size: 218 KiB |
|
After Width: | Height: | Size: 226 KiB |
|
After Width: | Height: | Size: 253 KiB |
|
After Width: | Height: | Size: 187 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 194 KiB |
|
After Width: | Height: | Size: 314 KiB |
|
After Width: | Height: | Size: 724 KiB |
|
|
@ -0,0 +1,74 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector
|
||||
android:height="108dp"
|
||||
android:width="108dp"
|
||||
android:viewportHeight="108"
|
||||
android:viewportWidth="108"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#008577"
|
||||
android:pathData="M0,0h108v108h-108z"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 21 KiB |
|
|
@ -2,6 +2,8 @@
|
|||
"WELCOME": "Welcome to iLink World !",
|
||||
"HELP": "Help",
|
||||
"SIMPLE_USER": "Simple User",
|
||||
"ABOUT": "About us",
|
||||
"ABOUT_TEXT": "iLink is an application that will facilitate your financial transactions near your location, and give you multiservice points near you.",
|
||||
"GEOLOCATED_USER": "Geo located user",
|
||||
"SUPERVISOR": "Supervisor",
|
||||
"AGENT": "Agent",
|
||||
|
|
@ -15,6 +17,7 @@
|
|||
"ACCOUNT_CREATED_SUCCESS": "Account created successfully.\nYou will receive in a few minutes an email and an SMS with your informations.\nWe will redirect you to the login page",
|
||||
"OR_BIG": "OR",
|
||||
"FOR_NUMB": "For the ",
|
||||
"FILTER_DATE": "Filter date",
|
||||
"SUBTITLE_ACTIVE_ACCOUNT": "Activate your account using the code that was sent on your email or phone number",
|
||||
"ASK_FOR_CREDIT": "Apply for credit",
|
||||
"ASK_CREDIT": "Credit applications",
|
||||
|
|
@ -26,14 +29,15 @@
|
|||
"ASK_FOR_SUPERVISOR1": "Ask to become a supervisor",
|
||||
"CREDIT_ASK_FROM_MEMBERS": "Credit requests from your members",
|
||||
"ASK_MEMBERS": "Membership applications",
|
||||
"MY_ACCOUNT": "Mon compte",
|
||||
"THE_ACCOUNT": "Le compte ",
|
||||
"MY_ACCOUNT": "My account",
|
||||
"THE_ACCOUNT": "Account ",
|
||||
"NO_GEO_POINT_CODE": "You have no free geolocated point",
|
||||
"NO_DEMAND_ADHESION": "You have no membership request",
|
||||
"ACTIVATED": "has been activated",
|
||||
"CREDIT_MANAGE": "Credit Management",
|
||||
"GROUP_MANAGE": "Group Management",
|
||||
"NOTIFICATIONS": "Notification",
|
||||
"NO_NOTIFICATION": "You haven't any notification",
|
||||
"CONFIGURATIONS": "Configuration",
|
||||
"LOGOUT": "Sign Out",
|
||||
"HINT_HOME_SEARCH": " Find a place, neighborhood or city ",
|
||||
|
|
@ -176,6 +180,8 @@
|
|||
"SEARCH_20": "20 km",
|
||||
"SEARCH_25": "25 km",
|
||||
"SEARCH": "Search",
|
||||
"SEE_VIDEO": "Watch the video",
|
||||
"SEE_TUTO": "See the tutorial",
|
||||
"DELETE": "Delete",
|
||||
"FREE": "Available",
|
||||
"SAVED": "Registered",
|
||||
|
|
@ -195,12 +201,14 @@
|
|||
"PHONE_TRANSACTION": "Transaction number",
|
||||
"DEMAND_TEXT_FIRST_PART": "made a request for",
|
||||
"REQUEST_SEND": "Request Sent",
|
||||
"DEMAND_RECEIVE": "Requests received",
|
||||
"TO_": "credit to",
|
||||
"DEMAND_SEND_SUCCESFUL": "Your request has been sent successfully!",
|
||||
"SAVE_HISTORY": "Save history",
|
||||
"MAKE_REQUEST": "Make a request",
|
||||
"DATE_WRONG": "The end date can not be earlier than the start date",
|
||||
"LOADING_DOTS": "Loads ...",
|
||||
"LOADING_DOTS": "Loading...",
|
||||
"LOADING_PROGRESS": "Loading",
|
||||
"EMPTY_LIST_REQUEST": "No request",
|
||||
"MEMBER_LIST": "List of members",
|
||||
"FREE_CODE_LIST": "List of available codes",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
{
|
||||
"WELCOME": "Bienvenue sur iLink World !",
|
||||
"HELP": "Aide à l'utilisation",
|
||||
"HELP": "Aide",
|
||||
"SIMPLE_USER": "Utilisateur simple",
|
||||
"ABOUT": "A Propos",
|
||||
"ABOUT_TEXT": "iLink est une application qui facilitera vos transactions financières près de votre position, et vous donne les points multiservices prêt de chez vous.",
|
||||
"GEOLOCATED_USER": "Utilisateur géo-localisé",
|
||||
"SUPERVISOR": "Superviseur",
|
||||
"AGENT": "Agent",
|
||||
|
|
@ -15,6 +17,7 @@
|
|||
"ACCOUNT_CREATED_SUCCESS": "Le compte a été crée avec succès.\nVous recevrez dans quelques minutes un email et un sms avec vos informations.\nNous allons vous rediriger vers la page de connexion",
|
||||
"OR_BIG": "OU",
|
||||
"FOR_NUMB": "Pour le ",
|
||||
"FILTER_DATE": "Filtre de date",
|
||||
"SUBTITLE_ACTIVE_ACCOUNT": "Activez votre compte à l'aide du code qui a été envoyé sur votre mail ou votre numéro de téléphone",
|
||||
"ASK_FOR_CREDIT": "Demander du crédit",
|
||||
"ASK_CREDIT": "Demandes de crédit",
|
||||
|
|
@ -34,6 +37,7 @@
|
|||
"CREDIT_MANAGE": "Gestion de credit",
|
||||
"GROUP_MANAGE": "Gestion du groupe",
|
||||
"NOTIFICATIONS": "Notification",
|
||||
"NO_NOTIFICATION": "Vous n'avez aucune notification",
|
||||
"CONFIGURATIONS": "Configuration",
|
||||
"LOGOUT": "Déconnexion",
|
||||
"HINT_HOME_SEARCH": " Chercher un lieu, quartier ou ville ",
|
||||
|
|
@ -176,6 +180,8 @@
|
|||
"SEARCH_20": "20 km",
|
||||
"SEARCH_25": "25 km",
|
||||
"SEARCH": "Rechercher",
|
||||
"SEE_VIDEO": "Voir la vidéo",
|
||||
"SEE_TUTO": "Voir le tutoriel",
|
||||
"DELETE": "Supprimer",
|
||||
"FREE": "disponibles",
|
||||
"SAVED": "enregistrés",
|
||||
|
|
@ -195,12 +201,14 @@
|
|||
"PHONE_TRANSACTION": "Numéro de transaction",
|
||||
"DEMAND_TEXT_FIRST_PART": "a effectué une demande de ",
|
||||
"DEMANDE_SEND": " Demande Envoyée",
|
||||
"DEMAND_RECEIVE": "Demandes reçues",
|
||||
"TO_": " crédit auprès de ",
|
||||
"DEMAND_SEND_SUCCESFUL": "Votre demande a été envoyée avec succès !",
|
||||
"SAVE_HISTORY": "Enregistrer l'historique",
|
||||
"MAKE_REQUEST": "Faire une demande",
|
||||
"DATE_WRONG": "La date de fin ne peut être antérieure à la date de début",
|
||||
"LOADING_DOTS": "Chargements...",
|
||||
"LOADING_DOTS": "Chargement...",
|
||||
"LOADING_PROGRESS": "Chargement en cours",
|
||||
"EMPTY_LIST_REQUEST": "Aucune demande",
|
||||
"MEMBER_LIST": "Liste des membres",
|
||||
"FREE_CODE_LIST": "Liste des codes disponibles",
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<resources>
|
||||
<string name="app_name">iLink</string>
|
||||
<string name="app_name">iLink Test</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@
|
|||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="android:textColor">#000000</item>
|
||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
6
index.js
|
|
@ -2,8 +2,12 @@
|
|||
* @format
|
||||
*/
|
||||
|
||||
import {AppRegistry} from 'react-native';
|
||||
import { AppRegistry, YellowBox } from 'react-native';
|
||||
import App from './App';
|
||||
import { name as appName } from './app.json';
|
||||
|
||||
YellowBox.ignoredYellowBox = ['Warning: Each', 'Warning: Failed'];
|
||||
console.disableYellowBox = true;
|
||||
|
||||
|
||||
AppRegistry.registerComponent(appName, () => App);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ export const theme=require('./../utils/theme.json')
|
|||
|
||||
export default class BaseScreen extends Component {
|
||||
|
||||
constructor(props,needToCloseDrawer:Boolean=false){
|
||||
constructor(props, needToCloseDrawer) {
|
||||
super(props)
|
||||
if (needToCloseDrawer) {
|
||||
/* this.props.navigator.toggleDrawer({
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ export default class About extends React.Component {
|
|||
</View>
|
||||
<View style={{ flex: 3 }}>
|
||||
<Button onPress={() => { Linking.openURL(videoUrl) }} style={{ width: responsiveWidth(40), backgroundColor: "white", borderRadius: responsiveWidth(20), alignSelf: "center", borderColor: "white" }} textStyle={{ color: theme.primary }}>{I18n.t('SEE_VIDEO')}</Button>
|
||||
<Button style={{ width: responsiveWidth(40), backgroundColor: "transparent", borderRadius: responsiveWidth(20), alignSelf: "center", borderColor: "white" }} textStyle={{ color: "white" }}><View style={{ justifyContent: "center", alignContent: "center" }}><Text style={{ color: "white", fontWeight: "bold" }}>{I18n.t("SEE_TUTO")}</Text><Text style={{ color: "white" }}>{I18n.t('UNAVAILABLE')}</Text></View></Button>
|
||||
<Button style={{ width: responsiveWidth(40), backgroundColor: "transparent", borderRadius: responsiveWidth(20), alignSelf: "center", borderColor: "white" }} textStyle={{ color: "white" }}><View style={{ justifyContent: "center", alignContent: "center" }}><Text style={{ color: "white" }}>{I18n.t('SEE_TUTO')}</Text></View></Button>
|
||||
</View>
|
||||
<View style={{ flexDirection: "row", flex: 0.3, width: responsiveWidth(95), height: responsiveHeight(100), justifyContent: "space-between", alignItems: "stretch" }}>
|
||||
<Text style={{ color: "white", fontWeight: "bold" }}>Version 1.0.0</Text>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import React, { Component } from 'react'
|
||||
import { StyleSheet, Text, View, Alert } from 'react-native'
|
||||
import { StyleSheet, Text, View, Alert, Platform, StatusBar } from 'react-native'
|
||||
import BaseScreen from "../BaseScreen";
|
||||
import { responsiveWidth, responsiveHeight } from 'react-native-responsive-dimensions'
|
||||
import { Dropdown } from 'react-native-material-dropdown'
|
||||
|
|
@ -13,22 +13,26 @@ require("./../../utils/Translations")
|
|||
import { IlinkEmitter } from "./../../utils/events"
|
||||
import { Header } from "react-native-elements";
|
||||
import Icon from 'react-native-vector-icons/MaterialIcons';
|
||||
import { SafeAreaView } from 'react-navigation';
|
||||
|
||||
export default class Configurations extends BaseScreen {
|
||||
|
||||
static navigationOptions = {
|
||||
headerTItle: I18n.t('CONFIGURATIONS'),
|
||||
headerTitle: I18n.t('CONFIGURATIONS'),
|
||||
drawerIcon: ({ tintColor }) => (
|
||||
<Icon
|
||||
name={'settings'}
|
||||
size={24}
|
||||
/>
|
||||
),
|
||||
)
|
||||
};
|
||||
constructor(props) {
|
||||
super(props, true)
|
||||
this.state = this.initState()
|
||||
this.configuration = new Configuration();
|
||||
if (Platform.OS === 'android') {
|
||||
SafeAreaView.setStatusBarHeight(StatusBar.currentHeight);
|
||||
}
|
||||
}
|
||||
|
||||
initState() {
|
||||
|
|
@ -79,7 +83,7 @@ export default class Configurations extends BaseScreen {
|
|||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: 'white'
|
||||
backgroundColor: 'white',
|
||||
},
|
||||
|
||||
})
|
||||
|
|
@ -55,4 +55,3 @@ export class ListOptions extends Component{
|
|||
marginBottom: 5,
|
||||
},
|
||||
});
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ require("./../../utils/Translations");
|
|||
import I18n from 'react-native-i18n'
|
||||
const route = require('./../../route.json')
|
||||
import LottieView from 'lottie-react-native'; // if you have "esModuleInterop": true
|
||||
import { IndicatorViewPager } from 'react-native-best-viewpager';
|
||||
import { IndicatorViewPager, PagerTabIndicator } from 'react-native-best-viewpager';
|
||||
|
||||
import { Card, CardTitle, CardContent, CardAction, CardButton, CardImage } from 'react-native-material-cards'
|
||||
let moment = require('moment-timezone');
|
||||
|
|
|
|||
|
|
@ -100,14 +100,16 @@ export class HistoryItemSectionned extends PureComponent{
|
|||
backgroundColor: theme.accent,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
flexDirection:'row',flex:1,height:70,width:responsiveWidth(100)}}>
|
||||
flexDirection: 'row', flex: 1, height: 70, width: responsiveWidth(100)
|
||||
}}>
|
||||
<View style={{
|
||||
height: 70,
|
||||
justifyContent: 'center',
|
||||
flex: 1,
|
||||
width: responsiveWidth(100),
|
||||
}}>
|
||||
<Text style={{fontWeight: 'bold',
|
||||
<Text style={{
|
||||
fontWeight: 'bold',
|
||||
marginLeft: 20,
|
||||
fontSize: 20,
|
||||
color: 'white'
|
||||
|
|
|
|||
|
|
@ -70,7 +70,8 @@ const defaultProps = {
|
|||
color={tintColor}
|
||||
/>
|
||||
),
|
||||
}};
|
||||
}
|
||||
};
|
||||
static defaultProps = {
|
||||
draggableRange: {
|
||||
top: responsiveHeight(30),
|
||||
|
|
@ -316,12 +317,14 @@ const defaultProps = {
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
if (pays !== null && pays !== undefined)
|
||||
this.getNetworks(pays)
|
||||
else
|
||||
this.requestCameraPermission()
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
|
|
@ -338,17 +341,20 @@ const defaultProps = {
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
if (pays !== null && pays !== undefined)
|
||||
this.getNetworks(pays)
|
||||
else
|
||||
this.requestCameraPermission()
|
||||
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
) })
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
} else {
|
||||
|
|
@ -360,10 +366,12 @@ const defaultProps = {
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
|
||||
this.requestCameraPermission()
|
||||
}}
|
||||
}
|
||||
}
|
||||
],
|
||||
{ cancelable: false }
|
||||
)
|
||||
|
|
@ -424,9 +432,11 @@ const defaultProps = {
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
this.getPosition(options)
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
|
|
@ -439,9 +449,11 @@ const defaultProps = {
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
this.getPosition(options)
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
|
|
@ -647,10 +659,12 @@ const defaultProps = {
|
|||
return (<View />)
|
||||
} else
|
||||
return (<View style={{ flexDirection: "row" }}>
|
||||
<View style={{backgroundColor:"#FFFFFFA0",
|
||||
<View style={{
|
||||
backgroundColor: "#FFFFFFA0",
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
alignSelf:'center'}}>
|
||||
alignSelf: 'center'
|
||||
}}>
|
||||
<Text>{this.state.markers.length + " " + (this.state.currentNetworkSize === 0 ? "" : "/" + this.state.currentNetworkSize)} </Text>
|
||||
|
||||
</View>
|
||||
|
|
@ -1215,7 +1229,8 @@ return(<View>
|
|||
renderInner() {
|
||||
return (<View style={{ flex: 1, backgroundColor: "green" }}>
|
||||
<Text>Freud junior</Text>
|
||||
</View>) }
|
||||
</View>)
|
||||
}
|
||||
markerView() {
|
||||
if (this.state.currentMarker) return this._renderMarker2()
|
||||
}
|
||||
|
|
@ -1242,8 +1257,7 @@ return(<View>
|
|||
color={theme.primary}
|
||||
style={{ backgroundColor: "white" }}
|
||||
|
||||
onPress={()=>
|
||||
{
|
||||
onPress={() => {
|
||||
if (!this.state.showFilterDistance) {
|
||||
this.bottomSheetRef.snapTo(2)
|
||||
this.setState({ showFilterDistance: true })
|
||||
|
|
@ -1306,7 +1320,8 @@ return(<View>
|
|||
backgroundColor: "white",
|
||||
width: responsiveWidth(26),
|
||||
height: 36,
|
||||
marginLeft: 5, borderRadius: 100, borderColor: "#9e9e9e", justifyContent: 'center' }}
|
||||
marginLeft: 5, borderRadius: 100, borderColor: "#9e9e9e", justifyContent: 'center'
|
||||
}}
|
||||
onPress={() => this.callItem(marker)}
|
||||
>
|
||||
<View
|
||||
|
|
@ -1322,7 +1337,8 @@ return(<View>
|
|||
style={{ fontSize: 15, color: '#9e9e9e', marginLeft: responsiveWidth(2) }}
|
||||
>{I18n.t("CALL")}</Text></View>
|
||||
</Button>
|
||||
</View>)}
|
||||
</View>)
|
||||
}
|
||||
else return (<View style={{ flex: 2, flexDirection: 'row', justifyContent: 'flex-end', marginEnd: 20 }}>
|
||||
</View>)
|
||||
|
||||
|
|
@ -1380,7 +1396,8 @@ return(<View>
|
|||
} else {
|
||||
this.getPosition();
|
||||
this.watchLocation();
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
|
|
@ -1844,13 +1861,15 @@ return(<View>
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
this.setState({ loadingDialog: true })
|
||||
if (dial_code !== null && dial_code !== undefined)
|
||||
this.retrieveAllPoint(dial_code)
|
||||
else
|
||||
this.requestCameraPermission()
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
|
|
@ -1869,14 +1888,16 @@ return(<View>
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
if (this.state.allpoint.length <= 0) {
|
||||
this.setState({ loadingDialog: true })
|
||||
if (dial_code !== null && dial_code !== undefined)
|
||||
this.retrieveAllPoint(dial_code)
|
||||
else
|
||||
this.requestCameraPermission()
|
||||
}}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
|
|
@ -1909,10 +1930,12 @@ return(<View>
|
|||
|
||||
/>
|
||||
</Button>
|
||||
<View style={{backgroundColor:"#FFFFFFA0", width:responsiveWidth(20),height:30,borderRadius:12,
|
||||
<View style={{
|
||||
backgroundColor: "#FFFFFFA0", width: responsiveWidth(20), height: 30, borderRadius: 12,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
alignSelf:'center'}}>
|
||||
alignSelf: 'center'
|
||||
}}>
|
||||
<Text>{(this.state.markers.length === 0 ? this.state.markers.length : (this.state.markers.length))} / {this.state.currentNetworkSize} </Text>
|
||||
</View>
|
||||
</View>)
|
||||
|
|
@ -1935,14 +1958,16 @@ return(<View>
|
|||
.filter((mark, index) => {
|
||||
const location = { longitude: parseFloat(mark.longitude), latitude: parseFloat(mark.latitude) }
|
||||
return geolib.getDistance(myPosition, location) <= (value * 1000)
|
||||
&& mark.network===filternetwork.name})
|
||||
&& mark.network === filternetwork.name
|
||||
})
|
||||
.slice(0, (page + 1) * this.state.pas)
|
||||
try {
|
||||
const currentNetwork = allpoint
|
||||
.filter((mark, index) => {
|
||||
const location = { longitude: parseFloat(mark.longitude), latitude: parseFloat(mark.latitude) }
|
||||
return geolib.getDistance(myPosition, location) <= (value * 1000)
|
||||
&& mark.network===filternetwork.name})
|
||||
&& mark.network === filternetwork.name
|
||||
})
|
||||
this.setState({ currentNetworkSize: currentNetwork.length, currentNetworkMarkers: currentNetwork })
|
||||
} catch (e) {
|
||||
console.debug("after " + e.message)
|
||||
|
|
@ -2041,8 +2066,11 @@ return(<View>
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
this.treatPosition(myPosition) }}
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
this.treatPosition(myPosition)
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
|
|
@ -2057,8 +2085,11 @@ return(<View>
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
this.treatPosition(myPosition) }}
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
this.treatPosition(myPosition)
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
|
|
@ -2073,8 +2104,11 @@ return(<View>
|
|||
,
|
||||
[
|
||||
{ text: I18n.t("NO"), onPress: () => { BackHandler.exitApp() } },
|
||||
{text:I18n.t("YES"),onPress:()=>{
|
||||
this.treatPosition(myPosition) }}
|
||||
{
|
||||
text: I18n.t("YES"), onPress: () => {
|
||||
this.treatPosition(myPosition)
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
{ cancelable: false }
|
||||
|
|
|
|||
|
|
@ -107,7 +107,8 @@ componentWillReceiveProps(nextProps: Readonly<P>, nextContext: any): void {
|
|||
setTimeout(() => {
|
||||
if (!this.state.roadReady) {
|
||||
this.setState({ roadReady: true })
|
||||
this.props.onNeedRoadError()}
|
||||
this.props.onNeedRoadError()
|
||||
}
|
||||
}, 10000)
|
||||
|
||||
return (<MapViewDirections
|
||||
|
|
@ -117,11 +118,13 @@ componentWillReceiveProps(nextProps: Readonly<P>, nextContext: any): void {
|
|||
strokeWidth={3}
|
||||
onReady={(data) => {
|
||||
this.setState({ roadReady: true })
|
||||
this.props.onNeedRoadReady(data)}
|
||||
this.props.onNeedRoadReady(data)
|
||||
}
|
||||
}
|
||||
onError={() => {
|
||||
this.setState({ roadReady: true })
|
||||
this.props.onNeedRoadError()}
|
||||
this.props.onNeedRoadError()
|
||||
}
|
||||
}
|
||||
strokeColor={theme.primary}
|
||||
/>)
|
||||
|
|
@ -142,7 +145,8 @@ componentWillReceiveProps(nextProps: Readonly<P>, nextContext: any): void {
|
|||
title={I18n.t("YOUR_THERE")}
|
||||
data={{
|
||||
longitude: myPosition.longitude,
|
||||
latitude:myPosition.latitude}}
|
||||
latitude: myPosition.latitude
|
||||
}}
|
||||
/>
|
||||
</CopilotStep>
|
||||
)
|
||||
|
|
@ -154,7 +158,8 @@ componentWillReceiveProps(nextProps: Readonly<P>, nextContext: any): void {
|
|||
title={I18n.t("YOUR_THERE")}
|
||||
data={{
|
||||
longitude: myPosition.longitude,
|
||||
latitude:myPosition.latitude}}
|
||||
latitude: myPosition.latitude
|
||||
}}
|
||||
/>)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,8 @@ export default class OptionsMenu extends Component<Props> {
|
|||
readUser().then((result) => {
|
||||
setTimeout(() => {
|
||||
this.updateUser(result);
|
||||
}, 3000)})
|
||||
}, 3000)
|
||||
})
|
||||
} else {
|
||||
let code = DeviceInfo.getDeviceLocale();
|
||||
I18n.locale = code.toLowerCase()
|
||||
|
|
@ -193,8 +194,7 @@ export default class OptionsMenu extends Component<Props> {
|
|||
break;
|
||||
|
||||
}
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
menu = this.getUserMenu();
|
||||
}
|
||||
}
|
||||
|
|
@ -218,7 +218,8 @@ export default class OptionsMenu extends Component<Props> {
|
|||
<TouchableOpacity onPress={() => {
|
||||
this.props.navigation.toggleDrawer();
|
||||
this.setState({ currentId: item.id })
|
||||
this.props.navigation.navigate(item)}}
|
||||
this.props.navigation.navigate(item)
|
||||
}}
|
||||
>
|
||||
<View
|
||||
style={items.content}
|
||||
|
|
@ -232,7 +233,9 @@ export default class OptionsMenu extends Component<Props> {
|
|||
fontSize: 16,
|
||||
}}>{this.getNameItems(item)}
|
||||
</Text>
|
||||
</View></TouchableOpacity>)}};
|
||||
</View></TouchableOpacity>)
|
||||
}
|
||||
};
|
||||
_onPress = ((item) => {
|
||||
|
||||
this.setState({ currentId: item.id })
|
||||
|
|
@ -411,7 +414,7 @@ export default class OptionsMenu extends Component<Props> {
|
|||
break;
|
||||
case 'addNetwork': icon = I18n.t('ADD_NETWORK')
|
||||
break
|
||||
case 'about':icon=I18n.t('ABOUT_')
|
||||
case 'about': icon = I18n.t('ABOUT')
|
||||
}
|
||||
return icon;
|
||||
}
|
||||
|
|
@ -452,7 +455,8 @@ export default class OptionsMenu extends Component<Props> {
|
|||
<Text style={styles.headerTitle}>{surname}</Text>
|
||||
<Text style={styles.headerPhone}>{this.state.user ? "" + this.state.user.phone : ""}</Text>
|
||||
</View>
|
||||
<ScrollView style={{flex:1,height:responsiveHeight(40)
|
||||
<ScrollView style={{
|
||||
flex: 1, height: responsiveHeight(40)
|
||||
}} >
|
||||
<SafeAreaView forceInset={{ top: 'always', horizontal: 'never' }}>
|
||||
{
|
||||
|
|
@ -481,12 +485,14 @@ export default class OptionsMenu extends Component<Props> {
|
|||
[
|
||||
{},
|
||||
{ text: I18n.t('NO'), onPress: () => console.log('Cancel Pressed'), style: 'cancel' },
|
||||
{text: I18n.t('YES'), onPress: () =>{
|
||||
{
|
||||
text: I18n.t('YES'), onPress: () => {
|
||||
disconnect().then(() => {
|
||||
IlinkEmitter.emit("userdisconnect");
|
||||
this.props.navigation.navigate("Auth")
|
||||
})
|
||||
}},
|
||||
}
|
||||
},
|
||||
],
|
||||
{ cancelable: false }
|
||||
)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,8 @@ export default class OptionsMenu extends Component<Props> {
|
|||
readUser().then((result) => {
|
||||
setTimeout(() => {
|
||||
this.updateUser(result);
|
||||
}, 3000)})
|
||||
}, 3000)
|
||||
})
|
||||
} else {
|
||||
RNDeviceInformation.getDeviceCountryCode().then((code) => {
|
||||
I18n.locale = code.toLowerCase()
|
||||
|
|
@ -193,8 +194,7 @@ export default class OptionsMenu extends Component<Props> {
|
|||
break;
|
||||
|
||||
}
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
menu = this.getUserMenu();
|
||||
}
|
||||
}
|
||||
|
|
@ -218,7 +218,8 @@ export default class OptionsMenu extends Component<Props> {
|
|||
<TouchableOpacity onPress={() => {
|
||||
this.props.navigation.toggleDrawer();
|
||||
this.setState({ currentId: item.id })
|
||||
this.props.navigation.navigate(item)}}
|
||||
this.props.navigation.navigate(item)
|
||||
}}
|
||||
>
|
||||
<View
|
||||
style={items.content}
|
||||
|
|
@ -232,7 +233,9 @@ export default class OptionsMenu extends Component<Props> {
|
|||
fontSize: 16,
|
||||
}}>{this.getNameItems(item)}
|
||||
</Text>
|
||||
</View></TouchableOpacity>)}};
|
||||
</View></TouchableOpacity>)
|
||||
}
|
||||
};
|
||||
_onPress = ((item) => {
|
||||
|
||||
this.setState({ currentId: item.id })
|
||||
|
|
@ -452,7 +455,8 @@ export default class OptionsMenu extends Component<Props> {
|
|||
<Text style={styles.headerTitle}>{surname}</Text>
|
||||
<Text style={styles.headerPhone}>{this.state.user ? "" + this.state.user.phone : ""}</Text>
|
||||
</View>
|
||||
<SafeAreaView style={{flex:1,
|
||||
<SafeAreaView style={{
|
||||
flex: 1,
|
||||
}} forceInset={{ top: 'always', horizontal: 'never' }}>
|
||||
{
|
||||
this.state.items && Object.keys(this.state.items).map((item, key) => {
|
||||
|
|
@ -479,12 +483,14 @@ export default class OptionsMenu extends Component<Props> {
|
|||
[
|
||||
{},
|
||||
{ text: I18n.t('NO'), onPress: () => console.log('Cancel Pressed'), style: 'cancel' },
|
||||
{text: I18n.t('YES'), onPress: () =>{
|
||||
{
|
||||
text: I18n.t('YES'), onPress: () => {
|
||||
disconnect().then(() => {
|
||||
IlinkEmitter.emit("userdisconnect");
|
||||
this.props.navigation.navigate("Auth")
|
||||
})
|
||||
}},
|
||||
}
|
||||
},
|
||||
],
|
||||
{ cancelable: false }
|
||||
)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ export default class SplashScreen extends Component{
|
|||
drawUnderNavBar: true,
|
||||
navBarHidden: true,
|
||||
drawUnderStatusBar: false,
|
||||
statusBarHidden: true,
|
||||
statusBarHidden: false,
|
||||
statusBarTextColorScheme: 'light',
|
||||
};
|
||||
static options(passProps) {
|
||||
|
|
@ -184,7 +184,8 @@ export default class SplashScreen extends Component{
|
|||
}
|
||||
setTimeout(() => {
|
||||
this.workUserResult(result)
|
||||
}, 3000)})
|
||||
}, 3000)
|
||||
})
|
||||
} else {
|
||||
const code = DeviceInfo.getDeviceLocale();
|
||||
console.warn(code)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
"WELCOME": "Welcome to iLink World !",
|
||||
"HELP": "Help",
|
||||
"SIMPLE_USER": "Simple User",
|
||||
"ABOUT": "About us",
|
||||
"ABOUT_TEXT": "iLink is an application that will facilitate your financial transactions near your location, and give you multiservice points near you.",
|
||||
"GEOLOCATED_USER": "Geo located user",
|
||||
"SUPERVISOR": "Supervisor",
|
||||
"AGENT": "Agent",
|
||||
|
|
@ -15,6 +17,7 @@
|
|||
"ACCOUNT_CREATED_SUCCESS": "Account created successfully.\nYou will receive in a few minutes an email and an SMS with your informations.\nWe will redirect you to the login page",
|
||||
"OR_BIG": "OR",
|
||||
"FOR_NUMB": "For the ",
|
||||
"FILTER_DATE": "Filter date",
|
||||
"SUBTITLE_ACTIVE_ACCOUNT": "Activate your account using the code that was sent on your email or phone number",
|
||||
"ASK_FOR_CREDIT": "Apply for credit",
|
||||
"ASK_CREDIT": "Credit applications",
|
||||
|
|
@ -26,14 +29,15 @@
|
|||
"ASK_FOR_SUPERVISOR1": "Ask to become a supervisor",
|
||||
"CREDIT_ASK_FROM_MEMBERS": "Credit requests from your members",
|
||||
"ASK_MEMBERS": "Membership applications",
|
||||
"MY_ACCOUNT": "Mon compte",
|
||||
"THE_ACCOUNT": "Le compte ",
|
||||
"MY_ACCOUNT": "My account",
|
||||
"THE_ACCOUNT": "Account ",
|
||||
"NO_GEO_POINT_CODE": "You have no free geolocated point",
|
||||
"NO_DEMAND_ADHESION": "You have no membership request",
|
||||
"ACTIVATED": "has been activated",
|
||||
"CREDIT_MANAGE": "Credit Management",
|
||||
"GROUP_MANAGE": "Group Management",
|
||||
"NOTIFICATIONS": "Notification",
|
||||
"NO_NOTIFICATION": "You haven't any notification",
|
||||
"CONFIGURATIONS": "Configuration",
|
||||
"LOGOUT": "Sign Out",
|
||||
"HINT_HOME_SEARCH": " Find a place, neighborhood or city ",
|
||||
|
|
@ -55,6 +59,7 @@
|
|||
"CREDIT": "Credit",
|
||||
"NEXT": "Next",
|
||||
"SPONSOR_CODE": "Sponsor Code",
|
||||
"SOLDE_UNVAIBLE": "solde unavailable",
|
||||
"TEXT_BIG_CREATE_AGENT_1": "Register as Agent",
|
||||
"EMAIL": "Email",
|
||||
"COUNTRY": "Country",
|
||||
|
|
@ -176,6 +181,8 @@
|
|||
"SEARCH_20": "20 km",
|
||||
"SEARCH_25": "25 km",
|
||||
"SEARCH": "Search",
|
||||
"SEE_VIDEO": "Watch the video",
|
||||
"SEE_TUTO": "See the tutorial",
|
||||
"DELETE": "Delete",
|
||||
"FREE": "Available",
|
||||
"SAVED": "Registered",
|
||||
|
|
@ -195,12 +202,14 @@
|
|||
"PHONE_TRANSACTION": "Transaction number",
|
||||
"DEMAND_TEXT_FIRST_PART": "made a request for",
|
||||
"REQUEST_SEND": "Request Sent",
|
||||
"DEMAND_RECEIVE": "Requests received",
|
||||
"TO_": "credit to",
|
||||
"DEMAND_SEND_SUCCESFUL": "Your request has been sent successfully!",
|
||||
"SAVE_HISTORY": "Save history",
|
||||
"MAKE_REQUEST": "Make a request",
|
||||
"DATE_WRONG": "The end date can not be earlier than the start date",
|
||||
"LOADING_DOTS": "Loads ...",
|
||||
"LOADING_DOTS": "Loading...",
|
||||
"LOADING_PROGRESS": "Loading",
|
||||
"EMPTY_LIST_REQUEST": "No request",
|
||||
"MEMBER_LIST": "List of members",
|
||||
"FREE_CODE_LIST": "List of available codes",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
{
|
||||
"WELCOME": "Bienvenue sur iLink World !",
|
||||
"HELP": "Aide à l'utilisation",
|
||||
"HELP": "Aide",
|
||||
"SIMPLE_USER": "Utilisateur simple",
|
||||
"ABOUT": "A Propos",
|
||||
"ABOUT_TEXT": "iLink est une application qui facilitera vos transactions financières près de votre position, et vous donne les points multiservices prêt de chez vous.",
|
||||
"GEOLOCATED_USER": "Utilisateur géo-localisé",
|
||||
"SUPERVISOR": "Superviseur",
|
||||
"AGENT": "Agent",
|
||||
|
|
@ -15,6 +17,7 @@
|
|||
"ACCOUNT_CREATED_SUCCESS": "Le compte a été crée avec succès.\nVous recevrez dans quelques minutes un email et un sms avec vos informations.\nNous allons vous rediriger vers la page de connexion",
|
||||
"OR_BIG": "OU",
|
||||
"FOR_NUMB": "Pour le ",
|
||||
"FILTER_DATE": "Filtre de date",
|
||||
"SUBTITLE_ACTIVE_ACCOUNT": "Activez votre compte à l'aide du code qui a été envoyé sur votre mail ou votre numéro de téléphone",
|
||||
"ASK_FOR_CREDIT": "Demander du crédit",
|
||||
"ASK_CREDIT": "Demandes de crédit",
|
||||
|
|
@ -34,6 +37,7 @@
|
|||
"CREDIT_MANAGE": "Gestion de credit",
|
||||
"GROUP_MANAGE": "Gestion du groupe",
|
||||
"NOTIFICATIONS": "Notification",
|
||||
"NO_NOTIFICATION": "Vous n'avez aucune notification",
|
||||
"CONFIGURATIONS": "Configuration",
|
||||
"LOGOUT": "Déconnexion",
|
||||
"HINT_HOME_SEARCH": " Chercher un lieu, quartier ou ville ",
|
||||
|
|
@ -55,6 +59,7 @@
|
|||
"CREDIT": "Crédit",
|
||||
"NEXT": "Suivant",
|
||||
"SPONSOR_CODE": "Code parrain",
|
||||
"SOLDE_UNVAIBLE": "solde non disponible",
|
||||
"TEXT_BIG_CREATE_AGENT_1": "Inscrivez-vous en comme Agent",
|
||||
"EMAIL": "Email",
|
||||
"COUNTRY": "Pays",
|
||||
|
|
@ -176,6 +181,8 @@
|
|||
"SEARCH_20": "20 km",
|
||||
"SEARCH_25": "25 km",
|
||||
"SEARCH": "Rechercher",
|
||||
"SEE_VIDEO": "Voir la vidéo",
|
||||
"SEE_TUTO": "Voir le tutoriel",
|
||||
"DELETE": "Supprimer",
|
||||
"FREE": "disponibles",
|
||||
"SAVED": "enregistrés",
|
||||
|
|
@ -195,12 +202,14 @@
|
|||
"PHONE_TRANSACTION": "Numéro de transaction",
|
||||
"DEMAND_TEXT_FIRST_PART": "a effectué une demande de ",
|
||||
"DEMANDE_SEND": " Demande Envoyée",
|
||||
"DEMAND_RECEIVE": "Demandes reçues",
|
||||
"TO_": " crédit auprès de ",
|
||||
"DEMAND_SEND_SUCCESFUL": "Votre demande a été envoyée avec succès !",
|
||||
"SAVE_HISTORY": "Enregistrer l'historique",
|
||||
"MAKE_REQUEST": "Faire une demande",
|
||||
"DATE_WRONG": "La date de fin ne peut être antérieure à la date de début",
|
||||
"LOADING_DOTS": "Chargements...",
|
||||
"LOADING_DOTS": "Chargement...",
|
||||
"LOADING_PROGRESS": "Chargement en cours",
|
||||
"EMPTY_LIST_REQUEST": "Aucune demande",
|
||||
"MEMBER_LIST": "Liste des membres",
|
||||
"FREE_CODE_LIST": "Liste des codes disponibles",
|
||||
|
|
|
|||
|
|
@ -13,8 +13,10 @@ var serializeJSON = function(data) {
|
|||
|
||||
};
|
||||
export const getCodeInformation = (code) => {
|
||||
var data={"tag":'member',"type":"agen_info_code","code":code,
|
||||
"lang":I18n.currentLocale()};
|
||||
var data = {
|
||||
"tag": 'member', "type": "agen_info_code", "code": code,
|
||||
"lang": I18n.currentLocale()
|
||||
};
|
||||
|
||||
return queryData(data, memberActionUrl)
|
||||
}
|
||||
|
|
@ -60,8 +62,10 @@ function timeout(ms, promise) {
|
|||
})
|
||||
}
|
||||
export const validateUser = (user) => {
|
||||
var data={"tag":'member',"type":"valider_simple","phone":user.phone,
|
||||
"lang":I18n.currentLocale()};
|
||||
var data = {
|
||||
"tag": 'member', "type": "valider_simple", "phone": user.phone,
|
||||
"lang": I18n.currentLocale()
|
||||
};
|
||||
return queryData(data, memberActionUrl)
|
||||
};
|
||||
export const updatePosition = async (longitude, latitude) => {
|
||||
|
|
@ -107,11 +111,16 @@ export const disconnect=()=>{
|
|||
}
|
||||
|
||||
export const login = (phone: String, password: String, type: Number) => {
|
||||
const configuration=new Configuration()
|
||||
var data={"tag":type===0?"login_user":"login_agent","phone":phone,"password":password,"lang":configuration.getCurrentLangue()};
|
||||
console.log("CURRENT_LANG", I18n.currentLocale());
|
||||
var data = {
|
||||
tag: type === 0 ? "login_user" : "login_agent",
|
||||
phone: phone,
|
||||
password: password,
|
||||
lang: I18n.currentLocale()
|
||||
};
|
||||
|
||||
return queryAuth(data)
|
||||
}
|
||||
return queryAuth(data);
|
||||
};
|
||||
|
||||
export const reinitpassword = ($phone, $type) => {
|
||||
var data = { "tag": "forgot_pass", "number": $phone, "typeaccount": $type, "lang": I18n.currentLocale() };
|
||||
|
|
@ -170,7 +179,10 @@ const readBrutUser=()=>{
|
|||
} else {
|
||||
if (result.user === null) { resolve(null) }
|
||||
else
|
||||
resolve(result)};})});
|
||||
resolve(result)
|
||||
};
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
export const readUser = () => {
|
||||
|
|
@ -186,7 +198,9 @@ export const readUser=()=>{
|
|||
|
||||
resolve(result.user)
|
||||
}
|
||||
}})});
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
export const createGeolocatedAccount = (user) => {
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ export const isDebugMode = false
|
|||
//base url test
|
||||
//const baseUrl="https://ilink-app.com/mobilebackendbeta"
|
||||
//base url production
|
||||
//const baseUrl = "https://ilink-app.com/mobilebackend"
|
||||
const baseUrl = "https://ilink-app.com/mobilebackend"
|
||||
|
||||
//base url agent
|
||||
//const baseUrl="https://ilink-app.com/mobilebackendtest2"
|
||||
|
||||
//base url agent test
|
||||
const baseUrl = "https://ilink-app.com/mobilebackendtest"
|
||||
//const baseUrl = "https://ilink-app.com/mobilebackendtest"
|
||||
|
||||
export const adhesionUrl = baseUrl + '/interacted/LoginAction.php';
|
||||
export const memberActionUrl = baseUrl + '/interacted/MembersAction.php';
|
||||
|
|
|
|||