import React, {useEffect, useState} from "react"; import "./Form.css"; import 'react-responsive-modal/styles.css'; import {Modal} from 'react-responsive-modal'; import Select from "react-select"; //Validation import * as yup from "yup"; import {yupResolver} from "@hookform/resolvers/yup"; import {Controller, useForm} from "react-hook-form"; import {employmentStatusOptions, industryOptions, jobTypeOptions} from "../selectOptions"; import {useDispatch, useSelector} from "react-redux"; import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions"; import {Editor} from "primereact/editor"; export const EditJobAdModal = (jobAd) => { const [modal, setModal] = useState(false); const dispatch = useDispatch(); const auth = useSelector(state => state.auth.currentUser) const toggleModal = () => { setModal(!modal); }; const schema = yup.object().shape({ title: yup.string().required("Please enter a title"), description: yup.string().required("Please enter a description"), industry: yup.mixed().required("Select industry"), startingSalary: yup.number().required("Please enter the starting salary"), jobType: yup.mixed().required("Select job type"), employmentStatus: yup.mixed().required("Select employment status"), }) const {register, handleSubmit, control, formState: {errors}} = useForm({ resolver: yupResolver(schema), }); const editJobAdvertisement = async (values) => { try { dispatch(JobAdvertisementActions.editJobAdvertisement( { email: auth.email, title: values.title, description: values.description, industry: values.industry.value, startingSalary: values.startingSalary, activeUntil: values.date, jobType: values.jobType.value, employmentStatus: values.employmentStatus.value, }, jobAd.props.id, (success, response) => { if(success) { console.log("Job Advertisement edited") toggleModal() } } )) } catch (err) { console.error(err) } } let minimumDate = new Date(); minimumDate.setDate(minimumDate.getDate() + 1); return (
{ // setSelectedRecord(record); toggleModal() }}>

Edit Job Advertisement

{errors.title?.message}

{/*