import { BuyMeACoffee20Regular } from "@/assets/BuyMeACoffee20"; import { buyMeACoffeeLink, storeLink } from "@/data/links"; import { track } from "@/features/analytics"; import { useBmcStyles } from "@/hooks/useBmcStyles"; import extLink from "@/utils/extLink"; import { Button, Link, MessageBar, MessageBarActions, MessageBarBody, MessageBarProps, MessageBarTitle } from "@fluentui/react-components"; import { DismissRegular, HeartFilled } from "@fluentui/react-icons"; import { ReactElement } from "react"; export default function CtaMessage(props: MessageBarProps): ReactElement { const [counter, setCounter] = useState(0); const bmcCls = useBmcStyles(); useEffect(() => { ctaCounter.getValue().then(c => { if (c >= 0) { setCounter(c); ctaCounter.setValue(c + 1); } }); }, []); const resetCounter = async (counter: number) => { await ctaCounter.setValue(counter); setCounter(counter); if (counter === -1) track("bmc_clicked"); else track("cta_dismissed"); }; if (counter < 50) return <>; return ( } { ...props }> { i18n.t("cta_message.title") } { i18n.t("cta_message.message") } track("feedback_clicked") }>{ i18n.t("cta_message.feedback") } } appearance="transparent" onClick={ () => resetCounter(0) } /> } > ); } const ctaCounter = storage.defineItem("local:ctaCounter", { fallback: 0 });