Commit cc204930 authored by Trisno's avatar Trisno
parents 7f8fc28c cba8fd80
{ {
"expo": { "expo": {
"name": "Excelso_update v1_sore", "name": "Excelso_update v1_malam",
"slug": "excelso-pro", "slug": "excelso-pro",
"privacy": "public", "privacy": "public",
"sdkVersion": "36.0.0", "sdkVersion": "36.0.0",
......
import { Alert } from 'react-native';
export default function session(response,navigation) {
if (response.code === "WRONG_SESSION_ID") {
Alert.alert(
'Session',
'Session Anda Sudah Habis Silahkan Logout Terlebih Dahulu ! ',
[
{ text: 'OK', onPress: () => navigation.replace('Login') }
]
)
}
}
\ No newline at end of file
import ActionType from './globalActionType'; import ActionType from './globalActionType';
import {Alert} from 'react-native';
const globalState = { const globalState = {
...@@ -289,7 +290,7 @@ const rootReducer = (state = globalState, action) => { ...@@ -289,7 +290,7 @@ const rootReducer = (state = globalState, action) => {
update.quantity = 1 update.quantity = 1
} }
update.quantity += 1 update.quantity += 1
// console.log('Update : ' + JSON.stringify(update)) console.log('Update : ' + JSON.stringify(update))
data = { ...old_data, ...update } data = { ...old_data, ...update }
} }
...@@ -300,7 +301,7 @@ const rootReducer = (state = globalState, action) => { ...@@ -300,7 +301,7 @@ const rootReducer = (state = globalState, action) => {
} else { } else {
// add // add
addedItem.quantity = 1 addedItem.quantity = 1
// console.log('Baru : ' + JSON.stringify(addedItem)) console.log('Baru : ' + JSON.stringify(addedItem))
order_item = [...state.order_item, addedItem] order_item = [...state.order_item, addedItem]
} }
...@@ -358,7 +359,7 @@ const rootReducer = (state = globalState, action) => { ...@@ -358,7 +359,7 @@ const rootReducer = (state = globalState, action) => {
data = null data = null
} else { } else {
update.quantity -= 1 update.quantity -= 1
// console.log('Update : ' + JSON.stringify(update)) console.log('Update : ' + JSON.stringify(update))
data = { ...old_data, ...update } data = { ...old_data, ...update }
} }
} }
...@@ -438,7 +439,7 @@ const rootReducer = (state = globalState, action) => { ...@@ -438,7 +439,7 @@ const rootReducer = (state = globalState, action) => {
let quantity = state.order_quantity let quantity = state.order_quantity
let total = parseInt(state.order_total) - parseInt(addedItem.price) let total = parseInt(state.order_total) - parseInt(addedItem.price)
// console.log("UPDATE " + order_item) console.log("UPDATE " + order_item)
} }
return { return {
......
...@@ -21,6 +21,7 @@ import Axios from 'axios'; ...@@ -21,6 +21,7 @@ import Axios from 'axios';
import * as Location from 'expo-location'; import * as Location from 'expo-location';
import * as Permissions from 'expo-permissions'; import * as Permissions from 'expo-permissions';
import * as Device from 'expo-device'; import * as Device from 'expo-device';
import session from '../function/session';
class Account extends React.Component { class Account extends React.Component {
constructor(props) { constructor(props) {
...@@ -140,6 +141,10 @@ class Account extends React.Component { ...@@ -140,6 +141,10 @@ class Account extends React.Component {
}) })
}).catch(error => { }).catch(error => {
const {navigation} = this.props
let response = error.response.data
session(response,navigation)
Alert.alert(response.msg);
console.log('ini error ' + error) console.log('ini error ' + error)
}) })
} }
......
...@@ -138,6 +138,8 @@ import Spinner from 'react-native-loading-spinner-overlay'; ...@@ -138,6 +138,8 @@ import Spinner from 'react-native-loading-spinner-overlay';
}).catch(error => { }).catch(error => {
let response = error.response.data; let response = error.response.data;
const {navigation} = this.props
session(response,navigation)
Alert.alert( Alert.alert(
'', '',
response.msg response.msg
......
...@@ -4,6 +4,7 @@ import { connect } from 'react-redux'; ...@@ -4,6 +4,7 @@ import { connect } from 'react-redux';
import Axios from 'axios'; import Axios from 'axios';
import ActionType from '../redux/globalActionType'; import ActionType from '../redux/globalActionType';
import Spinner from 'react-native-loading-spinner-overlay'; import Spinner from 'react-native-loading-spinner-overlay';
import session from '../function/session';
class CardActivation extends React.Component { class CardActivation extends React.Component {
constructor(props) { constructor(props) {
...@@ -48,6 +49,8 @@ class CardActivation extends React.Component { ...@@ -48,6 +49,8 @@ class CardActivation extends React.Component {
}) })
}).catch(error => { }).catch(error => {
let response = error.response.data; let response = error.response.data;
const {navigation} = this.props
session(response,navigation)
Alert.alert(response.msg); Alert.alert(response.msg);
}) })
} }
...@@ -78,6 +81,8 @@ class CardActivation extends React.Component { ...@@ -78,6 +81,8 @@ class CardActivation extends React.Component {
spinner: false, spinner: false,
}) })
let response = error.response.data; let response = error.response.data;
const {navigation} = this.props
session(response,navigation)
Alert.alert(response.msg); Alert.alert(response.msg);
}) })
} }
...@@ -107,6 +112,8 @@ class CardActivation extends React.Component { ...@@ -107,6 +112,8 @@ class CardActivation extends React.Component {
spinner: false, spinner: false,
}) })
let response = error.response.data; let response = error.response.data;
const {navigation} = this.props
session(response,navigation)
Alert.alert(response.msg); Alert.alert(response.msg);
}) })
......
...@@ -19,7 +19,7 @@ class ChangeProfil extends React.Component { ...@@ -19,7 +19,7 @@ class ChangeProfil extends React.Component {
email: '', email: '',
no_tlp: '', no_tlp: '',
} }
console.log('PROPS : ' + JSON.stringify(props.navigation)) // console.log('PROPS : ' + JSON.stringify(props.navigation))
} }
componentDidMount() { componentDidMount() {
...@@ -42,7 +42,7 @@ class ChangeProfil extends React.Component { ...@@ -42,7 +42,7 @@ class ChangeProfil extends React.Component {
gender: gender_list, gender: gender_list,
}) })
console.log('STATE GENDER' + JSON.stringify(this.state.gender)) // console.log('STATE GENDER' + JSON.stringify(this.state.gender))
// this.state.gender.map() // this.state.gender.map()
}) })
...@@ -62,7 +62,7 @@ class ChangeProfil extends React.Component { ...@@ -62,7 +62,7 @@ class ChangeProfil extends React.Component {
}) })
console.log('AFTER CALL : ' + JSON.stringify(this.state.gender_selected)) // console.log('AFTER CALL : ' + JSON.stringify(this.state.gender_selected))
}) })
...@@ -79,7 +79,7 @@ class ChangeProfil extends React.Component { ...@@ -79,7 +79,7 @@ class ChangeProfil extends React.Component {
Axios.post('https://excelsocrm.ravintoladev.com/crm/v2/member/set_profile', params1).then(res => { Axios.post('https://excelsocrm.ravintoladev.com/crm/v2/member/set_profile', params1).then(res => {
this.props.navigation.goBack() this.props.navigation.goBack()
this.props.route.params.onChangeProfil({ example: 'wakwaw' }) this.props.route.params.onChangeProfil({ example: 'wakwaw' })
console.log(JSON.stringify('A : ' + JSON.stringify(this.props.route.params))) // console.log(JSON.stringify('A : ' + JSON.stringify(this.props.route.params)))
}) })
} }
......
...@@ -96,7 +96,7 @@ class DeliveryAddrees extends React.Component { ...@@ -96,7 +96,7 @@ class DeliveryAddrees extends React.Component {
}).catch(error => { }).catch(error => {
console.log('ini error ' + error) Alert.alert('ini error ' + error)
}) })
} }
...@@ -161,7 +161,10 @@ class DeliveryAddrees extends React.Component { ...@@ -161,7 +161,10 @@ class DeliveryAddrees extends React.Component {
if (this.props.route.params.from == 'shoppingCart') { if (this.props.route.params.from == 'shoppingCart') {
this.props.navigation.navigate('Shopping Cart', {outlet_change: true, outlet_id: res.data.data.outlet_id}) this.props.navigation.navigate('Shopping Cart', {outlet_change: true, outlet_id: res.data.data.outlet_id})
} else { } else {
this.props.navigation.navigate("Menu Select") this.props.navigation.navigate('Home', {
screen: 'MENU',
params: { user: 'janeT' },
});
} }
......
...@@ -11,6 +11,7 @@ import * as Location from 'expo-location'; ...@@ -11,6 +11,7 @@ import * as Location from 'expo-location';
import * as Permissions from 'expo-permissions'; import * as Permissions from 'expo-permissions';
import * as Device from 'expo-device'; import * as Device from 'expo-device';
import ActionType from '../redux/globalActionType'; import ActionType from '../redux/globalActionType';
import session from '../function/session';
class Home extends React.Component { class Home extends React.Component {
...@@ -113,7 +114,10 @@ class Home extends React.Component { ...@@ -113,7 +114,10 @@ class Home extends React.Component {
indicator: false indicator: false
}) })
}).catch(error => { }).catch(error => {
console.log('ini error ' + error) const {navigation} = this.props
let response = error.response.data
session(response,navigation)
Alert.alert(response.msg);
}) })
} }
...@@ -139,7 +143,10 @@ class Home extends React.Component { ...@@ -139,7 +143,10 @@ class Home extends React.Component {
indicator: false indicator: false
}) })
}).catch(error => { }).catch(error => {
console.log('ini error ' + error) const {navigation} = this.props
let response = error.response.data
session(response,navigation)
Alert.alert(response.msg);
}) })
} }
......
...@@ -4,6 +4,7 @@ import Axios from 'axios' ...@@ -4,6 +4,7 @@ import Axios from 'axios'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import ActionType from '../redux/globalActionType'; import ActionType from '../redux/globalActionType';
import Spinner from 'react-native-loading-spinner-overlay'; import Spinner from 'react-native-loading-spinner-overlay';
import session from '../function/session';
class MenuConfirmation extends React.Component { class MenuConfirmation extends React.Component {
constructor(props) { constructor(props) {
super(props) super(props)
...@@ -20,13 +21,13 @@ class MenuConfirmation extends React.Component { ...@@ -20,13 +21,13 @@ class MenuConfirmation extends React.Component {
} }
componentDidMount(){ componentDidMount(){
// console.log(" DESTINASI : "+ this.props.grabdestination) console.log(" DESTINASI : "+ this.props.grabdestination)
// console.log("ONGKIR"+ this.props.grabamount) console.log("ONGKIR"+ this.props.grabamount)
// console.log("drop off"+this.props.grabdropoff) console.log("drop off"+this.props.grabdropoff)
// console.log("pickup"+this.props.grabpickup) console.log("pickup"+this.props.grabpickup)
// console.log("type" +this.props.grabtype) console.log("type" +this.props.grabtype)
// console.log("BALANCED" +this.props.balanceUsed) console.log("BALANCED" +this.props.balanceUsed)
// console.log("POINT" +this.props.pointsused) console.log("POINT" +this.props.pointsused)
} }
...@@ -72,8 +73,9 @@ class MenuConfirmation extends React.Component { ...@@ -72,8 +73,9 @@ class MenuConfirmation extends React.Component {
{ cancelable: false } { cancelable: false }
); );
}).catch(error => { }).catch(error => {
let response = error.response.data; const { navigation } = this.props
// console.log('error') let response = error.response.data
session(response, navigation)
Alert.alert(response.msg); Alert.alert(response.msg);
this.setState({ this.setState({
spinner: false, spinner: false,
...@@ -85,13 +87,16 @@ class MenuConfirmation extends React.Component { ...@@ -85,13 +87,16 @@ class MenuConfirmation extends React.Component {
this.props.setOrderFinish() this.props.setOrderFinish()
this.props.navigation.navigate('Home', { this.props.navigation.navigate('Home', {
screen: 'ORDER', screen: 'ORDER',
params: { user: 'jax' }, params: { user: 'janei' },
}); });
// this.props.navigation.reset({
// routes: [{ name: 'Home' }]
// })
} }
render() { render() {
// console.log(this.props) console.log(this.props)
let total = 0 let total = 0
return ( return (
<ScrollView style={styles.container}> <ScrollView style={styles.container}>
...@@ -182,6 +187,9 @@ class MenuConfirmation extends React.Component { ...@@ -182,6 +187,9 @@ class MenuConfirmation extends React.Component {
<Text>{this.props.route.params.pointused}</Text> <Text>{this.props.route.params.pointused}</Text>
</View> </View>
</View> </View>
{this.props.type_pickup == true ? (
null
):(
<View style={{ flexDirection: 'row', margin: 10, justifyContent: 'space-between' }}> <View style={{ flexDirection: 'row', margin: 10, justifyContent: 'space-between' }}>
<View style={{ margin: 10 }}> <View style={{ margin: 10 }}>
<Text>Delivery to</Text> <Text>Delivery to</Text>
...@@ -190,6 +198,7 @@ class MenuConfirmation extends React.Component { ...@@ -190,6 +198,7 @@ class MenuConfirmation extends React.Component {
<Text>{this.props.address}</Text> <Text>{this.props.address}</Text>
</View> </View>
</View> </View>
)}
<View style={{ margin: 10 }}> <View style={{ margin: 10 }}>
<Button title='order' onPress={() => this.setOrder(this.props.type_pickup)}/> <Button title='order' onPress={() => this.setOrder(this.props.type_pickup)}/>
</View> </View>
...@@ -232,7 +241,7 @@ const mapDispatchToProps = (dispacth) => { ...@@ -232,7 +241,7 @@ const mapDispatchToProps = (dispacth) => {
} }
const mapStateToProps = (state) => { const mapStateToProps = (state) => {
// console.log(state) console.log(state)
return { return {
session_id: state.session_id, session_id: state.session_id,
type_pickup: state.type_pickup, type_pickup: state.type_pickup,
......
...@@ -6,6 +6,7 @@ import { connect } from 'react-redux'; ...@@ -6,6 +6,7 @@ import { connect } from 'react-redux';
import ActionType from '../redux/globalActionType'; import ActionType from '../redux/globalActionType';
import CurrencyFormat from 'react-currency-format'; import CurrencyFormat from 'react-currency-format';
import _ from 'lodash'; import _ from 'lodash';
import session from '../function/session';
class MenuSelection extends React.Component { class MenuSelection extends React.Component {
constructor(props) { constructor(props) {
...@@ -95,7 +96,12 @@ class MenuSelection extends React.Component { ...@@ -95,7 +96,12 @@ class MenuSelection extends React.Component {
this.props.updateMenu(data.menu) this.props.updateMenu(data.menu)
}) }).catch(error =>{
const {navigation} = this.props
let response = error.response.data
session(response,navigation)
Alert.alert(response.msg);
} )
} }
renderTabBar = ({ item }) => { renderTabBar = ({ item }) => {
...@@ -231,6 +237,7 @@ class MenuSelection extends React.Component { ...@@ -231,6 +237,7 @@ class MenuSelection extends React.Component {
<View style={{ flexDirection: 'row', }}> <View style={{ flexDirection: 'row', }}>
<Text style={{ fontSize: 12, margin: 10 }}> Price Estimation / Item {this.props.order_quantity} </Text> <Text style={{ fontSize: 12, margin: 10 }}> Price Estimation / Item {this.props.order_quantity} </Text>
<Text style={{ fontSize: 12, margin: 10 }}> Ongkir {this.props.grabamount} </Text>
<Text style={{ fontSize: 20, margin: 10, marginBottom: 10 }}> Rp. {this.props.order_total}</Text> <Text style={{ fontSize: 20, margin: 10, marginBottom: 10 }}> Rp. {this.props.order_total}</Text>
</View> </View>
...@@ -271,7 +278,9 @@ const styles = StyleSheet.create({ ...@@ -271,7 +278,9 @@ const styles = StyleSheet.create({
const mapStateToProps = (state) => { const mapStateToProps = (state) => {
return { return {
session_id: state.session_id, session_id: state.session_id,
grabamount: state.grabamount,
outlet_id: state.outlet_id, outlet_id: state.outlet_id,
order_item: state.order_item, order_item: state.order_item,
order_quantity: state.order_quantity, order_quantity: state.order_quantity,
......
import React from 'react'; import React from 'react';
import { View, Text, TextInput, StyleSheet, ScrollView, Alert, TouchableOpacity,ActivityIndicator } from 'react-native'; import { View, Text, TextInput, StyleSheet, ScrollView, Alert, TouchableOpacity, ActivityIndicator } from 'react-native';
import { Card } from 'react-native-shadow-cards' import { Card } from 'react-native-shadow-cards'
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import Axios from 'axios'; import Axios from 'axios';
import session from '../function/session';
class OrderHistory extends React.Component { class OrderHistory extends React.Component {
...@@ -20,7 +21,7 @@ class OrderHistory extends React.Component { ...@@ -20,7 +21,7 @@ class OrderHistory extends React.Component {
this._unsubscribe = this.props.navigation.addListener('focus', () => { this._unsubscribe = this.props.navigation.addListener('focus', () => {
this.setState({ this.setState({
indicator:true, indicator: true,
}) })
this.getOrderHistory() this.getOrderHistory()
...@@ -47,7 +48,9 @@ class OrderHistory extends React.Component { ...@@ -47,7 +48,9 @@ class OrderHistory extends React.Component {
indicator: false, indicator: false,
}) })
}).catch(error => { }).catch(error => {
let response = error.response.data; const { navigation } = this.props
let response = error.response.data
session(response, navigation)
Alert.alert(response.msg); Alert.alert(response.msg);
this.setState({ this.setState({
indicator: false, indicator: false,
......
...@@ -49,7 +49,7 @@ class ProfilePage extends PureComponent { ...@@ -49,7 +49,7 @@ class ProfilePage extends PureComponent {
onChangeProfil = data => { onChangeProfil = data => {
console.log('DATA FROM CHANGE PROFILE ' + data); // console.log('DATA FROM CHANGE PROFILE ' + data);
this.getProfile() this.getProfile()
} }
...@@ -148,7 +148,7 @@ const mapDispatchToProps = (dispacth) => { ...@@ -148,7 +148,7 @@ const mapDispatchToProps = (dispacth) => {
} }
const mapStateToProps = (state) => { const mapStateToProps = (state) => {
console.log('PROFIL PAGE' + JSON.stringify(state)) // console.log('PROFIL PAGE' + JSON.stringify(state))
return { return {
session_id: state.session_id, session_id: state.session_id,
language: state.language, language: state.language,
......
...@@ -9,6 +9,8 @@ import ItemShoping from './ItemShopingCart'; ...@@ -9,6 +9,8 @@ import ItemShoping from './ItemShopingCart';
import Axios from 'axios' import Axios from 'axios'
import ActionType from '../redux/globalActionType'; import ActionType from '../redux/globalActionType';
import { YellowBox } from 'react-native'; import { YellowBox } from 'react-native';
import session from '../function/session';
YellowBox.ignoreWarnings(['VirtualizedLists should never be nested']); YellowBox.ignoreWarnings(['VirtualizedLists should never be nested']);
...@@ -128,19 +130,22 @@ class ShoppingCart extends React.Component { ...@@ -128,19 +130,22 @@ class ShoppingCart extends React.Component {
price: item.price, price: item.price,
} }
this.props.reduceQuantityItem(order_item)
let quantity = 0
for (let i = 0; i < list_order_item.length; i++) {
const row = list_order_item[i];
if (row.id == item.id) {
quantity = row.quantity
}
} if (is_xist.quantity == 1) {
Alert.alert(
"Delete item",
"Are you sure want to delete item?",
[
{
text: 'Cancel',
onPress: () => console.log('Cancel Delete Item'),
style: 'cancel',
},
{
text: 'Delete Item', onPress: () => {
this.props.reduceQuantityItem(order_item)
if (quantity == 0) { if (is_xist.quantity == 0) {
Alert.alert("Apakah anda ingin menghapus pesanan?");
const order_item = { const order_item = {
id: item.id, id: item.id,
name: item.name, name: item.name,
...@@ -155,8 +160,20 @@ class ShoppingCart extends React.Component { ...@@ -155,8 +160,20 @@ class ShoppingCart extends React.Component {
this.props.removeFromChart(order_item) this.props.removeFromChart(order_item)
} }
} }
},
],
{ cancelable: false },
)
} else {
this.props.reduceQuantityItem(order_item)
}
} }
} }
}
deleteItem() {
}
handleAdd(item, index) { handleAdd(item, index) {
this.setState({ this.setState({
...@@ -298,7 +315,10 @@ class ShoppingCart extends React.Component { ...@@ -298,7 +315,10 @@ class ShoppingCart extends React.Component {
this.props.setOrder(setOrdersProps); this.props.setOrder(setOrdersProps);
}).catch(error => { }).catch(error => {
// console.log('ini error ' + error) const {navigation} = this.props
let response = error.response.data
session(response,navigation)
Alert.alert(response.msg);
}) })
} }
...@@ -327,7 +347,10 @@ class ShoppingCart extends React.Component { ...@@ -327,7 +347,10 @@ class ShoppingCart extends React.Component {
// console.log(this.state.kasproBalance, this.state.kasproPoint) // console.log(this.state.kasproBalance, this.state.kasproPoint)
}).catch(error => { }).catch(error => {
// console.log('ini error ' + error) const { navigation } = this.props
let response = error.response.data
session(response, navigation)
Alert.alert(response.msg);
}) })
} }
......
...@@ -196,7 +196,7 @@ const mapStateToProps = (state) => { ...@@ -196,7 +196,7 @@ const mapStateToProps = (state) => {
} }
const mapDispatchToProps = (dispacth) => { const mapDispatchToProps = (dispacth) => {
// console.log(dispacth) console.log(dispacth)
return { return {
setCardactive: (cardProps) => dispacth({ setCardactive: (cardProps) => dispacth({
type: ActionType.SET_CARD, type: ActionType.SET_CARD,
......
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