@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 2.79 kB
JavaScript
import{jsx as e,jsxs as f}from"react/jsx-runtime";import"./LogoOverlay.scss";import l from"classnames";import k from"color";import{useLocalStore as M,useObserver as P}from"mobx-react-lite";import{Suspense as _}from"react";import O from"../data";import{getFpSvgJs as R}from"../data/fp-payloads";import{getFpGeo as c}from"../data/fpGeo.js";import d,{uiState as o}from"../store";import C from"../tools/base-runtime-url";import{eventScopedValue as E}from"../tools/event-scoped-cache.js";import{buildExpofpUrl as N,UTM_CAMPAIGNS as A}from"../tools/expofpUrl";import p from"../tools/settings";import{remsToPixels as m}from"../utils";import{t as r}from"../utils/i18n";import h from"../utils/is-from-designer";import D from"../utils/lazy-qr-code";import g from"./AlertContainer";const G=["info-techlive2025","metstrade-superyacht2023"];function u(){return G.includes(p.EXPO)}const I=E(()=>{const s=c()?.properties?.style;return p.backgroundColor!=="none"&&k(p.backgroundColor).isDark()||typeof s=="string"&&s.includes("dark")});export default function V(){const s=M(()=>{const n=(i,t,T,x)=>({width:x,opacity:o.wsStarted?1:0}),a=u()||o.rtl?"left":"right";return{get style(){const i=m((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const t=o.mapVisibleBottom+i;return n("bottom",a,t,"5rem")}else return n("bottom",a,20,"4.5rem")},get warningStyle(){const i=m(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const t=o.mapVisibleBottom+2*i;return n("bottom",a,t,"3rem")}else{let t=o.mapVisibleTop+2*i;return d.maplibreStore.showMaplibre&&(t=m(.5)),n("top",a,t,"2rem")}}}}),b=Math.round((R().__fpStat?.dataSize??0)/1024/1024),v=h&&b>=10,w=h&&!c()&&O.allow3dView&&!o.kiosk&&!o.heatmap,y=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,S=l("efp-qr",{"is-right":u()||o.rtl});return P(()=>f("div",{children:[!d.maplibreStore.showMaplibre&&e("a",{href:N(A.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:I()}),style:s.style,children:e("img",{src:`${C}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),v&&e(g,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottom-right",children:e("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),w&&e(g,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottom-right",children:e("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),y&&e(_,{fallback:null,children:f("div",{className:l(S,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[e("div",{children:r("View Map on Phone")}),e(D,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}