import { Dimensions, Platform, StatusBar } from 'react-native'; export function isIphoneX() { const dimen = Dimensions.get('window'); return ( Platform.OS === 'ios' && !Platform.isPad && !Platform.isTVOS && ((dimen.height === 812 || dimen.width === 812) || (dimen.height === 896 || dimen.width === 896)) ); } export function ifIphoneX(iphoneXStyle, regularStyle) { if (isIphoneX()) { return iphoneXStyle; } return regularStyle; } export function getStatusBarHeight(safe) { return Platform.select({ ios: ifIphoneX(safe ? 44 : 30, 20), android: StatusBar.currentHeight }); } export function getBottomSpace() { return isIphoneX() ? 34 : 0; } export function timeConverter(UNIX_timestamp) { var a = new Date(UNIX_timestamp * 1000); var year = a.getFullYear(); var month = a.getMonth() + 1; var date = a.getDate(); var hour = a.getHours(); var min = a.getMinutes(); var sec = a.getSeconds(); var time = formatInt(hour) + ':' + formatInt(min) + ':' + formatInt(sec) + ' ' + formatInt(date) + '.' + formatInt(month) + '.' + year; return time; } function formatInt(num) { return ("00" + num).slice(-2) } export function calcCrow(lat1, lon1, lat2, lon2) { var R = 6371; // km var dLat = toRad(lat2-lat1); var dLon = toRad(lon2-lon1); var lat1 = toRad(lat1); var lat2 = toRad(lat2); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; return d; } // Converts numeric degrees to radians function toRad(Value) { return Value * Math.PI / 180; }