boxpay-checkout-reactnative-sdk
Version:
Boxpay Payment Gateway
105 lines (104 loc) • 3.42 kB
JavaScript
"use strict";
import { View, Text, Pressable, Image, TouchableOpacity } from 'react-native';
import { formatAddress } from "../utility.js";
import styles from "../styles/components/savedAddressCardStyles.js";
import { userDataHandler } from "../sharedContext/userdataHandler.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const SavedAddressComponent = ({
savedAddressList,
onClickAddress,
onClickOtherOptions
}) => {
const {
userData
} = userDataHandler;
return /*#__PURE__*/_jsx(View, {
style: {
paddingBottom: 12,
paddingHorizontal: 16
},
children: savedAddressList.map(address => /*#__PURE__*/_jsxs(View, {
children: [/*#__PURE__*/_jsx(SavedAddressCard, {
isSelected: address.labelName ? address.labelName === userData.labelName : address.labelType === userData.labelType,
labelName: address.labelName ? address.labelName : address.labelType,
labelType: address.labelType,
address: formatAddress({
address1: address.address1,
address2: address.address2,
city: address.city,
state: address.state,
postalCode: address.postalCode,
countryCode: address.countryCode,
labelName: address.labelName,
labelType: address.labelType
}),
onClickOtherOptions: () => {
onClickOtherOptions(address);
},
onClickAddress: () => onClickAddress(address),
phone: address.phoneNumber
}), /*#__PURE__*/_jsx(View, {
style: {
flexDirection: 'row',
height: 1,
backgroundColor: '#ECECED'
}
})]
}, address.addressRef))
});
};
const SavedAddressCard = ({
isSelected,
labelType,
address,
onClickAddress,
onClickOtherOptions,
labelName,
phone
}) => {
const icons = {
home: require('../../assets/images/ic_home.png'),
work: require('../../assets/images/ic_work.png'),
other: require('../../assets/images/ic_other.png')
};
const addressIcon = icons[labelType.toLowerCase()] || icons.other;
return /*#__PURE__*/_jsxs(Pressable, {
style: [styles.card, isSelected && styles.cardSelected],
onPress: onClickAddress,
children: [/*#__PURE__*/_jsxs(View, {
style: styles.headerRow,
children: [/*#__PURE__*/_jsxs(View, {
style: [styles.labelContainer, {
marginBottom: 10
}],
children: [/*#__PURE__*/_jsx(Image, {
source: addressIcon,
style: styles.imageStyle
}), /*#__PURE__*/_jsx(Text, {
style: styles.labelName,
children: labelName
}), isSelected && /*#__PURE__*/_jsx(View, {
style: styles.selectedTag,
children: /*#__PURE__*/_jsx(Text, {
style: styles.selectedTagText,
children: "CURRENTLY SELECTED"
})
})]
}), /*#__PURE__*/_jsx(TouchableOpacity, {
onPress: onClickOtherOptions,
children: /*#__PURE__*/_jsx(Image, {
source: require('../../assets/images/ic_more.png'),
style: styles.imageStyle
})
})]
}), /*#__PURE__*/_jsx(Text, {
style: styles.addressText,
children: address
}), /*#__PURE__*/_jsxs(Text, {
style: styles.addressText,
children: ["Mobile: ", phone]
})]
});
};
export default SavedAddressComponent;
//# sourceMappingURL=savedAddressCard.js.map