From aac1c8ed34d39db3c9f1414001e1a29c84299863 Mon Sep 17 00:00:00 2001 From: Tushar Behera <69275122+tushar-behera@users.noreply.github.com> Date: Wed, 21 Feb 2024 09:57:06 +0530 Subject: [PATCH 1/3] Update README.md --- HEX-DEV/README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/HEX-DEV/README.md b/HEX-DEV/README.md index ef8b5c55b..56f57f85f 100644 --- a/HEX-DEV/README.md +++ b/HEX-DEV/README.md @@ -1,2 +1,5 @@ -# HEX-DEV -This is the README file for HEX-DEV. +![MasterHead](https://mir-s3-cdn-cf.behance.net/project_modules/max_1200/c86c2563154543.5aa7c66ed2b1f.gif)
+#
HEX-DEV
+ +

This project based on centalized platform and function on Hybrid Code structure. It is your one stop destination for one's all event planning needs. It is a platform where customers that are in search for event planning or individual need of decoration catering, photography or many more can connect with the appropriate service provider, be it the decorator, event managers, photo graphers, or simply the ones renting out event related equipments and other services. +

From a3dd60b3d96c84717208027cfa16e6374081dfd6 Mon Sep 17 00:00:00 2001 From: Tushar Date: Wed, 21 Feb 2024 10:21:26 +0530 Subject: [PATCH 2/3] HEX-DEV FINAL COMMIT --- HEX-DEV/.vscode/settings.json | 3 + HEX-DEV/App.js | 5 +- HEX-DEV/App/Screens/Admin/Verification.jsx | 191 ++++ HEX-DEV/App/Screens/Admin/admin.jsx | 71 ++ .../component/OtpVerification.js | 5 +- .../component/TermsAndConditions.js | 49 +- .../Screens/SellerHomeScreen/DashBoard.jsx | 2 +- HEX-DEV/App/Utils/GlobalApi.js | 39 +- HEX-DEV/App/navigations/AdminNav.jsx | 29 + HEX-DEV/App/navigations/Adminnavigate.jsx | 31 + HEX-DEV/App/navigations/CheckNavigation.jsx | 15 +- .../App/navigations/SellerHomeNavigation.jsx | 2 - HEX-DEV/Readme.txt | 34 +- HEX-DEV/app.json | 16 +- HEX-DEV/package-lock.json | 1015 +++++++++-------- HEX-DEV/package.json | 7 - 16 files changed, 1030 insertions(+), 484 deletions(-) create mode 100644 HEX-DEV/.vscode/settings.json create mode 100644 HEX-DEV/App/Screens/Admin/Verification.jsx create mode 100644 HEX-DEV/App/Screens/Admin/admin.jsx create mode 100644 HEX-DEV/App/navigations/AdminNav.jsx create mode 100644 HEX-DEV/App/navigations/Adminnavigate.jsx diff --git a/HEX-DEV/.vscode/settings.json b/HEX-DEV/.vscode/settings.json new file mode 100644 index 000000000..479842492 --- /dev/null +++ b/HEX-DEV/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/HEX-DEV/App.js b/HEX-DEV/App.js index 4c3242bf1..688d14ee1 100644 --- a/HEX-DEV/App.js +++ b/HEX-DEV/App.js @@ -56,6 +56,9 @@ const [fontsLoaded, fontError] = useFonts({ + {/* + + */} @@ -72,7 +75,7 @@ const [fontsLoaded, fontError] = useFonts({ const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: '#fff', + backgroundColor: '#FFFFFF', paddingTop: 40, }, }); diff --git a/HEX-DEV/App/Screens/Admin/Verification.jsx b/HEX-DEV/App/Screens/Admin/Verification.jsx new file mode 100644 index 000000000..17769276f --- /dev/null +++ b/HEX-DEV/App/Screens/Admin/Verification.jsx @@ -0,0 +1,191 @@ +import { useNavigation, useRoute } from '@react-navigation/native'; +import React, { useState } from 'react'; +import { View, Text, Image, StyleSheet, ScrollView, TouchableOpacity, Modal } from 'react-native'; + +const Verification = () => { + const navigation=useNavigation() +const route=useRoute() +const item=route.params?.item + const [selectedImage, setSelectedImage] = useState(null); + const [modalVisible, setModalVisible] = useState(false); + + const companyName = item?.name; + const ownerName = item?.owner; + const selected = item?.category[0]?.name; + const phoneNumber = item?.contact; + const aadharNumber = item?.aadharNumber; + const gstNumber = item?.panNumber; + const aadharImage =item?.aadharImageUrl; + + const gstImage =item?.gstImageUrl; + + const serviceLocation = item?.address; + const photoUri =item?.userPhotoUrl + + + const handleImageClick = (imageUri) => { + setSelectedImage(imageUri); + setModalVisible(true); + }; + + const handleModalClose = () => { + setSelectedImage(null); + setModalVisible(false); + }; + + const renderField = (label, value) => ( + <> + {label}: + {value} + + ); + + const renderImage = (uri) => ( + handleImageClick(uri)}> + + + ); + + const handleAccept = () => { + // Implement your logic for accepting verification + console.log('Verification Accepted'); + navigation.goBack() + + }; + + const handleReject = () => { + // Implement your logic for rejecting verification + console.log('Verification Rejected'); + navigation.goBack() + }; + + return ( + + + + Verification Details + + {renderField('Company Name', companyName)} + {renderField('Owner Name', ownerName)} + {renderField('Category', selected)} + {renderField('Phone Number', phoneNumber)} + {renderField('Owner Aadhar Number', aadharNumber)} + {renderField('GST Number', gstNumber)} + {renderField('Company Location', serviceLocation)} + + Aadhar Image: + {renderImage(aadharImage)} + + GST Image: + {renderImage(gstImage)} + + Profile Photo: + {renderImage(photoUri)} + + + + {/* Modal for displaying enlarged image */} + + + + + Close + + + + + {/* Accept and Reject Buttons */} + + + Accept + + + Reject + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + padding: 16, + }, + card: { + margin: 10, + }, + title: { + fontSize: 24, + fontWeight: 'bold', + marginBottom: 20, + borderWidth:2, + padding:10, + borderRadius:10, + textAlign: 'center', + }, + label: { + fontSize: 16, + marginTop: 10, + fontWeight: 'bold', + }, + value: { + fontSize: 18, + marginBottom: 10, + }, + thumbnailImage: { + width: '100%', + height: 150, + borderRadius: 8, + marginVertical: 10, + }, + modalContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'rgba(0, 0, 0, 0.7)', + }, + enlargedImage: { + width: '90%', + height: '70%', + borderRadius: 8, + }, + closeButton: { + marginTop: 10, + padding: 10, + backgroundColor: 'blue', + borderRadius: 8, + }, + closeButtonText: { + color: 'white', + fontWeight: 'bold', + }, + buttonContainer: { + flexDirection: 'row', + justifyContent: 'space-between', + margin: 20, + }, + acceptButton: { + flex: 1, + backgroundColor: 'green', + padding: 15, + borderRadius: 8, + marginRight: 10, + alignItems: 'center', + }, + rejectButton: { + flex: 1, + backgroundColor: 'red', + padding: 15, + borderRadius: 8, + marginLeft: 10, + alignItems: 'center', + }, + buttonText: { + color: 'white', + fontWeight: 'bold', + }, +}); + +export default Verification; \ No newline at end of file diff --git a/HEX-DEV/App/Screens/Admin/admin.jsx b/HEX-DEV/App/Screens/Admin/admin.jsx new file mode 100644 index 000000000..61eaa6ae6 --- /dev/null +++ b/HEX-DEV/App/Screens/Admin/admin.jsx @@ -0,0 +1,71 @@ +import { FlatList, Image, SafeAreaView, StyleSheet, Text, TouchableOpacity, View } from 'react-native' +import React, { useEffect, useState } from 'react' +import GlobalApi from '../../Utils/GlobalApi'; +import color from '../../Utils/color'; +import { Ionicons } from '@expo/vector-icons'; +import { useNavigation } from '@react-navigation/native'; + + +export default function admin() { + const navigation=useNavigation() + const [sellerList,setSellerList]=useState([]); + + useEffect(()=>{ + getSellerList(); + },[]); + + const getSellerList=()=>{ + GlobalApi.SellerVerification().then(resp=>{ + setSellerList(resp.businessLists); + }) + } + console.log(sellerList) + return ( + + index.toString()} + renderItem={({ item }) => ( + + navigation.navigate("next_screen",{item})} > + + {item.name} + + + + + )} + /> + + ) +} + +const styles = StyleSheet.create({ + itemContainer: { + marginTop: 10, + display: 'flex', + gap: 10 + }, + bookingItem: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + borderWidth: 2, + padding: 6, + borderColor: color.LIGHT_GRAY, + borderRadius: 15 + }, + userImage: { + height: 40, + width: 40, + borderRadius: 100 + }, + userName: { + width: 120, + fontFamily: 'outfit' + }, + date: { + fontFamily: 'outfit-bold', + color: color.PRIMARY + } +}); diff --git a/HEX-DEV/App/Screens/ProfileScreen/component/OtpVerification.js b/HEX-DEV/App/Screens/ProfileScreen/component/OtpVerification.js index 0de09c8e2..5a6a85df7 100644 --- a/HEX-DEV/App/Screens/ProfileScreen/component/OtpVerification.js +++ b/HEX-DEV/App/Screens/ProfileScreen/component/OtpVerification.js @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from 'react'; -import { View, Text, TextInput, TouchableOpacity, StyleSheet, Alert, Button } from 'react-native'; +import { View, Text, TextInput, TouchableOpacity, StyleSheet, Alert, Button,ActivityIndicator } from 'react-native'; import { FirebaseRecaptchaVerifierModal } from 'expo-firebase-recaptcha' import { useRoute } from "@react-navigation/native" import { firebaseConfig } from '../../../../firebaseConfig' @@ -126,6 +126,7 @@ const VerificationCodePage = ({ navigation }) => { ); firebase.auth().signInWithCredential(credential) .then(() => { + setLoading(false); Alert.alert('OTP verification is Sucesssful.'); navigation.replace('PenddingScreen', { photoUri: photoUri, companyName: companyName, @@ -141,6 +142,7 @@ const VerificationCodePage = ({ navigation }) => { catId:catId }); }) .catch((error) => { + setLoading(false); //show an alert in case of error alert(error); }) @@ -159,6 +161,7 @@ const VerificationCodePage = ({ navigation }) => { /> Verification Code Sent To {phoneNumber} + {loading && } {renderInput(0)} {renderInput(1)} diff --git a/HEX-DEV/App/Screens/ProfileScreen/component/TermsAndConditions.js b/HEX-DEV/App/Screens/ProfileScreen/component/TermsAndConditions.js index 5eb44774a..82a8937b8 100644 --- a/HEX-DEV/App/Screens/ProfileScreen/component/TermsAndConditions.js +++ b/HEX-DEV/App/Screens/ProfileScreen/component/TermsAndConditions.js @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { View, Text, Button } from 'react-native'; +import { View, Text, Button,ScrollView } from 'react-native'; import CheckBox from 'expo-checkbox'; import color from '../../../Utils/color'; @@ -20,18 +20,57 @@ const TermsAndConditionsPage = ({ navigation }) => { return ( + + Terms & Conditions - - By using this platform as a seller, you agree to abide by our terms and conditions. Please review the terms and conditions carefully before proceeding. + + Terms and Conditions for Evehunt + + +Welcome to Evehunt! These Terms and Conditions outline the rules and regulations for the use of our application. +By accessing this application, we assume you accept these Terms and Conditions. Do not continue to use Evehunt if you do not agree to take all of the Terms and Conditions stated on this page. + + +- Evehunt collects information provided by sellers during registration to facilitate transactions between users and sellers. We ensure the security and confidentiality of all entered information in accordance with our Privacy Policy. + + + + - Images uploaded by sellers are utilized solely for the purpose of creating their profiles on Evehunt. We do not distribute, sell, or use these images for any other purpose without explicit consent from the seller. + + + + - Sellers are responsible for the accuracy and legality of the information they provide on Evehunt. Any misleading or fraudulent information may result in the termination of their account. + + + + - Evehunt serves as a platform for communication and transactions between users and sellers. We do not endorse, guarantee, or take responsibility for the quality, legality, or safety of the products or services offered by sellers. + + + + - All content, including but not limited to text, graphics, logos, images, and software, used on Evehunt is the intellectual property of Evehunt and is protected by copyright laws. Unauthorized use, reproduction, or distribution of any content is strictly prohibited. + + + + - Evehunt, its affiliates, directors, officers, employees, and agents shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising out of or in connection with the use or inability to use Evehunt. + + + + - Evehunt reserves the right to modify or replace these Terms and Conditions at any time. Continued use of Evehunt after any such changes shall constitute your consent to such changes. + + + +By using Evehunt, you agree to abide by these Terms and Conditions. If you have any questions or concerns regarding these terms, please contact us at [Your Contact Information]. +These Terms and Conditions have been generated with the help of Terms and Conditions Template and should be used as a guideline only. +Evehunt - + I accept the T&C @@ -41,6 +80,8 @@ const TermsAndConditionsPage = ({ navigation }) => {