2022-03-11 08:04:09 +00:00
|
|
|
import React from "react";
|
|
|
|
import PropTypes from "prop-types";
|
2022-04-10 15:23:21 +00:00
|
|
|
import Loaders from "@appserver/common/components/Loaders";
|
|
|
|
import { isTablet as isTabletUtils } from "@appserver/components/utils/device";
|
|
|
|
import { isTablet } from "react-device-detect";
|
2022-03-11 08:04:09 +00:00
|
|
|
|
|
|
|
import {
|
2022-03-15 14:18:07 +00:00
|
|
|
StyledArticleHeader,
|
2022-03-11 08:04:09 +00:00
|
|
|
StyledHeading,
|
|
|
|
StyledIconBox,
|
|
|
|
StyledMenuIcon,
|
2022-03-15 14:18:07 +00:00
|
|
|
} from "../styled-article";
|
2022-03-11 08:04:09 +00:00
|
|
|
|
2022-04-10 15:23:21 +00:00
|
|
|
const ArticleHeader = ({
|
|
|
|
showText,
|
|
|
|
children,
|
|
|
|
onClick,
|
|
|
|
isLoading = false,
|
|
|
|
...rest
|
|
|
|
}) => {
|
|
|
|
const heightLoader = isTabletUtils() || isTablet ? "20px" : "32px";
|
|
|
|
|
|
|
|
return isLoading ? (
|
|
|
|
<StyledArticleHeader>
|
|
|
|
<Loaders.ArticleHeader height={heightLoader} className="loader" />
|
|
|
|
</StyledArticleHeader>
|
|
|
|
) : (
|
2022-03-15 14:18:07 +00:00
|
|
|
<StyledArticleHeader showText={showText} {...rest}>
|
|
|
|
<StyledIconBox name="article-burger">
|
2022-03-11 08:04:09 +00:00
|
|
|
<StyledMenuIcon onClick={onClick} />
|
|
|
|
</StyledIconBox>
|
|
|
|
|
|
|
|
<StyledHeading showText={showText} size="large">
|
|
|
|
{children}
|
|
|
|
</StyledHeading>
|
2022-03-15 14:18:07 +00:00
|
|
|
</StyledArticleHeader>
|
2022-03-11 08:04:09 +00:00
|
|
|
);
|
|
|
|
};
|
|
|
|
|
2022-03-15 14:18:07 +00:00
|
|
|
ArticleHeader.propTypes = {
|
2022-03-11 08:04:09 +00:00
|
|
|
children: PropTypes.any,
|
|
|
|
showText: PropTypes.bool,
|
|
|
|
onClick: PropTypes.func,
|
|
|
|
};
|
|
|
|
|
2022-03-15 14:18:07 +00:00
|
|
|
ArticleHeader.displayName = "Header";
|
2022-03-11 08:04:09 +00:00
|
|
|
|
2022-03-15 14:18:07 +00:00
|
|
|
export default React.memo(ArticleHeader);
|