import CreateQuote from "@/components/dashboard/CreateQuote";
import { useEffect, useState } from "react";
import Modal from "react-bootstrap/Modal";
import QuoteCreatedModal from "./QuoteCreatedModal";

interface Prop {
    key: boolean;
    setCreateRateQuoteModalStatus: any; 
    handleClose: (() => void) | undefined;
    isModalStatus: boolean;
    setCreateQuoteTableModalStatus: any;
}

function CreateRateModal(props: Prop) {

    const [newCreated, setNewCreated] = useState<string>("");
    const [getUpdate, setGetUpdate] = useState<boolean>(false);
    const [quoteNumber, setQuoteNumber] = useState<number | null>();
    const [marketName, setMarketName] = useState<string>("");

    useEffect(() => {
        props?.setCreateQuoteTableModalStatus(getUpdate);
    }, [newCreated]);

    function funcNewlyCreated(arg1: string): void {
        setNewCreated(arg1);
    }

    const handleClose = () => {
        props?.handleClose?.(); 
    };

    const handelQuoteCreatedModalClick = (data: any)=>{
        setGetUpdate(data);
    }

    return (
        <>
            <Modal 
                className="modal_main"
                backdrop="static"
                onHide={handleClose}
                show={props?.isModalStatus}
            >
                <Modal.Body>
                    <CreateQuote
                        funcNewlyCreated={funcNewlyCreated}
                        update={setGetUpdate}
                        modalCloseStatus={props?.isModalStatus}
                        setmodalCloseStatus={props?.setCreateRateQuoteModalStatus}
                        modelType="create_quote_modal"
                        setModalQuoteNumber = {setQuoteNumber}
                        setModalMarketName = {setMarketName}
                    />
                </Modal.Body>
            </Modal>
            {getUpdate && (
                <QuoteCreatedModal
                    quoteModalOpen={getUpdate}
                    quoteNumber={quoteNumber}
                    quoteId={quoteNumber}
                    handelModalClick={(value: boolean) => {
                        handelQuoteCreatedModalClick(value);
                    }}
                    marketName={marketName}
                />
            )}
        </>
    );
}


export default CreateRateModal;