[19398ad] | 1 | import React, {useState} from "react";
|
---|
[befb988] | 2 | import "../shared_css/Modal.css";
|
---|
[19398ad] | 3 |
|
---|
| 4 | import 'react-responsive-modal/styles.css';
|
---|
| 5 | import {Modal} from 'react-responsive-modal';
|
---|
| 6 | import Select from "react-select";
|
---|
| 7 |
|
---|
| 8 | //Validation
|
---|
| 9 | import * as yup from "yup";
|
---|
| 10 | import {yupResolver} from "@hookform/resolvers/yup";
|
---|
| 11 | import {Controller, useForm} from "react-hook-form";
|
---|
| 12 |
|
---|
| 13 |
|
---|
| 14 | import {employmentStatusOptions, industryOptions, jobTypeOptions} from "../selectOptions";
|
---|
| 15 | import {useDispatch, useSelector} from "react-redux";
|
---|
| 16 | import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
|
---|
[befb988] | 17 | import {notifyJobAdDelete} from "../../utils/toastUtils";
|
---|
[19398ad] | 18 |
|
---|
| 19 |
|
---|
| 20 | export const DeleteJobAdModal = (jobAd) => {
|
---|
| 21 | const [modal, setModal] = useState(false);
|
---|
| 22 | const dispatch = useDispatch();
|
---|
| 23 | const auth = useSelector(state => state.auth.currentUser)
|
---|
| 24 | const toggleModal = () => {
|
---|
| 25 | setModal(!modal);
|
---|
| 26 | };
|
---|
| 27 |
|
---|
[08f82ec] | 28 | const deleteJobAdvertisement = async () => {
|
---|
[19398ad] | 29 | try {
|
---|
[08f82ec] | 30 | dispatch(JobAdvertisementActions.deleteJobAdvertisement(jobAd.props.id, (success) => {
|
---|
[19398ad] | 31 | if (success) {
|
---|
| 32 | toggleModal()
|
---|
[befb988] | 33 | notifyJobAdDelete()
|
---|
[19398ad] | 34 | }
|
---|
| 35 | }))
|
---|
| 36 | } catch (err) {
|
---|
| 37 | console.error(err)
|
---|
| 38 | }
|
---|
| 39 | }
|
---|
| 40 |
|
---|
| 41 | return (<div className="modal-wrap">
|
---|
| 42 | <i className="fa-solid fa-trash trash-delete-btn" onClick={toggleModal}></i>
|
---|
| 43 | <Modal open={modal} onClose={toggleModal} center classNames="job-advertisement-modal">
|
---|
| 44 | <i className="fa-solid fa-x btn-close-modal" style={{color: "black"}} onClick={toggleModal}></i>
|
---|
| 45 | <div className="modal-delete-content">
|
---|
| 46 | <div className="row modal-delete-content-inside">
|
---|
| 47 | <div className="col-md-1"><i className="fa-regular fa-circle-xmark x-icon"></i></div>
|
---|
| 48 | <div className="col-md-11 modal-delete-text">
|
---|
| 49 | <h4>Are you sure?</h4>
|
---|
| 50 | <p>Do you really want to delete this advertisement? This process cannot be undone.</p>
|
---|
| 51 | </div>
|
---|
| 52 | </div>
|
---|
| 53 | <div className="modal-delete-buttons">
|
---|
| 54 | <button className="cancel-btn" onClick={toggleModal}>Cancel</button>
|
---|
[08f82ec] | 55 | <button className="delete-btn" onClick={deleteJobAdvertisement}> Delete</button>
|
---|
[19398ad] | 56 | </div>
|
---|
| 57 | </div>
|
---|
| 58 | </Modal>
|
---|
| 59 | </div>)
|
---|
| 60 | } |
---|