UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 1.08 kB
import{jsx as e,jsxs as s}from"react/jsx-runtime";import"./Free.scss";import a from"classnames";import{useLocalStore as m,useObserver as d}from"mobx-react-lite";import{uiState as i}from"../store";import{buildFreeBannerCtaUrl as l,writeFreeBannerDismissed as c}from"../tools/freeBanner";import{t}from"../utils/i18n";import{useInit as f}from"../utils/mobx";export default function u(){const r=m(()=>({hidden:!0,get classes(){return a("free",{hidden:this.hidden})}}));return f(()=>{if(i.freeBannerDismissed)return;const o=window.setTimeout(()=>{r.hidden=!1},2e3);return()=>window.clearTimeout(o)}),d(()=>e("div",{className:r.classes,children:s("section",{children:[e("div",{className:"free__message",children:s("span",{children:[t("Create a free floor plan at"),"\xA0",e("a",{href:l(),target:"_blank",rel:"noopener noreferrer",children:"ExpoFP.com"})]})}),e("button",{type:"button",className:"free__dismiss",onClick:n,"aria-label":t("Dismiss"),children:e("i",{className:"icon-close","aria-hidden":"true"})})]})}));function n(){r.hidden=!0,c(sessionStorage),i.freeBannerDismissed=!0}}