/** * @format */ import React, {useRef, useState} from 'react' import { Modal, ModalOverlay, ModalContent, ModalHeader, ModalFooter, ModalBody, ModalCloseButton, Image, Stack, Box, Text, RadioGroup, Radio, Checkbox } from '@chakra-ui/react' import {Env} from '../../types/env' import './VantageModalCss.css' import { PGButton } from '../UIcomponents' declare global { interface Window { env: Env } } const VantageModal = () => { const [isOpen, setIsOpen] = useState(false) const [isCover1, setCover1] = useState(true) const [isCover2, setCover2] = useState(false) const [isCover3, setCover3] = useState(false) const [queryString, setQueryString] = useState('') const [selectedCover, setSelectedCover] = useState('cover1') const downloadRef = useRef(null) const checkedValues: Array = [] const onClickCover1 = () => { setCover1(true) setCover2(false) setCover3(false) setSelectedCover('cover1') updateQueryString() } const onClickCover2 = () => { setCover1(false) setCover2(true) setCover3(false) setSelectedCover('cover2') updateQueryString() } const onClickCover3 = () => { setCover1(false) setCover2(false) setCover3(true) setSelectedCover('cover3') updateQueryString() } // useEffect(() => { // console.log({queryString, selectedCover}) // }, [isCover1, isCover2, isCover3, selectedCover, queryString]) const openModal = () => { setIsOpen(true) } const closeModal = () => { setIsOpen(false) } const updateQueryString = () => { const queryString2 = objToQueryString({ selectedCover, selectedSections: checkedValues }) setQueryString(queryString2) } const triggerAPICall = () => { if (downloadRef && downloadRef.current) { // const downloadAnchor = downloadRef.current as HTMLInputElement // Commenting this for later use, to trigger click action // downloadAnchor.click() } setIsOpen(false) } const onPageSelect = (event: any) => { const indexOfSelectedPage = checkedValues.indexOf(event.target.value) if (indexOfSelectedPage !== -1) { checkedValues.splice(indexOfSelectedPage, 1) } else { checkedValues.push(event.target.value) } updateQueryString() } const objToQueryString = (obj: any) => { const keyValuePairs = [] for (const key in obj) { if (key !== null) { keyValuePairs.push( `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}` ) } } console.log(`keyValuePairs are ${keyValuePairs}`) return keyValuePairs.join('&') } return ( <> Open Modal Download Report Choose the Pages to Download Sales Rental Trend New Development Demographic Rental Demand Choose the Front Page Cover Dan Abramov Cover 1 Dan Abramov Cover 2 Dan Abramov Cover 3 Download D Cancel ) } export default VantageModal