Files
Checkmate/client/src/Components/common/controls/HeaderCreate.tsx
T

47 lines
863 B
TypeScript
Raw Normal View History

2026-01-24 16:01:32 +00:00
import { Stack } from "@mui/material";
import { useNavigate } from "react-router-dom";
import { ButtonInput } from "../../inputs/Button";
2026-01-24 16:19:43 +00:00
import { useTranslation } from "react-i18next";
2026-01-24 16:01:32 +00:00
interface HeaderCreateProps {
label?: string;
path: string;
2026-01-24 16:19:43 +00:00
isLoading?: boolean;
isAdmin?: boolean;
2026-01-24 16:01:32 +00:00
}
2026-01-24 16:19:43 +00:00
export const HeaderCreate = ({
label,
path,
isLoading = false,
isAdmin = false,
}: HeaderCreateProps) => {
2026-01-24 16:01:32 +00:00
const navigate = useNavigate();
2026-01-24 16:19:43 +00:00
const { t } = useTranslation();
if (!isAdmin) {
return null;
}
2026-01-24 16:01:32 +00:00
const handleClick = () => {
navigate(path);
};
return (
<Stack
direction="row"
justifyContent="flex-end"
alignItems="center"
width="100%"
>
<ButtonInput
variant="contained"
color="primary"
onClick={handleClick}
2026-01-24 16:19:43 +00:00
loading={isLoading}
2026-01-24 16:01:32 +00:00
>
2026-01-24 16:19:43 +00:00
{label || t("common.buttons.create")}
2026-01-24 16:01:32 +00:00
</ButtonInput>
</Stack>
);
};