Commit 9d01a62b authored by Wahyu Adjie Prasetyo's avatar Wahyu Adjie Prasetyo
parents 53a2ec51 0e25d3de
...@@ -45,22 +45,11 @@ import { enableScreens } from 'react-native-screens'; ...@@ -45,22 +45,11 @@ import { enableScreens } from 'react-native-screens';
import MenuDetail from './MenuDetail'; import MenuDetail from './MenuDetail';
import OrderHistory from './OrderHistory'; import OrderHistory from './OrderHistory';
import OrderDetail from './OrderDetail'; import OrderDetail from './OrderDetail';
import RewardsList from './RewardsList'
import RewardDetail from './RewardDetail'; import RewardDetail from './RewardDetail';
enableScreens(); enableScreens();
function Rewards() {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text>
Rewards !
</Text>
</View>
)
}
function Outlets() { function Outlets() {
return ( return (
...@@ -110,7 +99,7 @@ function HomePage({navigation}) { ...@@ -110,7 +99,7 @@ function HomePage({navigation}) {
> >
<Tab.Screen name="HOME" component={Home} /> <Tab.Screen name="HOME" component={Home} />
<Tab.Screen name="MENU" component={MenuSelection} /> <Tab.Screen name="MENU" component={MenuSelection} />
<Tab.Screen name="REWARDS" component={Rewards} /> <Tab.Screen name="REWARDS" component={RewardsList} />
<Tab.Screen name="ORDER" component={OrderHistory} /> <Tab.Screen name="ORDER" component={OrderHistory} />
<Tab.Screen name="OUTLETS" component={Outlets} /> <Tab.Screen name="OUTLETS" component={Outlets} />
<Tab.Screen name="ACCOUNT" component={Account} /> <Tab.Screen name="ACCOUNT" component={Account} />
...@@ -205,6 +194,7 @@ class Auth extends React.Component { ...@@ -205,6 +194,7 @@ class Auth extends React.Component {
<Stack.Screen name="Date Time" component={DateTime} /> <Stack.Screen name="Date Time" component={DateTime} />
<Stack.Screen name="New Register" component={NewRegister} /> <Stack.Screen name="New Register" component={NewRegister} />
<Stack.Screen name="TopUpInfo" component={TopUpInfo} /> <Stack.Screen name="TopUpInfo" component={TopUpInfo} />
<Stack.Screen name="Reward Detail" component={RewardDetail} />
</Stack.Navigator> </Stack.Navigator>
) )
} }
......
import React from 'react';
import { View, Text, Image, StyleSheet, ScrollView, Alert, TouchableOpacity } from 'react-native';
import { Card } from 'react-native-shadow-cards'
import { connect } from 'react-redux';
import Axios from 'axios';
class RewardsList extends React.Component {
constructor(props) {
super(props)
this.state = {
rewardsList: []
}
}
componentDidMount() {
this.getRewardsList()
this._unsubscribe = this.props.navigation.addListener('focus', () => {
this.getRewardsList()
});
}
componentWillUnmount () {
this._unsubscribe()
}
getRewardsList () {
let params = {
session_id: this.props.session_id
}
Axios.post('https://excelsocrm.ravintoladev.com/crm/v2/reward/get_list', params).then(res => {
let data = res.data.rewards
// console.log(data)
this.setState({
rewardsList: data
})
}).catch(error => {
let response = error.response.data;
Alert.alert(response.status,response.msg);
})
}
render() {
return(
<View style={styles.container}>
<View style={styles.header}>
<Text style={{color:'white', textAlign :'center', fontSize: 28}}>REWARDS E-VOUCHER</Text>
</View>
<ScrollView style={styles.body}>
{
this.state.rewardsList.map((item,key) => (
<TouchableOpacity key={key} onPress={() => this.props.navigation.navigate('Reward Detail', {rewardId:item.id})}>
<Image source={{ uri: item.reward.title_image }}
resizeMethod="resize"
resizeMode='contain'
style={{ height: 250, width:'100%'}}/>
{/* <Text>{item.reward.title}</Text>
<Text>{item.reward.subtitle}</Text> */}
</TouchableOpacity>
))
}
<TouchableOpacity>
<Text style={{textAlign:'right', color:'#ccb46c'}}>REDEEM E-VOUCHER HISTORY</Text>
</TouchableOpacity>
</ScrollView>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: 'white',
},
header: {
flex: 0.1,
backgroundColor:'#ccb46c',
justifyContent:'center'
},
body: {
flex: 3,
},
list_detail_order: {
flex: 1,
margin: 20,
borderWidth: 1,
}
})
const mapStateToProps = (state) => {
return {
session_id: state.session_id,
}
}
export default connect(mapStateToProps)(RewardsList);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment