Commit f26b104a authored by Farhani's avatar Farhani

Create permission for gallery and android

parent 2e9362be
{ {
"git.ignoreLimitWarning": true "git.ignoreLimitWarning": true,
"java.configuration.updateBuildConfiguration": "automatic"
} }
\ No newline at end of file
...@@ -3,8 +3,6 @@ apply plugin: "com.android.application" ...@@ -3,8 +3,6 @@ apply plugin: "com.android.application"
import com.android.build.OutputFile import com.android.build.OutputFile
import org.apache.tools.ant.taskdefs.condition.Os import org.apache.tools.ant.taskdefs.condition.Os
/** /**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets). * and bundleReleaseJsAndAssets).
...@@ -135,11 +133,15 @@ android { ...@@ -135,11 +133,15 @@ android {
ndkVersion rootProject.ext.ndkVersion ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion compileSdkVersion rootProject.ext.compileSdkVersion
// compileSdkVersion 33
// buildToolsVersion ""
defaultConfig { defaultConfig {
vectorDrawables.useSupportLibrary = true
applicationId "com.mymoneymanager" applicationId "com.mymoneymanager"
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
// targetSdkVersion 33
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
package="com.mymoneymanager"> package="com.mymoneymanager">
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<!-- <uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" /> -->
<application <application
android:name=".MainApplication" android:name=".MainApplication"
......
...@@ -49,6 +49,12 @@ allprojects { ...@@ -49,6 +49,12 @@ allprojects {
// Android JSC is installed from npm // Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist") url("$rootDir/../node_modules/jsc-android/dist")
} }
maven {
url 'https://maven.google.com'
}
maven {
url "https://www.jitpack.io"
}
mavenCentral { mavenCentral {
// We don't want to fetch react-native from Maven Central as there are // We don't want to fetch react-native from Maven Central as there are
// older versions over there. // older versions over there.
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
"moment-timezone": "^0.5.39", "moment-timezone": "^0.5.39",
"pouchdb": "^7.3.0", "pouchdb": "^7.3.0",
"react": "18.1.0", "react": "18.1.0",
"react-native": "0.70.4", "react-native": "0.70.6",
"react-native-alert-pro": "^1.1.2", "react-native-alert-pro": "^1.1.2",
"react-native-androw": "^0.0.34", "react-native-androw": "^0.0.34",
"react-native-animatable": "^1.3.3", "react-native-animatable": "^1.3.3",
...@@ -44,6 +44,8 @@ ...@@ -44,6 +44,8 @@
"react-native-flatlist-picker": "^1.0.1", "react-native-flatlist-picker": "^1.0.1",
"react-native-gesture-handler": "^2.7.0", "react-native-gesture-handler": "^2.7.0",
"react-native-hide-show-password-input": "^1.2.0", "react-native-hide-show-password-input": "^1.2.0",
"react-native-image-crop-picker": "^0.38.1",
"react-native-image-picker": "^4.10.2",
"react-native-item-select": "^0.4.2", "react-native-item-select": "^0.4.2",
"react-native-material-datetime-picker": "^0.2.1", "react-native-material-datetime-picker": "^0.2.1",
"react-native-material-dropdown": "^0.11.1", "react-native-material-dropdown": "^0.11.1",
...@@ -83,6 +85,7 @@ ...@@ -83,6 +85,7 @@
"eslint": "^7.32.0", "eslint": "^7.32.0",
"jest": "^26.6.3", "jest": "^26.6.3",
"metro-react-native-babel-preset": "^0.72.1", "metro-react-native-babel-preset": "^0.72.1",
"react-native-clean-project": "^4.0.1",
"react-test-renderer": "18.1.0" "react-test-renderer": "18.1.0"
}, },
"jest": { "jest": {
......
...@@ -43,14 +43,6 @@ const grant = require ('../../images/grant.png'); ...@@ -43,14 +43,6 @@ const grant = require ('../../images/grant.png');
const onPress = () => console.log('press'); const onPress = () => console.log('press');
export default function CategoriesScreen({ navigation }) { export default function CategoriesScreen({ navigation }) {
state = {
modalVisible:false
};
setModalVisible = (visible)=>{
this.setState ({modalVisible:visible});
}
const addCategoryAlert = () => const addCategoryAlert = () =>
Alert.alert( Alert.alert(
"Add new category", "Add new category",
...@@ -96,8 +88,6 @@ export default function CategoriesScreen({ navigation }) { ...@@ -96,8 +88,6 @@ export default function CategoriesScreen({ navigation }) {
{cancelable:false} {cancelable:false}
); );
const INCOME={ const INCOME={
title: 'Income Categories', title: 'Income Categories',
data:[ data:[
...@@ -185,29 +175,6 @@ export default function CategoriesScreen({ navigation }) { ...@@ -185,29 +175,6 @@ export default function CategoriesScreen({ navigation }) {
}, },
] ]
} }
// const ModalPoup = ({visible, children}) => {
// const [showModal, setShowModal] = React.useState(visible);
// React.useEffect (() => {
// toggleModal();
// }, [visible]);
// const toggleModal = ()=> {
// if (visible){
// setShowModal(true);
// }else{
// setShowModal(false);
// }
// };
// return (
// <Modal transparent visible={showModal}>
// <View style = {styles.modalBackGround}>
// <View style={[styles.modalContainer]}>{children}</View>
// </View>
// </Modal>);
// };
// const [visible,setVisible] = React.useState(false);
const renderItem = ({item}) => { const renderItem = ({item}) => {
return( return(
<View style={{flexDirection:'column', justifyContent:'space-between'}}> <View style={{flexDirection:'column', justifyContent:'space-between'}}>
...@@ -244,15 +211,6 @@ export default function CategoriesScreen({ navigation }) { ...@@ -244,15 +211,6 @@ export default function CategoriesScreen({ navigation }) {
)} )}
/> />
{/* <ModalPoup visible={visible}>
<View style={{alignItems:'center'}}>
<View style={styles.header}>
</View>
<Image source= {plus} style={{width:30, height:30}}/>
</View></ModalPoup> */}
<TouchableOpacity style={{backgroundColor:'white', elevation:7, width:70, height:70,justifyContent:'center', alignItems:'center', position:'absolute', borderRadius:100, bottom:20, left:310, marginTop:210}} onPress={addCategoryAlert}> <TouchableOpacity style={{backgroundColor:'white', elevation:7, width:70, height:70,justifyContent:'center', alignItems:'center', position:'absolute', borderRadius:100, bottom:20, left:310, marginTop:210}} onPress={addCategoryAlert}>
<Image style={{width:30, height:30}} source = {plus}></Image> <Image style={{width:30, height:30}} source = {plus}></Image>
</TouchableOpacity> </TouchableOpacity>
......
...@@ -13,8 +13,11 @@ import { DateTimePickerAndroid } from '@react-native-community/datetimepicker'; ...@@ -13,8 +13,11 @@ import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';
import { NavigationAction } from '@react-navigation/native'; import { NavigationAction } from '@react-navigation/native';
import RNMaterialDatetimePicker from 'react-native-material-datetime-picker'; import RNMaterialDatetimePicker from 'react-native-material-datetime-picker';
import DateTimePickerModal from 'react-native-modal-datetime-picker'; import DateTimePickerModal from 'react-native-modal-datetime-picker';
import ImagePicker from 'react-native-image-crop-picker';
import SidebarScreen from '../sidebar'; import SidebarScreen from '../sidebar';
import styles from './style'; import styles from './style';
// import {launchCamera, launchImageLibrary} from 'react-native-image-picker';
const logo = require ('../../images/pic.png'); const logo = require ('../../images/pic.png');
const cutlery = require ('../../images/cutlery.png'); const cutlery = require ('../../images/cutlery.png');
...@@ -40,6 +43,49 @@ const caricon = require ('../../images/caricon.png'); ...@@ -40,6 +43,49 @@ const caricon = require ('../../images/caricon.png');
const Stack = createNativeStackNavigator(); const Stack = createNativeStackNavigator();
const profile = require ('../../images/profile.jpg'); const profile = require ('../../images/profile.jpg');
const requestCameraPermission = async () => {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
title: "Cool Photo App Camera Permission",
message:
"Cool Photo App needs access to your camera " +
"so you can take awesome pictures.",
buttonNeutral: "Ask Me Later",
buttonNegative: "Cancel",
buttonPositive: "OK"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the camera");
} else {
console.log("Camera permission denied");
}
} catch (err) {
console.warn(err);
}
};
const requestGalleryPermission = async () => {
try{
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
{
title: 'Share image',
message: 'This app would like read media from storage.',
buttonPositive: 'Please accept bare mortal',
},
);
if (granted===PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the gallery");
} else {
console.log("Gallery permission denied");
}
} catch (err) {
console.warn(err);
}
};
const Profile =()=> { const Profile =()=> {
const [fname, onChangeFName] = useState('Farhani'); const [fname, onChangeFName] = useState('Farhani');
...@@ -49,7 +95,7 @@ const Profile =()=> { ...@@ -49,7 +95,7 @@ const Profile =()=> {
const [confirmPassword, onChangeConfirmPassword] = useState(''); const [confirmPassword, onChangeConfirmPassword] = useState('');
const [dob, setDOB] = useState('06/02/1999'); const [dob, setDOB] = useState('06/02/1999');
const [gender, setGender] = useState('Female'); const [gender, setGender] = useState('Female');
const [profilePic, setProfilePic] = useState(profile);
const [isDatePickerVisible, setDatePickerVisibility] = useState(false); const [isDatePickerVisible, setDatePickerVisibility] = useState(false);
const showDatePicker = () => { const showDatePicker = () => {
...@@ -65,30 +111,6 @@ const Profile =()=> { ...@@ -65,30 +111,6 @@ const Profile =()=> {
hideDatePicker(); hideDatePicker();
}; };
const requestCameraPermission = async () => {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
title: "Cool Photo App Camera Permission",
message:
"Cool Photo App needs access to your camera " +
"so you can take awesome pictures.",
buttonNeutral: "Ask Me Later",
buttonNegative: "Cancel",
buttonPositive: "OK"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the camera");
} else {
console.log("Camera permission denied");
}
} catch (err) {
console.warn(err);
}
};
return ( return (
<View style = {{backgroundColor:'white', height:'100%'}}> <View style = {{backgroundColor:'white', height:'100%'}}>
...@@ -96,18 +118,16 @@ const requestCameraPermission = async () => { ...@@ -96,18 +118,16 @@ const requestCameraPermission = async () => {
<View style={{marginHorizontal:20, marginTop:20}}> <View style={{marginHorizontal:20, marginTop:20}}>
<Text style={{marginBottom:20, fontSize:15,marginHorizontal:5}}>Profile photo</Text> <Text style={{marginBottom:20, fontSize:15,marginHorizontal:5}}>Profile photo</Text>
<View style = {{flexDirection:'row'}}> <View style = {{flexDirection:'row'}}>
<TouchableOpacity>
<View style ={{flexDirection:'row', marginHorizontal:25}}> <View style ={{flexDirection:'row', marginHorizontal:25}}>
<View style={{backgroundColor:'#2693ff', elevation:8, justifyContent:'center', alignItems:'center', borderRadius:25, width:50, height:50}}> <View style={{backgroundColor:'#2693ff', elevation:8, justifyContent:'center', alignItems:'center', borderRadius:25, width:50, height:50}}>
<Image style={{width: 60, height: 60, borderColor:'powderblue', borderWidth: 1, elevation: 7,borderRadius: 100,}} source={profile}/> <Image style={{width: 60, height: 60, borderColor:'powderblue', borderWidth: 1, elevation: 7,borderRadius: 100,}} source={profilePic}/>
</View> </View>
</View> </View>
</TouchableOpacity>
<View style={{flexDirection:'row', justifyContent:'flex-start'}}> <View style={{flexDirection:'row', justifyContent:'flex-start'}}>
<View> <View>
<View style={{flexDirection:'row'}}> <View style={{flexDirection:'row'}}>
<TouchableOpacity style={styles.saveButton} title="request permissions" onPress={requestCameraPermission}> <TouchableOpacity style={styles.saveButton} title="request permissions" onPress={requestGalleryPermission}>
<View style={{flexDirection:'row'}}> <View style={{flexDirection:'row'}}>
<Icon name="upload" size={20} color="#5eb5ce"/> <Icon name="upload" size={20} color="#5eb5ce"/>
<Text style={{color:'#5eb5ce', marginHorizontal:10, fontSize:15}}>Upload Picture</Text> <Text style={{color:'#5eb5ce', marginHorizontal:10, fontSize:15}}>Upload Picture</Text>
......
...@@ -209,17 +209,15 @@ const EXP = [ ...@@ -209,17 +209,15 @@ const EXP = [
// const [selectedLanguage, setSelectedLanguage] = useState(); // const [selectedLanguage, setSelectedLanguage] = useState();
// this.setState(function(state, props){
// return{
// counter: state.counter + props.increment
// };
// });
const CURRENCY = [ const CURRENCY = [
{label:'RM',value:'RM'}, {label:'RM',value:'RM'},
{label:'USD',value:'USD'}, {label:'USD',value:'USD'},
{label:'KRW',value:'KRW'}, {label:'KRW',value:'KRW'},
{label:'EURO',value:'EURO'}, {label:'EURO',value:'EURO'},
{label:'TEST',value:'TEST'},
{label:'TRY',value:'TRY'},
{label:'CUBA',value:'CUBA'},
// {label:'GFDFVF',value:'FGDFDWERDDF'},
]; ];
const Transactions =()=> { const Transactions =()=> {
...@@ -227,11 +225,10 @@ const Transactions =()=> { ...@@ -227,11 +225,10 @@ const Transactions =()=> {
const [imgAccSelected, setImgAccSelected] = useState (acc); const [imgAccSelected, setImgAccSelected] = useState (acc);
const [strCatSelected, setStrCatSelected] = useState('Category'); const [strCatSelected, setStrCatSelected] = useState('Category');
const [imgCatSelected, setImgCatSelected] = useState(tag); const [imgCatSelected, setImgCatSelected] = useState(tag);
const [income, setIncome] = useState(INC);
// const [isFocus, setIsFocus] = useState(false); const [expense, setExpense] = useState(false);
const [strCurrSelected, setStrCurrSelected] = useState('RM');
// const [selected, setSelected] = React.useState(""); const [currListVisible, setCurrListVisible] = useState(false);
//const [selectedLanguage, setSelectedLanguage] = useState();
const [text, onChangeText] = React.useState(null); const [text, onChangeText] = React.useState(null);
const [number, onChangeNumber] = React.useState(null); const [number, onChangeNumber] = React.useState(null);
const [isDatePickerVisible, setDatePickerVisibility] = useState(false); const [isDatePickerVisible, setDatePickerVisibility] = useState(false);
...@@ -269,30 +266,6 @@ const Transactions =()=> { ...@@ -269,30 +266,6 @@ const Transactions =()=> {
hideTimePicker(); hideTimePicker();
}; };
// const [selectedItem, setSelectedItem] = useState('');
const [income, setIncome] = useState(INC);
const [expense, setExpense] = useState(false);
const [strCurrSelected, setStrCurrSelected] = useState('RM');
const [ currListVisible, setCurrListVisible] = useState(true);
// const showCurrList = ()=>{
// setCurrListVisible(true);
// }
// const hideCurrList = ()=> {
// setCurrListVisible(false);
// }
// const handleConfirmCurrency = (strCurrSelected) => {
// console.log();
// setStrCurrSelected();
// hideCurrList();
// };
const renderItem = ({ item }) => ( const renderItem = ({ item }) => (
<SafeAreaView> <SafeAreaView>
<View style={{justifyContent:'space-between', flexDirection:'row', marginHorizontal:15, width:'110%'}}> <View style={{justifyContent:'space-between', flexDirection:'row', marginHorizontal:15, width:'110%'}}>
...@@ -381,72 +354,31 @@ const Transactions =()=> { ...@@ -381,72 +354,31 @@ const Transactions =()=> {
</TouchableOpacity> </TouchableOpacity>
</SafeAreaView> </SafeAreaView>
// onPress={()=>{setStrCurrSelected}}
// const showTimePicker = () => {
// setTimePickerVisibility(true);
// };
{/* <DateTimePickerModal
isVisible={isDatePickerVisible}
mode="date"
onConfirm={handleConfirmDate}
onCancel={hideDatePicker}/> <DateTimePickerModal
isVisible={isDatePickerVisible}
mode="date"
onConfirm={handleConfirmDate}
onCancel={hideDatePicker}/>*/}
const renderCurrency = ({ item }) => ( const renderCurrency = ({ item }) => (
<SafeAreaView> <SafeAreaView>
<TouchableOpacity onPress={()=>{setStrCurrSelected(item.label)}}> <TouchableOpacity onPress={()=>{setStrCurrSelected(item.label)}}>
<Text style={{marginTop:10, fontSize:20, marginHorizontal:20, alignItems:'center'}}>{item.label}</Text> <Text style={{marginTop:10, fontSize:20, justifyContent:'center', alignItems:'center', marginHorizontal:100}}>{item.label}</Text>
</TouchableOpacity> </TouchableOpacity>
<View style={[styles.dividerLine,{marginTop:20}]}></View>
</SafeAreaView> </SafeAreaView>
); );
const ListCurrency = () => { const ListCurrency = () => {
if (currListVisible){ if (currListVisible){
return( return(
<SafeAreaView> <SafeAreaView style={{position:'absolute', height:'100%', width:'100%', backgroundColor:'rgba(192,192,192,0.8)', justifyContent:'center', alignItems:'center'}}>
<TouchableOpacity style ={{flexDirection:'row',backgroundColor:'transparent', width:100, height:80, borderWidth:1.5, borderColor:'grey', borderRadius:6, marginTop:10, marginHorizontal:13}} onPress={()=>currListVisible}> <TouchableOpacity style={{height:'100%', width:'100%'}} onPress={()=>{setCurrListVisible(false)}}></TouchableOpacity>
<View style={{flexDirection:'row', width:'100%', justifyContent:'space-between'}}> <View style={{backgroundColor:'white', borderRadius:5, justifyContent:'center', marginHorizontal:20, width:'70%', height:'30%', marginTop:0, borderWidth:0.5, borderColor:'white', elevation:2, position:'absolute',}}>
<View style={{flexDirection:'row', width:'80%'}}>
<Text style={{marginTop:24, fontSize:20, marginHorizontal:5}}>{strCurrSelected}</Text>
</View>
<View style={{flexDirection:'row', width:'30%'}}>
<Image style={{width:15, height:15, marginTop:30}} source={drop}></Image>
</View>
</View>
</TouchableOpacity>
{/* <View style={{backgroundColor:'rgba(52, 52, 52, alpha)', width:'100%'}}> */}
<View style={{backgroundColor:'white', opacity:0.9, borderRadius:2, justifyContent:'center', marginHorizontal:20, width:'70%', height:'50%', marginTop:70, borderWidth:0.5, borderColor:'white', elevation:2, position:'absolute',}}>
{/* <View> */}
<FlatList <FlatList
// style={{alignItems:'flex-start'}}
data={CURRENCY} data={CURRENCY}
renderItem={renderCurrency} renderItem={renderCurrency}
keyExtractor={item => item.id} keyExtractor={item => item.id}
/> />
</View> </View>
{/* </View> */} </SafeAreaView>
{/* </View> */}
{/* <Overlay
animationType="zoomIn" containerStyle={{backgroundColor: 'rgba(37, 8, 10, 0.78)'}}
childrenWrapperStyle={{backgroundColor: '#eee'}}
animationDuration={500}>
{
(hideCurrList) => (
<Fragment>
<Text>Some Modal Content</Text>
<Text onPress={hideCurrList}>Close</Text>
</Fragment>
)
}
</Overlay> */}
</SafeAreaView>
); );
}; };
}; };
...@@ -546,9 +478,16 @@ const Transactions =()=> { ...@@ -546,9 +478,16 @@ const Transactions =()=> {
<View style ={{flexDirection:'row'}}> <View style ={{flexDirection:'row'}}>
<TouchableOpacity style ={{flexDirection:'row',backgroundColor:'transparent', width:100, height:80, borderWidth:1.5, borderColor:'grey', borderRadius:6, marginTop:10, marginHorizontal:13}} onPress={()=>{setCurrListVisible(true)}}>
<View style={{flexDirection:'row', width:'100%', justifyContent:'space-between'}}>
<ListCurrency/> <View style={{flexDirection:'row', width:'80%'}}>
<Text style={{marginTop:24, fontSize:20, marginHorizontal:5}}>{strCurrSelected}</Text>
</View>
<View style={{flexDirection:'row', width:'30%'}}>
<Image style={{width:15, height:15, marginTop:30}} source={drop}></Image>
</View>
</View>
</TouchableOpacity>
...@@ -586,6 +525,7 @@ const Transactions =()=> { ...@@ -586,6 +525,7 @@ const Transactions =()=> {
<Text style={{color:'white', fontWeight:'bold'}}>ADD</Text> <Text style={{color:'white', fontWeight:'bold'}}>ADD</Text>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
<ListCurrency/>
</View> </View>
); );
......
...@@ -85,19 +85,13 @@ const styles = StyleSheet.create ({ ...@@ -85,19 +85,13 @@ const styles = StyleSheet.create ({
marginHorizontal:9, marginHorizontal:9,
marginTop:9, marginTop:9,
}, },
dividerLine:{
containerBox:{ height: 1,
borderWidth: 1, width: '500%',
borderColor: '#CECECE', backgroundColor: 'lightgrey',
width: 250, marginVertical:10
height: 50,
alignSelf: 'center',
justifyContent: 'space-between',
alignItems: 'center',
flexDirection: 'row',
marginTop: 30,
padding: 5,
}, },
}); });
export default styles; export default styles;
\ No newline at end of file
...@@ -920,12 +920,12 @@ ...@@ -920,12 +920,12 @@
slash "^3.0.0" slash "^3.0.0"
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
"@jest/create-cache-key-function@^29.0.3": "@jest/create-cache-key-function@^27.0.1":
version "29.2.1" version "27.5.1"
resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.2.1.tgz#5f168051001ffea318b720cd6062daaf0b074913" resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz#7448fae15602ea95c828f5eceed35c202a820b31"
integrity sha512-///wxGQUyP0GCr3L1OcqIzhsKvN2gOyqWsRxs56XGCdD8EEuoKg857G9nC+zcWIpIsG+3J5UnEbhe3LJw8CNmQ== integrity sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==
dependencies: dependencies:
"@jest/types" "^29.2.1" "@jest/types" "^27.5.1"
"@jest/environment@^26.6.2": "@jest/environment@^26.6.2":
version "26.6.2" version "26.6.2"
...@@ -990,13 +990,6 @@ ...@@ -990,13 +990,6 @@
optionalDependencies: optionalDependencies:
node-notifier "^8.0.0" node-notifier "^8.0.0"
"@jest/schemas@^29.0.0":
version "29.0.0"
resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a"
integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==
dependencies:
"@sinclair/typebox" "^0.24.1"
"@jest/source-map@^26.6.2": "@jest/source-map@^26.6.2":
version "26.6.2" version "26.6.2"
resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535"
...@@ -1070,18 +1063,6 @@ ...@@ -1070,18 +1063,6 @@
"@types/yargs" "^16.0.0" "@types/yargs" "^16.0.0"
chalk "^4.0.0" chalk "^4.0.0"
"@jest/types@^29.2.1":
version "29.2.1"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.2.1.tgz#ec9c683094d4eb754e41e2119d8bdaef01cf6da0"
integrity sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==
dependencies:
"@jest/schemas" "^29.0.0"
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^3.0.0"
"@types/node" "*"
"@types/yargs" "^17.0.8"
chalk "^4.0.0"
"@jridgewell/gen-mapping@^0.1.0": "@jridgewell/gen-mapping@^0.1.0":
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
...@@ -1150,7 +1131,7 @@ ...@@ -1150,7 +1131,7 @@
dependencies: dependencies:
serve-static "^1.13.1" serve-static "^1.13.1"
"@react-native-community/cli-doctor@^9.2.1": "@react-native-community/cli-doctor@^9.3.0":
version "9.3.0" version "9.3.0"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-9.3.0.tgz#8817a3fd564453467def5b5bc8aecdc4205eff50" resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-9.3.0.tgz#8817a3fd564453467def5b5bc8aecdc4205eff50"
integrity sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA== integrity sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA==
...@@ -1172,7 +1153,7 @@ ...@@ -1172,7 +1153,7 @@
sudo-prompt "^9.0.0" sudo-prompt "^9.0.0"
wcwidth "^1.0.1" wcwidth "^1.0.1"
"@react-native-community/cli-hermes@^9.2.1": "@react-native-community/cli-hermes@^9.3.1":
version "9.3.1" version "9.3.1"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-9.3.1.tgz#569d27c1effd684ba451ad4614e29a99228cec49" resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-9.3.1.tgz#569d27c1effd684ba451ad4614e29a99228cec49"
integrity sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ== integrity sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ==
...@@ -1183,20 +1164,7 @@ ...@@ -1183,20 +1164,7 @@
hermes-profile-transformer "^0.0.6" hermes-profile-transformer "^0.0.6"
ip "^1.1.5" ip "^1.1.5"
"@react-native-community/cli-platform-android@9.2.1": "@react-native-community/cli-platform-android@9.3.1", "@react-native-community/cli-platform-android@^9.3.1":
version "9.2.1"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-9.2.1.tgz#cd73cb6bbaeb478cafbed10bd12dfc01b484d488"
integrity sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg==
dependencies:
"@react-native-community/cli-tools" "^9.2.1"
chalk "^4.1.2"
execa "^1.0.0"
fs-extra "^8.1.0"
glob "^7.1.3"
logkitty "^0.7.1"
slash "^3.0.0"
"@react-native-community/cli-platform-android@^9.3.1":
version "9.3.1" version "9.3.1"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-9.3.1.tgz#378cd72249653cc74672094400657139f21bafb8" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-9.3.1.tgz#378cd72249653cc74672094400657139f21bafb8"
integrity sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew== integrity sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew==
...@@ -1209,18 +1177,7 @@ ...@@ -1209,18 +1177,7 @@
logkitty "^0.7.1" logkitty "^0.7.1"
slash "^3.0.0" slash "^3.0.0"
"@react-native-community/cli-platform-ios@9.2.1": "@react-native-community/cli-platform-ios@9.3.0", "@react-native-community/cli-platform-ios@^9.3.0":
version "9.2.1"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz#d90740472216ffae5527dfc5f49063ede18a621f"
integrity sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==
dependencies:
"@react-native-community/cli-tools" "^9.2.1"
chalk "^4.1.2"
execa "^1.0.0"
glob "^7.1.3"
ora "^5.4.1"
"@react-native-community/cli-platform-ios@^9.3.0":
version "9.3.0" version "9.3.0"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz#45abde2a395fddd7cf71e8b746c1dc1ee2260f9a" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz#45abde2a395fddd7cf71e8b746c1dc1ee2260f9a"
integrity sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw== integrity sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==
...@@ -1284,16 +1241,16 @@ ...@@ -1284,16 +1241,16 @@
dependencies: dependencies:
joi "^17.2.1" joi "^17.2.1"
"@react-native-community/cli@9.2.1": "@react-native-community/cli@9.3.2":
version "9.2.1" version "9.3.2"
resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-9.2.1.tgz#15cc32531fc323d4232d57b1f2d7c571816305ac" resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-9.3.2.tgz#81761880af00c1894d85380d8c9a358659865204"
integrity sha512-feMYS5WXXKF4TSWnCXozHxtWq36smyhGaENXlkiRESfYZ1mnCUlPfOanNCAvNvBqdyh9d4o0HxhYKX1g9l6DCQ== integrity sha512-IAW4X0vmX/xozNpp/JVZaX7MrC85KV0OP2DF4o7lNGOfpUhzJAEWqTfkxFYS+VsRjZHDve4wSTiGIuXwE7FG1w==
dependencies: dependencies:
"@react-native-community/cli-clean" "^9.2.1" "@react-native-community/cli-clean" "^9.2.1"
"@react-native-community/cli-config" "^9.2.1" "@react-native-community/cli-config" "^9.2.1"
"@react-native-community/cli-debugger-ui" "^9.0.0" "@react-native-community/cli-debugger-ui" "^9.0.0"
"@react-native-community/cli-doctor" "^9.2.1" "@react-native-community/cli-doctor" "^9.3.0"
"@react-native-community/cli-hermes" "^9.2.1" "@react-native-community/cli-hermes" "^9.3.1"
"@react-native-community/cli-plugin-metro" "^9.2.1" "@react-native-community/cli-plugin-metro" "^9.2.1"
"@react-native-community/cli-server-api" "^9.2.1" "@react-native-community/cli-server-api" "^9.2.1"
"@react-native-community/cli-tools" "^9.2.1" "@react-native-community/cli-tools" "^9.2.1"
...@@ -1472,11 +1429,6 @@ ...@@ -1472,11 +1429,6 @@
resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
"@sinclair/typebox@^0.24.1":
version "0.24.51"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f"
integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==
"@sinonjs/commons@^1.7.0": "@sinonjs/commons@^1.7.0":
version "1.8.3" version "1.8.3"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d"
...@@ -1666,13 +1618,6 @@ ...@@ -1666,13 +1618,6 @@
dependencies: dependencies:
"@types/yargs-parser" "*" "@types/yargs-parser" "*"
"@types/yargs@^17.0.8":
version "17.0.13"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76"
integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==
dependencies:
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^3.1.0": "@typescript-eslint/eslint-plugin@^3.1.0":
version "3.10.1" version "3.10.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz#7e061338a1383f59edc204c605899f93dc2e2c8f" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz#7e061338a1383f59edc204c605899f93dc2e2c8f"
...@@ -6562,10 +6507,10 @@ progress@^2.0.0: ...@@ -6562,10 +6507,10 @@ progress@^2.0.0:
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
promise@^8.0.3: promise@^8.3.0:
version "8.2.0" version "8.3.0"
resolved "https://registry.yarnpkg.com/promise/-/promise-8.2.0.tgz#a1f6280ab67457fbfc8aad2b198c9497e9e5c806" resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a"
integrity sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg== integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==
dependencies: dependencies:
asap "~2.0.6" asap "~2.0.6"
...@@ -6705,6 +6650,11 @@ react-native-chonse-select@^1.0.5: ...@@ -6705,6 +6650,11 @@ react-native-chonse-select@^1.0.5:
resolved "https://registry.yarnpkg.com/react-native-chonse-select/-/react-native-chonse-select-1.0.5.tgz#c066c1981397f4251dda0c246bf4d7dc9d843ca8" resolved "https://registry.yarnpkg.com/react-native-chonse-select/-/react-native-chonse-select-1.0.5.tgz#c066c1981397f4251dda0c246bf4d7dc9d843ca8"
integrity sha512-lRQe1drafQwRjRgVLWc6+wcG1b1yIOeNjgWESiiYAeC5fsJLwDAekFSFBWidaHuk1cE7lNV6JYsFkDkNGh1EIA== integrity sha512-lRQe1drafQwRjRgVLWc6+wcG1b1yIOeNjgWESiiYAeC5fsJLwDAekFSFBWidaHuk1cE7lNV6JYsFkDkNGh1EIA==
react-native-clean-project@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/react-native-clean-project/-/react-native-clean-project-4.0.1.tgz#c0e2b17eebf32a683aa67da45fe7932857166da7"
integrity sha512-B7rXdFC4bfA+Vv7lZ9bKS6cUDgqg04OR5D69sNnhheFBJQ1V04cIfJ1Fu0sbqRsIehqlOcySQRpp8tm7r7PvLQ==
react-native-codegen@^0.70.6: react-native-codegen@^0.70.6:
version "0.70.6" version "0.70.6"
resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.70.6.tgz#2ce17d1faad02ad4562345f8ee7cbe6397eda5cb" resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.70.6.tgz#2ce17d1faad02ad4562345f8ee7cbe6397eda5cb"
...@@ -6786,6 +6736,16 @@ react-native-hide-show-password-input@^1.2.0: ...@@ -6786,6 +6736,16 @@ react-native-hide-show-password-input@^1.2.0:
react-native-material-textfield vishaljadav24/react-native-material-textfield react-native-material-textfield vishaljadav24/react-native-material-textfield
react-native-vector-icons "^7.1.0" react-native-vector-icons "^7.1.0"
react-native-image-crop-picker@^0.38.1:
version "0.38.1"
resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.38.1.tgz#5973b4a8b55835b987e6be2064de411e849ac005"
integrity sha512-cF5UQnWplzHCeiCO+aiGS/0VomWaLmFf3nSsgTMPfY+8+99h8N/eHQvVdSF7RsGw50B8394wGeGyqHjjp8YRWw==
react-native-image-picker@^4.10.2:
version "4.10.2"
resolved "https://registry.yarnpkg.com/react-native-image-picker/-/react-native-image-picker-4.10.2.tgz#75b356c9eea70c2c4f5c1089f8758e2fa32f88a8"
integrity sha512-3h9PrA1dQ84rVeipzQE4eWTELvflSHNtJZN6rz7NkZyaxo9YZV8H/TswBpHwiS5YWlyu+zlLzSoWVa1opSu7GA==
react-native-iphone-x-helper@^1.3.1: react-native-iphone-x-helper@^1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz#20c603e9a0e765fd6f97396638bdeb0e5a60b010" resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz#20c603e9a0e765fd6f97396638bdeb0e5a60b010"
...@@ -7060,15 +7020,15 @@ react-native-virtualized-view@^1.0.0: ...@@ -7060,15 +7020,15 @@ react-native-virtualized-view@^1.0.0:
resolved "https://registry.yarnpkg.com/react-native-virtualized-view/-/react-native-virtualized-view-1.0.0.tgz#fd2129f1309d1ff4b9e869d5050e803640ca64c5" resolved "https://registry.yarnpkg.com/react-native-virtualized-view/-/react-native-virtualized-view-1.0.0.tgz#fd2129f1309d1ff4b9e869d5050e803640ca64c5"
integrity sha512-7YyFMMkNzJ787/giGkKcm0JEx0IcLEE/XHREGz2I4K1RISQGFjEDe6iWsapOnHSR/e1vhebZJ8VmqhSpg5YPzg== integrity sha512-7YyFMMkNzJ787/giGkKcm0JEx0IcLEE/XHREGz2I4K1RISQGFjEDe6iWsapOnHSR/e1vhebZJ8VmqhSpg5YPzg==
react-native@0.70.4: react-native@0.70.6:
version "0.70.4" version "0.70.6"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.4.tgz#f2a3a7996431a47a45ce1f5097352c5721417516" resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.6.tgz#d692f8b51baffc28e1a8bc5190cdb779de937aa8"
integrity sha512-1e4jWotS20AJ/4lGVkZQs2wE0PvCpIRmPQEQ1FyH7wdyuewFFIxbUHqy6vAj1JWVFfAzbDakOQofrIkkHWLqNA== integrity sha512-xtQdImPHnwgraEx3HIZFOF+D1hJ9bC5mfpIdUGoMHRws6OmvHAjmFpO6qfdnaQ29vwbmZRq7yf14sbury74R/w==
dependencies: dependencies:
"@jest/create-cache-key-function" "^29.0.3" "@jest/create-cache-key-function" "^27.0.1"
"@react-native-community/cli" "9.2.1" "@react-native-community/cli" "9.3.2"
"@react-native-community/cli-platform-android" "9.2.1" "@react-native-community/cli-platform-android" "9.3.1"
"@react-native-community/cli-platform-ios" "9.2.1" "@react-native-community/cli-platform-ios" "9.3.0"
"@react-native/assets" "1.0.0" "@react-native/assets" "1.0.0"
"@react-native/normalize-color" "2.0.0" "@react-native/normalize-color" "2.0.0"
"@react-native/polyfills" "2.0.0" "@react-native/polyfills" "2.0.0"
...@@ -7085,7 +7045,7 @@ react-native@0.70.4: ...@@ -7085,7 +7045,7 @@ react-native@0.70.4:
mkdirp "^0.5.1" mkdirp "^0.5.1"
nullthrows "^1.1.1" nullthrows "^1.1.1"
pretty-format "^26.5.2" pretty-format "^26.5.2"
promise "^8.0.3" promise "^8.3.0"
react-devtools-core "4.24.0" react-devtools-core "4.24.0"
react-native-codegen "^0.70.6" react-native-codegen "^0.70.6"
react-native-gradle-plugin "^0.70.3" react-native-gradle-plugin "^0.70.3"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment