@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 3.88 kB
JavaScript
import{jsx as e,jsxs as s,Fragment as y}from"react/jsx-runtime";import{autorun as N}from"mobx";import{useLocalStore as L,useObserver as h}from"mobx-react-lite";import S,{Suspense as C}from"react";import r from"../data";import a,{uiState as n}from"../store";import x from"../ui/Badge";import{getLocale as D,getLocales as T,t as m}from"../utils/i18n";import d from"../utils/is-iframe";const U=S.lazy(()=>import("./ViewerMenuPanel"));import"./Menu.scss";import"./Menu_custom.scss";import f from"../tools/logger";import g from"../tools/settings";const u=/^https?:\/\//i.test(r.logo)?r.logo:window.__dataUrlBase+r.logo;f.log("Logo url: ",u),window.setTimeout(function(){const l=new Image;l.onload=()=>{f.log("Logo image loaded")},l.crossOrigin="anonymous",l.src=u},1500);function E({allowConsent:l,isGDPR:c}){const t=L(()=>({logoVisibility:"visible",shown:!1,shownTimeout:void 0,modalOpen:!1,selectedCategoryIds:(n.selectedCategoryFilters||[]).map(o=>Number(o.id)),pendingSelectedIds:(n.selectedCategoryFilters||[]).map(o=>Number(o.id))}));N(()=>{n.menu?(t.shownTimeout=window.setTimeout(()=>t.shown=!0,1),n.list.type==="sessions"&&a.searchStore.selectSearch()):(t.shown=!1,t.shownTimeout&&window.clearTimeout(t.shownTimeout))});function p(o){if(n.kiosk)return o.preventDefault()}function v(o){o.preventDefault(),w(),a.searchStore.selectSearch()}function _(o){o.preventDefault(),a.fp?.onLeaveEvent?.()}function k(o){o.preventDefault(),a.clickLanguage()}return h(()=>{if(!n.menu)return null;const o=a.boothStore.booths.filter(i=>i.bookmarked).map(i=>i.name),b=window.__fpSettings?.fpVer?`https://api-v2.expofp.com/export/v2/${g.EXPO}/pdf`:`https://api.expofp.com/service/convert/${g.EXPO}/pdf`;return s("div",{className:`menu ${t.shown?"shown":""}`,children:[d?e("div",{className:"menu__cover -empty"}):e("div",{className:"menu__cover",children:e("a",{href:r.homeUrl,target:"_blank",rel:"noopener noreferrer",onClick:p,children:e("img",{src:u,onError:()=>t.logoVisibility="hidden",style:{visibility:t.logoVisibility},alt:"",crossOrigin:"anonymous"})})}),s("div",{className:"menu__content",children:[n.viewerMode&&e(C,{fallback:null,children:e(U,{})}),!n.viewerMode&&e("a",{href:"/#",onClick:v,className:"menu__item",children:m("Search")}),!r.hideEventHomeLink&&!n.kiosk&&!d&&!!r.homeUrl&&s("a",{href:r.homeUrl,target:"_blank",className:"menu__item",rel:"noopener noreferrer",children:[m("Event Home").replace(/ /g,"\xA0"),e("i",{className:"icon-link-external"})]}),!r.hideRegisterToAttendLink&&!n.kiosk&&!d&&!!r.registerUrl&&s("a",{href:r.registerUrl,target:"_blank",className:"menu__item",rel:"noopener noreferrer",children:[m("Register to Attend").replace(/ /g,"\xA0"),e("i",{className:"icon-link-external"})]}),!n.hideLanguage&&!r.hideLanguage&&!r.hideLanguageLink&&s("a",{href:"?language",onClick:k,className:"menu__item -language",children:[s("span",{children:[m("Language")," "]}),s("span",{className:"menu__icons",children:[e(x,{variant:"gray",size:"md",noMargins:!0,rounded:!0,children:T().find(i=>i.id===D())?.name}),e("i",{className:"icon-chevron-right"})]})]}),!r.hideDownloadPdfLink&&!n.kiosk&&e("a",{className:"menu__item -pdf",target:"_blank",rel:"noopener noreferrer",href:`${b}/?exhibitors=true&bookmarks=${o.join(",")}&layers=${(a.layerStore.layers.length>=a.layerStore.visible.length?a.layerStore.visible.map(i=>i.name).join(","):"").replace(/&/g,"%26")}`,children:m("Download PDF")}),l===void 0&&c&&e("a",{href:"/#",className:"menu__item -cookie-consent",onClick:i=>{i.preventDefault(),n.hideCookieConsent=!1},children:m("Review Cookie Consent")}),n.viewerMode&&e("div",{className:"menu__item-leave",children:e("a",{href:"/#",className:"menu__item -leave-event menu__leave-link",onClick:_,children:m("Select another event")})})]})]})});function w(){n.menu=!1}}export default({isGDPR:l,allowConsent:c})=>h(()=>e(y,{children:n.menu?e(E,{isGDPR:l,allowConsent:c}):null}));