update 12 files

master
Reza_ashrafi 2 years ago
parent dffcfc4bef
commit 2f72fb2800
  1. 2
      android/app/build.gradle
  2. 2
      android/app/src/main/java/com/danovin/MainApplication.java
  3. 3
      android/settings.gradle
  4. 1
      ios/Podfile
  5. 2
      package.json
  6. 69
      src/components/MapSelector.js
  7. 7
      src/navigation.js
  8. 255
      src/screens/Address/index.js
  9. 21
      src/screens/DeliveryForm/Address/index.js
  10. 213
      src/screens/Profile/components/ProfileAddress/index.js
  11. 350
      yarn.lock

@ -268,8 +268,6 @@ dependencies {
implementation "com.facebook.react:react-native:+" // From node_modules implementation "com.facebook.react:react-native:+" // From node_modules
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
// map
implementation project(':@react-native-mapbox-gl_maps')
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
exclude group:'com.facebook.fbjni' exclude group:'com.facebook.fbjni'

@ -12,7 +12,6 @@ import com.facebook.soloader.SoLoader;
import com.danovin.newarchitecture.MainApplicationReactNativeHost; import com.danovin.newarchitecture.MainApplicationReactNativeHost;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.List; import java.util.List;
import com.mapbox.rctmgl.RCTMGLPackage;
import com.brentvatne.react.ReactVideoPackage; import com.brentvatne.react.ReactVideoPackage;
@ -29,7 +28,6 @@ public class MainApplication extends Application implements ReactApplication {
protected List<ReactPackage> getPackages() { protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable") @SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages(); List<ReactPackage> packages = new PackageList(this).getPackages();
packages.add(new RCTMGLPackage());
packages.add(new ReactVideoPackage()); packages.add(new ReactVideoPackage());
// Packages that cannot be autolinked yet can be added manually here, for example: // Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage()); // packages.add(new MyReactNativePackage());

@ -3,9 +3,6 @@ apply from: file("../node_modules/@react-native-community/cli-platform-android/n
include ':app' include ':app'
includeBuild('../node_modules/react-native-gradle-plugin') includeBuild('../node_modules/react-native-gradle-plugin')
include ':@react-native-mapbox-gl_maps'
project(':@react-native-mapbox-gl_maps').projectDir = new File(rootProject.projectDir, '../node_modules/mapir-mapbox/android/rctmgl')
include ':react-native-video' include ':react-native-video'
project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer') project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer')

@ -18,7 +18,6 @@ target 'danovin' do
# An absolute path to your application root. # An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.." :app_path => "#{Pod::Config.instance.installation_root}/.."
) )
pod 'react-native-mapbox-gl', :path => '../node_modules/mapir-mapbox', :inhibit_warnings => false
permissions_path = '../node_modules/react-native-permissions/ios' permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-Camera', :path => "#{permissions_path}/Camera" pod 'Permission-Camera', :path => "#{permissions_path}/Camera"

@ -11,11 +11,11 @@
}, },
"dependencies": { "dependencies": {
"@react-native-async-storage/async-storage": "^1.17.6", "@react-native-async-storage/async-storage": "^1.17.6",
"@react-native-mapbox-gl/maps": "^8.6.0-beta.0",
"@react-navigation/bottom-tabs": "^6.3.1", "@react-navigation/bottom-tabs": "^6.3.1",
"@react-navigation/native": "^6.0.10", "@react-navigation/native": "^6.0.10",
"@react-navigation/native-stack": "^6.6.2", "@react-navigation/native-stack": "^6.6.2",
"axios": "^0.27.2", "axios": "^0.27.2",
"mapir-react-native-sdk": "^2.2.4",
"react": "17.0.2", "react": "17.0.2",
"react-native": "0.68.2", "react-native": "0.68.2",
"react-native-awesome-alerts": "1.5.2", "react-native-awesome-alerts": "1.5.2",

@ -1,39 +1,33 @@
import React from "react"; import React from 'react';
// import MapboxGL from '@react-native-mapbox-gl/maps'; // import Mapir from 'mapir-react-native-sdk';
//assets export default function MapSelector({setAddress}) {
// import markerIcon from "../assets/icons/marker.png"; const [markerCoordinates, setMarkerCoordinates] = React.useState({
latitude: 35.7219,
longitude: 51.3347,
});
// MapboxGL.setAccessToken('<YOUR_ACCESSTOKEN>'); const getLocation = location => {
setMarkerCoordinates(location);
try {
export default function MapSelector({ setAddress }) { fetch(
// const [markerCoordinates, setMarkerCoordinates] = React.useState({ `https://map.ir/reverse/no?lat=${location.latitude}&lon=${location.longitude}`,
// latitude: 35.7219, {
// longitude: 51.3347, headers: {
// }); 'Content-Type': 'application/json',
'x-api-key':
// const getLocation = (location) => { 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIn0.eyJhdWQiOiIxNjk2MSIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIiwiaWF0IjoxNjQ0MzE3MDA5LCJuYmYiOjE2NDQzMTcwMDksImV4cCI6MTY0NjgyMjYwOSwic3ViIjoiIiwic2NvcGVzIjpbImJhc2ljIl19.Gckmd77Vw-wmsaztsmVmjYmfp4zXRSy2f0tXS-1p7IY8VJmvCCrk64y7WvCLbH0YfGZI9rG9ZUi5hRJDDGXu70l1ZafCYq2-EkMzcbx-PGTTq2bHGNZujF4ur1xtGoXd2kwGuldiR_6SJdqYLHcupbscFI7hHaQnkN1xWJ-L8476ZOKzUgiBvwH9uElGZXwD6SwfXoGW_R38_isrnfTXKfW9PPixyLaN3404tcjOU1r02HIurrplXlIKRKG9CVXxKsESfJJ8trwtZw6O4erxrnisxfL0VwAR7l69P6KcFb57vvM4j4hKFqxUDr4YvSq1qOTt3urYbAKehhvoiLhZxw',
// setMarkerCoordinates(location); },
// try { },
// fetch( )
// `https://map.ir/reverse/no?lat=${location.latitude}&lon=${location.longitude}`, .then(response => response.json())
// { .then(data => setAddress(data.address));
// headers: { } catch (err) {
// "Content-Type": "application/json", console.log(err);
// "x-api-key": }
// "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIn0.eyJhdWQiOiIxNjk2MSIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIiwiaWF0IjoxNjQ0MzE3MDA5LCJuYmYiOjE2NDQzMTcwMDksImV4cCI6MTY0NjgyMjYwOSwic3ViIjoiIiwic2NvcGVzIjpbImJhc2ljIl19.Gckmd77Vw-wmsaztsmVmjYmfp4zXRSy2f0tXS-1p7IY8VJmvCCrk64y7WvCLbH0YfGZI9rG9ZUi5hRJDDGXu70l1ZafCYq2-EkMzcbx-PGTTq2bHGNZujF4ur1xtGoXd2kwGuldiR_6SJdqYLHcupbscFI7hHaQnkN1xWJ-L8476ZOKzUgiBvwH9uElGZXwD6SwfXoGW_R38_isrnfTXKfW9PPixyLaN3404tcjOU1r02HIurrplXlIKRKG9CVXxKsESfJJ8trwtZw6O4erxrnisxfL0VwAR7l69P6KcFb57vvM4j4hKFqxUDr4YvSq1qOTt3urYbAKehhvoiLhZxw", };
// },
// }
// )
// .then((response) => response.json())
// .then((data) => setAddress(data.address));
// } catch (err) {
// console.log(err);
// }
// };
const onRegionDidChange = (e) => { const onRegionDidChange = e => {
console.log('onRegionDidChange', e.geometry.coordinates); console.log('onRegionDidChange', e.geometry.coordinates);
}; };
@ -41,12 +35,11 @@ export default function MapSelector({ setAddress }) {
<></> <></>
// <Mapir // <Mapir
// apiKey={ // apiKey={
// "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIn0.eyJhdWQiOiIxNjk2MSIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIiwiaWF0IjoxNjQ0MzE3MDA5LCJuYmYiOjE2NDQzMTcwMDksImV4cCI6MTY0NjgyMjYwOSwic3ViIjoiIiwic2NvcGVzIjpbImJhc2ljIl19.Gckmd77Vw-wmsaztsmVmjYmfp4zXRSy2f0tXS-1p7IY8VJmvCCrk64y7WvCLbH0YfGZI9rG9ZUi5hRJDDGXu70l1ZafCYq2-EkMzcbx-PGTTq2bHGNZujF4ur1xtGoXd2kwGuldiR_6SJdqYLHcupbscFI7hHaQnkN1xWJ-L8476ZOKzUgiBvwH9uElGZXwD6SwfXoGW_R38_isrnfTXKfW9PPixyLaN3404tcjOU1r02HIurrplXlIKRKG9CVXxKsESfJJ8trwtZw6O4erxrnisxfL0VwAR7l69P6KcFb57vvM4j4hKFqxUDr4YvSq1qOTt3urYbAKehhvoiLhZxw" // 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIn0.eyJhdWQiOiIxNjk2MSIsImp0aSI6IjkyODE4ODI0N2FhMjdlYTMyMzVlYzRiOWUxZDI3NTQyZTNjYmI3ZjQzY2Q2NGQzYjdkYjU1NmY3NDM5YzU2NzUyNzMxMjAzYzMwOTliYTFiIiwiaWF0IjoxNjQ0MzE3MDA5LCJuYmYiOjE2NDQzMTcwMDksImV4cCI6MTY0NjgyMjYwOSwic3ViIjoiIiwic2NvcGVzIjpbImJhc2ljIl19.Gckmd77Vw-wmsaztsmVmjYmfp4zXRSy2f0tXS-1p7IY8VJmvCCrk64y7WvCLbH0YfGZI9rG9ZUi5hRJDDGXu70l1ZafCYq2-EkMzcbx-PGTTq2bHGNZujF4ur1xtGoXd2kwGuldiR_6SJdqYLHcupbscFI7hHaQnkN1xWJ-L8476ZOKzUgiBvwH9uElGZXwD6SwfXoGW_R38_isrnfTXKfW9PPixyLaN3404tcjOU1r02HIurrplXlIKRKG9CVXxKsESfJJ8trwtZw6O4erxrnisxfL0VwAR7l69P6KcFb57vvM4j4hKFqxUDr4YvSq1qOTt3urYbAKehhvoiLhZxw'
// } // }
// onRegionDidChange={(e) => onRegionDidChange(e)} // onRegionDidChange={e => onRegionDidChange(e)}
// style={{ flex : 1 }} // style={{width: '100%', height: '100%'}}>
// > // <Mapir.Camera zoomLevel={13} centerCoordinate={[35.7219, 51.3347]} />
// <Mapir.Camera zoomLevel={13} centerCoordinate={[51.422548, 35.732573]} />
// </Mapir> // </Mapir>
); );
} }

