Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
InvestCustomer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Giang Tran
InvestCustomer
Commits
3d5d156a
Commit
3d5d156a
authored
May 24, 2021
by
Giang Tran
Browse files
Options
Browse Files
Download
Plain Diff
merge code
parents
163af2a7
e2aef260
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
133 additions
and
115 deletions
+133
-115
project.pbxproj
ios/Invest.xcodeproj/project.pbxproj
+4
-4
Info.plist
ios/Invest/Info.plist
+2
-4
RootView.js
src/RootView.js
+70
-71
OTPWallet.js
src/Screens/Action/Wallet/OTPWallet.js
+17
-8
WalletDeposit.js
src/Screens/Action/Wallet/WalletDeposit.js
+1
-0
WalletWithdraw.js
src/Screens/Action/Wallet/WalletWithdraw.js
+1
-0
Authen.js
src/Screens/Authen/Authen.js
+2
-2
ConfirmEmail.js
src/Screens/Authen/ConfirmEmail.js
+1
-0
ConfirmOTP.js
src/Screens/Authen/ConfirmOTP.js
+1
-0
RegisterOTP.js
src/Screens/Authen/RegisterOTP.js
+1
-0
Registor.js
src/Screens/Authen/Registor.js
+1
-0
CQG.js
src/Screens/Menu/Profile/Tab/CQG.js
+16
-6
Transaction.js
src/Screens/Transaction/Transaction.js
+4
-4
users.js
src/apis/Functions/users.js
+1
-1
url.js
src/apis/url.js
+1
-1
Header.js
src/components/Header/Header.js
+0
-1
HeaderBack.js
src/components/Header/HeaderBack.js
+0
-1
HeaderDrawer.js
src/components/Header/HeaderDrawer.js
+0
-1
HeaderHome.js
src/components/Header/HeaderHome.js
+0
-2
HeaderSB.js
src/components/Header/HeaderSB.js
+0
-1
HeaderTitle.js
src/components/Header/HeaderTitle.js
+0
-1
i18n.js
src/helper/i18/i18n.js
+5
-5
en.js
src/helper/i18/locales/en.js
+1
-0
vn.js
src/helper/i18/locales/vn.js
+4
-2
No files found.
ios/Invest.xcodeproj/project.pbxproj
View file @
3d5d156a
...
...
@@ -903,7 +903,7 @@
CODE_SIGN_ENTITLEMENTS
=
Invest/Invest.entitlements
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
10
;
CURRENT_PROJECT_VERSION
=
3
;
DEVELOPMENT_TEAM
=
MXZ24GRH48
;
ENABLE_BITCODE
=
NO
;
GCC_PREPROCESSOR_DEFINITIONS
=
(
...
...
@@ -912,7 +912,7 @@
);
INFOPLIST_FILE
=
Invest/Info.plist
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks"
;
MARKETING_VERSION
=
1.
8
;
MARKETING_VERSION
=
1.
9
;
OTHER_LDFLAGS
=
(
"$(inherited)"
,
"-ObjC"
,
...
...
@@ -937,11 +937,11 @@
CODE_SIGN_ENTITLEMENTS
=
Invest/Invest.entitlements
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
10
;
CURRENT_PROJECT_VERSION
=
3
;
DEVELOPMENT_TEAM
=
MXZ24GRH48
;
INFOPLIST_FILE
=
Invest/Info.plist
;
LD_RUNPATH_SEARCH_PATHS
=
"$(inherited) @executable_path/Frameworks"
;
MARKETING_VERSION
=
1.
8
;
MARKETING_VERSION
=
1.
9
;
OTHER_LDFLAGS
=
(
"$(inherited)"
,
"-ObjC"
,
...
...
ios/Invest/Info.plist
View file @
3d5d156a
...
...
@@ -6,8 +6,6 @@
<
a
rr
a
y
>
<
string
>
dcv.investcustomer.vn
<
/string
>
<
/
a
rr
a
y
>
<
k
e
y
>
CFBundleDevelopmentRegion
<
/k
e
y
>
<
string
>
en
<
/string
>
<
k
e
y
>
CFBundleDisplayName
<
/k
e
y
>
...
...
@@ -44,8 +42,8 @@
<
k
e
y
>
LSApplicationQueriesSchemes
<
/k
e
y
>
<
a
rr
a
y
>
<
string
>
itms-apps
<
/string
>
<
string
>
tel
<
/string
>
<
string
>
telprompt
<
/string
>
<
string
>
tel
<
/string
>
<
string
>
telprompt
<
/string
>
<
/
a
rr
a
y
>
<
k
e
y
>
LSRequiresIPhoneOS
<
/k
e
y
>
<
tru
e
/
>
...
...
src/RootView.js
View file @
3d5d156a
import
React
,
{
useEffect
,
useRef
}
from
'react'
;
import
{
View
,
}
from
'react-native'
;
import
{
View
}
from
'react-native'
;
import
{
connect
}
from
'react-redux'
;
import
StackNavigation
from
'./routers/StackNavigation'
;
...
...
@@ -19,80 +17,81 @@ import KEY from './assets/AsynStorage';
import
I18n
,
{
setLocation
}
from
'./helper/i18/i18n'
;
import
{
changeLanguage
}
from
'./actions/language'
;
enableScreens
();
const
RootView
=
(
props
)
=>
{
useEffect
(()
=>
{
DropdownManager
.
register
(
dropDownAlertRef
.
current
,
dropDownAlertLongTimeRef
.
current
,
);
setInitLanguage
()
},
[]);
const
dropDownAlertRef
=
useRef
(
null
);
const
dropDownAlertLongTimeRef
=
useRef
(
null
);
const
setInitLanguage
=
async
()
=>
{
const
laguage
=
await
AsyncStorage
.
getItem
(
KEY
.
LANGUAGE
);
if
(
laguage
)
props
.
changeLanguage
(
laguage
);
setLocation
(
I18n
,
laguage
);
};
return
(
<>
<
View
style
=
{{
flex
:
1
}}
>
<
Modal
isVisible
=
{
props
.
loadingModal
.
isVisible
}
>
<
SkypeIndicator
color
=
{
'white'
}
/
>
<
/Modal
>
<
StackNavigation
/>
<
/View
>
<
DropdownAlert
inactiveStatusBarBackgroundColor
=
{
R
.
colors
.
main
}
activeStatusBarBackgroundColor
=
{
R
.
colors
.
main
}
warnImageSrc
=
{
R
.
images
.
iconWarn
}
successImageSrc
=
{
R
.
images
.
iconSuccess
}
errorImageSrc
=
{
R
.
images
.
iconError
}
titleStyle
=
{{
color
:
'#fff'
}}
messageStyle
=
{{
color
:
'#fff'
}}
closeInterval
=
{
1000
}
ref
=
{
dropDownAlertRef
}
warnColor
=
{
R
.
colors
.
orange400
}
defaultContainer
=
{{
borderBottomRightRadius
:
WIDTHXD
(
30
),
borderBottomLeftRadius
:
WIDTHXD
(
30
),
paddingTop
:
HEIGHTXD
(
30
),
paddingVertical
:
HEIGHTXD
(
30
),
paddingHorizontal
:
WIDTHXD
(
20
),
}}
/
>
<
DropdownAlert
inactiveStatusBarBackgroundColor
=
{
R
.
colors
.
colorMain
}
activeStatusBarBackgroundColor
=
{
R
.
colors
.
colorMain
}
warnImageSrc
=
{
R
.
images
.
iconWarn
}
successImageSrc
=
{
R
.
images
.
iconSuccess
}
errorImageSrc
=
{
R
.
images
.
iconError
}
titleStyle
=
{{
color
:
'#fff'
}}
messageStyle
=
{{
color
:
'#fff'
}}
closeInterval
=
{
600000
}
ref
=
{
dropDownAlertLongTimeRef
}
warnColor
=
{
R
.
colors
.
orange400
}
defaultContainer
=
{{
borderBottomRightRadius
:
WIDTHXD
(
30
),
borderBottomLeftRadius
:
WIDTHXD
(
30
),
paddingTop
:
HEIGHTXD
(
30
),
paddingVertical
:
HEIGHTXD
(
30
),
paddingHorizontal
:
WIDTHXD
(
20
),
}}
/
>
<
NoInternetComponent
/>
<
/
>
useEffect
(()
=>
{
DropdownManager
.
register
(
dropDownAlertRef
.
current
,
dropDownAlertLongTimeRef
.
current
,
);
setInitLanguage
();
},
[]);
const
dropDownAlertRef
=
useRef
(
null
);
const
dropDownAlertLongTimeRef
=
useRef
(
null
);
const
setInitLanguage
=
async
()
=>
{
const
laguage
=
await
AsyncStorage
.
getItem
(
KEY
.
LANGUAGE
);
if
(
laguage
)
props
.
changeLanguage
(
laguage
);
setLocation
(
I18n
,
laguage
);
};
return
(
<>
<
View
style
=
{{
flex
:
1
}}
>
<
Modal
isVisible
=
{
props
.
loadingModal
.
isVisible
}
>
<
SkypeIndicator
color
=
{
'white'
}
/
>
<
/Modal
>
<
StackNavigation
/>
<
/View
>
<
DropdownAlert
inactiveStatusBarBackgroundColor
=
{
R
.
colors
.
main
}
activeStatusBarBackgroundColor
=
{
R
.
colors
.
main
}
warnImageSrc
=
{
R
.
images
.
iconWarn
}
successImageSrc
=
{
R
.
images
.
iconSuccess
}
errorImageSrc
=
{
R
.
images
.
iconError
}
titleStyle
=
{{
color
:
'#fff'
}}
messageStyle
=
{{
color
:
'#fff'
}}
updateStatusBar
=
{
false
}
closeInterval
=
{
1000
}
ref
=
{
dropDownAlertRef
}
warnColor
=
{
R
.
colors
.
orange400
}
defaultContainer
=
{{
borderBottomRightRadius
:
WIDTHXD
(
30
),
borderBottomLeftRadius
:
WIDTHXD
(
30
),
paddingTop
:
HEIGHTXD
(
30
),
paddingVertical
:
HEIGHTXD
(
30
),
paddingHorizontal
:
WIDTHXD
(
20
),
}}
/
>
<
DropdownAlert
updateStatusBar
=
{
false
}
inactiveStatusBarBackgroundColor
=
{
R
.
colors
.
colorMain
}
activeStatusBarBackgroundColor
=
{
R
.
colors
.
colorMain
}
warnImageSrc
=
{
R
.
images
.
iconWarn
}
successImageSrc
=
{
R
.
images
.
iconSuccess
}
errorImageSrc
=
{
R
.
images
.
iconError
}
titleStyle
=
{{
color
:
'#fff'
}}
messageStyle
=
{{
color
:
'#fff'
}}
closeInterval
=
{
600000
}
ref
=
{
dropDownAlertLongTimeRef
}
warnColor
=
{
R
.
colors
.
orange400
}
defaultContainer
=
{{
borderBottomRightRadius
:
WIDTHXD
(
30
),
borderBottomLeftRadius
:
WIDTHXD
(
30
),
paddingTop
:
HEIGHTXD
(
30
),
paddingVertical
:
HEIGHTXD
(
30
),
paddingHorizontal
:
WIDTHXD
(
20
),
}}
/
>
<
NoInternetComponent
/>
<
/
>
);
};
const
mapStateToProps
=
(
state
)
=>
{
return
{
loadingModal
:
state
.
ModalLoadingReducer
,
};
return
{
loadingModal
:
state
.
ModalLoadingReducer
,
};
};
export
default
connect
(
mapStateToProps
,
{
changeLanguage
})(
RootView
);
export
default
connect
(
mapStateToProps
,
{})(
RootView
);
src/Screens/Action/Wallet/OTPWallet.js
View file @
3d5d156a
...
...
@@ -49,14 +49,23 @@ const ConfirmOTP = (propsa) => {
showAlert
(
TYPE
.
WARN
,
I18n
.
t
(
'Notification'
),
I18n
.
t
(
'OTPInvalid'
));
}
else
{
propsa
.
showLoading
();
const
res
=
await
verifyOTPApi
({
platform
:
Platform
.
OS
,
receiver_name
:
propsa
.
user
.
email
,
otp
:
value
,
});
if
(
res
.
data
.
code
==
200
)
{
let
res1
;
if
(
propsa
.
route
.
params
.
type
==
'DEPOSIT'
)
{
res1
=
await
verifyOTPApi
({
platform
:
Platform
.
OS
,
receiver_name
:
propsa
.
user
.
email
,
otp
:
value
,
type
:
'CUSTOMER_REQUEST_DEPOSIT'
,
});
}
else
{
res1
=
await
verifyOTPApi
({
platform
:
Platform
.
OS
,
receiver_name
:
propsa
.
user
.
email
,
otp
:
value
,
type
:
'CUSTOMER_REQUEST_DEPOSIT'
,
});
}
if
(
res1
.
data
.
code
==
200
)
{
let
res
;
if
(
propsa
.
route
.
params
.
type
==
'DEPOSIT'
)
{
...
...
src/Screens/Action/Wallet/WalletDeposit.js
View file @
3d5d156a
...
...
@@ -52,6 +52,7 @@ const WalletDeposit = (props) => {
const
res
=
await
getOTPApi
({
platform
:
Platform
.
OS
,
otp_by
:
props
.
user
.
email
,
type
:
'CUSTOMER_REQUEST_DEPOSIT'
,
});
props
.
hideLoading
();
if
(
res
.
data
.
code
==
200
)
{
...
...
src/Screens/Action/Wallet/WalletWithdraw.js
View file @
3d5d156a
...
...
@@ -92,6 +92,7 @@ const WalletWithdraw = (props) => {
const
res
=
await
getOTPApi
({
platform
:
Platform
.
OS
,
otp_by
:
props
.
user
.
email
,
type
:
'REQUEST_WITHDRAW'
,
});
props
.
hideLoading
();
if
(
res
.
data
.
code
==
200
)
{
...
...
src/Screens/Authen/Authen.js
View file @
3d5d156a
...
...
@@ -51,12 +51,12 @@ const Authen = (props) => {
<
Tab
.
Screen
name
=
"LOGIN"
component
=
{
Login
}
options
=
{{
tabBarLabel
:
'Login'
}}
options
=
{{
tabBarLabel
:
I18n
.
t
(
'Login'
)
}}
/
>
<
Tab
.
Screen
name
=
"REGISTOR"
component
=
{
Registor
}
options
=
{{
tabBarLabel
:
'Register'
}}
options
=
{{
tabBarLabel
:
I18n
.
t
(
'Register'
)
}}
/
>
<
/Tab.Navigator
>
<
/ImageBackground
>
...
...
src/Screens/Authen/ConfirmEmail.js
View file @
3d5d156a
...
...
@@ -30,6 +30,7 @@ const ConfirmEmail = (props) => {
const
res
=
await
getOTPApi
({
platform
:
Platform
.
OS
,
otp_by
:
value
,
type
:
'FORGOT_PASSWORD'
,
});
props
.
hideLoading
();
...
...
src/Screens/Authen/ConfirmOTP.js
View file @
3d5d156a
...
...
@@ -52,6 +52,7 @@ const ConfirmOTP = (propsa) => {
platform
:
Platform
.
OS
,
receiver_name
:
propsa
.
route
.
params
.
email
,
otp
:
value
,
type
:
'FORGOT_PASSWORD'
,
});
propsa
.
hideLoading
();
...
...
src/Screens/Authen/RegisterOTP.js
View file @
3d5d156a
...
...
@@ -52,6 +52,7 @@ const ConfirmOTP = (propsa) => {
platform
:
Platform
.
OS
,
receiver_name
:
propsa
.
route
.
params
.
email
,
otp
:
value
,
type
:
'CUSTOMER_VERIFY'
,
});
if
(
res
.
data
.
code
==
200
)
{
...
...
src/Screens/Authen/Registor.js
View file @
3d5d156a
...
...
@@ -47,6 +47,7 @@ const Registor = (props) => {
const
res
=
await
getOTPApi
({
platform
:
Platform
.
OS
,
otp_by
:
email
,
type
:
'CUSTOMER_VERIFY'
,
});
props
.
hideLoading
();
console
.
log
(
res
);
...
...
src/Screens/Menu/Profile/Tab/CQG.js
View file @
3d5d156a
...
...
@@ -35,7 +35,7 @@ const Profile = (props) => {
return
(
<
View
style
=
{
styles
.
container
}
>
{
props
.
user
.
status
==
6
?
(
{
props
.
user
.
status
==
6
||
props
.
user
.
status
==
7
?
(
<
View
>
<
View
style
=
{
styles
.
item
}
>
<
AppText
i18nKey
=
{
'ContactCode'
}
style
=
{
styles
.
txtTitle
}
><
/AppText
>
...
...
@@ -61,11 +61,21 @@ const Profile = (props) => {
justifyContent
:
'space-between'
,
marginTop
:
50
,
}}
>
<
TouchableOpacity
onPress
=
{()
=>
navigation
.
navigate
(
PACKETCQG
)}
style
=
{
styles
.
btnLeft
}
>
<
AppText
i18nKey
=
{
'UpdatePacket'
}
style
=
{
styles
.
txtBtn
}
><
/AppText
>
<
/TouchableOpacity
>
{
props
.
user
.
status
==
7
?
(
<
View
style
=
{
styles
.
btnLeft
}
>
<
AppText
i18nKey
=
{
'WaitUpdateCQG'
}
style
=
{
styles
.
txtBtn
}
><
/AppText
>
<
/View
>
)
:
(
<
TouchableOpacity
onPress
=
{()
=>
navigation
.
navigate
(
PACKETCQG
)}
style
=
{
styles
.
btnLeft
}
>
<
AppText
i18nKey
=
{
'UpdatePacket'
}
style
=
{
styles
.
txtBtn
}
><
/AppText
>
<
/TouchableOpacity
>
)}
<
TouchableOpacity
onPress
=
{
onClickCLose
}
style
=
{
styles
.
btnRight
}
>
<
AppText
i18nKey
=
{
'CloseAccount'
}
style
=
{
styles
.
txtBtn
}
><
/AppText
>
<
/TouchableOpacity
>
...
...
src/Screens/Transaction/Transaction.js
View file @
3d5d156a
...
...
@@ -29,22 +29,22 @@ const NewFeed = (props) => {
<
Tab
.
Screen
name
=
"PriceList"
component
=
{
PriceList
}
options
=
{{
tabBarLabel
:
I18n
.
t
(
'Price_List'
)
}}
options
=
{{
tabBarLabel
:
'Bảng phí'
}}
/
>
<
Tab
.
Screen
name
=
"TimeTransaction"
component
=
{
TimeTransaction
}
options
=
{{
tabBarLabel
:
I18n
.
t
(
'Time_Transaction'
)
}}
options
=
{{
tabBarLabel
:
'Thời gian GD'
}}
/
>
<
Tab
.
Screen
name
=
"Escrow"
component
=
{
Escrow
}
options
=
{{
tabBarLabel
:
I18n
.
t
(
'Escrow'
)
}}
options
=
{{
tabBarLabel
:
'Ký quỹ'
}}
/
>
<
Tab
.
Screen
name
=
"DueDate"
component
=
{
DueDate
}
options
=
{{
tabBarLabel
:
I18n
.
t
(
'Due_Date'
)
}}
options
=
{{
tabBarLabel
:
'Lịch đáo hạn'
}}
/
>
<
/Tab.Navigator
>
<
/View
>
...
...
src/apis/Functions/users.js
View file @
3d5d156a
...
...
@@ -13,7 +13,7 @@ export const registorApi = async (body) =>
.
catch
((
err
)
=>
err
);
export
const
logoutApi
=
async
(
body
)
=>
PostData
(
'http://api.dcvinvest.com/api/auth/logout'
,
body
)
PostData
(
urlLogout
,
body
)
.
then
((
res
)
=>
res
)
.
catch
((
err
)
=>
err
);
...
...
src/apis/url.js
View file @
3d5d156a
export
const
root
=
'http://api.dcvinvest.com
/
'
;
export
const
root
=
'http://api.dcvinvest.com'
;
export
default
{
urllogin
:
root
+
'api/auth/customer-login'
,
urlRegistor
:
root
+
'api/auth/customer-register'
,
...
...
src/components/Header/Header.js
View file @
3d5d156a
...
...
@@ -51,7 +51,6 @@ const HeaderHome = (props) => {
end
=
{{
x
:
0
,
y
:
1
}}
colors
=
{[
'#0062E1'
,
'#22AEFB'
]}
>
<
StatusBar
barStyle
=
"light-content"
translucent
=
{
true
}
/
>
<
SnackBar
/>
<
View
style
=
{
styles
.
container
}
>
<
View
style
=
{{
flex
:
1
}}
>
<
Block
center
row
>
...
...
src/components/Header/HeaderBack.js
View file @
3d5d156a
...
...
@@ -29,7 +29,6 @@ const HeaderHome = (props) => {
imageStyle
=
{{
resizeMode
:
'stretch'
}}
style
=
{[
styles
.
img
,
isWhite
?
{
backgroundColor
:
'white'
}
:
{}]}
source
=
{
R
.
images
.
bgHeader
}
>
<
SnackBar
/>
<
StatusBar
backgroundColor
=
"transparent"
translucent
=
{
true
}
/
>
<
View
style
=
{
styles
.
headerContainer
}
>
<
TouchableOpacity
...
...
src/components/Header/HeaderDrawer.js
View file @
3d5d156a
...
...
@@ -34,7 +34,6 @@ const HeaderDrawer = (props) => {
imageStyle
=
{{
resizeMode
:
'stretch'
}}
style
=
{[
styles
.
img
,
isWhite
?
{
backgroundColor
:
'white'
}
:
{}]}
source
=
{
R
.
images
.
bgHeader
}
>
<
SnackBar
/>
<
StatusBar
backgroundColor
=
"transparent"
translucent
=
{
true
}
/
>
<
View
style
=
{
styles
.
headerContainer
}
>
...
...
src/components/Header/HeaderHome.js
View file @
3d5d156a
...
...
@@ -228,9 +228,7 @@ const HeaderHome = (props) => {
return
(
<
View
style
=
{
styles
.
container
}
>
<
SnackBar
/>
<
StatusBar
backgroundColor
=
"transparent"
translucent
=
{
true
}
/
>
<
View
style
=
{{
justifyContent
:
'center'
,
...
...
src/components/Header/HeaderSB.js
View file @
3d5d156a
...
...
@@ -41,7 +41,6 @@ const HeaderSearch = (props) => {
style
=
{[
styles
.
img
,
isWhite
?
{
backgroundColor
:
'white'
}
:
{}]}
source
=
{
R
.
images
.
bgHeader
}
>
<
StatusBar
backgroundColor
=
"transparent"
translucent
=
{
true
}
/
>
<
SnackBar
/>
<
View
style
=
{
styles
.
headerContainer
}
>
<
TouchableOpacity
style
=
{{
width
:
35
,
height
:
30
}}
...
...
src/components/Header/HeaderTitle.js
View file @
3d5d156a
...
...
@@ -25,7 +25,6 @@ const HeaderHome = (props) => {
end
=
{{
x
:
0
,
y
:
1
}}
colors
=
{[
'#0062E1'
,
'#22AEFB'
]}
>
<
StatusBar
barStyle
=
"light-content"
translucent
=
{
true
}
/
>
<
SnackBar
/>
<
View
style
=
{
styles
.
container
}
>
{
back
?
(
<
TouchableOpacity
onPress
=
{()
=>
navigate
.
goBack
()}
>
...
...
src/helper/i18/i18n.js
View file @
3d5d156a
import
I18n
from
'react-native-i18n'
;
import
{
I18nManager
}
from
'react-native'
;
import
{
I18nManager
}
from
'react-native'
;
import
en
from
'./locales/en'
;
import
vi
from
'./locales/vn'
;
I18n
.
translations
=
{
en
,
vi
,
en
,
};
I18n
.
fallbacks
=
true
;
export
default
I18n
;
export
function
setLocation
(
i18n
,
location
)
{
I18nManager
.
allowRTL
(
false
);
const
defaultLanguage
=
{
languageTag
:
location
,
isRTL
:
false
};
const
{
languageTag
,
isRTL
}
=
defaultLanguage
;
const
defaultLanguage
=
{
languageTag
:
location
,
isRTL
:
false
};
const
{
languageTag
,
isRTL
}
=
defaultLanguage
;
i18n
.
locale
=
languageTag
;
return
i18n
return
i18n
;
}
src/helper/i18/locales/en.js
View file @
3d5d156a
...
...
@@ -282,4 +282,5 @@ export default {
Count
:
'Count'
,
Systemmaintenance
:
'The system is maintenance'
,
WaitUpdateCQG
:
'Waiting Update CQG'
,
};
src/helper/i18/locales/vn.js
View file @
3d5d156a
...
...
@@ -268,8 +268,10 @@ export default {
SELL_OUT
:
'Bán ra'
,
EscrowCalculator
:
'Tính ký quỹ'
,
FirstEscrowTotal
:
'Ký quỹ khả dụng'
,
YouCanNotTransaction
:
'Bạn không thể giao dịch các hợp đồng kể trên với mức ký quỹ khả dụng hiện tại'
,
YouCanTransaction
:
'Bạn có thể giao dịch các hợp đồng kể trên với mức ký quỹ khả dụng hiện tại'
,
YouCanNotTransaction
:
'Bạn không thể giao dịch các hợp đồng kể trên với mức ký quỹ khả dụng hiện tại'
,
YouCanTransaction
:
'Bạn có thể giao dịch các hợp đồng kể trên với mức ký quỹ khả dụng hiện tại'
,
EnterContractInfo
:
'Nhập thông tin hợp đồng'
,
EnterFirstEscrow
:
'Nhập ký quỹ ban đầu'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment