Skip to content

Commit cead5f1

Browse files
committed
jaf mandatory changes
1 parent 2241894 commit cead5f1

3 files changed

Lines changed: 27 additions & 40 deletions

File tree

src/app/(routes)/recruiter/jobs/[jobID]/page.tsx

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
9494
...prev,
9595
selectionProcedure: {
9696
...prev.selectionProcedure,
97-
tests: [...(prev.selectionProcedure.tests || []), newTest],
97+
tests: [...(prev.selectionProcedure?.tests || []), newTest],
9898
},
9999
}));
100100
};
@@ -104,7 +104,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
104104
...prev,
105105
selectionProcedure: {
106106
...prev.selectionProcedure,
107-
tests: prev.selectionProcedure.tests.filter((_, i) => i !== index),
107+
tests: prev.selectionProcedure?.tests.filter((_, i) => i !== index),
108108
},
109109
}));
110110
};
@@ -116,7 +116,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
116116
selectionProcedure: {
117117
...prev.selectionProcedure,
118118
interviews: [
119-
...(prev.selectionProcedure.interviews || []),
119+
...(prev.selectionProcedure?.interviews || []),
120120
newInterview,
121121
],
122122
},
@@ -128,7 +128,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
128128
...prev,
129129
selectionProcedure: {
130130
...prev.selectionProcedure,
131-
interviews: prev.selectionProcedure.interviews.filter(
131+
interviews: prev.selectionProcedure?.interviews.filter(
132132
(_, i) => i !== index,
133133
),
134134
},
@@ -337,7 +337,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
337337
<div className="font-semibold my-2">Selection mode</div>{" "}
338338
{editMode ? (
339339
<select
340-
value={formData.selectionProcedure.selectionMode}
340+
value={formData.selectionProcedure?.selectionMode}
341341
onChange={(e) => {
342342
setFormData((prev) => ({
343343
...prev,
@@ -353,7 +353,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
353353
<option>HYBRID</option>
354354
</select>
355355
) : (
356-
<div>{job.selectionProcedure.selectionMode}</div>
356+
<div>{job.selectionProcedure?.selectionMode}</div>
357357
)}
358358
</div>
359359
<div>
@@ -362,7 +362,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
362362
<input
363363
type="checkbox"
364364
name="shortlistFromResume"
365-
checked={formData.selectionProcedure.shortlistFromResume}
365+
checked={formData.selectionProcedure?.shortlistFromResume}
366366
onChange={(e) => {
367367
setFormData((prev) => ({
368368
...prev,
@@ -375,7 +375,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
375375
/>
376376
) : (
377377
<div>
378-
{job.selectionProcedure.shortlistFromResume ? "YES" : "NO"}
378+
{job.selectionProcedure?.shortlistFromResume ? "YES" : "NO"}
379379
</div>
380380
)}
381381
</div>
@@ -385,7 +385,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
385385
<input
386386
type="checkbox"
387387
name="groupDiscussion"
388-
checked={formData.selectionProcedure.groupDiscussion}
388+
checked={formData.selectionProcedure?.groupDiscussion}
389389
onChange={(e) => {
390390
setFormData((prev) => ({
391391
...prev,
@@ -398,7 +398,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
398398
/>
399399
) : (
400400
<div>
401-
{job.selectionProcedure.groupDiscussion ? "YES" : "NO"}
401+
{job.selectionProcedure?.groupDiscussion ? "YES" : "NO"}
402402
</div>
403403
)}
404404
</div>
@@ -409,7 +409,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
409409
type="number"
410410
name="numberOfMembers"
411411
value={
412-
formData.selectionProcedure.requirements
412+
formData.selectionProcedure?.requirements
413413
?.numberOfMembers || ""
414414
}
415415
onChange={(e) => {
@@ -418,7 +418,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
418418
selectionProcedure: {
419419
...prev.selectionProcedure,
420420
requirements: {
421-
...(prev.selectionProcedure.requirements || {}),
421+
...(prev.selectionProcedure?.requirements || {}),
422422
numberOfMembers: e.target.value,
423423
},
424424
},
@@ -427,7 +427,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
427427
/>
428428
) : (
429429
<div>
430-
{job.selectionProcedure.requirements?.numberOfMembers ||
430+
{job.selectionProcedure?.requirements?.numberOfMembers ||
431431
"N/A"}
432432
</div>
433433
)}
@@ -438,7 +438,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
438438
<div className="font-semibold bg-gray-200">Tests</div>
439439
<ul className="list-disc capitalize">
440440
{editMode
441-
? (formData.selectionProcedure.tests || []).map(
441+
? (formData.selectionProcedure?.tests || []).map(
442442
(test, index) => (
443443
<li
444444
key={index}
@@ -464,7 +464,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
464464
value={test.type || ""}
465465
onChange={(e) => {
466466
const updatedTests =
467-
formData.selectionProcedure.tests.map(
467+
formData.selectionProcedure?.tests.map(
468468
(t, i) =>
469469
i === index
470470
? { ...t, type: e.target.value }
@@ -496,7 +496,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
496496
value={test.duration || ""}
497497
onChange={(e) => {
498498
const updatedTests =
499-
formData.selectionProcedure.tests.map(
499+
formData.selectionProcedure?.tests.map(
500500
(t, i) =>
501501
i === index
502502
? { ...t, duration: e.target.value }
@@ -515,7 +515,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
515515
</li>
516516
),
517517
)
518-
: (job.selectionProcedure.tests || []).map(
518+
: (job.selectionProcedure?.tests || []).map(
519519
(test, index) => (
520520
<li key={index} className="my-2">
521521
<div>
@@ -541,7 +541,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
541541
<div className="font-semibold bg-gray-200">Interviews</div>
542542
<ul className="list-disc capitalize">
543543
{editMode
544-
? (formData.selectionProcedure.interviews || []).map(
544+
? (formData.selectionProcedure?.interviews || []).map(
545545
(interview, index) => (
546546
<li
547547
key={index}
@@ -567,7 +567,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
567567
value={interview.type || ""}
568568
onChange={(e) => {
569569
const updatedInterviews =
570-
formData.selectionProcedure.interviews.map(
570+
formData.selectionProcedure?.interviews.map(
571571
(i, j) =>
572572
j === index
573573
? { ...i, type: e.target.value }
@@ -601,7 +601,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
601601
value={interview.duration || ""}
602602
onChange={(e) => {
603603
const updatedInterviews =
604-
formData.selectionProcedure.interviews.map(
604+
formData.selectionProcedure?.interviews.map(
605605
(i, j) =>
606606
j === index
607607
? { ...i, duration: e.target.value }
@@ -620,7 +620,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
620620
</li>
621621
),
622622
)
623-
: (job.selectionProcedure.interviews || []).map(
623+
: (job.selectionProcedure?.interviews || []).map(
624624
(interview, index) => (
625625
<li key={index} className="my-2">
626626
<div>
@@ -649,7 +649,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
649649
type="text"
650650
name="otherRequirements"
651651
value={
652-
formData.selectionProcedure.requirements
652+
formData.selectionProcedure?.requirements
653653
?.otherRequirements || ""
654654
}
655655
onChange={(e) => {
@@ -658,7 +658,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
658658
selectionProcedure: {
659659
...prev.selectionProcedure,
660660
requirements: {
661-
...(prev.selectionProcedure.requirements || {}),
661+
...(prev.selectionProcedure?.requirements || {}),
662662
otherRequirements: e.target.value,
663663
},
664664
},
@@ -667,7 +667,7 @@ const JobDetailPage = ({ params }: { params: { jobID: string } }) => {
667667
/>
668668
) : (
669669
<div>
670-
{job.selectionProcedure.requirements?.otherRequirements ||
670+
{job.selectionProcedure?.requirements?.otherRequirements ||
671671
"N/A"}
672672
</div>
673673
)}

src/components/JAF/JobDetails.tsx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -861,13 +861,9 @@ const JobDetails = ({
861861
<Form.Item
862862
label={
863863
<Text strong className="text-xs md:text-sm text-gray-700">
864-
<span className="text-red-500">* </span>
865864
Work Location
866865
</Text>
867866
}
868-
required
869-
hasFeedback
870-
validateStatus={getFieldError("location") ? "error" : undefined}
871867
help={getFieldError("location")}
872868
className="mb-3 md:mb-4"
873869
>
@@ -3091,15 +3087,9 @@ const JobDetails = ({
30913087
<Form.Item
30923088
label={
30933089
<Text strong className="text-xs md:text-sm text-gray-700">
3094-
<span className="text-red-500">* </span>
30953090
Selection Mode
30963091
</Text>
30973092
}
3098-
required
3099-
hasFeedback
3100-
validateStatus={
3101-
getFieldError("selectionMode") ? "error" : undefined
3102-
}
31033093
help={getFieldError("selectionMode")}
31043094
className="mb-3 md:mb-4"
31053095
>

src/validation/jaf.validation.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ export const jobDetailsValidationSchema = Yup.object({
155155
),
156156

157157
location: Yup.string()
158-
.required("Job location is required")
158+
.optional()
159159
.min(2, "Location must be at least 2 characters")
160160
.max(200, "Location must not exceed 200 characters"),
161161

@@ -248,11 +248,8 @@ export const jobDetailsValidationSchema = Yup.object({
248248

249249
// Selection procedure
250250
selectionMode: Yup.string()
251-
.oneOf(
252-
Object.values(SelectionModeEnum),
253-
"Please select a valid selection mode",
254-
)
255-
.required("Selection mode is required"),
251+
.optional()
252+
.oneOf([...Object.values(SelectionModeEnum), ""], "Please select a valid selection mode"),
256253

257254
shortlistFromResume: Yup.boolean().required(
258255
"Please specify if shortlisting from resume is required",

0 commit comments

Comments
 (0)