"use client"; import React from "react"; import { Box, MenuItem, Paper, TextField, Typography, Switch, FormControlLabel, Button, } from "@mui/material"; import { DatePicker } from "@mui/x-date-pickers"; import { Form, type FormikProps } from "formik"; import { format, parseISO, isValid } from "date-fns-jalali"; import type { JobInfoFormProps, JobInfoFormValues } from "./types"; import { retirementOptions } from "./constant"; type Props = FormikProps & JobInfoFormProps; export default function InnerJobInfoForm(props: Props) { const { values, errors, touched, handleChange, setFieldValue, isSubmitting, } = props; const handleBack = () => { props.update({ jobInfo: values }); props.setStep(props.step - 1); }; const handleDateChange = (date: Date | null) => { if (date && isValid(date)) { const formattedDate = format(date, "yyyy-MM-dd"); setFieldValue("readyToWorkDate", formattedDate); } else { setFieldValue("readyToWorkDate", ""); } }; // Helper برای تبدیل رشته تاریخ به شیء Date جهت نمایش در DatePicker const getDateValue = () => { if (!values.readyToWorkDate) return null; const parsed = parseISO(values.readyToWorkDate); return isValid(parsed) ? parsed : null; }; return (
اطلاعات شغلی و بیمه {/* تاریخ آمادگی */} {/* وضعیت بازنشستگی */} {retirementOptions.map((opt) => ( {opt.label} ))} {/* سوییچ‌ها */} {[ { name: "isCurrentEmployee", label: "از پرسنل حال حاضر هستم" }, { name: "hasPastCooperation", label: "سابقه همکاری در گذشته دارم" }, { name: "isCurrentlyEmployed", label: "در حال حاضر مشغول به کار هستم" }, { name: "dualJobInterest", label: "تمایل به شغل دوم دارم" }, { name: "isMilitary", label: "نظامی هستم" }, ].map((sw) => ( setFieldValue(sw.name, e.target.checked)} /> } label={sw.label} /> ))} { const checked = e.target.checked; setFieldValue("hasInsurance", checked); if (!checked) { setFieldValue("insuranceType", ""); setFieldValue("totalInsuranceYears", "0"); } }} /> } label="دارای سابقه بیمه هستم" /> {/* فیلدهای شرطی بیمه */} {values.hasInsurance && ( <> )} {/* Buttons */}
); }