Commit 4a565ff6 authored by Wahyu Adjie Prasetyo's avatar Wahyu Adjie Prasetyo

session sudah bsa

parent 82acc429
{ {
"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 = {
...@@ -350,7 +351,7 @@ const rootReducer = (state = globalState, action) => { ...@@ -350,7 +351,7 @@ const rootReducer = (state = globalState, action) => {
} }
if (update.quantity == 0) { if (update.quantity == 0) {
update.quantity = 0 update.quantity = 0
} else { } else {
......
...@@ -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)))
}) })
} }
......
...@@ -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)
...@@ -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,
...@@ -83,9 +85,13 @@ class MenuConfirmation extends React.Component { ...@@ -83,9 +85,13 @@ class MenuConfirmation extends React.Component {
orderSuccess = () => { orderSuccess = () => {
this.props.setOrderFinish() this.props.setOrderFinish()
this.props.navigation.reset({ this.props.navigation.navigate('Home', {
routes: [{ name: 'Home' }] screen: 'ORDER',
}) params: { user: 'janei' },
});
// this.props.navigation.reset({
// routes: [{ name: 'Home' }]
// })
} }
...@@ -181,14 +187,18 @@ class MenuConfirmation extends React.Component { ...@@ -181,14 +187,18 @@ class MenuConfirmation extends React.Component {
<Text>{this.props.route.params.pointused}</Text> <Text>{this.props.route.params.pointused}</Text>
</View> </View>
</View> </View>
<View style={{ flexDirection: 'row', margin: 10, justifyContent: 'space-between' }}> {this.props.type_pickup == true ? (
<View style={{ margin: 10 }}> null
):(
<View style={{ flexDirection: 'row', margin: 10, justifyContent: 'space-between' }}>
<View style={{ margin: 10 }}>
<Text>Delivery to</Text> <Text>Delivery to</Text>
</View> </View>
<View style={{ margin: 10 }}> <View style={{ margin: 10 }}>
<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>
......
...@@ -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 {
...@@ -18,12 +19,12 @@ class OrderHistory extends React.Component { ...@@ -18,12 +19,12 @@ class OrderHistory extends React.Component {
componentDidMount() { componentDidMount() {
this.getOrderHistory() this.getOrderHistory()
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,
...@@ -61,7 +64,7 @@ class OrderHistory extends React.Component { ...@@ -61,7 +64,7 @@ class OrderHistory extends React.Component {
<View style={styles.container}> <View style={styles.container}>
<ScrollView style={styles.body}> <ScrollView style={styles.body}>
{this.state.indicator == true ? (<ActivityIndicator style={{ justifyContent: "center" }} size="large" color="#c9af6d" />) : {this.state.indicator == true ? (<ActivityIndicator style={{ justifyContent: "center" }} size="large" color="#c9af6d" />) :
this.state.order_list.map((item, key) => ( this.state.order_list.map((item, key) => (
<TouchableOpacity key={key} onPress={() => this.props.navigation.navigate('Order Detail', { idTrans: item.id })}> <TouchableOpacity key={key} onPress={() => this.props.navigation.navigate('Order Detail', { idTrans: item.id })}>
<View key={key}> <View key={key}>
......
...@@ -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']);
...@@ -45,12 +47,12 @@ class ShoppingCart extends React.Component { ...@@ -45,12 +47,12 @@ class ShoppingCart extends React.Component {
this.getRate() this.getRate()
} }
this.getBalance() this.getBalance()
this._unsubscribe = this.props.navigation.addListener('focus', () => { this._unsubscribe = this.props.navigation.addListener('focus', () => {
if (!this.props.type_pickup) { if (!this.props.type_pickup) {
this.getRate() this.getRate()
} }
this.getBalance() this.getBalance()
// console.log('UPDATE PRICE') // console.log('UPDATE PRICE')
...@@ -65,12 +67,12 @@ class ShoppingCart extends React.Component { ...@@ -65,12 +67,12 @@ class ShoppingCart extends React.Component {
// console.log('UPDATEING PRICE :' + JSON.stringify(data.menu)) // console.log('UPDATEING PRICE :' + JSON.stringify(data.menu))
this.props.updateMenu(data.menu) this.props.updateMenu(data.menu)
}) })
} }
} }
}); });
} }
componentWillUnmount() { componentWillUnmount() {
this._unsubscribe(); this._unsubscribe();
} }
...@@ -123,7 +125,7 @@ class ShoppingCart extends React.Component { ...@@ -123,7 +125,7 @@ class ShoppingCart extends React.Component {
} }
this.props.reduceQuantityItem(order_item) this.props.reduceQuantityItem(order_item)
let quantity = 0
for (let i = 0; i < list_order_item.length; i++) { for (let i = 0; i < list_order_item.length; i++) {
const row = list_order_item[i]; const row = list_order_item[i];
if (row.id == item.id) { if (row.id == item.id) {
...@@ -132,7 +134,8 @@ class ShoppingCart extends React.Component { ...@@ -132,7 +134,8 @@ class ShoppingCart extends React.Component {
} }
if (quantity == 0) {
if (is_xist.quantity == 0) {
Alert.alert("Apakah anda ingin menghapus pesanan?"); Alert.alert("Apakah anda ingin menghapus pesanan?");
const order_item = { const order_item = {
id: item.id, id: item.id,
...@@ -142,9 +145,9 @@ class ShoppingCart extends React.Component { ...@@ -142,9 +145,9 @@ class ShoppingCart extends React.Component {
image: item.image, image: item.image,
description: item.description, description: item.description,
quantity: item.quantity quantity: item.quantity
} }
this.props.removeFromChart(order_item) this.props.removeFromChart(order_item)
} }
} }
...@@ -285,7 +288,10 @@ class ShoppingCart extends React.Component { ...@@ -285,7 +288,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);
}) })
} }
...@@ -312,7 +318,10 @@ class ShoppingCart extends React.Component { ...@@ -312,7 +318,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);
}) })
} }
...@@ -729,9 +738,9 @@ const mapDispatchToProps = (dispacth) => { ...@@ -729,9 +738,9 @@ const mapDispatchToProps = (dispacth) => {
updateMenu: (menu) => dispacth({ updateMenu: (menu) => dispacth({
type: ActionType.UPDATE_MENU, type: ActionType.UPDATE_MENU,
data: { data: {
menu: menu menu: menu
} }
}), }),
setChangeOutletProps: (OutletChange) => dispacth({ setChangeOutletProps: (OutletChange) => dispacth({
type: ActionType.SET_CHANGE_OUTLET, type: ActionType.SET_CHANGE_OUTLET,
data: { data: {
......
...@@ -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