source: jobvista-frontend/src/views/applications/ApplicationDetailsModal.js@ 0f0add0

main
Last change on this file since 0f0add0 was 08f82ec, checked in by 223021 <daniel.ilievski.2@…>, 2 weeks ago

Did more refactoring

  • Property mode set to 100644
File size: 4.0 KB
Line 
1import React, {useEffect, useState} from "react";
2import "../shared_css/Modal.css";
3
4import 'react-responsive-modal/styles.css';
5import {Modal} from 'react-responsive-modal';
6import Select from "react-select";
7
8//Validation
9import * as yup from "yup";
10import {yupResolver} from "@hookform/resolvers/yup";
11import {Controller, useForm} from "react-hook-form";
12
13
14import {employmentStatusOptions, industryOptions, jobTypeOptions} from "../selectOptions";
15import {useDispatch, useSelector} from "react-redux";
16import {JobAdvertisementActions} from "../../redux/actions/jobAdvertisementActions";
17import Roles from "../../enumerations/Roles";
18import {ApplicationActions} from "../../redux/actions/applicationActions";
19
20
21export const ApplicationDetailsModal = (props) => {
22 const {application} = props
23 const [modal, setModal] = useState(false);
24 const dispatch = useDispatch();
25 const auth = useSelector(state => state.auth.currentUser)
26 const [resumeUrl, setResumeUrl] = useState("");
27
28 //const [resumeFile, setResumeFile] = useState(null);
29 const toggleModal = () => {
30 setModal(!modal);
31 };
32
33 useEffect(() => {
34 if (application) {
35 ApplicationActions.downloadResume(application.id, (success, response) => {
36 if (success) {
37 setResumeUrl(response);
38 }
39 })
40 }
41 }, [])
42
43 function getFileName(path) {
44 let fileName = path.split('\\').pop().split('/').pop();
45
46 fileName = fileName.trim();
47
48 return fileName;
49 }
50
51 return (<div className="modal-wrap">
52 <button onClick={toggleModal} className="application-button">View application</button>
53 <Modal open={modal} onClose={toggleModal} center>
54 <div className="head-modal">
55 <h3>{application.jobSeekerName}'s application for {application.jobAdTitle}</h3>
56 <i className="fa-solid fa-x btn-close-modal" onClick={toggleModal}></i>
57 </div>
58
59 <div className="modal-content">
60 <form>
61 <div className="row">
62 <div className="col-md-6">
63 <label className="label">Why are you interested in joining our company?</label>
64 <textarea disabled type="text" defaultValue={application.questionAnswers[0]} disabled
65 placeholder="Write your answer here..." className="application-textarea"/>
66 <br/><br/>
67 <label className="label">What makes you a good fit for this position?</label>
68 <textarea disabled type="text" defaultValue={application.questionAnswers[1]}
69 placeholder="Write your answer here..." className="application-textarea"/>
70 <br/><br/>
71 <label className="label">What do you hope to achieve in your first 6 months in this
72 role?</label>
73 <textarea disabled type="text" defaultValue={application.questionAnswers[2]}
74 placeholder="Write your answer here..." className="application-textarea"/>
75
76 </div>
77 <div className="col-md-6">
78 <label htmlFor="start">Curriculum vitae (CV)</label>
79 <br/>
80 <a className="resume-link" href={resumeUrl} target="_blank"
81 rel="noopener noreferrer">{getFileName(application.fileName)}</a>
82 <br/>
83
84 <br/>
85 <label className="label">Message to the recruiter</label>
86 <textarea disabled type="text" defaultValue={application.message} placeholder="Optional..."
87 className="application-textarea"/>
88
89 </div>
90 </div>
91
92 </form>
93 </div>
94 </Modal>
95 </div>)
96}
Note: See TracBrowser for help on using the repository browser.