UNPKG

sid-address-verification-react-native

Version:
64 lines (63 loc) 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.requestLocationPermission = exports.checkLocationPermission = void 0; var _reactNative = require("react-native"); var _geolocation = _interopRequireDefault(require("@react-native-community/geolocation")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const requestLocationPermission = async () => { try { if (_reactNative.Platform.OS === 'android') { const granted = await _reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, { title: 'Location Permission', message: 'This app needs access to location for address verification.', buttonNeutral: 'Ask Me Later', buttonNegative: 'Cancel', buttonPositive: 'OK' }); if (granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED) { return { granted: true }; } else { return { granted: false, error: 'Location permission denied' }; } } else { // iOS - request permission through Geolocation return new Promise(resolve => { _geolocation.default.requestAuthorization(() => resolve({ granted: true }), error => resolve({ granted: false, error: error.message })); }); } } catch (error) { return { granted: false, error: `Permission request failed: ${error}` }; } }; exports.requestLocationPermission = requestLocationPermission; const checkLocationPermission = async () => { try { if (_reactNative.Platform.OS === 'android') { const granted = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION); return granted; } else { // For iOS, we'll check when we try to get location return true; } } catch (error) { console.error('Error checking location permission:', error); return false; } }; exports.checkLocationPermission = checkLocationPermission; //# sourceMappingURL=permissions.js.map