diff --git a/README.md b/README.md index 33c557b..3639f79 100644 --- a/README.md +++ b/README.md @@ -536,6 +536,10 @@ FORMAT: lastname, firstname - [Github](https://github.com/stefanjbloom) - [LinkedIn](https://www.linkedin.com/in/stefanjbloom/) +**Cardona, Danielle** +- [Github](https://github.com/dcardona23) +- [LinkedIn](https://github.com/dcardona23) + **Chirchirillo, Joe** - [Github](https://github.com/jchirch) - [LinkedIn](https://www.linkedin.com/in/joechirchirillo/) diff --git a/cypress/e2e/jobsApplicationSpec.cy.js b/cypress/e2e/jobsApplicationSpec.cy.js index 8c1b80b..186f4f8 100644 --- a/cypress/e2e/jobsApplicationSpec.cy.js +++ b/cypress/e2e/jobsApplicationSpec.cy.js @@ -253,6 +253,15 @@ describe("View specific job app page with all fields filled in", () => { }); }); + it("edits an application date", () => { + cy.wait("@showSingleJobApp"); + cy.get("p.font-medium"). + within(() => { + cy.get("span.font-semibold").click() + }) + cy.get("#dateApplied").type('2025-01-01').should('have.value', '2025-01-01') + }) + it("displays notes and edit button", () => { cy.wait("@showSingleJobApp"); diff --git a/src/components/pages/showJobApplication.tsx b/src/components/pages/showJobApplication.tsx index d0af849..b624e32 100644 --- a/src/components/pages/showJobApplication.tsx +++ b/src/components/pages/showJobApplication.tsx @@ -47,6 +47,8 @@ function JobApplication() { const [jobDescription, setJobDescription] = useState(''); const [applicationURL, setApplicationURL] = useState(''); const [companyId, setCompanyId] = useState(''); + const [isEditing, setIsEditing] = useState(false); + const [editedDate, setEditedDate] = useState(jobApp ? jobApp.date_applied : '') useEffect(() => { if (jobAppId) { @@ -62,6 +64,7 @@ function JobApplication() { setJobDescription(data.data.attributes.job_description) setApplicationURL(data.data.attributes.application_url) setCompanyId(data.data.attributes.company_id) + setEditedDate(data.data.attributes.date_applied ? data.data.attributes.date_applied.toString() : '') } catch (err) { console.error("Failed to fetch job application:", err); @@ -72,6 +75,11 @@ function JobApplication() { } }, [jobAppId]); + const handleSave = () => { + setIsEditing(false) + setEditedDate(editedDate) + } + const openModal = () => setIsModalOpen(true); const closeModal = () => setIsModalOpen(false); @@ -91,7 +99,7 @@ function JobApplication() { job_description: jobDescription, application_url: applicationURL } - console.log(compileData) + updateJobApplication(compileData) .then((updatedApplication) => { console.log("Application updated successfully:", updatedApplication); @@ -122,9 +130,25 @@ function JobApplication() {
Applied On:{" "} - - {`${jobApp.date_applied}`} - + {isEditing ? ( + setEditedDate(e.target.value)} + className="p-2 border-4 border-slate-800 rounded-lg focus:outline-none focus:ring-2 transition-all duration-200 ease-in-out" + onBlur={handleSave} + required + /> + ) : ( + setIsEditing(true)} + > + {editedDate instanceof Date ? editedDate.toString().split('T')[0] : editedDate} + + )} +
Status:{" "}