import { PermissionsAndroid, Platform } from 'react-native'; import { selectContactPhone } from 'react-native-select-contact'; export async function checkPermisionStatus() { if (Platform.OS === 'ios') { return true; } if (PermissionsAndroid.PERMISSIONS.READ_CONTACTS) { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.READ_CONTACTS, { title: 'Allow us access your contact list', message: 'This will enable you choose a phone number to buy airtime or data for from your contact list', buttonNegative: 'Cancel', buttonPositive: 'OK', } ); if (granted === PermissionsAndroid.RESULTS.GRANTED) { return true; } } return false; } export async function getContact() { try { const isPermissionGranted = await checkPermisionStatus(); if (!isPermissionGranted) { return { name: '', phoneNumber: '' }; } const result = await selectContactPhone(); if (!result) { return { name: '', phoneNumber: '' }; } let { contact, selectedPhone } = result; return { name: contact.name, phoneNumber: selectedPhone.number }; } catch (error) { return { name: '', phoneNumber: '' }; } } export function getWebHost(env: 'prod' | 'dev') { if (env === 'dev') { return 'https://omnipay-websdk.vercel.app/'; } return 'https://websdk.ompy.ng/'; }