Quiz_dashboard/src/Layout/Dashboard/PageHeader.tsx
2024-09-15 15:52:13 +03:00

70 lines
1.9 KiB
TypeScript

import { BsPlusCircleFill } from "react-icons/bs";
import { useNavigate } from "react-router-dom";
import { useTranslation } from "react-i18next";
import useModalHandler from "../../utils/useModalHandler";
import { deletePathSegments } from "../../utils/deletePathSegments";
import { getPrevPathRoute } from "../../utils/getPrevPathRoute";
import PageTitleComponent from "./PageTitle";
import { useFilterStateState } from "../../zustand/Filter";
const PageHeader = ({
canAdd,
ModelAbility,
pageTitle,
openModel = true,
locationToNavigate,
addModal = true
}: {
canAdd?: any;
ModelAbility?: any;
pageTitle: string;
openModel?: boolean;
locationToNavigate?: string | any;
addModal?:boolean;
}) => {
const navigate = useNavigate();
const { handel_open_model } = useModalHandler();
const { t } = useTranslation();
const PrevPath = getPrevPathRoute(location.pathname);
const { setFilter } = useFilterStateState();
const handleNavigateToPage = (location: string) => {
setFilter({})
navigate(location);
};
console.log();
return (
<div className="page_header">
<header className="d-flex justify-content-between">
<span className="page_header_links" >
<h1 className="page_title">{t(`PageTitle.${pageTitle}`)}</h1>
<span className="page_links">
<PageTitleComponent/>
</span>
</span>
{ addModal ? canAdd && (
<div className="Selects">
<button
onClick={() =>
openModel
? handel_open_model(ModelAbility)
: handleNavigateToPage(locationToNavigate)
}
className="add_button"
>
<BsPlusCircleFill />
{t(`practical.add`)}
</button>
</div>
) :""}
</header>
</div>
);
};
export default PageHeader;