diff --git a/src/Constant/Dialog/ConfirmDialog.tsx b/src/Constant/Dialog/ConfirmDialog.tsx index e12a27a..b85bfcc 100644 --- a/src/Constant/Dialog/ConfirmDialog.tsx +++ b/src/Constant/Dialog/ConfirmDialog.tsx @@ -7,6 +7,7 @@ import { StyleSheet, Pressable, } from 'react-native'; +import colors from '../Color'; type ConfirmDialogProps = { visible: boolean; @@ -109,10 +110,10 @@ const styles = StyleSheet.create({ color: '#666', }, confirmBtn: { - backgroundColor: '#1f4b6dff', + backgroundColor: colors.primary, paddingVertical: 10, paddingHorizontal: 18, - borderRadius: 6, + borderRadius: 10, }, confirmText: { color: '#fff', diff --git a/src/Screens/Home/Home.tsx b/src/Screens/Home/Home.tsx index aa5897d..473bafa 100644 --- a/src/Screens/Home/Home.tsx +++ b/src/Screens/Home/Home.tsx @@ -1,11 +1,13 @@ -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import { View, Text, StyleSheet, Dimensions, FlatList, ActivityIndicator } from 'react-native'; import Animated, { useSharedValue, useAnimatedStyle, withDelay, withTiming } from 'react-native-reanimated'; import { Layers, Clock, ShoppingCart, X, FileText } from 'lucide-react-native'; import { Header } from '../../Component/Index'; import colors from '../../Constant/Color'; -import { useDashboard } from '../../Services/BBPS/Hooks'; +import { useDashboard, useESetuAdharVarification } from '../../Services/BBPS/Hooks'; import { log } from 'console'; +import { useSelector } from 'react-redux'; +import ConfirmDialog from '../../Constant/Dialog/ConfirmDialog'; const { width } = Dimensions.get('window'); const CARD_WIDTH = (width - 48) / 2; @@ -59,8 +61,34 @@ const StatCard = ({ item, index, isLoading }: any) => { const Home = () => { const { data, isLoading } = useDashboard(); - + const user = useSelector((state: any) => state.token?.token); + console.log("-=--",user) + const { mutateAsync:eSetuAdharVarification } = useESetuAdharVarification(); const dashboard = data?.data || {}; + const [esetu,setEsetu] = useState(); + useEffect(()=>{ +if(user?.esetuVerified === 'Not Verified'){ + const payLoad= { + contId: user, + transactionId: "string", + udf1: "string", + udf2: "string", + udf3: "string", + udf4: "string", + responseUrl: "string" +} +setEsetu(true) + eSetuAdharVarification(payLoad, { + onSuccess: (res) => { +console.log(res) + }, onError: (err) => { + console.log(err, '-----auction item error'); + } + }); +}else{ + setEsetu(false) +} + },[user]) const DASHBOARD_CARDS = [ { @@ -125,7 +153,18 @@ const Home = () => { return (
+ { + setEsetu(false); + }} + onClose={() => setEsetu(false)} +/> index.toString()} diff --git a/src/Screens/Login/Login.tsx b/src/Screens/Login/Login.tsx index 3cab46d..b8382f3 100644 --- a/src/Screens/Login/Login.tsx +++ b/src/Screens/Login/Login.tsx @@ -116,6 +116,7 @@ const Login = () => { { password: values.password, emailAdd: values.email }, { onSuccess: res => { + console.log("res",res ) if (res.statusCode == 200) { Dispatch(setToken({ ...res.data, token: res.token, userType: activeType })); handleGetData(); diff --git a/src/Screens/Tender/LiveTenderTile.tsx b/src/Screens/Tender/LiveTenderTile.tsx index b9c73a1..453096d 100644 --- a/src/Screens/Tender/LiveTenderTile.tsx +++ b/src/Screens/Tender/LiveTenderTile.tsx @@ -29,7 +29,7 @@ const LiveTenderTile: React.FC = ({ ? data.contractorId : []; - const purchased =contractorIds.includes(String(contractorId)); + const purchased = contractorIds.includes(String(contractorId)); return ( diff --git a/src/Screens/Tender/ProceedToBidDetail.tsx b/src/Screens/Tender/ProceedToBidDetail.tsx index 7da6081..65e26ce 100644 --- a/src/Screens/Tender/ProceedToBidDetail.tsx +++ b/src/Screens/Tender/ProceedToBidDetail.tsx @@ -9,7 +9,7 @@ const ProceedToBidDetail = () => { // Sample data based on your JSON const route = useRoute(); const tenderDataId = route.params?.tender; - const { data, refetch } = useProceedToBid(tenderDataId?.tenderId); + const { data, refetch,isRefetching } = useProceedToBid(tenderDataId?.tenderId); const { data: tenderResponse, refetch: tenderRefetch }: any = useFetchTenderById(tenderDataId?.tenderId); const tenderData = tenderResponse?.data; const [refreshing, setRefreshing] = React.useState(false); @@ -22,13 +22,12 @@ const ProceedToBidDetail = () => { // Format date from array const handleStartBidding = () => { + setLoading(true); try { setLoading(true); - refetch(); - if (data) { - console.log(" ppp", tenderData, "ll", data) - navigation.navigate('TenderBidding', { tenderData: tenderData, bidData: data.data }); - } + + navigation.navigate('TenderBidding', { tenderId:tenderDataId.tenderId}); + } catch (error) { console.log("Error in starting bidding: ", error); } finally { @@ -184,9 +183,9 @@ const ProceedToBidDetail = () => { {tenderData?.envelopeA_Logs && ( Submission Logs - - - + {tenderData?.envelopeA_Logs&& } + { tenderData?.envelopeB_Logs&&} + {tenderData?.envelopeC_Logs && } )} @@ -260,7 +259,7 @@ const ProceedToBidDetail = () => { { tenderData?.proceedtoBid && !tenderData?.viewBid && tenderData?.biddingStatus && tenderData?.bidWithdrawStatus === false ? ( - + {loading ? : 'Start Bidding'} diff --git a/src/Screens/Tender/PurchaseTenderList.tsx b/src/Screens/Tender/PurchaseTenderList.tsx index a69fee9..4c0ab46 100644 --- a/src/Screens/Tender/PurchaseTenderList.tsx +++ b/src/Screens/Tender/PurchaseTenderList.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { View, Text, StyleSheet, ScrollView, TouchableOpacity } from 'react-native'; import Animated, { FadeIn, FadeOut, Layout, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated'; import { ChevronDown, Trash2, Info } from 'lucide-react-native'; @@ -18,17 +18,21 @@ const PurchaseTenderList = () => { setExpandedIndex(prev => (prev === index ? null : index)); }; + useEffect(()=>{ + console.log("dcj",SelectedPurchaseList) + if(SelectedPurchaseList.length === 0){ + Navigation.goBack() + } + },[SelectedPurchaseList] + + ) + return ( - {/* Header */} - - Tender Purchase List - {/* */} - - + {/* Cards */} {SelectedPurchaseList.map((item: any, index: any) => { const expanded = expandedIndex === index; diff --git a/src/Screens/Tender/tenderBidding/TenderBidding.tsx b/src/Screens/Tender/tenderBidding/TenderBidding.tsx index 64cd5e1..21a4de8 100644 --- a/src/Screens/Tender/tenderBidding/TenderBidding.tsx +++ b/src/Screens/Tender/tenderBidding/TenderBidding.tsx @@ -19,6 +19,7 @@ import { SUBMIT_ENVELOPE_A, SUBMIT_ENVELOPE_B, SUBMIT_ENVELOPE_FILE_A, SUBMIT_EN import { CheckSquare, Square } from 'lucide-react-native'; import { apiCall } from '../../../Axios/Axios'; import EnvelopeCExcelPreview from '../Component/EnvelopeCExcelPreview'; +import { useFetchTenderById, useProceedToBid } from '../../../Services/BBPS/Hooks'; type EnvelopeType = 'A' | 'B' | 'C'; type EnvelopeFormState = { @@ -41,8 +42,20 @@ const TenderBidding = () => { const route = useRoute(); const navigation = useNavigation(); console.log("-=-=-=-=-=",route) - const [bidData] = useState(route.params?.tenderData || null); - const tenderData: any = route.params?.bidData || null; + + console.log("ROUTE DATA",route) + + const tenderId = useState(route.params?.tenderId || null); + + const { data: tenderResponse, refetch: tenderRefetch }: any = useFetchTenderById(route.params?.tenderId); + + + const bidData= tenderResponse?.data; + console.log(" --------------1",bidData) + const { data:tender, refetch } = useProceedToBid(route.params?.tenderId); + const tenderData= tender?.data + + console.log(" --------------2",tenderData) const [activeEnvelope, setActiveEnvelope] = useState('A'); const [envelopForm, setEnvelopForm] = useState({ A: {}, @@ -425,6 +438,7 @@ const TenderBidding = () => { } console.log("bidData : ", bidData) console.log("tender data : ", tenderData) +// console.log( `bold ${tenderData?.[`tenderEnvelope${activeEnvelope}List`]}`,tenderData?.[`tenderEnvelope${activeEnvelope}List`]) return ( @@ -462,6 +476,7 @@ const TenderBidding = () => { envelopeType="B" onPress={() => { if (tenderData?.envelopeASubmittStatus) { + setActiveEnvelope('B') } else { Alert.alert('Info', 'Submit Envelop A First') @@ -485,7 +500,9 @@ const TenderBidding = () => { {/* Envelope A List */} - {tenderData?.[`tenderEnvelope${activeEnvelope}List`]?.length > 0 && bidData?.envelopeB_Logs !== null && ( + + + {tenderData?.[`tenderEnvelope${activeEnvelope}List`]?.length > 0 && bidData?.envelopeB_Logs === null && ( Envelope {activeEnvelope} Details { return useQuery({ queryKey: ['proceedToBid', tenderId], queryFn: () => proceedToBid(tenderId as string), - enabled: false, // 👈 manual trigger + }); }; @@ -344,4 +344,10 @@ export const useFetchLiveTenderById = (tenderId: number) => { queryKey: ['fetchLiveTenderById', tenderId], queryFn: () => fetchLiveTenderById(tenderId) }); -}; \ No newline at end of file +}; + +export const useESetuAdharVarification = () => { + return useMutation({ + mutationFn: (payload: any) => eSetuAdharVarification(payload), + }); +}; diff --git a/src/Services/BBPS/apis.ts b/src/Services/BBPS/apis.ts index 38bd109..5693e38 100644 --- a/src/Services/BBPS/apis.ts +++ b/src/Services/BBPS/apis.ts @@ -1,5 +1,5 @@ import axios from "axios"; -import { AUCTION_DOCUMENT_DOWNLOAD, DASHBOARD_COUNT, EMD_CHECK, FORARD_AUCTION_ITEM, GET_AUCTION_DETAILS, GET_MY_AUCTION, GET_MY_TENDER, GET_TENDER_DETAILS, LIVE_AUCTION, LIVE_TENDER, LOG_IN_URL, PROCEED_PURCHASE_AUCTION, PROCEED_TO_BID, PURCHASE_TENDER_OFFLINE, TENDER_LOGIN, PURCHASE_AUCTION_LIST, PURCHASE_OFFLINE_AUCTION, REVERSE_AUCTION_ITEM, VIEW_AUCTION_DOCUMENTS, VIEW_AUCTION_ITEM_DETAIL, STAGETHREE, REJ_STAGE_TWO, GETCONTRACTORBYSTATE, GET_MASTER_DATA, ALL_DESIGNATION, GET_REGISTRATION_STATE, PARTNER_API_ENDPOINT, SAVE_CONTRACTOR_STAGE1, VERIFY_GST, VERIFY_ADHAR, SEND_ADHAROTP, SUBMIT_ENVELOPE_FILE_B, SUBMIT_ENVELOPE_FILE_A, SUBMIT_ENVELOPE_A, SUBMIT_ENVELOPE_B, VERIFY_ORGPAN, PURCHASE_AUCTION_PAGE, GET_TENDER_BY_ID, GET_CONTRACTOR_PROFILE, CONTRACTOR_PROFILE_UPDATE } from "./ApiUrls"; +import { AUCTION_DOCUMENT_DOWNLOAD, DASHBOARD_COUNT, EMD_CHECK, FORARD_AUCTION_ITEM, GET_AUCTION_DETAILS, GET_MY_AUCTION, GET_MY_TENDER, GET_TENDER_DETAILS, LIVE_AUCTION, LIVE_TENDER, LOG_IN_URL, PROCEED_PURCHASE_AUCTION, PROCEED_TO_BID, PURCHASE_TENDER_OFFLINE, TENDER_LOGIN, PURCHASE_AUCTION_LIST, PURCHASE_OFFLINE_AUCTION, REVERSE_AUCTION_ITEM, VIEW_AUCTION_DOCUMENTS, VIEW_AUCTION_ITEM_DETAIL, STAGETHREE, REJ_STAGE_TWO, GETCONTRACTORBYSTATE, GET_MASTER_DATA, ALL_DESIGNATION, GET_REGISTRATION_STATE, PARTNER_API_ENDPOINT, SAVE_CONTRACTOR_STAGE1, VERIFY_GST, VERIFY_ADHAR, SEND_ADHAROTP, SUBMIT_ENVELOPE_FILE_B, SUBMIT_ENVELOPE_FILE_A, SUBMIT_ENVELOPE_A, SUBMIT_ENVELOPE_B, VERIFY_ORGPAN, PURCHASE_AUCTION_PAGE, GET_TENDER_BY_ID, GET_CONTRACTOR_PROFILE, CONTRACTOR_PROFILE_UPDATE, ESETU_VARIFICATION } from "./ApiUrls"; import { apiCall } from "../../Axios/Axios"; // User @@ -149,6 +149,7 @@ export const proceedToBid = async (tenderId: string): Promise => { 'get', `${PROCEED_TO_BID}${tenderId}` ); + console.log("-=-=-=-=-89",data) return data; } @@ -262,6 +263,18 @@ export const getRagistrationState = async (): Promise => { return data; } + +export const eSetuAdharVarification = async (payLoad:any ): Promise => { + const data = await apiCall( + 'get', + `${ESETU_VARIFICATION}`, + payLoad, + {}, + "application/x-www-form-urlencoded" + ); + return data; +} + export const partnerShipSubmit = ( payload: any ): Promise => {