Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
eCartPro-Customer
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
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
Dida Adams Arizona
eCartPro-Customer
Commits
e06d0bfb
Commit
e06d0bfb
authored
Jul 21, 2020
by
Deni Rinaldi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wallet
parent
0b574058
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
12 deletions
+52
-12
HomePageScreen.js
App/Containers/HomePageScreen.js
+2
-2
ListAddressScreen.js
App/Containers/ListAddressScreen.js
+1
-1
RewardScreen.js
App/Containers/RewardScreen.js
+40
-4
Api.js
App/Services/Api.js
+9
-5
No files found.
App/Containers/HomePageScreen.js
View file @
e06d0bfb
...
...
@@ -101,14 +101,14 @@ class HomePageScreen extends Component {
<
TouchableOpacity
style
=
{{
alignItems
:
'center'
,
flexDirection
:
'column'
,
paddingTop
:
5
,
marginLeft
:
25
}}
onPress
=
{()
=>
{
this
.
toggleOpen
()
this
.
props
.
navigation
.
navigate
(
'RewardScreen'
)}}
>
this
.
state
.
user
==
null
?
this
.
handleLogin
()
:
this
.
props
.
navigation
.
navigate
(
'RewardScreen'
)}}
>
<
Image
source
=
{
Images
.
icon_rewards
}
style
=
{{
width
:
25
,
height
:
25
}}
/
>
<
BaseText
type
=
{
"regular"
}
text
=
{
'Kupon & Rewards'
}
style
=
{{
fontSize
:
9
,
marginTop
:
5
}}
/
>
<
/TouchableOpacity
>
<
TouchableOpacity
style
=
{{
alignItems
:
'center'
,
flexDirection
:
'column'
,
paddingTop
:
9
,
marginLeft
:
25
}}
onPress
=
{()
=>
{
this
.
toggleOpen
()
this
.
props
.
navigation
.
navigate
(
'RewardScreen'
,
{
intent
:
'Dompet'
})}}
>
this
.
state
.
user
==
null
?
this
.
handleLogin
()
:
this
.
props
.
navigation
.
navigate
(
'RewardScreen'
,
{
intent
:
'Dompet'
})}}
>
<
Image
source
=
{
Images
.
icon_dompetsaya
}
style
=
{{
width
:
25
,
height
:
20
}}
/
>
<
BaseText
type
=
{
"regular"
}
text
=
{
'Dompet Saya'
}
style
=
{{
fontSize
:
9
,
marginTop
:
5
}}
/
>
<
/TouchableOpacity
>
...
...
App/Containers/ListAddressScreen.js
View file @
e06d0bfb
...
...
@@ -127,7 +127,7 @@ class ListAddressScreen extends Component {
<
BaseText
type
=
{
"regular"
}
text
=
{
`
${
item
.
address
}
,
${
item
.
kelurahan_name
}
,
${
item
.
kecamatan_name
}
,
${
item
.
kabupaten_kota_name
}
,
${
item
.
provinsi_name
}
${
item
.
kode_pos
}
`
}
style
=
{{
fontSize
:
10
,
color
:
'#4b4b4b'
,
marginTop
:
5
}}
/
>
<
View
style
=
{{
flexDirection
:
'row'
,
marginTop
:
10
,
height
:
20
}}
>
<
Image
source
=
{
Images
.
map
}
style
=
{{
height
:
16
,
width
:
12
}}
/
>
<
BaseText
type
=
{
"regular"
}
text
=
{
item
.
lat
==
""
?
"Belum Pin
point"
:
'Sudah Pin P
oint'
}
style
=
{{
fontSize
:
10
,
color
:
'#4b4b4b'
,
alignSelf
:
'center'
,
marginLeft
:
10
}}
/
>
<
BaseText
type
=
{
"regular"
}
text
=
{
item
.
lat
==
""
?
"Belum Pin
point"
:
'Sudah Pinp
oint'
}
style
=
{{
fontSize
:
10
,
color
:
'#4b4b4b'
,
alignSelf
:
'center'
,
marginLeft
:
10
}}
/
>
<
/View
>
<
View
style
=
{{
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
marginTop
:
10
}}
>
{
item
.
select_status
==
0
?
<
View
/>
:
<
View
>
...
...
App/Containers/RewardScreen.js
View file @
e06d0bfb
...
...
@@ -12,6 +12,7 @@ import FontAwesome from 'react-native-vector-icons/FontAwesome'
import
{
Images
}
from
'../Themes'
;
import
Modal
from
'react-native-modal'
;
import
BaseHeader
from
'../Components/BaseHeader'
;
import
Api
from
'../Services/Api'
;
const
{
StatusBarManager
}
=
NativeModules
;
const
STATUSBAR_HEIGHT
=
Platform
.
OS
===
'ios'
?
20
:
StatusBarManager
.
HEIGHT
;
...
...
@@ -25,7 +26,10 @@ class RewardScreen extends Component {
open
:
false
,
intent
:
""
,
modalIsiUlang
:
false
,
modalTopUp
:
false
modalTopUp
:
false
,
wallet
:
0
,
rewardPoint
:
0
,
amount
:
0
}
}
backAction
=
()
=>
{
...
...
@@ -101,6 +105,7 @@ class RewardScreen extends Component {
if
(
this
.
props
.
navigation
.
state
.
params
)
{
if
(
this
.
props
.
navigation
.
state
.
params
.
intent
==
'Dompet'
)
{
this
.
setState
({
intent
:
'Dompet'
})
this
.
getWallet
()
}
else
{
this
.
setState
({
intent
:
'Rewards'
})
}
...
...
@@ -113,6 +118,36 @@ class RewardScreen extends Component {
componentWillUnmount
()
{
BackHandler
.
removeEventListener
(
"hardwareBackPress"
,
this
.
backAction
);
}
getWallet
()
{
Api
.
create
().
getWallet
().
then
(
response
=>
{
if
(
response
.
data
.
status
==
"success"
)
{
this
.
setState
({
wallet
:
response
.
data
.
data
.
wallet
})
}
})
}
topUpWallet
()
{
let
body
=
{
"amount"
:
this
.
state
.
amount
,
"recharge_status"
:
"success"
}
Api
.
create
().
topUpWallet
(
body
).
then
(
response
=>
{
if
(
response
.
data
.
status
==
"success"
)
{
this
.
getWallet
()
}
})
}
number
(
num
)
{
var
rupiah
=
''
;
var
angkarev
=
num
.
toString
().
split
(
''
).
reverse
().
join
(
''
);
for
(
var
i
=
0
;
i
<
angkarev
.
length
;
i
++
)
if
(
i
%
3
==
0
)
rupiah
+=
angkarev
.
substr
(
i
,
3
)
+
'.'
;
return
'Rp. '
+
rupiah
.
split
(
''
,
rupiah
.
length
-
1
).
reverse
().
join
(
''
);
}
render
()
{
return
(
<
View
style
=
{{
backgroundColor
:
'#4cc9f0'
,
flex
:
1
}}
>
...
...
@@ -132,12 +167,13 @@ class RewardScreen extends Component {
<
BaseText
type
=
{
"regular"
}
text
=
{
'Nominal Saldo'
}
style
=
{{
fontSize
:
12
,
marginLeft
:
5
,
color
:
'#4b4b4b'
}}
/
>
<
TextInput
placeholder
=
{
"Masukkan Nominal Angka Yang Akan Anda Isi"
}
// editable={false}
onChangeText
=
{(
amount
)
=>
this
.
setState
({
amount
})}
keyboardType
=
{
"number-pad"
}
style
=
{{
fontSize
:
12
}}
maxLength
=
{
40
}
underlineColorAndroid
=
{
'#d8d8d8'
}
/
>
<
TouchableOpacity
style
=
{{
backgroundColor
:
'#4cc9f0'
,
height
:
45
,
borderRadius
:
30
,
width
:
'100%'
,
alignSelf
:
'center'
,
marginTop
:
20
}}
onPress
=
{()
=>
this
.
setState
({
modalIsiUlang
:
false
,
modalTopUp
:
true
}
)}
>
<
TouchableOpacity
style
=
{{
backgroundColor
:
'#4cc9f0'
,
height
:
45
,
borderRadius
:
30
,
width
:
'100%'
,
alignSelf
:
'center'
,
marginTop
:
20
}}
onPress
=
{()
=>
this
.
setState
({
modalIsiUlang
:
false
},
()
=>
this
.
topUpWallet
()
)}
>
<
BaseText
type
=
{
"regular"
}
text
=
{
'Lanjutkan'
}
style
=
{{
fontSize
:
16
,
textAlign
:
'center'
,
marginTop
:
10
,
color
:
'white'
}}
/
>
<
/TouchableOpacity
>
<
/View
>
...
...
@@ -167,7 +203,7 @@ class RewardScreen extends Component {
<
ScrollView
style
=
{{
backgroundColor
:
'#fff'
,
borderTopRightRadius
:
20
,
borderTopLeftRadius
:
20
}}
onScroll
=
{
this
.
handleScroll
}
showsVerticalScrollIndicator
=
{
false
}
>
<
Image
source
=
{
this
.
state
.
intent
==
'Dompet'
?
Images
.
dompet
:
Images
.
reward
}
style
=
{{
width
:
100
,
height
:
100
,
resizeMode
:
'contain'
,
marginTop
:
50
,
alignSelf
:
'center'
}}
/
>
<
BaseText
type
=
{
"bold"
}
text
=
{
this
.
state
.
intent
==
'Dompet'
?
'Sisa Saldo Dompet Saya'
:
'Rewards Point'
}
style
=
{{
fontSize
:
16
,
textAlign
:
'center'
,
marginTop
:
10
}}
/
>
<
BaseText
type
=
{
"bold"
}
text
=
{
this
.
state
.
intent
==
'Dompet'
?
'Rp. 2.500.000'
:
'0'
}
style
=
{{
fontSize
:
16
,
textAlign
:
'center'
,
marginTop
:
10
,
color
:
'#4cc9f0'
}}
/
>
<
BaseText
type
=
{
"bold"
}
text
=
{
this
.
state
.
intent
==
'Dompet'
?
this
.
number
(
this
.
state
.
wallet
)
:
String
(
this
.
state
.
rewardPoint
)
}
style
=
{{
fontSize
:
16
,
textAlign
:
'center'
,
marginTop
:
10
,
color
:
'#4cc9f0'
}}
/
>
{
this
.
state
.
intent
==
'Dompet'
?
<
TouchableOpacity
style
=
{{
backgroundColor
:
'#4cc9f0'
,
height
:
45
,
borderRadius
:
30
,
width
:
'80%'
,
alignSelf
:
'center'
,
marginTop
:
30
}}
onPress
=
{()
=>
this
.
setState
({
modalIsiUlang
:
true
})}
>
<
BaseText
type
=
{
"regular"
}
text
=
{
'Isi Ulang Saldo'
}
style
=
{{
fontSize
:
16
,
textAlign
:
'center'
,
marginTop
:
10
,
color
:
'white'
}}
/
>
...
...
App/Services/Api.js
View file @
e06d0bfb
...
...
@@ -72,6 +72,8 @@ const create = (baseURL = 'https://apiecart.eksad.com/mobile/') => {
const
editProfile
=
(
body
)
=>
api
.
post
(
'edit_profile'
,
body
)
const
editPhotoProfile
=
(
body
)
=>
api
.
post
(
'edit_photo'
,
body
)
const
getDealOfTheDay
=
()
=>
api
.
get
(
'get_deal_of_the_day'
)
const
getWallet
=
()
=>
api
.
get
(
'get_wallet'
)
const
topUpWallet
=
(
body
)
=>
api
.
post
(
'topup_wallet'
,
body
)
// Wishlist
const
getWhislist
=
(
body
)
=>
api
.
post
(
'get_wishlist'
,
body
)
...
...
@@ -82,13 +84,13 @@ const create = (baseURL = 'https://apiecart.eksad.com/mobile/') => {
// Address
const
getAddress
=
()
=>
api
.
get
(
'get_address'
)
const
getProvinsi
=
()
=>
api
.
get
(
'get_province'
)
const
getKota
=
(
body
)
=>
api
.
get
(
'get_kab_kot/'
+
body
)
const
getKecamatan
=
(
body
)
=>
api
.
get
(
'get_kecamatan/'
+
body
)
const
getKelurahan
=
(
body
)
=>
api
.
get
(
'get_kelurahan/'
+
body
)
const
getKodePos
=
(
body
)
=>
api
.
get
(
'get_kode_pos/'
+
body
)
const
getKota
=
(
provID
)
=>
api
.
get
(
`get_kab_kot/
${
provID
}
`
)
const
getKecamatan
=
(
kabKotID
)
=>
api
.
get
(
`get_kecamatan/
${
kabKotID
}
`
)
const
getKelurahan
=
(
kecID
)
=>
api
.
get
(
`get_kelurahan/
${
kecID
}
`
)
const
getKodePos
=
(
kelID
)
=>
api
.
get
(
`get_kode_pos/
${
kelID
}
`
)
const
addAddress
=
(
body
)
=>
api
.
post
(
'add_address/'
,
body
)
const
editAddress
=
(
body
)
=>
api
.
post
(
'edit_address/'
,
body
)
const
deleteAddress
=
(
body
)
=>
api
.
post
(
'delete_address/'
+
body
)
const
deleteAddress
=
(
body
)
=>
api
.
post
(
`delete_address/
${
body
}
`
)
const
selectAddress
=
(
body
)
=>
api
.
post
(
'select_address'
,
body
)
// Cart
...
...
@@ -167,6 +169,8 @@ const create = (baseURL = 'https://apiecart.eksad.com/mobile/') => {
getDealOfTheDay
,
deleteAddress
,
selectAddress
,
getWallet
,
topUpWallet
,
}
}
...
...
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