2021-09-08 07:35:36 +00:00
|
|
|
import React, { useState } from "react";
|
2021-06-30 15:10:16 +00:00
|
|
|
import PropTypes from "prop-types";
|
2021-07-01 08:52:56 +00:00
|
|
|
import BannerWrapper from "./styled-campaigns-banner";
|
2021-06-30 15:10:16 +00:00
|
|
|
|
|
|
|
import Button from "../button";
|
2021-07-01 08:52:56 +00:00
|
|
|
import Text from "../text";
|
2022-07-22 19:01:25 +00:00
|
|
|
import Loaders from "@docspace/common/components/Loaders";
|
2021-06-30 15:10:16 +00:00
|
|
|
|
|
|
|
const onButtonClick = (url) => {
|
2021-11-01 10:52:44 +00:00
|
|
|
window.open(url, "_blank");
|
2021-06-30 15:10:16 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const CampaignsBanner = (props) => {
|
2021-06-30 21:28:58 +00:00
|
|
|
const { headerLabel, subHeaderLabel, img, btnLabel, link } = props;
|
2021-09-08 07:35:36 +00:00
|
|
|
const [imageLoad, setImageLoad] = useState(false);
|
|
|
|
|
|
|
|
const handleImageLoaded = () => {
|
|
|
|
setImageLoad(true);
|
|
|
|
};
|
|
|
|
|
2021-09-01 12:25:20 +00:00
|
|
|
const onMouseDown = (e) => {
|
|
|
|
e.preventDefault();
|
|
|
|
};
|
|
|
|
|
2021-06-30 15:10:16 +00:00
|
|
|
return (
|
|
|
|
<BannerWrapper>
|
2022-02-16 15:03:21 +00:00
|
|
|
<a href={link} target="_blank" rel="noreferrer">
|
2022-06-29 14:47:10 +00:00
|
|
|
<Text noSelect fontWeight="700" fontSize="13px">
|
2021-07-01 08:52:56 +00:00
|
|
|
{headerLabel}
|
|
|
|
</Text>
|
2022-06-29 14:47:10 +00:00
|
|
|
<Text
|
|
|
|
noSelect
|
|
|
|
className="banner-sub-header"
|
|
|
|
fontWeight="500"
|
|
|
|
fontSize="12px"
|
|
|
|
>
|
2021-07-01 08:52:56 +00:00
|
|
|
{subHeaderLabel}
|
|
|
|
</Text>
|
2022-06-29 14:47:10 +00:00
|
|
|
<img
|
|
|
|
className="banner-img"
|
|
|
|
src={img}
|
|
|
|
onMouseDown={onMouseDown}
|
|
|
|
onLoad={handleImageLoaded}
|
|
|
|
/>
|
2022-02-15 08:58:12 +00:00
|
|
|
{!imageLoad && <Loaders.Rectangle height="140px" borderRadius="5px" />}
|
2021-06-30 21:28:58 +00:00
|
|
|
</a>
|
2021-06-30 15:10:16 +00:00
|
|
|
|
|
|
|
<Button
|
|
|
|
className="banner-btn"
|
2021-07-27 09:47:55 +00:00
|
|
|
primary
|
2022-03-10 12:59:04 +00:00
|
|
|
size="small"
|
2021-06-30 15:10:16 +00:00
|
|
|
isDisabled={false}
|
2021-07-01 07:51:47 +00:00
|
|
|
disableHover={true}
|
2021-06-30 15:10:16 +00:00
|
|
|
label={btnLabel}
|
2021-06-30 21:28:58 +00:00
|
|
|
onClick={() => onButtonClick(link)}
|
2021-06-30 15:10:16 +00:00
|
|
|
/>
|
|
|
|
</BannerWrapper>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
CampaignsBanner.propTypes = {
|
|
|
|
id: PropTypes.string,
|
|
|
|
className: PropTypes.string,
|
|
|
|
style: PropTypes.object,
|
|
|
|
headerLabel: PropTypes.string,
|
2021-06-30 21:28:58 +00:00
|
|
|
subHeaderLabel: PropTypes.string,
|
2021-06-30 15:10:16 +00:00
|
|
|
img: PropTypes.string,
|
|
|
|
btnLabel: PropTypes.string,
|
2021-06-30 21:28:58 +00:00
|
|
|
link: PropTypes.string,
|
2021-06-30 15:10:16 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
CampaignsBanner.defaultProps = {
|
|
|
|
id: undefined,
|
|
|
|
className: undefined,
|
|
|
|
style: undefined,
|
|
|
|
};
|
|
|
|
|
|
|
|
export default CampaignsBanner;
|