@ -34,7 +34,7 @@ import ShoppingCart from '../src/screens/ShoppingCart';
import Address from "../src/screens/Address"; import Address from "../src/screens/Address";
import Profile from '../src/screens/Profile'; import Profile from '../src/screens/Profile';
// import ProfileBookmark from "../src/screens/Profile/components/ProfileBookmark"; // import ProfileBookmark from "../src/screens/Profile/components/ProfileBookmark";
// import ProfileAddress from "../src/screens/Profile/components/ProfileAddress"; import ProfileAddress from "../src/screens/Profile/components/ProfileAddress";
// import Blogs from "../src/screens/Blogs"; // import Blogs from "../src/screens/Blogs";
// import Blog from "../src/screens/Blog"; // import Blog from "../src/screens/Blog";
// import Sample from "../src/screens/Product/components/Sample"; // import Sample from "../src/screens/Product/components/Sample";
@ -567,7 +567,6 @@ const PROFILEStackScreen = ({theme}) => {
<PROFILEStack.Screen name="Product" component={Product} /> <PROFILEStack.Screen name="Product" component={Product} />
{/* {/*
<PROFILEStack.Screen name="ProfileBookmark" component={ProfileBookmark} /> <PROFILEStack.Screen name="ProfileBookmark" component={ProfileBookmark} />
<PROFILEStack.Screen name="Blogs" component={Blogs} /> <PROFILEStack.Screen name="Blogs" component={Blogs} />
<PROFILEStack.Screen name="MoreBlog" component={MoreBlog} /> <PROFILEStack.Screen name="MoreBlog" component={MoreBlog} />
<PROFILEStack.Screen name="Blog" component={Blog} /> <PROFILEStack.Screen name="Blog" component={Blog} />
@ -643,6 +642,8 @@ const Navigation = ({
)} )}
/> />
<Stack.Screen name="QR" component={QR} /> <Stack.Screen name="QR" component={QR} />
<Stack.Screen name="ProfileAddress" component={ProfileAddress} />
<Stack.Screen name="CreateAddress" component={Address} />
{/* {/*
<Stack.Screen name="Orders" component={OrdersFollowUp} /> <Stack.Screen name="Orders" component={OrdersFollowUp} />
<Stack.Screen name="Order" component={OrderDetails} /> <Stack.Screen name="Order" component={OrderDetails} />
@ -651,8 +652,6 @@ const Navigation = ({
<Stack.Screen name="QRContent" component={QRContent} /> <Stack.Screen name="QRContent" component={QRContent} />
<Stack.Screen name="Contact" component={Contact} /> <Stack.Screen name="Contact" component={Contact} />
<Stack.Screen name="AR" component={AR} /> <Stack.Screen name="AR" component={AR} />
<Stack.Screen name="CreateAddress" component={Address} />
<Stack.Screen name="ProfileAddress" component={ProfileAddress} />
<Stack.Screen name="Info" component={Info} /> <Stack.Screen name="Info" component={Info} />
<Stack.Screen name="Ticket" component={Ticket} /> <Stack.Screen name="Ticket" component={Ticket} />
<Stack.Screen name="Tickets" component={Tickets} /> <Stack.Screen name="Tickets" component={Tickets} />

@ -1,7 +1,7 @@
import React, {useEffect, useState} from 'react';
import { import {
View, View,
Text, Text,
SafeAreaView,
ScrollView, ScrollView,
StyleSheet, StyleSheet,
StatusBar, StatusBar,
@ -10,29 +10,29 @@ import {
KeyboardAvoidingView, KeyboardAvoidingView,
TextInput, TextInput,
TouchableWithoutFeedback, TouchableWithoutFeedback,
} from "react-native"; } from 'react-native';
import React, { useEffect, useState } from "react"; import {useSafeAreaInsets, SafeAreaView} from 'react-native-safe-area-context';
import { connect } from "react-redux"; import {connect} from 'react-redux';
import { publicApi, user, userAddress } from "../../redux/actions"; import {publicApi, user, userAddress} from '../../redux/actions';
import onInput from "../../utils/onInput"; import onInput from '../../utils/onInput';
import { useNavigation } from "@react-navigation/native"; import {useNavigation} from '@react-navigation/native';
import { asyncAwesomeAlert } from "../../utils/AsyncWrappers"; import {asyncAwesomeAlert} from '../../utils/AsyncWrappers';
//components //components
import Navbar from "../../components/Navbar"; import Navbar from '../../components/Navbar';
import CustomPressable from "../../components/Pressable"; import CustomPressable from '../../components/Pressable';
import CustomTextInput from "../../components/CustomTextInput"; import CustomTextInput from '../../components/CustomTextInput';
import MapSelector from "../../components/MapSelector"; import MapSelector from "../../components/MapSelector";
import Select from "../../components/Select"; import Select from '../../components/Select';
//style //style
import tw from "tailwind-rn"; import tw from 'tailwind-rn';
import Colors from "../../constants/Colors"; import Colors from '../../constants/Colors';
import fontSize from "../../constants/fontSize"; import fontSize from '../../constants/fontSize';
//variables //variables
const ios = Platform.OS === "ios"; const ios = Platform.OS === 'ios';
const { height } = Dimensions.get("window"); const {height} = Dimensions.get('window');
const Address = ({ const Address = ({
user, user,
@ -54,12 +54,13 @@ const Address = ({
mobile, mobile,
theme, theme,
}) => { }) => {
const insets = useSafeAreaInsets();
const [addressFields, setAddressFields] = useState({}); const [addressFields, setAddressFields] = useState({});
const [mapAddress, setMapAddress] = useState(null); const [mapAddress, setMapAddress] = useState(null);
const navigation = useNavigation(); const navigation = useNavigation();
const profilePage = React.useMemo(() => { const profilePage = React.useMemo(() => {
return route.params?.type === "profile"; return route.params?.type === 'profile';
}, [route]); }, [route]);
const editAddressPreviousValue = React.useMemo(() => { const editAddressPreviousValue = React.useMemo(() => {
@ -94,7 +95,7 @@ const Address = ({
cityId: user?.cityId, cityId: user?.cityId,
}); });
} }
if (route.params?.type === "editAddress") { if (route.params?.type === 'editAddress') {
setAddressFields({ setAddressFields({
firstName: editAddressPreviousValue?.firstName, firstName: editAddressPreviousValue?.firstName,
lastName: editAddressPreviousValue?.lastName, lastName: editAddressPreviousValue?.lastName,
@ -110,10 +111,10 @@ const Address = ({
}, []); }, []);
useEffect(() => { useEffect(() => {
if (route.params?.type === "editAddress" && provinces?.length) { if (route.params?.type === 'editAddress' && provinces?.length) {
getCity({ getCity({
provinceId: provinces?.filter( provinceId: provinces?.filter(
(province) => province?.name === editAddressPreviousValue?.provinceId province => province?.name === editAddressPreviousValue?.provinceId,
)[0]?.id, )[0]?.id,
}); });
} }
@ -121,8 +122,8 @@ const Address = ({
useEffect(() => { useEffect(() => {
StatusBar.setBarStyle( StatusBar.setBarStyle(
`${theme === "light" ? "dark" : "light"}-content`, `${theme === 'light' ? 'dark' : 'light'}-content`,
true true,
); );
}, [theme]); }, [theme]);
@ -130,14 +131,14 @@ const Address = ({
if (addressFields?.provinceId) { if (addressFields?.provinceId) {
getCity({ getCity({
provinceId: provinces?.filter( provinceId: provinces?.filter(
(province) => province?.name === addressFields?.provinceId province => province?.name === addressFields?.provinceId,
)[0]?.id, )[0]?.id,
}); });
} }
}, [addressFields]); }, [addressFields]);
const onChange = (name, value) => { const onChange = (name, value) => {
setAddressFields({ ...addressFields, [name]: value }); setAddressFields({...addressFields, [name]: value});
}; };
const submit = () => { const submit = () => {
@ -165,29 +166,29 @@ const Address = ({
// }); // });
// } // }
if (!cellphone) { if (!cellphone) {
return asyncAwesomeAlert("خطا", "شماره موبایل خود را وارد کنید.", { return asyncAwesomeAlert('خطا', 'شماره موبایل خود را وارد کنید.', {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
}); });
} else { } else {
if (cellphone.slice(0, 2) !== "09") { if (cellphone.slice(0, 2) !== '09') {
return asyncAwesomeAlert( return asyncAwesomeAlert(
"خطا", 'خطا',
"فرمت شماره موبایل وارد شده اشتباه است.", 'فرمت شماره موبایل وارد شده اشتباه است.',
{ {
showCancellphoneButton: false, showCancellphoneButton: false,
confirmText: "باشه", confirmText: 'باشه',
} },
); );
} }
if (cellphone.length !== 11) { if (cellphone.length !== 11) {
return asyncAwesomeAlert( return asyncAwesomeAlert(
"خطا", 'خطا',
"شماره موبایل میبایست یازده رقم باشد.", 'شماره موبایل میبایست یازده رقم باشد.',
{ {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
} },
); );
} }
} }
@ -211,39 +212,39 @@ const Address = ({
// } // }
if (!provinceId) { if (!provinceId) {
return asyncAwesomeAlert("خطا", "نام استان خود را وارد کنید.", { return asyncAwesomeAlert('خطا', 'نام استان خود را وارد کنید.', {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
}); });
} }
if (!cityId) { if (!cityId) {
return asyncAwesomeAlert("خطا", "نام شهرستان خود را وارد کنید.", { return asyncAwesomeAlert('خطا', 'نام شهرستان خود را وارد کنید.', {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
}); });
} }
if (!postalCode) { if (!postalCode) {
return asyncAwesomeAlert("خطا", "کد پستی خود را وارد کنید.", { return asyncAwesomeAlert('خطا', 'کد پستی خود را وارد کنید.', {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
}); });
} else { } else {
if (postalCode.length !== 10) { if (postalCode.length !== 10) {
return asyncAwesomeAlert("خطا", "کد پستی میبایست ده رقم باشد.", { return asyncAwesomeAlert('خطا', 'کد پستی میبایست ده رقم باشد.', {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
}); });
} }
} }
if (!mapAddress && !editAddressPreviousValue?.address) { if (!mapAddress && !editAddressPreviousValue?.address) {
return asyncAwesomeAlert("خطا", "آدرس خود را از روی نقشه انتخاب کن", { return asyncAwesomeAlert('خطا', 'آدرس خود را از روی نقشه انتخاب کن', {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
}); });
} }
if (route.params?.type === "editAddress") { if (route.params?.type === 'editAddress') {
editAddress({ editAddress({
firstName: firstName, firstName: firstName,
lastName: lastName, lastName: lastName,
@ -251,9 +252,9 @@ const Address = ({
phone: phone, phone: phone,
address: mapAddress, address: mapAddress,
provinceId: provinces?.filter( provinceId: provinces?.filter(
(province) => province?.name === provinceId province => province?.name === provinceId,
)[0]?.id, )[0]?.id,
cityId: cities?.filter((city) => city?.name === cityId)[0]?.id, cityId: cities?.filter(city => city?.name === cityId)[0]?.id,
postalCode: postalCode, postalCode: postalCode,
location: null, location: null,
id, id,
@ -266,9 +267,9 @@ const Address = ({
phone: phone, phone: phone,
address: mapAddress, address: mapAddress,
provinceId: provinces?.filter( provinceId: provinces?.filter(
(province) => province?.name === provinceId province => province?.name === provinceId,
)[0]?.id, )[0]?.id,
cityId: cities?.filter((city) => city?.name === cityId)[0]?.id, cityId: cities?.filter(city => city?.name === cityId)[0]?.id,
postalCode: postalCode, postalCode: postalCode,
location: null, location: null,
}); });
@ -300,20 +301,20 @@ const Address = ({
} = profileFields; } = profileFields;
if (phone) { if (phone) {
if (phone.slice(0, 1) !== "0") { if (phone.slice(0, 1) !== '0') {
return asyncAwesomeAlert( return asyncAwesomeAlert(
"خطا", 'خطا',
"فرمت شماره تلفن وارد شده اشتباه است.", 'فرمت شماره تلفن وارد شده اشتباه است.',
{ {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
} },
); );
} }
if (phone.length !== 11) { if (phone.length !== 11) {
return asyncAwesomeAlert("خطا", "شماره تلفن میبایست یازده رقم باشد.", { return asyncAwesomeAlert('خطا', 'شماره تلفن میبایست یازده رقم باشد.', {
showCancelButton: false, showCancelButton: false,
confirmText: "باشه", confirmText: 'باشه',
}); });
} }
} }
@ -343,31 +344,29 @@ const Address = ({
navigation.goBack(); navigation.goBack();
}; };
const Header = ({ title, text }) => { const Header = ({title, text}) => {
return ( return (
<View style={tw(`flex ${mobile ? "mt-2" : "mt-8"}`)}> <View style={tw(`flex ${mobile ? 'mt-2' : 'mt-8'}`)}>
<Text <Text
style={{ style={{
fontFamily: "Medium", fontFamily: 'Medium',
fontSize: mobile ? fontSize.lg : fontSize.lg, fontSize: mobile ? fontSize.lg : fontSize.lg,
color: color:
theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, theme === 'light' ? Colors.theme1.gray20 : Colors.theme1.white,
textAlign: ios ? "right" : "auto", textAlign: ios ? 'right' : 'auto',
}} }}>
>
{title} {title}
</Text> </Text>
<Text <Text
style={{ style={{
fontFamily: "Regular", fontFamily: 'Regular',
fontSize: mobile ? fontSize.sm : fontSize.tiny, fontSize: mobile ? fontSize.sm : fontSize.tiny,
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 + "aa" ? Colors.theme1.gray20 + 'aa'
: Colors.theme1.white + "aa", : Colors.theme1.white + 'aa',
textAlign: ios ? "right" : "auto", textAlign: ios ? 'right' : 'auto',
}} }}>
>
{text} {text}
</Text> </Text>
</View> </View>
@ -377,32 +376,31 @@ const Address = ({
return ( return (
<SafeAreaView <SafeAreaView
style={{ style={{
paddingTop: Platform.OS === "android" ? StatusBar.currentHeight : 0,
// position: "relative",
flex: 1, flex: 1,
}} paddingBottom: insets.bottom,
> paddingTop: insets.top,
}}>
<Navbar <Navbar
headerOptions={{ headerOptions={{
logo: false, logo: false,
menu: profilePage ? false : false, menu: profilePage ? false : false,
hamburgerMenu: false, hamburgerMenu: false,
title: profilePage ? "اطلاعات کاربری" : "", title: profilePage ? 'اطلاعات کاربری' : '',
bookmark: profilePage ? false : false, bookmark: profilePage ? false : false,
qr: false, qr: false,
back: true, back: true,
}} }}
/> />
<ScrollView style={[tw("flex-1 px-4")]}> <ScrollView style={[tw('flex-1 px-4')]}>
<KeyboardAvoidingView> <KeyboardAvoidingView>
<TouchableWithoutFeedback> <TouchableWithoutFeedback>
<View style={tw("flex-1")}> <View style={tw('flex-1')}>
<Header <Header
title="اطلاعات هویتی" title="اطلاعات هویتی"
text="( لطفا نام و نام خانوادگی خود را به طور کامل وارد نمایید )" text="( لطفا نام و نام خانوادگی خود را به طور کامل وارد نمایید )"
/> />
<CustomTextInput <CustomTextInput
label={profilePage ? "نام" : "نام تحویل گیرنده"} label={profilePage ? 'نام' : 'نام تحویل گیرنده'}
placeholder="" placeholder=""
textAlign="right" textAlign="right"
name="firstName" name="firstName"
@ -414,15 +412,15 @@ const Address = ({
} }
onChange={(name, value) => onChange={(name, value) =>
profilePage profilePage
? setProfileFields({ ...profileFields, firstName: value }) ? setProfileFields({...profileFields, firstName: value})
: onChange(name, value) : onChange(name, value)
} }
autoFocus={false} autoFocus={false}
regex={(val) => val} regex={val => val}
/> />
<CustomTextInput <CustomTextInput
label={ label={
profilePage ? "نام خانوادگی" : "نام خانوادگی تحویل گیرنده" profilePage ? 'نام خانوادگی' : 'نام خانوادگی تحویل گیرنده'
} }
placeholder="" placeholder=""
textAlign="right" textAlign="right"
@ -435,11 +433,11 @@ const Address = ({
} }
onChange={(name, value) => onChange={(name, value) =>
profilePage profilePage
? setProfileFields({ ...profileFields, lastName: value }) ? setProfileFields({...profileFields, lastName: value})
: onChange(name, value) : onChange(name, value)
} }
autoFocus={false} autoFocus={false}
regex={(val) => val} regex={val => val}
/> />
{profilePage ? ( {profilePage ? (
<CustomTextInput <CustomTextInput
@ -451,13 +449,13 @@ const Address = ({
maxLength={10} maxLength={10}
value={profileFields?.nationalId} value={profileFields?.nationalId}
onChange={(name, value) => onChange={(name, value) =>
setProfileFields({ ...profileFields, nationalId: value }) setProfileFields({...profileFields, nationalId: value})
} }
autoFocus={false} autoFocus={false}
regex={(text) => onInput.numberOnly(text)} regex={text => onInput.numberOnly(text)}
/> />
) : null} ) : null}
<View style={tw("mt-4")}></View> <View style={tw('mt-4')}></View>
<Header <Header
title="شماره تماس" title="شماره تماس"
text="( شماره موبایل و شماره تلفن ثابت خود را text="( شماره موبایل و شماره تلفن ثابت خود را
@ -466,7 +464,7 @@ const Address = ({
<CustomTextInput <CustomTextInput
keyboardType="numeric" keyboardType="numeric"
label={ label={
profilePage ? "شماره موبایل" : "شماره موبایل تحویل گیرنده" profilePage ? 'شماره موبایل' : 'شماره موبایل تحویل گیرنده'
} }
placeholder="" placeholder=""
textAlign="left" textAlign="left"
@ -479,15 +477,15 @@ const Address = ({
} }
onChange={(name, value) => onChange={(name, value) =>
profilePage profilePage
? setProfileFields({ ...profileFields, cellphone: value }) ? setProfileFields({...profileFields, cellphone: value})
: onChange(name, value) : onChange(name, value)
} }
autoFocus={false} autoFocus={false}
regex={(text) => onInput.numberOnly(text)} regex={text => onInput.numberOnly(text)}
/> />
<CustomTextInput <CustomTextInput
keyboardType="numeric" keyboardType="numeric"
label={profilePage ? "شماره تلفن" : "شماره تلفن تحویل گیرنده"} label={profilePage ? 'شماره تلفن' : 'شماره تلفن تحویل گیرنده'}
placeholder="" placeholder=""
textAlign="left" textAlign="left"
name="phone" name="phone"
@ -497,99 +495,98 @@ const Address = ({
} }
onChange={(name, value) => onChange={(name, value) =>
profilePage profilePage
? setProfileFields({ ...profileFields, phone: value }) ? setProfileFields({...profileFields, phone: value})
: onChange(name, value) : onChange(name, value)
} }
autoFocus={false} autoFocus={false}
regex={(text) => onInput.numberOnly(text)} regex={text => onInput.numberOnly(text)}
/> />
<View style={tw("mt-4")}></View> <View style={tw('mt-4')}></View>
<Header <Header
title="آدرس" title="آدرس"
text="( لطفا نام استان و شهرستان و آدرس text="( لطفا نام استان و شهرستان و آدرس
خود را با دقت تکمیل نمایید )" خود را با دقت تکمیل نمایید )"
/> />
<View style={tw("w-full mt-4")}> <View style={tw('w-full mt-4')}>
<Select <Select
defaultValue={ defaultValue={
profilePage profilePage
? provinces?.filter( ? provinces?.filter(
(province) => province =>
province?.id === profileFields?.provinceId province?.id === profileFields?.provinceId,
)[0]?.name || province[0] )[0]?.name || province[0]
: provinces?.filter( : provinces?.filter(
(province) => province =>
province?.id === province?.id ===
editAddressPreviousValue?.provinceId editAddressPreviousValue?.provinceId,
)[0]?.name || province[0] )[0]?.name || province[0]
} }
onChange={(name, value) => onChange={(name, value) =>
value === "استان" ? {} : onChange(name, value) value === 'استان' ? {} : onChange(name, value)
} }
options={province} options={province}
width={"100%"} width={'100%'}
name="provinceId" name="provinceId"
/> />
</View> </View>
<View style={tw("w-full mt-4")}> <View style={tw('w-full mt-4')}>
<Select <Select
defaultValue={ defaultValue={
profilePage profilePage
? cities?.filter( ? cities?.filter(
(city) => city?.id === profileFields?.cityId city => city?.id === profileFields?.cityId,
)[0]?.name || city[0] )[0]?.name || city[0]
: cities?.filter( : cities?.filter(
(city) => city => city?.id === editAddressPreviousValue?.cityId,
city?.id === editAddressPreviousValue?.cityId
)[0]?.name || city[0] )[0]?.name || city[0]
} }
onChange={(name, value) => onChange={(name, value) =>
value === "شهرستان" ? {} : onChange(name, value) value === 'شهرستان' ? {} : onChange(name, value)
} }
options={city} options={city}
width={"100%"} width={'100%'}
name="cityId" name="cityId"
/> />
</View> </View>
{!profilePage ? ( {!profilePage ? (
<> <>
<View style={{ width : '100%', height : height / 4 }}> <View style={{width: '100%', height: height / 4}}>
<MapSelector setAddress={(text) => setMapAddress(text)} /> <MapSelector setAddress={(text) => setMapAddress(text)} />
</View> </View>
<TextInput <TextInput
style={[ style={[
tw("w-full mt-4 py-4 px-2 rounded-sm h-40"), tw('w-full mt-4 py-4 px-2 rounded-sm h-40'),
{ {
backgroundColor: backgroundColor:
theme === "light" ? Colors.theme1.white : null, theme === 'light' ? Colors.theme1.white : null,
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 ? Colors.theme1.gray20
: Colors.theme1.white, : Colors.theme1.white,
fontSize: fontSize.tiny, fontSize: fontSize.tiny,
textAlign: "right", textAlign: 'right',
fontFamily: "Light", fontFamily: 'Light',
borderWidth: 1, borderWidth: 1,
borderColor: borderColor:
theme === "light" theme === 'light'
? Colors.theme1.gray2077 + "66" ? Colors.theme1.gray2077 + '66'
: Colors.theme1.white + "55", : Colors.theme1.white + '55',
}, },
]} ]}
value={mapAddress} value={mapAddress}
multiline={true} multiline={true}
textAlignVertical="top" textAlignVertical="top"
placeholder="آدرس مورد نظر ..." placeholder="آدرس مورد نظر ..."
onChangeText={(text) => setMapAddress(text)} onChangeText={text => setMapAddress(text)}
placeholderTextColor={ placeholderTextColor={
theme === "light" theme === 'light'
? Colors.theme1.gray2077 ? Colors.theme1.gray2077
: Colors.theme1.white + "aa" : Colors.theme1.white + 'aa'
} }
/> />
</> </>
) : null} ) : null}
<View style={tw("mb-4")}> <View style={tw('mb-4')}>
<CustomTextInput <CustomTextInput
keyboardType="numeric" keyboardType="numeric"
label="کد پستی" label="کد پستی"
@ -611,20 +608,20 @@ const Address = ({
: onChange(name, value) : onChange(name, value)
} }
autoFocus={false} autoFocus={false}
regex={(text) => onInput.numberOnly(text)} regex={text => onInput.numberOnly(text)}
/> />
</View> </View>
<CustomPressable <CustomPressable
title={ title={
profilePage profilePage
? "ذخیره اطلاعات و بازگشت به صفحه قبل" ? 'ذخیره اطلاعات و بازگشت به صفحه قبل'
: "ثبت آدرس" : 'ثبت آدرس'
} }
backgroundColor={Colors.theme1.greenCF} backgroundColor={Colors.theme1.greenCF}
color={"white"} color={'white'}
border={{ color: "#196EC0", width: 0 }} border={{color: '#196EC0', width: 0}}
width={"100%"} width={'100%'}
onPress={() => (profilePage ? submitProfile() : submit())} onPress={() => (profilePage ? submitProfile() : submit())}
/> />
</View> </View>
@ -640,14 +637,14 @@ const styles = StyleSheet.create({
paddingBottom: 0, paddingBottom: 0,
}, },
container: { container: {
flexDirection: "column", flexDirection: 'column',
paddingVertical: 5, paddingVertical: 5,
paddingHorizontal: 16, paddingHorizontal: 16,
flex: 1, flex: 1,
}, },
}); });
const mapStateToProps = (state) => ({ const mapStateToProps = state => ({
provinces: state.publicApi.provinces, provinces: state.publicApi.provinces,
province: state.publicApi.province, province: state.publicApi.province,
cities: state.publicApi.cities, cities: state.publicApi.cities,

@ -9,7 +9,7 @@ import {
import React from "react"; import React from "react";
import { connect } from "react-redux"; import { connect } from "react-redux";
import { asyncAwesomeAlert } from "../../../utils/AsyncWrappers"; import { asyncAwesomeAlert } from "../../../utils/AsyncWrappers";
import { Ionicons, Entypo } from "@expo/vector-icons"; // import { Ionicons, Entypo } from "@expo/vector-icons";
import { useNavigation } from "@react-navigation/native"; import { useNavigation } from "@react-navigation/native";
import { userFactor, userAddress } from "../../../redux/actions"; import { userFactor, userAddress } from "../../../redux/actions";
@ -72,15 +72,10 @@ const Address = ({
{selectedItem === address?.id && loading ? ( {selectedItem === address?.id && loading ? (
<ActivityIndicator size="small" color={Colors.theme1.greenC8} /> <ActivityIndicator size="small" color={Colors.theme1.greenC8} />
) : active ? ( ) : active ? (
<Entypo name="check" size={20} color={Colors.theme1.greenCF} /> // <Entypo name="check" size={20} color={Colors.theme1.greenCF} />
<></>
) : ( ) : (
<Entypo <></>
name="circle"
size={20}
color={
theme === "light" ? Colors.theme1.grayE3 : Colors.theme1.white
}
/>
)} )}
<View style={tw(`flex flex-1 ${mobile ? "mr-2" : "mr-5"}`)}> <View style={tw(`flex flex-1 ${mobile ? "mr-2" : "mr-5"}`)}>
<Text <Text
@ -113,7 +108,7 @@ const Address = ({
}) })
} }
> >
<Ionicons {/* <Ionicons
name="ios-pencil-sharp" name="ios-pencil-sharp"
size={16} size={16}
color={ color={
@ -123,7 +118,7 @@ const Address = ({
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white : Colors.theme1.white
} }
/> /> */}
</Pressable> </Pressable>
<Pressable <Pressable
onPress={() => onPress={() =>
@ -136,7 +131,7 @@ const Address = ({
} }
style={tw("h-full")} style={tw("h-full")}
> >
<Ionicons {/* <Ionicons
name="trash-bin" name="trash-bin"
size={16} size={16}
color={ color={
@ -146,7 +141,7 @@ const Address = ({
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white : Colors.theme1.white
} }
/> /> */}
</Pressable> </Pressable>
</View> </View>
</Pressable> </Pressable>

@ -1,32 +1,32 @@
import React from 'react';
import { import {
View, View,
Text, Text,
Pressable, Pressable,
TouchableOpacity, TouchableOpacity,
SafeAreaView,
ScrollView, ScrollView,
StyleSheet, StyleSheet,
Platform, Platform,
Dimensions, Dimensions,
StatusBar, StatusBar,
} from "react-native"; } from 'react-native';
import React from "react"; import {useSafeAreaInsets, SafeAreaView} from 'react-native-safe-area-context';
import { connect } from "react-redux"; import {connect} from 'react-redux';
import { asyncAwesomeAlert } from "../../../../utils/AsyncWrappers"; import {asyncAwesomeAlert} from '../../../../utils/AsyncWrappers';
import { useNavigation } from "@react-navigation/native"; import {useNavigation} from '@react-navigation/native';
import { userAddress, userFactor } from "../../../../redux/actions"; import {userAddress, userFactor} from '../../../../redux/actions';
//components //components
import Navbar from "../../../../components/Navbar"; import Navbar from '../../../../components/Navbar';
import Empty from "../../../../components/Empty"; import Empty from '../../../../components/Empty';
//style //style
import tw from "tailwind-rn"; import tw from 'tailwind-rn';
import Colors from "../../../../constants/Colors"; import Colors from '../../../../constants/Colors';
import fontSize from "../../../../constants/fontSize"; import fontSize from '../../../../constants/fontSize';
const ios = Platform.OS === "ios"; const ios = Platform.OS === 'ios';
const { height, width } = Dimensions.get("window"); const {height, width} = Dimensions.get('window');
const ProfileAddress = ({ const ProfileAddress = ({
addresses, addresses,
@ -40,83 +40,79 @@ const ProfileAddress = ({
theme, theme,
deleteItem, deleteItem,
}) => { }) => {
const insets = useSafeAreaInsets();
const navigation = useNavigation(); const navigation = useNavigation();
const [height, setHeight] = React.useState(height); const [height, setHeight] = React.useState(height);
const Location = ({ address, active }) => { const Location = ({address, active}) => {
return ( return (
<Pressable <Pressable
style={[ style={[
{ {
backgroundColor: backgroundColor:
userAddressId === address?.id userAddressId === address?.id
? theme === "light" ? theme === 'light'
? Colors.theme1.greenCF + "0a" ? Colors.theme1.greenCF + '0a'
: Colors.theme1.dark : Colors.theme1.dark
: theme === "light" : theme === 'light'
? Colors.theme1.grayE3 + "44" ? Colors.theme1.grayE3 + '44'
: Colors.theme1.dark, : Colors.theme1.dark,
borderWidth: 2, borderWidth: 2,
borderColor: borderColor:
userAddressId === address?.id userAddressId === address?.id
? Colors.theme1.greenCF + "aa" ? Colors.theme1.greenCF + 'aa'
: Colors.theme1.grayE3, : Colors.theme1.grayE3,
}, },
tw( tw(
`flex flex-row-reverse items-center w-full px-3 py-2 rounded-md mb-4` `flex flex-row-reverse items-center w-full px-3 py-2 rounded-md mb-4`,
), ),
]} ]}
onPress={() => onPress={() =>
userAddressId === address?.id userAddressId === address?.id
? {} ? {}
: update({ userAddressId: address?.id, userId }) : update({userAddressId: address?.id, userId})
} }>
> <View style={tw('flex flex-1 mr-2')}>
<View style={tw("flex flex-1 mr-2")}>
{active ? ( {active ? (
<View <View
style={tw("w-full flex flex-row-reverse justify-between mb-3")} style={tw('w-full flex flex-row-reverse justify-between mb-3')}>
> <View style={tw('flex flex-row-reverse items-center')}>
<View style={tw("flex flex-row-reverse items-center")}>
<Text <Text
style={{ style={{
fontSize: fontSize.base, fontSize: fontSize.base,
fontFamily: "Medium", fontFamily: 'Medium',
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 ? Colors.theme1.gray20
: active : active
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white, : Colors.theme1.white,
}} }}>
>
آدرس انتخابی شما آدرس انتخابی شما
</Text> </Text>
<Text <Text
style={{ style={{
fontSize: fontSize.xs, fontSize: fontSize.xs,
fontFamily: "Regular", fontFamily: 'Regular',
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 ? Colors.theme1.gray20
: active : active
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white, : Colors.theme1.white,
marginRight: 10, marginRight: 10,
}} }}>
>
فعال فعال
</Text> </Text>
</View> </View>
<View style={tw("flex flex-row-reverse")}> <View style={tw('flex flex-row-reverse')}>
<Pressable <Pressable
style={tw("ml-4")} style={tw('ml-4')}
onPress={() => onPress={() =>
navigation.navigate("CreateAddress", { navigation.navigate('CreateAddress', {
type: "editAddress", type: 'editAddress',
form: address, form: address,
}) })
} }>
>
<></> <></>
{/* <Ionicons {/* <Ionicons
name="ios-pencil-sharp" name="ios-pencil-sharp"
@ -132,14 +128,13 @@ const ProfileAddress = ({
</Pressable> </Pressable>
<Pressable <Pressable
onPress={() => onPress={() =>
asyncAwesomeAlert("", "آدرس مورد نظر حذف شود؟", { asyncAwesomeAlert('', 'آدرس مورد نظر حذف شود؟', {
showCancelButton: true, showCancelButton: true,
confirmText: "بله", confirmText: 'بله',
cancelText: "لغو", cancelText: 'لغو',
onConfirm: () => deleteItem({ id: address?.id }), onConfirm: () => deleteItem({id: address?.id}),
}) })
} }>
>
<></> <></>
{/* <Ionicons {/* <Ionicons
name="trash-bin" name="trash-bin"
@ -156,95 +151,90 @@ const ProfileAddress = ({
</View> </View>
</View> </View>
) : null} ) : null}
<View style={tw(`flex w-full ${active ? "" : "flex-row-reverse"}`)}> <View style={tw(`flex w-full ${active ? '' : 'flex-row-reverse'}`)}>
<View style={tw("flex flex-1 mb-4")}> <View style={tw('flex flex-1 mb-4')}>
<Text <Text
style={[ style={[
{ {
fontFamily: "Regular", fontFamily: 'Regular',
fontSize: mobile ? fontSize.sm : fontSize.tiny, fontSize: mobile ? fontSize.sm : fontSize.tiny,
lineHeight: 22, lineHeight: 22,
textAlign: ios ? "right" : "auto", textAlign: ios ? 'right' : 'auto',
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 ? Colors.theme1.gray20
: active : active
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white, : Colors.theme1.white,
}, },
]} ]}>
> {'آدرس:' + ' ' + address?.address}
{"آدرس:" + " " + address?.address}
</Text> </Text>
<Text <Text
style={[ style={[
{ {
marginTop: mobile ? 4 : 8, marginTop: mobile ? 4 : 8,
fontFamily: "Regular", fontFamily: 'Regular',
fontSize: mobile ? fontSize.sm : fontSize.tiny, fontSize: mobile ? fontSize.sm : fontSize.tiny,
lineHeight: 22, lineHeight: 22,
textAlign: ios ? "right" : "auto", textAlign: ios ? 'right' : 'auto',
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 ? Colors.theme1.gray20
: active : active
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white, : Colors.theme1.white,
}, },
]} ]}>
> {'نام:' + ' ' + address?.firstName + ' ' + address?.lastName}
{"نام:" + " " + address?.firstName + " " + address?.lastName}
</Text> </Text>
<Text <Text
style={[ style={[
{ {
marginTop: mobile ? 4 : 8, marginTop: mobile ? 4 : 8,
fontFamily: "Regular", fontFamily: 'Regular',
fontSize: mobile ? fontSize.sm : fontSize.tiny, fontSize: mobile ? fontSize.sm : fontSize.tiny,
lineHeight: 22, lineHeight: 22,
textAlign: ios ? "right" : "auto", textAlign: ios ? 'right' : 'auto',
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 ? Colors.theme1.gray20
: active : active
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white, : Colors.theme1.white,
}, },
]} ]}>
> {'کد پستی:' + ' ' + address?.postalCode}
{"کد پستی:" + " " + address?.postalCode}
</Text> </Text>
<Text <Text
style={[ style={[
{ {
marginTop: mobile ? 4 : 8, marginTop: mobile ? 4 : 8,
fontFamily: "Regular", fontFamily: 'Regular',
fontSize: mobile ? fontSize.sm : fontSize.tiny, fontSize: mobile ? fontSize.sm : fontSize.tiny,
lineHeight: 22, lineHeight: 22,
textAlign: ios ? "right" : "auto", textAlign: ios ? 'right' : 'auto',
color: color:
theme === "light" theme === 'light'
? Colors.theme1.gray20 ? Colors.theme1.gray20
: active : active
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white, : Colors.theme1.white,
}, },
]} ]}>
> {'شماره تماس:' + ' ' + address?.cellphone}
{"شماره تماس:" + " " + address?.cellphone}
</Text> </Text>
</View> </View>
{!active ? ( {!active ? (
<View style={tw("flex flex-row-reverse")}> <View style={tw('flex flex-row-reverse')}>
<Pressable <Pressable
style={tw("ml-4")} style={tw('ml-4')}
onPress={() => onPress={() =>
navigation.navigate("CreateAddress", { navigation.navigate('CreateAddress', {
type: "editAddress", type: 'editAddress',
form: address, form: address,
}) })
} }>
>
<></> <></>
{/* <Ionicons {/* <Ionicons
name="ios-pencil-sharp" name="ios-pencil-sharp"
@ -260,25 +250,24 @@ const ProfileAddress = ({
</Pressable> </Pressable>
<Pressable <Pressable
onPress={() => onPress={() =>
asyncAwesomeAlert("", "آدرس مورد نظر حذف شود؟", { asyncAwesomeAlert('', 'آدرس مورد نظر حذف شود؟', {
showCancelButton: true, showCancelButton: true,
confirmText: "بله", confirmText: 'بله',
cancelText: "لغو", cancelText: 'لغو',
onConfirm: () => deleteItem({ id: address?.id }), onConfirm: () => deleteItem({id: address?.id}),
}) })
} }>
> {/* <Ionicons
<Ionicons
name="trash-bin" name="trash-bin"
size={20} size={20}
color={ color={
theme === "light" theme === 'light'
? "#52796F" ? '#52796F'
: active : active
? Colors.theme1.greenCF ? Colors.theme1.greenCF
: Colors.theme1.white : Colors.theme1.white
} }
/> /> */}
</Pressable> </Pressable>
</View> </View>
) : null} ) : null}
@ -302,25 +291,23 @@ const ProfileAddress = ({
}; };
React.useEffect(() => { React.useEffect(() => {
getFactorInfo({ userId }); getFactorInfo({userId});
getList(); getList();
}, []); }, []);
return ( return (
<SafeAreaView <SafeAreaView
style={{ style={{
paddingTop: Platform.OS === "android" ? StatusBar.currentHeight : 0,
position: "relative",
flex: 1, flex: 1,
paddingBottom : 20 paddingBottom: insets.bottom,
}} paddingTop: insets.top,
> }}>
<Navbar <Navbar
headerOptions={{ headerOptions={{
logo: false, logo: false,
menu: false, menu: false,
hamburgerMenu: false, hamburgerMenu: false,
title: "آدرسها", title: 'آدرسها',
bookmark: false, bookmark: false,
qr: false, qr: false,
back: true, back: true,
@ -330,10 +317,9 @@ const ProfileAddress = ({
<ScrollView <ScrollView
contentContainerStyle={styles.contentContainerStyle} contentContainerStyle={styles.contentContainerStyle}
style={[styles.container]} style={[styles.container]}
onLayout={() => setHeight(Dimensions.get("window").height)} onLayout={() => setHeight(Dimensions.get('window').height)}>
> <View style={tw('w-full mt-2 px-4')}>
<View style={tw("w-full mt-2 px-4")}> <View style={tw('p-0 m-0 flex ')}>
<View style={tw("p-0 m-0 flex ")}>
{addresses?.map((address, index) => ( {addresses?.map((address, index) => (
<Location <Location
address={address} address={address}
@ -347,27 +333,25 @@ const ProfileAddress = ({
) : ( ) : (
<Empty text="هیچ آدرسی ثبت نشده" /> <Empty text="هیچ آدرسی ثبت نشده" />
)} )}
<View style={tw("w-full px-4")}> <View style={tw('w-full px-4 pb-4')}>
<TouchableOpacity <TouchableOpacity
style={[ style={[
{ {
backgroundColor: Colors.theme1.greenCF + "05", backgroundColor: Colors.theme1.greenCF + '05',
borderColor: Colors.theme1.greenCF, borderColor: Colors.theme1.greenCF,
borderWidth: 1.5, borderWidth: 1.5,
}, },
tw( tw(
`flex flex-row-reverse self-end justify-center py-2 rounded-md items-center mt-4 w-full` `flex flex-row-reverse self-end justify-center py-2 rounded-md items-center mt-4 w-full`,
), ),
]} ]}
onPress={() => navigation.push("CreateAddress")} onPress={() => navigation.push('CreateAddress')}>
>
<Text <Text
style={{ style={{
fontFamily: "Medium", fontFamily: 'Medium',
fontSize: fontSize.tiny, fontSize: fontSize.tiny,
color: Colors.theme1.greenCF, color: Colors.theme1.greenCF,
}} }}>
>
یک آدرس جدید اضافه کنید یک آدرس جدید اضافه کنید
</Text> </Text>
<Text <Text
@ -376,9 +360,8 @@ const ProfileAddress = ({
marginRight: 5, marginRight: 5,
fontSize: fontSize.xl3, fontSize: fontSize.xl3,
color: Colors.theme1.greenCF, color: Colors.theme1.greenCF,
fontFamily: "Medium", fontFamily: 'Medium',
}} }}>
>
+ +
</Text> </Text>
</TouchableOpacity> </TouchableOpacity>
@ -387,7 +370,7 @@ const ProfileAddress = ({
); );
}; };
const mapStateToProps = (state) => ({ const mapStateToProps = state => ({
userId: state.user.status?.id, userId: state.user.status?.id,
userAddressId: state.userFactor.info?.userAddressId, userAddressId: state.userFactor.info?.userAddressId,
loading: state.userFactor.loading, loading: state.userFactor.loading,
@ -408,10 +391,10 @@ export default connect(mapStateToProps, mapDispatchToProps)(ProfileAddress);
const styles = StyleSheet.create({ const styles = StyleSheet.create({
contentContainerStyle: { contentContainerStyle: {
paddingBottom: 100, paddingBottom: 100,
position: "relative", position: 'relative',
}, },
container: { container: {
flexDirection: "column", flexDirection: 'column',
paddingVertical: 0, paddingVertical: 0,
paddingHorizontal: 0, paddingHorizontal: 0,
}, },

@ -17,6 +17,13 @@
dependencies: dependencies:
"@babel/highlight" "^7.16.7" "@babel/highlight" "^7.16.7"
"@babel/code-frame@~7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
dependencies:
"@babel/highlight" "^7.10.4"
"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10":
version "7.17.10" version "7.17.10"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab"
@ -249,7 +256,7 @@
"@babel/traverse" "^7.18.2" "@babel/traverse" "^7.18.2"
"@babel/types" "^7.18.2" "@babel/types" "^7.18.2"
"@babel/highlight@^7.16.7": "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7":
version "7.17.12" version "7.17.12"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351"
integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==
@ -781,6 +788,55 @@
minimatch "^3.1.2" minimatch "^3.1.2"
strip-json-comments "^3.1.1" strip-json-comments "^3.1.1"
"@expo/config-plugins@^4.0.3":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.1.5.tgz#9d357d2cda9c095e511b51583ede8a3b76174068"
integrity sha512-RVvU40RtZt12HavuDAe+LDIq9lHj7sheOfMEHdmpJ/uTA8pgvkbc56XF6JHQD+yRr6+uhhb+JnAasGq49dsQbw==
dependencies:
"@expo/config-types" "^45.0.0"
"@expo/json-file" "8.2.36"
"@expo/plist" "0.0.18"
"@expo/sdk-runtime-versions" "^1.0.0"
"@react-native/normalize-color" "^2.0.0"
chalk "^4.1.2"
debug "^4.3.1"
find-up "~5.0.0"
getenv "^1.0.0"
glob "7.1.6"
resolve-from "^5.0.0"
semver "^7.3.5"
slash "^3.0.0"
xcode "^3.0.1"
xml2js "0.4.23"
"@expo/config-types@^45.0.0":
version "45.0.0"
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-45.0.0.tgz#963c2fdce8fbcbd003758b92ed8a25375f437ef6"
integrity sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==
"@expo/json-file@8.2.36":
version "8.2.36"
resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.36.tgz#62a505cb7f30a34d097386476794680a3f7385ff"
integrity sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==
dependencies:
"@babel/code-frame" "~7.10.4"
json5 "^1.0.1"
write-file-atomic "^2.3.0"
"@expo/plist@0.0.18":
version "0.0.18"
resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.18.tgz#9abcde78df703a88f6d9fa1a557ee2f045d178b0"
integrity sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==
dependencies:
"@xmldom/xmldom" "~0.7.0"
base64-js "^1.2.3"
xmlbuilder "^14.0.0"
"@expo/sdk-runtime-versions@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c"
integrity sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==
"@hapi/hoek@^9.0.0": "@hapi/hoek@^9.0.0":
version "9.3.0" version "9.3.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
@ -1085,17 +1141,17 @@
"@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/sourcemap-codec" "^1.4.10"
"@mapbox/geo-viewport@^0.4.0": "@mapbox/geo-viewport@>= 0.4.0":
version "0.4.1" version "0.5.0"
resolved "https://registry.yarnpkg.com/@mapbox/geo-viewport/-/geo-viewport-0.4.1.tgz#a184c0b161975858a2e855a1e333e66af342964b" resolved "https://registry.yarnpkg.com/@mapbox/geo-viewport/-/geo-viewport-0.5.0.tgz#5e3b4ef19ed113169d168eec9c60840e430c52a6"
integrity sha512-5g6eM3EOSl7+0p0VY+vHWEYjUlNzof936VKHTi/NuJVABjbYe8D2NAVJ0qt5C9Np4glUlhKFepgAgQ0OEybrjQ== integrity sha512-h0b10JU+lSxw8/TLXGdzcVTPxMN9Ikv0os8sCo0OAHXUiSDkQs5fx4WWLJeQTnC++qaGFl6/Ssr+H5N6NIvE5g==
dependencies: dependencies:
"@mapbox/sphericalmercator" "~1.1.0" "@mapbox/sphericalmercator" "^1.2.0"
"@mapbox/sphericalmercator@~1.1.0": "@mapbox/sphericalmercator@^1.2.0":
version "1.1.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/@mapbox/sphericalmercator/-/sphericalmercator-1.1.0.tgz#f3b1af042620716a1289fc41e1e97f610823aefe" resolved "https://registry.yarnpkg.com/@mapbox/sphericalmercator/-/sphericalmercator-1.2.0.tgz#55d4896be906bfff859e22a1d72267329a0fff90"
integrity sha512-pEsfZyG4OMThlfFQbCte4gegvHUjxXCjz0KZ4Xk8NdOYTQBLflj6U8PL05RPAiuRAMAQNUUKJuL6qYZ5Y4kAWA== integrity sha512-ZTOuuwGuMOJN+HEmG/68bSEw15HHaMWmQ5gdTsWdWsjDe56K1kGvLOK6bOSC8gWgIvEO0w6un/2Gvv1q5hJSkQ==
"@nodelib/fs.scandir@2.1.5": "@nodelib/fs.scandir@2.1.5":
version "2.1.5" version "2.1.5"
@ -1317,12 +1373,27 @@
resolved "https://registry.yarnpkg.com/@react-native-community/eslint-plugin/-/eslint-plugin-1.2.0.tgz#7d6d789ae8edf73dc9bed1246cd48277edea8066" resolved "https://registry.yarnpkg.com/@react-native-community/eslint-plugin/-/eslint-plugin-1.2.0.tgz#7d6d789ae8edf73dc9bed1246cd48277edea8066"
integrity sha512-o6aam+0Ug1xGK3ABYmBm0B1YuEKfM/5kaoZO0eHbZwSpw9UzDX4G5y4Nx/K20FHqUmJHkZmLvOUFYwN4N+HqKA== integrity sha512-o6aam+0Ug1xGK3ABYmBm0B1YuEKfM/5kaoZO0eHbZwSpw9UzDX4G5y4Nx/K20FHqUmJHkZmLvOUFYwN4N+HqKA==
"@react-native-mapbox-gl/maps@^8.6.0-beta.0":
version "8.6.0-beta.0"
resolved "https://registry.yarnpkg.com/@react-native-mapbox-gl/maps/-/maps-8.6.0-beta.0.tgz#e202c94c1bfae2516d5e5728ad37e398d534617e"
integrity sha512-UpHpP7Bc0oUMhqMVda6tTCdv2UYr4JhyQS8D+oqItVYr9W52KBpKVDGXDb6/nRdkypSMUqZJuwu7XfaxeJgchg==
dependencies:
"@expo/config-plugins" "^4.0.3"
"@mapbox/geo-viewport" ">= 0.4.0"
"@turf/along" "6.5.0"
"@turf/distance" "6.5.0"
"@turf/helpers" "6.5.0"
"@turf/length" "6.5.0"
"@turf/nearest-point-on-line" "6.5.0"
"@types/geojson" "^7946.0.7"
debounce "^1.2.0"
"@react-native/assets@1.0.0": "@react-native/assets@1.0.0":
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==
"@react-native/normalize-color@*", "@react-native/normalize-color@2.0.0": "@react-native/normalize-color@*", "@react-native/normalize-color@2.0.0", "@react-native/normalize-color@^2.0.0":
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567"
integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw== integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw==
@ -1418,7 +1489,7 @@
dependencies: dependencies:
"@sinonjs/commons" "^1.7.0" "@sinonjs/commons" "^1.7.0"
"@turf/along@^6.0.1": "@turf/along@6.5.0":
version "6.5.0" version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/along/-/along-6.5.0.tgz#ab12eec58a14de60fe243a62d31a474f415c8fef" resolved "https://registry.yarnpkg.com/@turf/along/-/along-6.5.0.tgz#ab12eec58a14de60fe243a62d31a474f415c8fef"
integrity sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw== integrity sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==
@ -1429,6 +1500,14 @@
"@turf/helpers" "^6.5.0" "@turf/helpers" "^6.5.0"
"@turf/invariant" "^6.5.0" "@turf/invariant" "^6.5.0"
"@turf/bbox@*":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-6.5.0.tgz#bec30a744019eae420dac9ea46fb75caa44d8dc5"
integrity sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==
dependencies:
"@turf/helpers" "^6.5.0"
"@turf/meta" "^6.5.0"
"@turf/bearing@^6.5.0": "@turf/bearing@^6.5.0":
version "6.5.0" version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-6.5.0.tgz#462a053c6c644434bdb636b39f8f43fb0cd857b0" resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-6.5.0.tgz#462a053c6c644434bdb636b39f8f43fb0cd857b0"
@ -1445,7 +1524,7 @@
"@turf/helpers" "^6.5.0" "@turf/helpers" "^6.5.0"
"@turf/invariant" "^6.5.0" "@turf/invariant" "^6.5.0"
"@turf/distance@^6.0.1", "@turf/distance@^6.5.0": "@turf/distance@6.5.0", "@turf/distance@^6.5.0":
version "6.5.0" version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-6.5.0.tgz#21f04d5f86e864d54e2abde16f35c15b4f36149a" resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-6.5.0.tgz#21f04d5f86e864d54e2abde16f35c15b4f36149a"
integrity sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg== integrity sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==
@ -1453,12 +1532,7 @@
"@turf/helpers" "^6.5.0" "@turf/helpers" "^6.5.0"
"@turf/invariant" "^6.5.0" "@turf/invariant" "^6.5.0"
"@turf/helpers@4.6.0": "@turf/helpers@6.5.0", "@turf/helpers@6.x", "@turf/helpers@^6.5.0":
version "4.6.0"
resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-4.6.0.tgz#12398733b8ae28420df6166fa44c7ee8ffd6414c"
integrity sha512-XTYO+cGhTSNEnbkIwKQvbaNbsSCPF+01TWkqZocLb8rqo7uLql9f1Hr4sYoZAujW9vcD1LrXxzIRN0rzyeExwQ==
"@turf/helpers@^6.5.0":
version "6.5.0" version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.5.0.tgz#f79af094bd6b8ce7ed2bd3e089a8493ee6cae82e" resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.5.0.tgz#f79af094bd6b8ce7ed2bd3e089a8493ee6cae82e"
integrity sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw== integrity sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==
@ -1470,6 +1544,55 @@
dependencies: dependencies:
"@turf/helpers" "^6.5.0" "@turf/helpers" "^6.5.0"
"@turf/length@6.5.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/length/-/length-6.5.0.tgz#ff4e9072d5f997e1c32a1311d214d184463f83fa"
integrity sha512-5pL5/pnw52fck3oRsHDcSGrj9HibvtlrZ0QNy2OcW8qBFDNgZ4jtl6U7eATVoyWPKBHszW3dWETW+iLV7UARig==
dependencies:
"@turf/distance" "^6.5.0"
"@turf/helpers" "^6.5.0"
"@turf/meta" "^6.5.0"
"@turf/line-intersect@^6.5.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/line-intersect/-/line-intersect-6.5.0.tgz#dea48348b30c093715d2195d2dd7524aee4cf020"
integrity sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==
dependencies:
"@turf/helpers" "^6.5.0"
"@turf/invariant" "^6.5.0"
"@turf/line-segment" "^6.5.0"
"@turf/meta" "^6.5.0"
geojson-rbush "3.x"
"@turf/line-segment@^6.5.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/line-segment/-/line-segment-6.5.0.tgz#ee73f3ffcb7c956203b64ed966d96af380a4dd65"
integrity sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==
dependencies:
"@turf/helpers" "^6.5.0"
"@turf/invariant" "^6.5.0"
"@turf/meta" "^6.5.0"
"@turf/meta@6.x", "@turf/meta@^6.5.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-6.5.0.tgz#b725c3653c9f432133eaa04d3421f7e51e0418ca"
integrity sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==
dependencies:
"@turf/helpers" "^6.5.0"
"@turf/nearest-point-on-line@6.5.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz#8e1cd2cdc0b5acaf4c8d8b3b33bb008d3cb99e7b"
integrity sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==
dependencies:
"@turf/bearing" "^6.5.0"
"@turf/destination" "^6.5.0"
"@turf/distance" "^6.5.0"
"@turf/helpers" "^6.5.0"
"@turf/invariant" "^6.5.0"
"@turf/line-intersect" "^6.5.0"
"@turf/meta" "^6.5.0"
"@types/babel__core@^7.1.14": "@types/babel__core@^7.1.14":
version "7.1.19" version "7.1.19"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
@ -1503,6 +1626,11 @@
dependencies: dependencies:
"@babel/types" "^7.3.0" "@babel/types" "^7.3.0"
"@types/geojson@7946.0.8", "@types/geojson@^7946.0.7":
version "7946.0.8"
resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca"
integrity sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==
"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3": "@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3":
version "4.1.5" version "4.1.5"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
@ -1548,9 +1676,9 @@
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
"@types/node@*": "@types/node@*":
version "17.0.40" version "17.0.41"
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.40.tgz#76ee88ae03650de8064a6cf75b8d95f9f4a16090" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.41.tgz#1607b2fd3da014ae5d4d1b31bc792a39348dfb9b"
integrity sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg== integrity sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==
"@types/normalize-package-data@^2.4.0": "@types/normalize-package-data@^2.4.0":
version "2.4.1" version "2.4.1"
@ -1704,6 +1832,11 @@
"@typescript-eslint/types" "5.27.1" "@typescript-eslint/types" "5.27.1"
eslint-visitor-keys "^3.3.0" eslint-visitor-keys "^3.3.0"
"@xmldom/xmldom@~0.7.0":
version "0.7.5"
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d"
integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==
abort-controller@^3.0.0: abort-controller@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
@ -1929,13 +2062,6 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
axios@^0.19.2:
version "0.19.2"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
dependencies:
follow-redirects "1.5.10"
axios@^0.27.2: axios@^0.27.2:
version "0.27.2" version "0.27.2"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
@ -2095,7 +2221,7 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
base64-js@^1.1.2, base64-js@^1.3.1, base64-js@^1.5.1: base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1" version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@ -2630,6 +2756,11 @@ dayjs@^1.8.15:
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.3.tgz#4754eb694a624057b9ad2224b67b15d552589258" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.3.tgz#4754eb694a624057b9ad2224b67b15d552589258"
integrity sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A== integrity sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==
debounce@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
debug@2.6.9, debug@^2.2.0, debug@^2.3.3: debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
version "2.6.9" version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@ -2637,14 +2768,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@=3.1.0: debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
dependencies:
ms "2.0.0"
debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4" version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@ -2855,9 +2979,9 @@ electron-to-chromium@^1.4.147:
integrity sha512-czclPqxLMPqPMkahKcske4TaS5lcznsc26ByBlEFDU8grTBVK9C5W6K9I6oEEhm4Ai4jTihGnys90xY1yjXcRg== integrity sha512-czclPqxLMPqPMkahKcske4TaS5lcznsc26ByBlEFDU8grTBVK9C5W6K9I6oEEhm4Ai4jTihGnys90xY1yjXcRg==
eme-encryption-scheme-polyfill@^2.0.1: eme-encryption-scheme-polyfill@^2.0.1:
version "2.0.4" version "2.0.5"
resolved "https://registry.yarnpkg.com/eme-encryption-scheme-polyfill/-/eme-encryption-scheme-polyfill-2.0.4.tgz#7d818302af3f3b19d5974255dcc92dc087413845" resolved "https://registry.yarnpkg.com/eme-encryption-scheme-polyfill/-/eme-encryption-scheme-polyfill-2.0.5.tgz#590a437483539edd95a209bbfc14f5458c0052a6"
integrity sha512-MHYJX1v145Pjj2YJTrVVuJOYyXrxGVy8LWf6kV5M4jrV/GyoeuJKyTuD+GaD+VAiE8Ip+MptiH4dXk6ZVmMNow== integrity sha512-F1C7SGjzE0ypKPqr7+30AcGl4YyEllrJidVDDWfwIwCadEfIHuayTn/nsy7EFNoZOJp4gUAohAGwLQEXE+exuw==
emittery@^0.10.2: emittery@^0.10.2:
version "0.10.2" version "0.10.2"
@ -3395,6 +3519,14 @@ find-up@^4.0.0, find-up@^4.1.0:
locate-path "^5.0.0" locate-path "^5.0.0"
path-exists "^4.0.0" path-exists "^4.0.0"
find-up@~5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
dependencies:
locate-path "^6.0.0"
path-exists "^4.0.0"
flat-cache@^3.0.4: flat-cache@^3.0.4:
version "3.0.4" version "3.0.4"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
@ -3418,13 +3550,6 @@ flow-parser@^0.121.0:
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.121.0.tgz#9f9898eaec91a9f7c323e9e992d81ab5c58e618f" resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.121.0.tgz#9f9898eaec91a9f7c323e9e992d81ab5c58e618f"
integrity sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg== integrity sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==
follow-redirects@1.5.10:
version "1.5.10"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
dependencies:
debug "=3.1.0"
follow-redirects@^1.14.9: follow-redirects@^1.14.9:
version "1.15.1" version "1.15.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
@ -3514,6 +3639,17 @@ gensync@^1.0.0-beta.2:
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
geojson-rbush@3.x:
version "3.2.0"
resolved "https://registry.yarnpkg.com/geojson-rbush/-/geojson-rbush-3.2.0.tgz#8b543cf0d56f99b78faf1da52bb66acad6dfc290"
integrity sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==
dependencies:
"@turf/bbox" "*"
"@turf/helpers" "6.x"
"@turf/meta" "6.x"
"@types/geojson" "7946.0.8"
rbush "^3.0.1"
get-caller-file@^2.0.1, get-caller-file@^2.0.5: get-caller-file@^2.0.1, get-caller-file@^2.0.5:
version "2.0.5" version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
@ -3558,6 +3694,11 @@ get-value@^2.0.3, get-value@^2.0.6:
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
getenv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/getenv/-/getenv-1.0.0.tgz#874f2e7544fbca53c7a4738f37de8605c3fcfc31"
integrity sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==
glob-parent@^5.1.2: glob-parent@^5.1.2:
version "5.1.2" version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
@ -3572,6 +3713,18 @@ glob-parent@^6.0.1:
dependencies: dependencies:
is-glob "^4.0.3" is-glob "^4.0.3"
glob@7.1.6:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.1.3, glob@^7.1.4: glob@^7.1.3, glob@^7.1.4:
version "7.2.3" version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
@ -4687,6 +4840,13 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
dependencies:
minimist "^1.2.0"
json5@^2.2.1: json5@^2.2.1:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
@ -4793,6 +4953,13 @@ locate-path@^5.0.0:
dependencies: dependencies:
p-locate "^4.1.0" p-locate "^4.1.0"
locate-path@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
dependencies:
p-locate "^5.0.0"
lodash.debounce@^4.0.8: lodash.debounce@^4.0.8:
version "4.0.8" version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@ -4895,25 +5062,6 @@ map-visit@^1.0.0:
dependencies: dependencies:
object-visit "^1.0.0" object-visit "^1.0.0"
mapir-mapbox@2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/mapir-mapbox/-/mapir-mapbox-2.0.6.tgz#38ec066b085651ea650236c2d571b419ba229538"
integrity sha512-aGUysx2YzYwrJVzXwO8IWtBqaWITg8sKwKwjVv+21g6Bmg0HNiVB9LGQvNuMkqtmhhD7GIT2Ys9T4TqHxD+g8g==
dependencies:
"@mapbox/geo-viewport" "^0.4.0"
"@turf/along" "^6.0.1"
"@turf/distance" "^6.0.1"
"@turf/helpers" "4.6.0"
underscore "^1.8.3"
mapir-react-native-sdk@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/mapir-react-native-sdk/-/mapir-react-native-sdk-2.2.4.tgz#fc5ddcc583e8aa2eab5f4ef574a34ef65f20c5ce"
integrity sha512-ACNP9h2/M98SL+XMVMfFOj+ocbxNlLFgzZoz6cQ4ZOQo+RCZxThyV+IcbbMeFXwJK3jiKLWBzIsaICJwibeLkg==
dependencies:
axios "^0.19.2"
mapir-mapbox "2.0.6"
match-all@^1.2.6: match-all@^1.2.6:
version "1.2.6" version "1.2.6"
resolved "https://registry.yarnpkg.com/match-all/-/match-all-1.2.6.tgz#66d276ad6b49655551e63d3a6ee53e8be0566f8d" resolved "https://registry.yarnpkg.com/match-all/-/match-all-1.2.6.tgz#66d276ad6b49655551e63d3a6ee53e8be0566f8d"
@ -5682,6 +5830,13 @@ p-limit@^2.0.0, p-limit@^2.2.0:
dependencies: dependencies:
p-try "^2.0.0" p-try "^2.0.0"
p-limit@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
dependencies:
yocto-queue "^0.1.0"
p-locate@^3.0.0: p-locate@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@ -5696,6 +5851,13 @@ p-locate@^4.1.0:
dependencies: dependencies:
p-limit "^2.2.0" p-limit "^2.2.0"
p-locate@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
dependencies:
p-limit "^3.0.2"
p-try@^2.0.0: p-try@^2.0.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@ -5926,11 +6088,23 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
quickselect@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
range-parser@~1.2.1: range-parser@~1.2.1:
version "1.2.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
rbush@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==
dependencies:
quickselect "^2.0.0"
react-devtools-core@^4.23.0: react-devtools-core@^4.23.0:
version "4.24.7" version "4.24.7"
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.7.tgz#43df22e6d244ed8286fd3ff16a80813998fe82a0" resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.7.tgz#43df22e6d244ed8286fd3ff16a80813998fe82a0"
@ -6335,7 +6509,7 @@ resolve-cwd@^3.0.0:
resolve-from@^3.0.0: resolve-from@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
integrity sha1-six699nWiBvItuZTM17rywoYh0g= integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
resolve-from@^4.0.0: resolve-from@^4.0.0:
version "4.0.0" version "4.0.0"
@ -6350,7 +6524,7 @@ resolve-from@^5.0.0:
resolve-url@^0.2.1: resolve-url@^0.2.1:
version "0.2.1" version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
resolve.exports@^1.1.0: resolve.exports@^1.1.0:
version "1.1.0" version "1.1.0"
@ -6377,7 +6551,7 @@ resolve@^2.0.0-next.3:
restore-cursor@^2.0.0: restore-cursor@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==
dependencies: dependencies:
onetime "^2.0.0" onetime "^2.0.0"
signal-exit "^3.0.2" signal-exit "^3.0.2"
@ -6417,7 +6591,7 @@ rimraf@^3.0.0, rimraf@^3.0.2:
rimraf@~2.2.6: rimraf@~2.2.6:
version "2.2.8" version "2.2.8"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI= integrity sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==
rimraf@~2.6.2: rimraf@~2.6.2:
version "2.6.3" version "2.6.3"
@ -6446,11 +6620,11 @@ safe-buffer@~5.2.0:
safe-regex@^1.1.0: safe-regex@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==
dependencies: dependencies:
ret "~0.1.10" ret "~0.1.10"
sax@^1.2.1: sax@>=0.6.0, sax@^1.2.1:
version "1.2.4" version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
@ -7161,11 +7335,6 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3" has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2" which-boxed-primitive "^1.0.2"
underscore@^1.8.3:
version "1.13.4"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.4.tgz#7886b46bbdf07f768e0052f1828e1dcab40c0dee"
integrity sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==
unicode-canonical-property-names-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
@ -7417,7 +7586,7 @@ ws@^7, ws@^7.5.1:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a"
integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw== integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==
xcode@^3.0.0: xcode@^3.0.0, xcode@^3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c"
integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==
@ -7425,11 +7594,29 @@ xcode@^3.0.0:
simple-plist "^1.1.0" simple-plist "^1.1.0"
uuid "^7.0.3" uuid "^7.0.3"
xml2js@0.4.23:
version "0.4.23"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
dependencies:
sax ">=0.6.0"
xmlbuilder "~11.0.0"
xmlbuilder@^14.0.0:
version "14.0.0"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-14.0.0.tgz#876b5aec4f05ffd5feb97b0a871c855d16fbeb8c"
integrity sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==
xmlbuilder@^9.0.7: xmlbuilder@^9.0.7:
version "9.0.7" version "9.0.7"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
xmlbuilder@~11.0.0:
version "11.0.1"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
xmldoc@^1.1.2: xmldoc@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.1.2.tgz#6666e029fe25470d599cd30e23ff0d1ed50466d7" resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.1.2.tgz#6666e029fe25470d599cd30e23ff0d1ed50466d7"
@ -7499,3 +7686,8 @@ yargs@^17.3.1:
string-width "^4.2.3" string-width "^4.2.3"
y18n "^5.0.5" y18n "^5.0.5"
yargs-parser "^21.0.0" yargs-parser "^21.0.0"
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==

Loading…
Cancel
Save