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
a583e366
Commit
a583e366
authored
Apr 06, 2021
by
Giang Tran
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update code
parent
20961e98
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
425 additions
and
207 deletions
+425
-207
index.js
index.js
+0
-1
Functions.js
src/Config/Functions.js
+41
-2
Contract.js
src/Screens/Account/Contract.js
+16
-1
AccountVerificationView.js
src/Screens/AccountVerification/AccountVerificationView.js
+11
-8
GeneralInfor.js
src/Screens/AccountVerification/Tab/GeneralInfor.js
+2
-11
Profile.js
src/Screens/AccountVerification/Tab/Profile.js
+9
-1
GeneralView.js
src/Screens/AccountVerification/TabView/GeneralView.js
+124
-0
ProfileView.js
src/Screens/AccountVerification/TabView/ProfileView.js
+120
-0
BonusTeam.js
src/Screens/Menu/BonusTeam/BonusTeam.js
+20
-2
MyGroup.js
src/Screens/Menu/MyGroup/MyGroup.js
+20
-3
GeneralInfor.js
src/Screens/Menu/Profile/Tab/GeneralInfor.js
+7
-4
Login.js
src/Screens/NewFeed/Media/Login.js
+0
-71
MediaDetail.js
src/Screens/NewFeed/Media/MediaDetail.js
+1
-2
TopMedia.js
src/Screens/NewFeed/Media/TopMedia.js
+10
-3
Tab2.js
src/Screens/NewFeed/Tab2/Tab2.js
+6
-83
Tradding.js
src/Screens/NewFeed/Tradding/Tradding.js
+1
-1
ServiceCustomerView.js
src/Screens/ServiceCustomer/ServiceCustomerView.js
+20
-2
Drawer.js
src/components/Header/Drawer.js
+0
-1
HeaderAuthen.js
src/components/Header/HeaderAuthen.js
+1
-1
HeaderBack.js
src/components/Header/HeaderBack.js
+1
-1
HeaderColor.js
src/components/Header/HeaderColor.js
+1
-0
HeaderDrawer.js
src/components/Header/HeaderDrawer.js
+1
-1
HeaderNewFeed.js
src/components/Header/HeaderNewFeed.js
+1
-1
HeaderSB.js
src/components/Header/HeaderSB.js
+1
-0
HeaderSearch.js
src/components/Header/HeaderSearch.js
+1
-0
TextField.js
src/components/Input/TextField.js
+2
-1
TextMulti.js
src/components/Input/TextMulti.js
+2
-1
PickerDate.js
src/components/Picker/PickerDate.js
+6
-3
PickerImgUni.js
src/components/Picker/PickerImgUni.js
+0
-2
No files found.
index.js
View file @
a583e366
...
...
@@ -5,6 +5,5 @@
import
{
AppRegistry
}
from
'react-native'
;
import
App
from
'./App'
;
import
{
name
as
appName
}
from
'./app.json'
;
import
Login
from
'./src/Screens/NewFeed/Media/Login'
;
AppRegistry
.
registerComponent
(
appName
,
()
=>
App
);
src/Config/Functions.js
View file @
a583e366
import
{
Dimensions
,
Platform
,
Alert
}
from
'react-native'
;
import
React
from
'react'
;
import
{
Dimensions
,
Platform
,
Alert
,
Text
}
from
'react-native'
;
import
moment
from
'moment'
;
import
_
from
'lodash'
;
export
const
renderStatus
=
(
status
)
=>
{
switch
(
status
)
{
case
2
:
return
(
<
Text
style
=
{{
color
:
'#F99D1D'
,
fontSize
:
getFontXD
(
42
),
fontWeight
:
'bold'
,
}}
>
Ch
ờ
x
á
c
minh
<
/Text
>
);
case
3
:
return
(
<
Text
style
=
{{
color
:
'#17B217'
,
fontWeight
:
'bold'
,
fontSize
:
getFontXD
(
42
),
}}
>
Đã
x
á
c
minh
<
/Text
>
);
default
:
return
(
<
Text
style
=
{{
color
:
'#929292'
,
fontWeight
:
'bold'
,
fontSize
:
getFontXD
(
42
),
}}
>
Ch
ư
a
x
á
c
minh
<
/Text
>
);
}
};
export
const
NotificationAlert
=
(
string
)
=>
{
Alert
.
alert
(
'Thông báo'
,
string
);
};
...
...
@@ -234,7 +273,7 @@ export const convertDate = (date) => {
};
export
const
convertTime
=
(
date
)
=>
{
const
temp
=
new
Date
(
moment
(
date
,
'DD/MM/YYYY'
));
const
temp
=
new
Date
(
moment
(
date
));
const
time
=
moment
(
temp
).
format
(
'YYYY-MM-DD'
);
return
time
;
};
...
...
src/Screens/Account/Contract.js
View file @
a583e366
...
...
@@ -6,7 +6,22 @@ const Contract = (props) => {
return
(
<
View
style
=
{{
flex
:
1
}}
>
<
HeaderBack
title
=
{
'Hợp đồng'
}
/
>
<
Text
>
Contract
screen
<
/Text
>
<
View
style
=
{{
flex
:
1
,
paddingHorizontal
:
20
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
}}
>
<
Text
style
=
{{
fontSize
:
18
,
fontWeight
:
'bold'
,
textAlign
:
'center'
,
}}
>
T
í
nh
n
ă
ng
đ
ang
đượ
c
ph
á
t
tri
ể
n
,
vui
l
ò
ng
quay
l
ạ
i
sau
!
<
/Text
>
<
/View
>
<
/View
>
);
};
...
...
src/Screens/AccountVerification/AccountVerificationView.js
View file @
a583e366
...
...
@@ -10,9 +10,12 @@ import HeaderBack from '../../components/Header/HeaderBack';
import
BankInfor
from
'./Tab/BankInfor'
;
import
GeneralInfor
from
'./Tab/GeneralInfor'
;
import
Profile
from
'./Tab/Profile'
;
import
GeneralView
from
'./TabView/GeneralView'
;
import
ProfileView
from
'./TabView/ProfileView'
;
import
{
createMaterialTopTabNavigator
}
from
'@react-navigation/material-top-tabs'
;
import
{
getFontXD
}
from
'../../Config/Functions'
;
const
Tab
=
createMaterialTopTabNavigator
();
import
{
connect
}
from
'react-redux'
;
const
AccountVerificationView
=
(
props
)
=>
{
return
(
...
...
@@ -28,22 +31,22 @@ const AccountVerificationView = (props) => {
}}
>
<
Tab
.
Screen
name
=
"GeneralInfor"
component
=
{
GeneralInfor
}
component
=
{
props
.
user
.
status
==
2
?
GeneralInfor
:
GeneralView
}
options
=
{{
tabBarLabel
:
'Thông tin chung'
}}
/
>
<
Tab
.
Screen
name
=
"Profile"
component
=
{
Profile
}
component
=
{
props
.
user
.
status
==
2
?
Profile
:
ProfileView
}
options
=
{{
tabBarLabel
:
'Hồ sơ'
}}
/
>
{
/* <Tab.Screen
name="BankInfor"
component={BankInfor}
options={{tabBarLabel: 'Ngân hàng'}}
/> */
}
<
/Tab.Navigator
>
<
/View
>
);
};
export
default
AccountVerificationView
;
const
mapStateToProps
=
(
state
)
=>
{
return
{
user
:
state
.
userReducer
,
};
};
export
default
connect
(
mapStateToProps
,
{})(
AccountVerificationView
);
src/Screens/AccountVerification/Tab/GeneralInfor.js
View file @
a583e366
...
...
@@ -23,16 +23,12 @@ import {checkFormatArray, convertTime} from '../../../Config/Functions';
const
GeneralInfor
=
(
props
)
=>
{
const
[
lastName
,
setLastName
]
=
useState
(
''
);
const
[
firstName
,
setFirstName
]
=
useState
(
''
);
const
[
email
,
setEmail
]
=
useState
(
''
);
const
[
phone
,
setPhone
]
=
useState
(
''
);
const
[
address
,
setAdress
]
=
useState
(
''
);
const
[
birth
,
setBirth
]
=
useState
(
new
Date
());
const
onNextPress
=
()
=>
{
const
titles
=
[
'
tên'
,
'họ
'
,
'số điện thoại'
,
'địa chỉ'
];
const
titles
=
[
'
họ và tên đệm'
,
'tên
'
,
'số điện thoại'
,
'địa chỉ'
];
const
index
=
checkFormatArray
([
lastName
,
firstName
,
phone
,
address
]);
if
(
index
===
true
)
{
props
.
navigation
.
navigate
(
'Profile'
,
{
l_name
:
lastName
,
...
...
@@ -40,7 +36,6 @@ const GeneralInfor = (props) => {
mobile
:
phone
,
birthday
:
convertTime
(
birth
),
address
,
email
,
});
}
else
{
Alert
.
alert
(
'Vui lòng điền '
+
titles
[
index
]);
...
...
@@ -54,7 +49,6 @@ const GeneralInfor = (props) => {
keyboardVerticalOffset
=
{
-
50
}
>
<
ScrollView
showsVerticalScrollIndicator
=
{
false
}
>
<
View
style
=
{{
flex
:
1
,
paddingHorizontal
:
10
,
paddingTop
:
10
}}
>
<
TextField
title
=
{
'Email'
}
onChangeText
=
{(
val
)
=>
setEmail
(
val
)}
/
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
View
style
=
{{
flex
:
1
}}
>
<
TextField
...
...
@@ -78,10 +72,7 @@ const GeneralInfor = (props) => {
<
PickerDate
value
=
{
birth
}
onValueChange
=
{(
val
)
=>
{
console
.
log
(
val
);
console
.
log
(
'Value'
,
convertTime
(
val
));
// setBirth(new Date(moment(val).format('MM/DD/YYYY')).getTime());
setBirth
(
val
);
}}
title
=
{
'Ngày sinh'
}
/
>
...
...
src/Screens/AccountVerification/Tab/Profile.js
View file @
a583e366
...
...
@@ -25,6 +25,8 @@ import {
import
{
verifyAccountApi
}
from
'../../../apis/Functions/users'
;
import
PickerDate
from
'../../../components/Picker/PickerDate'
;
import
PickerItem
from
'../../../components/Picker/PickerItem'
;
import
{
saveUserToRedux
}
from
'../../../actions/users'
;
const
{
width
}
=
Dimensions
.
get
(
'window'
);
const
dataType
=
[
...
...
@@ -104,7 +106,9 @@ const Profile = (props) => {
props
.
hideLoading
();
if
(
res
.
data
.
code
==
200
)
{
setTimeout
(()
=>
{
props
.
saveUserToRedux
(
res
.
data
.
data
);
Alert
.
alert
(
'Thông báo!'
,
res
.
data
.
message
);
props
.
navigation
.
popToTop
();
},
500
);
}
else
{
setTimeout
(()
=>
{
...
...
@@ -241,4 +245,8 @@ const mapStateToProps = (state) => {
user
:
state
.
userReducer
,
};
};
export
default
connect
(
mapStateToProps
,
{
showLoading
,
hideLoading
})(
Profile
);
export
default
connect
(
mapStateToProps
,
{
showLoading
,
hideLoading
,
saveUserToRedux
,
})(
Profile
);
src/Screens/AccountVerification/TabView/GeneralView.js
0 → 100644
View file @
a583e366
import
React
,
{
useState
}
from
'react'
;
import
{
View
,
Text
,
Image
,
TouchableOpacity
,
StyleSheet
,
Alert
,
KeyboardAvoidingView
,
ScrollView
,
Platform
,
}
from
'react-native'
;
import
R
from
'../../../assets/R'
;
import
moment
from
'moment'
;
import
TextField
from
'../../../components/Input/TextField'
;
import
TextMulti
from
'../../../components/Input/TextMulti'
;
import
PickerDate
from
'../../../components/Picker/PickerDate'
;
import
PickerImg
from
'../../../components/Picker/PickerImg'
;
import
{
checkFormatArray
,
convertTime
,
convertDate
,
renderStatus
,
getFontXD
,
}
from
'../../../Config/Functions'
;
import
{
connect
}
from
'react-redux'
;
const
GeneralInfor
=
(
props
)
=>
{
return
(
<
KeyboardAvoidingView
behavior
=
{
Platform
.
Os
===
'ios'
?
'padding'
:
'height'
}
style
=
{{
flex
:
1
}}
keyboardVerticalOffset
=
{
-
50
}
>
<
ScrollView
showsVerticalScrollIndicator
=
{
false
}
>
<
View
style
=
{{
flex
:
1
,
paddingHorizontal
:
10
,
paddingTop
:
10
}}
>
<
View
style
=
{{
width
:
'100%'
,
paddingVertical
:
10
,
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
alignItems
:
'center'
,
}}
>
<
View
style
=
{{
flex
:
1
}}
>
<
Text
style
=
{{
fontSize
:
getFontXD
(
42
),
color
:
R
.
colors
.
color777
,
marginBottom
:
5
,
}}
>
Tr
ạ
ng
th
á
i
<
/Text
>
<
/View
>
<
View
style
=
{{
flex
:
1
}}
>
{
renderStatus
(
props
.
user
.
status
)}
<
/View
>
<
/View
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
View
style
=
{{
flex
:
1
}}
>
<
TextField
editable
=
{
false
}
value
=
{
props
.
user
.
l_name
}
title
=
{
'Họ và tên đệm'
}
/
>
<
/View
>
<
View
style
=
{{
width
:
20
}}
/
>
<
View
style
=
{{
flex
:
1
}}
>
<
TextField
value
=
{
props
.
user
.
f_name
}
editable
=
{
false
}
title
=
{
'Tên'
}
/
>
<
/View
>
<
/View
>
<
TextField
value
=
{
props
.
user
.
phone
}
isNumber
=
{
true
}
editable
=
{
false
}
title
=
{
'Số điện thoại'
}
/
>
<
PickerDate
valueString
=
{
convertDate
(
props
.
user
.
birthday
)}
disabled
=
{
true
}
title
=
{
'Ngày sinh'
}
/
>
<
TextMulti
value
=
{
props
.
user
.
address
}
editable
=
{
false
}
title
=
{
'Địa chỉ'
}
/
>
<
View
style
=
{{
height
:
100
}}
/
>
<
/View
>
<
/ScrollView
>
<
/KeyboardAvoidingView
>
);
};
const
styles
=
StyleSheet
.
create
({
btnNext
:
{
borderRadius
:
30
,
backgroundColor
:
'#1473E6'
,
width
:
50
,
height
:
50
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
marginTop
:
20
,
alignSelf
:
'flex-end'
,
elevation
:
2
,
shadowColor
:
'#000'
,
shadowOffset
:
{
width
:
0
,
height
:
1
,
},
shadowOpacity
:
0.15
,
shadowRadius
:
1.84
,
},
});
const
mapStateToProps
=
(
state
)
=>
{
return
{
user
:
state
.
userReducer
,
};
};
export
default
connect
(
mapStateToProps
,
{})(
GeneralInfor
);
src/Screens/AccountVerification/TabView/ProfileView.js
0 → 100644
View file @
a583e366
import
React
,
{
useState
}
from
'react'
;
import
{
View
,
Text
,
TouchableOpacity
,
Image
,
StyleSheet
,
Alert
,
KeyboardAvoidingView
,
ScrollView
,
Platform
,
Dimensions
,
}
from
'react-native'
;
import
Button
from
'../../../components/Button'
;
import
PickerImgUni
from
'../../../components/Picker/PickerImgUni'
;
import
R
from
'../../../assets/R'
;
import
TextField
from
'../../../components/Input/TextField'
;
import
{
connect
}
from
'react-redux'
;
import
{
showLoading
,
hideLoading
}
from
'../../../actions/loadingAction'
;
import
{
checkFormatArray
,
getFontXD
,
convertTime
,
HEIGHTXD
,
WIDTHXD
,
}
from
'../../../Config/Functions'
;
import
PickerDate
from
'../../../components/Picker/PickerDate'
;
const
{
width
}
=
Dimensions
.
get
(
'window'
);
const
Item
=
(
props
)
=>
{
return
(
<
View
style
=
{
styles
.
container
}
>
<
View
style
=
{{
width
:
WIDTHXD
(
480
),
marginBottom
:
5
}}
>
<
Text
style
=
{
styles
.
txtTitle
}
>
{
props
.
title
}:
<
/Text
>
<
/View
>
<
View
style
=
{{
justifycontent
:
'center'
,
alignItems
:
'center'
}}
>
<
Image
style
=
{
styles
.
containerImg
}
source
=
{{
uri
:
props
.
linkImg
}}
/
>
<
/View
>
<
/View
>
);
};
const
Profile
=
(
props
)
=>
{
const
renderType
=
(
type
)
=>
{
switch
(
type
)
{
case
1
:
return
'Chứng minh nhân dân'
;
case
2
:
return
'Hộ chiếu'
;
default
:
return
'Căn cước công dân'
;
}
};
return
(
<
KeyboardAvoidingView
behavior
=
{
Platform
.
Os
===
'ios'
?
'padding'
:
'height'
}
style
=
{{
flex
:
1
}}
keyboardVerticalOffset
=
{
-
50
}
>
<
ScrollView
style
=
{{
flex
:
1
}}
showsVerticalScrollIndicator
=
{
false
}
>
<
View
style
=
{{
flex
:
1
,
paddingHorizontal
:
10
,
paddingTop
:
10
,
}}
>
<
TextField
value
=
{
renderType
(
props
.
user
.
card_type
)}
editable
=
{
false
}
title
=
{
'Loại thẻ'
}
/
>
<
View
style
=
{{
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
flexWrap
:
'wrap'
,
flex
:
1
,
}}
>
<
Item
linkImg
=
{
props
.
user
.
identity_before
}
title
=
{
'Ảnh mặt trước CMND/CCCD'
}
/
>
<
Item
linkImg
=
{
props
.
user
.
identity_after
}
title
=
{
'Ảnh mặt sau CMND/CCCD'
}
/
>
<
Item
linkImg
=
{
props
.
user
.
sign_img
}
title
=
{
'Ảnh mặt chữ ký'
}
/
>
<
/View
>
<
/View
>
<
/ScrollView
>
<
/KeyboardAvoidingView
>
);
};
const
styles
=
StyleSheet
.
create
({
container
:
{
marginTop
:
10
,
width
:
WIDTHXD
(
480
),
alignItems
:
'center'
,
},
btnSend
:
{
width
:
'100%'
,
marginBottom
:
10
,
},
txtTitle
:
{
fontSize
:
getFontXD
(
42
),
color
:
R
.
colors
.
color777
,
marginBottom
:
5
,
},
containerImg
:
{
width
:
WIDTHXD
(
350
),
height
:
HEIGHTXD
(
320
),
borderRadius
:
5
},
});
const
mapStateToProps
=
(
state
)
=>
{
return
{
user
:
state
.
userReducer
,
};
};
export
default
connect
(
mapStateToProps
,
{
showLoading
,
hideLoading
})(
Profile
);
src/Screens/Menu/BonusTeam/BonusTeam.js
View file @
a583e366
import
React
from
'react'
;
import
{
View
,
Text
}
from
'react-native'
;
import
{
getFontXD
}
from
'../../../Config/Functions'
;
import
HeaderBack
from
'../../../components/Header/HeaderBack'
;
const
BonusTeam
=
(
props
)
=>
{
return
(
<
View
>
<
Text
>
BonusTeam
screen
<
/Text
>
<
View
style
=
{{
flex
:
1
}}
>
<
HeaderBack
title
=
{
'Tiền thưởng đội nhóm'
}
/
>
<
View
style
=
{{
flex
:
1
,
paddingHorizontal
:
20
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
}}
>
<
Text
style
=
{{
fontSize
:
getFontXD
(
52
),
fontWeight
:
'bold'
,
textAlign
:
'center'
,
}}
>
T
í
nh
n
ă
ng
đ
ang
đượ
c
ph
á
t
tri
ể
n
,
vui
l
ò
ng
quay
l
ạ
i
sau
!
<
/Text
>
<
/View
>
<
/View
>
);
};
...
...
src/Screens/Menu/MyGroup/MyGroup.js
View file @
a583e366
import
React
from
'react'
;
import
{
View
,
Text
}
from
'react-native'
;
import
{
getFontXD
}
from
'../../../Config/Functions'
;
import
HeaderBack
from
'../../../components/Header/HeaderBack'
;
const
MyGroup
=
(
props
)
=>
{
return
(
<
View
>
<
Text
>
MyGroup
screen
<
/Text
>
<
View
style
=
{{
flex
:
1
}}
>
<
HeaderBack
title
=
{
'Tiền thưởng đội nhóm'
}
/
>
<
View
style
=
{{
flex
:
1
,
paddingHorizontal
:
20
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
}}
>
<
Text
style
=
{{
fontSize
:
getFontXD
(
52
),
fontWeight
:
'bold'
,
textAlign
:
'center'
,
}}
>
T
í
nh
n
ă
ng
đ
ang
đượ
c
ph
á
t
tri
ể
n
,
vui
l
ò
ng
quay
l
ạ
i
sau
!
<
/Text
>
<
/View
>
<
/View
>
);
};
...
...
src/Screens/Menu/Profile/Tab/GeneralInfor.js
View file @
a583e366
...
...
@@ -31,7 +31,12 @@ const {width} = Dimensions.get('window');
import
TextField
from
'../../../../components/Input/TextField'
;
import
PickerItem
from
'../../../../components/Picker/PickerItem'
;
import
{
getFontXD
,
HEIGHTXD
,
WIDTHXD
}
from
'../../../../Config/Functions'
;
import
{
getFontXD
,
HEIGHTXD
,
WIDTHXD
,
renderStatus
,
}
from
'../../../../Config/Functions'
;
import
Icon
from
'react-native-vector-icons/Ionicons'
;
const
GeneralInfor
=
(
props
)
=>
{
...
...
@@ -84,9 +89,7 @@ const GeneralInfor = (props) => {
<
View
style
=
{
styles
.
status
}
>
<
Text
style
=
{
styles
.
txtTitle
}
>
Tr
ạ
ng
th
á
i
<
/Text
>
<
Text
style
=
{{
color
:
'#4FCD8D'
,
fontSize
:
getFontXD
(
42
)}}
>
Đã
x
á
c
minh
<
/Text
>
{
renderStatus
(
props
.
user
.
status
)}
<
/View
>
<
PickerDate
...
...
src/Screens/NewFeed/Media/Login.js
deleted
100644 → 0
View file @
20961e98
import
React
,
{
Component
}
from
'react'
;
import
{
View
,
Text
,
StyleSheet
,
ImageBackground
,
TouchableOpacity
,
Image
,
}
from
'react-native'
;
import
R
from
'../../../assets/R'
;
import
LinearGradient
from
'react-native-linear-gradient'
;
import
{
getFontXD
}
from
'../../../Config/Functions'
;
import
Block
from
'../../../components/Block'
;
import
Icon
from
'react-native-vector-icons/AntDesign'
;
const
MediaView
=
(
props
)
=>
{
return
(
<
ImageBackground
resizeMode
=
{
'center'
}
style
=
{
styles
.
containerTop
}
source
=
{
R
.
images
.
login_bg
}
>
<
Text
>
Hello
<
/Text
>
<
/ImageBackground
>
);
};
const
styles
=
StyleSheet
.
create
({
containerTop
:
{
height
:
'100%'
,
width
:
'100%'
,
backgroundColor
:
'white'
,
},
contentTop
:
{
padding
:
10
,
flex
:
1
,
},
txtBig
:
{
fontSize
:
getFontXD
(
52
),
color
:
R
.
colors
.
white
,
fontWeight
:
'bold'
,
},
containerBtn
:
{
paddingHorizontal
:
15
,
paddingVertical
:
5
,
backgroundColor
:
'#1C6AF6'
,
borderRadius
:
5
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
shadowColor
:
'#000'
,
shadowOffset
:
{
width
:
0
,
height
:
2
,
},
shadowOpacity
:
0.25
,
shadowRadius
:
1.84
,
elevation
:
2
,
},
txtPlay
:
{
color
:
R
.
colors
.
white
,
fontSize
:
getFontXD
(
42
),
fontWeight
:
'bold'
,
marginLeft
:
5
,
},
txtDate
:
{
color
:
R
.
colors
.
white
,
fontSize
:
getFontXD
(
42
),
marginLeft
:
5
,
},
});
export
default
MediaView
;
src/Screens/NewFeed/Media/MediaDetail.js
View file @
a583e366
...
...
@@ -55,7 +55,7 @@ const MediaDetail = (props) => {
useEffect
(()
=>
{
getData
();
},
[
id
]);
onChangeID
=
(
item
)
=>
setID
(
item
);
const
onChangeID
=
(
item
)
=>
setID
(
item
);
const
getData
=
async
()
=>
{
const
res
=
await
getDetailMedia
(
id
);
...
...
@@ -65,7 +65,6 @@ const MediaDetail = (props) => {
Alert
.
alert
(
'Thông báo'
,
'Không lấy được dữ liệu!'
);
}
};
return
(
<
View
style
=
{{
flex
:
1
}}
>
<
HeaderBack
title
=
{
'Chi tiết video'
}
/
>
...
...
src/Screens/NewFeed/Media/TopMedia.js
View file @
a583e366
...
...
@@ -37,9 +37,15 @@ const MediaView = (props) => {
style
=
{{
flex
:
1
}}
>
<
View
style
=
{{
flex
:
2
}}
/
>
<
View
style
=
{
styles
.
contentTop
}
>
<
Text
numberOfLines
=
{
2
}
style
=
{
styles
.
txtBig
}
>
{
title
}
<
/Text
>
<
TouchableOpacity
onPress
=
{()
=>
navigate
.
navigate
(
MEDIADETAIL
,
{
id
,
video_id
,
title
})
}
>
<
Text
numberOfLines
=
{
2
}
style
=
{
styles
.
txtBig
}
>
{
title
}
<
/Text
>
<
/TouchableOpacity
>
<
Block
row
space
=
{
'between'
}
padding
=
{[
10
,
10
]}
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
Icon
...
...
@@ -88,6 +94,7 @@ const styles = StyleSheet.create({
fontSize
:
getFontXD
(
52
),
color
:
R
.
colors
.
white
,
fontWeight
:
'bold'
,
textDecorationLine
:
'underline'
,
},
containerBtn
:
{
paddingHorizontal
:
15
,
...
...
src/Screens/NewFeed/Tab2/Tab2.js
View file @
a583e366
import
React
,
{
Component
}
from
'react'
;
import
{
View
,
Text
,
FlatList
}
from
'react-native'
;
import
{
WebView
}
from
'react-native-webview'
;
import
Item
from
'./item'
;
const
data
=
[
{
id
:
'1'
,
title
:
'Vương quốc 1 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'2'
,
title
:
'Vương quốc 2 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'3'
,
title
:
'Vương quốc 3 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'4'
,
title
:
'Vương quốc 4 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'5'
,
title
:
'Vương quốc 5 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'6'
,
title
:
'Vương quốc 6 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'7'
,
title
:
'Vương quốc 7 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'8'
,
title
:
'Vương quốc 8 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'9'
,
title
:
'Vương quốc 9 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
{
id
:
'10'
,
title
:
'Vương quốc 10 anh niềm tin tiêu dùng do Gfk công bố đạt -16,vượt mức dự đoán (-20) trong tháng ba'
,
time
:
'07:06'
,
date
:
'19 Mar 2021'
,
},
];
const
NewFeed
=
(
props
)
=>
{
return
(
...
...
@@ -83,15 +9,12 @@ const NewFeed = (props) => {
style
=
{{
flex
:
1
,
backgroundColor
:
'white'
,
paddingLeft
:
10
,
paddingRight
:
20
,
paddingTop
:
10
,
}}
>
<
FlatList
data
=
{
data
}
s
howsVerticalScrollIndicator
=
{
false
}
keyExtractor
=
{(
item
)
=>
item
.
id
}
renderItem
=
{({
item
,
index
})
=>
<
Item
item
=
{
item
}
index
=
{
index
}
/>
}
<
WebView
style
=
{{
height
:
'100%'
,
width
:
'100%'
}
}
s
ource
=
{{
uri
:
'http://api.dcvinvest.com/webview/tradingview/price'
,
}
}
/
>
<
/View
>
);
...
...
src/Screens/NewFeed/Tradding/Tradding.js
View file @
a583e366
...
...
@@ -7,7 +7,7 @@ const Trading = (props) => {
<
WebView
style
=
{{
height
:
'100%'
,
width
:
'100%'
}}
source
=
{{
uri
:
'http://api.dcvinvest.com/webview/tradingview/chart'
,
uri
:
'http://api.dcvinvest.com/webview/tradingview/chart
?height=400
'
,
}}
/
>
<
/View
>
...
...
src/Screens/ServiceCustomer/ServiceCustomerView.js
View file @
a583e366
import
React
from
'react'
;
import
{
View
,
Text
}
from
'react-native'
;
import
HeaderBack
from
'../../components/Header/HeaderBack'
;
const
ServiceCustomerView
=
(
props
)
=>
{
return
(
<
View
>
<
Text
>
ServiceCustomerView
screen
<
/Text
>
<
View
style
=
{{
flex
:
1
}}
>
<
HeaderBack
title
=
{
'Liên hệ vơi chúng tôi'
}
/
>
<
View
style
=
{{
flex
:
1
,
paddingHorizontal
:
20
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
}}
>
<
Text
style
=
{{
fontSize
:
18
,
fontWeight
:
'bold'
,
textAlign
:
'center'
,
}}
>
T
í
nh
n
ă
ng
đ
ang
đượ
c
ph
á
t
tri
ể
n
,
vui
l
ò
ng
quay
l
ạ
i
sau
!
<
/Text
>
<
/View
>
<
/View
>
);
};
...
...
src/components/Header/Drawer.js
View file @
a583e366
...
...
@@ -80,7 +80,6 @@ const Drawer = (props) => {
<
Image
source
=
{
R
.
images
.
iconRight2
}
style
=
{
styles
.
imgIcon
}
/
>
<
/TouchableOpacity
>
<
/View
>
<
View
style
=
{
styles
.
body
}
>
{
menus
.
map
((
e
)
=>
(
<
TouchableOpacity
...
...
src/components/Header/HeaderAuthen.js
View file @
a583e366
...
...
@@ -49,7 +49,7 @@ const styles = StyleSheet.create({
},
headerContainer
:
{
height
:
55
,
paddingTop
:
10
,
width
:
'100%'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
...
...
src/components/Header/HeaderBack.js
View file @
a583e366
...
...
@@ -56,7 +56,7 @@ const styles = StyleSheet.create({
},
headerContainer
:
{
height
:
55
,
paddingTop
:
10
,
width
:
'100%'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
...
...
src/components/Header/HeaderColor.js
View file @
a583e366
...
...
@@ -45,6 +45,7 @@ export default connect(mapStateToProps, {})(HeaderHome);
const
styles
=
StyleSheet
.
create
({
headerContainer
:
{
paddingTop
:
10
,
height
:
55
,
backgroundColor
:
'#0047CC'
,
width
:
'100%'
,
...
...
src/components/Header/HeaderDrawer.js
View file @
a583e366
...
...
@@ -85,7 +85,7 @@ const styles = StyleSheet.create({
},
headerContainer
:
{
height
:
55
,
paddingTop
:
10
,
width
:
'100%'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
...
...
src/components/Header/HeaderNewFeed.js
View file @
a583e366
...
...
@@ -82,7 +82,7 @@ const styles = StyleSheet.create({
},
headerContainer
:
{
height
:
55
,
paddingTop
:
10
,
width
:
'100%'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
...
...
src/components/Header/HeaderSB.js
View file @
a583e366
...
...
@@ -83,6 +83,7 @@ const styles = StyleSheet.create({
},
headerContainer
:
{
height
:
55
,
paddingTop
:
10
,
width
:
'100%'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
...
...
src/components/Header/HeaderSearch.js
View file @
a583e366
...
...
@@ -108,6 +108,7 @@ const styles = StyleSheet.create({
},
headerContainer
:
{
height
:
55
,
paddingTop
:
10
,
width
:
'100%'
,
alignItems
:
'center'
,
flexDirection
:
'row'
,
...
...
src/components/Input/TextField.js
View file @
a583e366
...
...
@@ -4,7 +4,7 @@ import {HEIGHTXD, WIDTHXD, getFontXD} from '../../Config/Functions';
import
R
from
'../../assets/R'
;
const
TextField
=
(
props
)
=>
{
const
{
title
,
onChangeText
,
maxLength
,
isNumber
,
value
}
=
props
;
const
{
title
,
onChangeText
,
maxLength
,
isNumber
,
value
,
editable
}
=
props
;
return
(
<
View
style
=
{{
marginVertical
:
5
}}
>
...
...
@@ -19,6 +19,7 @@ const TextField = (props) => {
<
TextInput
maxLength
=
{
maxLength
?
maxLength
:
256
}
placeholderTextColor
=
{
R
.
colors
.
placeHolder
}
editable
=
{
editable
!=
null
?
editable
:
true
}
autoCapitalize
=
"none"
value
=
{
value
}
keyboardType
=
{
isNumber
?
'number-pad'
:
'default'
}
...
...
src/components/Input/TextMulti.js
View file @
a583e366
...
...
@@ -4,7 +4,7 @@ import {HEIGHTXD, WIDTHXD, getFontXD} from '../../Config/Functions';
import
R
from
'../../assets/R'
;
const
TextField
=
(
props
)
=>
{
const
{
title
,
onChangeText
,
maxLength
,
value
}
=
props
;
const
{
title
,
onChangeText
,
maxLength
,
value
,
editable
}
=
props
;
return
(
<
View
style
=
{{
marginVertical
:
5
}}
>
...
...
@@ -19,6 +19,7 @@ const TextField = (props) => {
<
TextInput
maxLength
=
{
maxLength
}
textAlign
=
{
'left'
}
editable
=
{
editable
!=
null
?
editable
:
true
}
value
=
{
value
}
onChangeText
=
{(
val
)
=>
onChangeText
(
val
)}
multiline
=
{
true
}
...
...
src/components/Picker/PickerDate.js
View file @
a583e366
...
...
@@ -37,6 +37,7 @@ class PickerDate extends Component {
render
()
{
const
{
valueString
,
onValueChange
,
value
,
containerStyle
,
...
...
@@ -66,8 +67,10 @@ class PickerDate extends Component {
<
View
style
=
{{
flexDirection
:
'row'
,
justifyContent
:
'
center
'
,
justifyContent
:
'
space-between
'
,
alignItems
:
'center'
,
flex
:
1
,
paddingHorizontal
:
10
,
}}
>
<
Text
style
=
{{
...
...
@@ -76,9 +79,9 @@ class PickerDate extends Component {
paddingVertical
:
0
,
marginRight
:
WIDTHXD
(
15
),
}}
>
{
value
!==
null
&&
value
}
{
value
String
}
<
/Text
>
<
Text
>
Hello
<
/Text
>
<
Icon
name
=
{
'calendar'
}
size
=
{
22
}
color
=
{
'#929292'
}
/
>
<
/View
>
)
:
(
...
...
src/components/Picker/PickerImgUni.js
View file @
a583e366
...
...
@@ -36,7 +36,6 @@ const PickerImgUni = (props) => {
}).
then
((
image
)
=>
{
setModalVisible
(
false
);
setUrlImg
(
image
.
path
);
console
.
log
(
image
);
onSelectImg
(
image
.
path
);
});
};
...
...
@@ -47,7 +46,6 @@ const PickerImgUni = (props) => {
width
:
300
,
height
:
400
,
}).
then
((
image
)
=>
{
console
.
log
(
image
);
setModalVisible
(
false
);
setUrlImg
(
image
.
path
);
onSelectImg
(
image
.
path
);
...
...
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