hijabi-dashboard/src/Layout/Dashboard/ViewPage.tsx
KarimAldeen 4b22add13e Done
2024-03-20 10:15:54 +03:00

73 lines
2.2 KiB
TypeScript

import React from "react";
import { Card, CardHeader, CardTitle, CardBody, Button } from "reactstrap";
import { Formik, Form } from "formik";
import { LoadingButton } from "../../Components/Ui/LoadingButton";
import ProgressBar from "../../Components/Ui/ProgressBar";
import { useNavigate } from "react-router-dom";
import { usePageState } from "../../lib/state mangment/LayoutPagestate";
import { useTranslation } from "react-i18next";
type TViewPage ={
children: React.ReactNode,
getInitialValues:any,
getValidationSchema:any,
getDataToSend:any,
handleSubmit:any,
// BarStatus:any,
IsloadingButton:boolean
}
const ViewPage: React.FC<TViewPage>= ({children,getInitialValues, getValidationSchema,handleSubmit,IsloadingButton})=> {
const {objectToEdit} = usePageState()
const {t} = useTranslation();
const navigate = useNavigate();
// console.log(BarStatus);
return (
<Card className="ViewTapPage">
<CardHeader className="CardHeader" >
<CardTitle className="View_information">
{t("View_information")}
</CardTitle>
<Button onClick={() => { navigate(-1);}}> {t("back")} </Button>
</CardHeader>
<CardBody>
{
<Formik
onSubmit={handleSubmit}
initialValues={getInitialValues(objectToEdit)}
validationSchema={getValidationSchema()}
>
{(formik) => (
<Form>
{/* <HeadTabs tabs={tabs} /> */}
{children}
{
<>
<div className="d-flex mt-4 justify-content-center align-items-center">
<LoadingButton
type="submit"
color="primary"
isLoading={IsloadingButton}
>
{t("save")}
</LoadingButton>
{/* <Button disabled={isLoading} type="submit" color="primary"> {t("save")} </Button> */}
</div>
</>
}
</Form>
)}
</Formik>
}
</CardBody>
</Card>
);
};
export default ViewPage;