1import{j as e}from"./ui-vendor-Bh7_beny.js";import{e as t,R as a,N as n}from"./react-vendor-BoSAEcqU.js";import{cJ as l,cR as r,p as o,cS as i,cK as s,cT as d,d as c}from"./index-IinEbi41.js";import{j as u,i as m}from"./firebase-vendor-DblBUUbW.js";import{B as f}from"./BreadcrumbSchema-DEc3y0Wx.js";import"./fabric-vendor-T6PTpD9i.js";const p=()=>{const{project:p,projectSlug:v}=l(),{publicProjectId:h}=r(),{isAuthenticated:j,isAdmin:x,isInitialized:g,isLoading:b}=o(),w=t(),{trackFloorplan:y}=i(),[I,P]=a.useState(!1),[S,$]=a.useState(!1),[k,N]=a.useState(!0),B={title:`Plattegrond ${(null==p?void 0:p.name)||v} | Interactieve Standplattegrond`,description:`Bekijk de interactieve plattegrond van ${(null==p?void 0:p.name)||v}. Vind direct waar exposanten staan, filter op categorie en plan je bezoek. Ontdek alle stands en deelnemers op de beurs.`,ogType:"website",ogImage:null==p?void 0:p.logo,noIndex:!1};if(a.useEffect((()=>{var e,t,a;P(!1),e=null,t=null,a=function*(){var e,t;if(h)try{const a=yield u(m(c,"public_projects",h));if(a.exists()){const n=a.data();$(!!(null==(e=null==n?void 0:n.restrictedPages)?void 0:e.floorplan)),N(!1!==(null==(t=null==n?void 0:n.enabledModules)?void 0:t.floorplan))}}catch(a){}finally{P(!0)}},new Promise(((n,l)=>{var r=e=>{try{i(a.next(e))}catch(t){l(t)}},o=e=>{try{i(a.throw(e))}catch(t){l(t)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}))}),[h]),a.useEffect((()=>{I&&k&&h&&y(h)}),[I,k,h,y]),!I||!g||b)return e.jsx(s,{variant:"full-width",meta:B,children:e.jsx("div",{className:"h-full w-full flex items-center justify-center",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600"})})});if(!k&&!x)return n({to:`/${v}/login`,replace:!0});if(S&&!j)return e.jsx(n,{to:"/login",replace:!0,state:{redirect:`/${v}/floorplan`}});const R=new URLSearchParams(w.search).get("boothId")||void 0,z="undefined"!=typeof window?window.location.hostname:"",A=[{name:(null==p?void 0:p.name)||"Home",url:`https://${z}/`},{name:"Plattegrond",url:`https://${z}/floorplan`}];return e.jsxs(s,{variant:"full-width",meta:B,children:[e.jsx(f,{items:A}),e.jsxs("h1",{className:"sr-only",children:["Interactieve Plattegrond ",(null==p?void 0:p.name)||v]}),e.jsx("div",{className:"h-full w-full",children:e.jsx(d,{initialBoothId:R})})]})};export{p as default}; 2//# sourceMappingURL=FloorplanPage-TmB-n6-0.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.