import { PageHeader } from "@ant-design/pro-layout";
import { Button, Result, Space, Steps } from "antd";
import { useContext, useState } from "react";
import { useTranslation } from "react-i18next";
import { Link } from "react-router-dom";
import AlertComponent from "../../components/alert/alert.component";
import JobsCreateJobsInfo from "../../components/jobs-create-jobs-info/jobs-create-jobs-info.component";
import JobsCreateOwnerInfoContainer from "../../components/jobs-create-owner-info/jobs-create-owner-info.container";
import JobsCreateVehicleInfoContainer from "../../components/jobs-create-vehicle-info/jobs-create-vehicle-info.container";
import JobCreateContext from "../../pages/jobs-create/jobs-create.context";
export default function JobsCreateComponent({ form, isSubmitting }) {
const [pageIndex, setPageIndex] = useState(0);
const [errorMessage, setErrorMessage] = useState(null);
const [state] = useContext(JobCreateContext);
const { t } = useTranslation();
const steps = [
{
title: t("jobs.labels.create.vehicleinfo"),
id: "step-job-vehicleinfo",
content: ,
validation: !!state.vehicle.new || !!state.vehicle.selectedid || !!state.vehicle.none,
error: t("vehicles.errors.selectexistingornew")
},
{
title: t("jobs.labels.create.ownerinfo"),
id: "step-job-ownerinfo",
content: ,
validation: !!state.owner.new || !!state.owner.selectedid,
error: t("owners.errors.selectexistingornew")
},
{
title: t("jobs.labels.create.jobinfo"),
id: "step-job-jobinfo",
content:
}
];
const next = () => {
setPageIndex(pageIndex + 1);
};
const prev = () => {
setPageIndex(pageIndex - 1);
};
const ProgressButtons = ({ top }) => {
return (
{pageIndex > 0 && }
{pageIndex < steps.length - 1 && (
)}
{pageIndex === steps.length - 1 && (
)}
}
>
{top && (
({
key: item.title,
title: item.title,
style: {
cursor: "pointer",
fontWeight: idx === pageIndex && "bolder"
},
onClick: () => {
setPageIndex(idx);
form
.validateFields()
.then(() => {
if (steps[pageIndex].validation) {
setErrorMessage(null);
setPageIndex(idx);
} else {
setErrorMessage(steps[pageIndex].error);
}
})
.catch((error) => console.log("error", error));
}
}))}
/>
)}
);
};
return (
{state.created ? (
,
]}
/>
) : (
{errorMessage ? (
) : null}
{steps.map((item, idx) => (
{item.content}
))}
)}
);
}