import React, { useState } from "react"; import { CTACardProps } from "../../models/components"; import "./CTACard-styles.scss"; import Tag from "../tag/tag"; import Button from "../button/Button"; import { ImagePlaceholder } from "../../assets/images/icons"; const CTACard: React.FC = ({ variant = "PRIMARY", imageSrc, title, description, tag, meta, score, onClick, hoverEffect = true, dimmed = false, actionButtons, showActionButtons, scaleDown, type, }) => { const [isHovered, setIsHovered] = useState(false); const handleMouseEnter = () => { setIsHovered(true); }; const handleMouseLeave = () => { setIsHovered(false); }; function isArabic(text: any) { let pattern = /[\u0600-\u06FF\u0750-\u077F]/; return pattern.test(text); } const renderImage = () => { if (imageSrc) { return Card; } if (variant !== "TERTIARY") { return ImagePlaceholder; } }; const renderTitle = () => { return
{title}
; }; const renderTag = () => { return tag && ; }; const renderType = () => { return type && ; }; const renderMeta = () => { return meta &&
{meta}
; }; const renderDescription = () => { return ( description &&
{description}
); }; const renderOverlay = () => { return dimmed &&
; }; const renderActionButtons = () => { return ( actionButtons && actionButtons.length > 0 && (
{actionButtons.map((button, index) => ( ))} {isHovered && score && (

Score: {score}

)}
) ); }; const handleClick = (event: any) => { if ( event?.target?.className.includes("button-root") || event?.target?.className.includes( "CTACard-actionButtonsContainer--overlay" ) ) { return; } onClick && onClick(event); }; return (
{showActionButtons && renderActionButtons()} {variant === "PRIMARY" && (
{renderTag()} {renderType()} {renderMeta()}
{renderTitle()}
{renderImage()}
)} {variant === "PRIMARY_VERTICAL" && ( <> {renderOverlay()}
{renderImage()}
{renderTag()} {renderMeta()}
{renderTitle()}
)} {variant === "SECONDARY" && ( <> {renderOverlay()}
{imageSrc ? (
{renderImage()}
) : (
)}
{renderTitle()}
)} {variant === "TERTIARY" && ( <> {renderOverlay()}
{renderImage()}
{renderTitle()} {renderDescription()}
)}
); }; export default CTACard;