Viewing File: /home/ubuntu/voice-assistant-frontend/src/components/Voice/DeleteVoiceModal.jsx
import React, { useEffect, useState } from "react";
import { Button, Modal, Image } from "react-bootstrap";
import { useDispatch, useSelector } from "react-redux";
import { ButtonLoader } from "../Helper/Loader";
import { useTranslation } from "react-multi-lang";
import { voiceDeleteStart } from "../../store/slices/VoiceSlice";
const DeleteVoiceModal = (props) => {
const t = useTranslation("delete_voice")
const dispatch = useDispatch();
const voiceDelete = useSelector((state) => state.voice.voiceDelete);
const [skipRender, setSkipRender] = useState(true);
useEffect(() => {
if (!skipRender && !voiceDelete.loading && Object.keys(voiceDelete.data).length > 0) {
props.closeDeleteVoiceModal();
}
setSkipRender(false);
}, [voiceDelete]);
return (
<>
<Modal
className="modal-dialog-center payment-link-created-modal"
size="md"
centered
show={props.deleteVoiceModal}
onHide={props.closeDeleteVoiceModal}
backdrop="static"
>
<Modal.Body>
<Button onClick={()=> props.closeDeleteVoiceModal()} className="modal-close">
<Image
className="close-icon"
src={window.location.origin + "/img/close-modal-icon.svg"}
/>
</Button>
<div className="delete-voice-link-created-box">
<div className="delete-voice-link-created-header-sec">
<h3>{t("voice_title")}</h3>
<p>{t("voice_description")}</p>
</div>
<div className="voice-created-body-sec">
<div className="delete-voice-created-btn-sec">
<Button
onClick={() =>
dispatch(
voiceDeleteStart({
voice_unique_id : props.deleteVoiceModal,
})
)
}
className="default-btn"
disabled={voiceDelete.buttonDisable}
>
{voiceDelete.buttonDisable ? <ButtonLoader/> : t("delete") }
</Button>
</div>
</div>
</div>
</Modal.Body>
</Modal>
</>
);
};
export default DeleteVoiceModal;
Back to Directory
File Manager