PageSourceSearch

https://boothly.web.app/assets/ProfileManagerPage-CCTd-l_I.js

js boothly.web.app collected 2026-10-03 12:20:48 UTC 11,769 bytes, 2 lines download raw bytes

1var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,s,i)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i,o=(e,t)=>{for(var s in t||(t={}))r.call(t,s)&&l(e,s,t[s]);if(i)for(var s of i(t))a.call(t,s)&&l(e,s,t[s]);return e},n=(e,i)=>t(e,s(i)),d=(e,t,s)=>new Promise(((i,r)=>{var a=e=>{try{o(s.next(e))}catch(t){r(t)}},l=e=>{try{o(s.throw(e))}catch(t){r(t)}},o=e=>e.done?i(e.value):Promise.resolve(e.value).then(a,l);o((s=s.apply(e,t)).next())}));import{j as c}from"./ui-vendor-Bh7_beny.js";import{d as u,c as m,r as p}from"./react-vendor-BoSAEcqU.js";import{g as b,q as h,b as f,w as j,o as x,u as v,p as g,i as y}from"./firebase-vendor-DblBUUbW.js";import{u as _,j as w,F as A,k as N,b as z,aa as I,P,E as S,x as k,B as O,Q as E,U as $,o as C,S as D,d as U,cd as M}from"./index-IinEbi41.js";import{D as L}from"./DataTable-BO76nz8P.js";import{E as T}from"./EmptyState-gFyU_i8Z.js";import{E as F}from"./ErrorState-CNJ0q3LO.js";import{P as V}from"./ProjectShell-dK8tRMZr.js";import{E as q}from"./eye-off-DDuGLUIA.js";import{F as B}from"./filter-x-ChKDMdRT.js";import{B as W}
1from"./building-2-D5X7dcSf.js";import"./fabric-vendor-T6PTpD9i.js";import"./arrow-up-down-DFXczJjO.js";import"./arrow-up-DEyqKKVs.js";import"./AdminShell-ADtbTeyw.js";import"./rotate-ccw-CrcgHT5Z.js";import"./arrow-left-BrJBGWSN.js";import"./send-DlR3fIA2.js";import"./user-BSHBAeXR.js";import"./useProjectShell-Bi5VYpE0.js";import"./resetAllFloorplanStores-BqByHRA7.js";import"./TrashIcon-BGnRVOUo.js";import"./PencilIcon-CV81eE09.js";import"./pin-DVUlEbsH.js";import"./minimize-2-Bg2--4dJ.js";const G=e=>e.field_1750079703582||"Onbekend bedrijf",K=e=>e.field_1747720731224||e.field_1747720901025,Q=e=>e.field_1747720709590||"",R=e=>e.field_1747721042332||"",Y=e=>e.field_1747720727229||"",H=e=>e.field_1747720901025,J=e=>e.field_1747721037823||"",X=e=>e.field_1747721064485||"",Z=e=>e.field_1755586301405||[],ee="Profile_01",te=()=>{const{tenantId:e,projectId:t}=u(),s=m(),{t:i,i18n:r}=_("profileManager"),a=w(),[l,te]=p.useState([]),[se,ie]=p.useState(new Map),[re,ae]=p.useState(new Map),[le,oe]=p.useState(!0),[ne,de]=p.useState(null),[ce,ue]=p.useState("all"),me=(e,t)=>{"success"===e?M.success(t):M.error(t)};p.useEffect((()=>{if(!e||!t)return de(i("list.error_description")),void oe(!1);Promise.all([d(null,null,(function*(){try{const s=yield b(h(f(U,"users"),j("tenantId","==",e))),i=new Map;s.forEach((e=>{const s=e.data();s.projectIds&&Array.isArray(s.projectIds)&&s.projectIds.includes(t)&&i.set(e.id,{id:e.id,displayName:s.displayName||"Onbekend",email:s.email||"",boothIds:s.boothIds||[]})})),ie(i)}catch(s){}})),d(null,null,(function*(){try{const e=f(U,`projects/${t}/floorplans`),s=yield b(h(e,j("status","==","base"))),i=new Map;s.forEach((e=>{var t;const s=null==(t=e.data().data)?void 0:t.booths;Array.isArray(s)&&s.forEach((e=>{e.id&&e.boothNumber&&i.set(e.id,e.boothNumber)}))})),ae(i)}catch(e){}})),d(null,null,(function*(){try{const e=f(U,"public_d","projects",t,"forms",ee),s=h(e,x("submittedAt","desc")),i=yield b(s),r=[];i.forEach((e=>{const t=e.data(),s={id:e.id,_userId:t._userId,_userName:t._userName,field_1750079703582:t.field_1750079703582,field_1747720709590:t.field_1747720709590,field_1747720731224:t.field_1747720731224,field_1747720901025:t.field_1747720901025,field_1747721042332:t.field_1747721042332,field_1747720727229:t.field_1747720727229,field_1747721037823:t.field_1747721037823,field_1747721064485:t.field_1747721064485,field_1755586301405:t.field_1755586301405||void 0,boothIds:t.boothIds||[],isPublished:t.isPublished||!1,publishedAt:t.publishedAt,submittedAt:t.submittedAt,updatedAt:t.updatedAt};r.push((e=>n(o({},e),{companyName:G(e),description:Q(e),logoUrl:K(e),featuredImageUrl:H(e),websiteUrl:R(e),contactEmail:Y(e),facebookUrl:J(e),instagramUrl:X(e),categories:Z(e)}))(s))}));const a=e=>{if(!e)return 0;if("object"==typeof e&&null!==e&&"seconds"in e){const t=e;return 1e3*t.seconds+Math.floor((t.nanoseconds||0)/1e6)}const t=new Date(e);return isNaN(t.getTime())?0:t.getTime()};r.sort(((e,t)=>a(t.submittedAt)-a(e.submittedAt))),r.forEach((e=>{e.submittedAt&&"object"==typeof e.submittedAt&&"seconds"in e.submittedAt&&(e.submittedAt=new Date(a(e.submittedAt)).toISOString()),e.publishedAt&&"object"==typeof e.publishedAt&&"seconds"in e.publishedAt&&(e.publishedAt=new Date(a(e.publishedAt)).toISOString()),e.updatedAt&&"object"==typeof e.updatedAt&&"seconds"in e.updatedAt&&(e.updatedAt=new Date(a(e.updatedAt)).toISOString())})),te(r)}catch(e){de(i("list.error_description"))}finally{oe(!1)}}))])}),[e,t,i]);const pe=e=>{const t=se.get(e);return t?t.displayName:"Onbekende gebruiker"},be=e=>y(U,"public_d","projects",t,"forms",ee,e.id),he=p.useMemo((()=>({all:l.length,published:l.filter((e=>!0===e.isPublished)).length,unpublished:l.filter((e=>!0!==e.isPublished)).length})),[l]),fe=p.useMemo((()=>l.filter((e=>"published"===ce?!0===e.isPublished:"unpublished"!==ce||!0!==e.isPublished))),[l,ce]),je="de"===r.language?"de-DE":"en"===r.language?"en-US":"nl-NL",xe=e=>e.isPublished?c.jsx(N,{variant:"success",size:"sm",children:i("status.published")}):c.jsx(N,{variant:"warning",size:"sm",children:i("status.draft")}),ve=[{value:"all",label:`${i("filters.tab_all")} (${he.all})`},{value:"published",label:`${i("filters.tab_published")} (${he.published})`},{value:"unpublished",label:`${i("filters.tab_unpublished")} (${he.unpublished})`}],ge=p.useMemo((()=>[{id:"company",header:i("columns.company"),label:i("columns.company"),priority:"primary",sortable:!0,sortValue:e=>(e.companyName||"").toLowerCase(),accessor:e=>{const t=(e.description||"").replace(/<[^>]*>/g,"").trim(),s=(e.companyName||"??").substring(0,2).toUpperCase();return c.jsxs("div",{className:"flex items-center gap-2.5 min-w-0",children:[e.logoUrl?c.jsx("img",{className:"h-8 w-8 rounded-[var(--radius-sm)] object-cover shrink-0 ring-1 ring-[var(--color-border)]",src:e.logoUrl,alt:"",onError:e=>{e.target.style.display="none"}}):c.jsx("div",{className:A("h-8 w-8 rounded-[var(--radius-sm)] shrink-0","bg-[var(--color-bg)] border border-[var(--color-border)]","flex items-center justify-center","[font-size:var(--text-xs)] font-semibold text-[var(--color-text-subtle)]"),children:s}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"font-medium text-[var(--color-text)] truncate",children:e.companyName||"Onbekend bedrijf"}),t&&c.jsx("div",{className:"[font-size:var(--text-xs)] text-[var(--color-text-subtle)] truncate",title:t,children:t.length>60?`${t.substring(0,60)}…`:t})]})]})}},{id:"booth",header:i("columns.booth"),label:i("columns.booth"),accessor:e=>{const t=(s=e).boothIds&&0!==s.boothIds.length?s.boothIds.map((e=>re.get(e)||e)):[];var s;if(0===t.length)return c.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"—"});const i=t.slice(0,2),r=t.length-i.length;return c.jsxs("div",{className:"inline-flex items-center gap-1 max-w-full",title:t.join(", "),children:[i.map(((e,t)=>c.jsx(N,{variant:"info",size:"sm",children:e},t))),r>0&&c.jsxs(N,{variant:"neutral",size:"sm",children:["+",r]})]})}},{id:"owner",header:i("columns.owner"),label:i("columns.owner"),sortable:!0,sortValue:e=>pe(e._userId).toLowerCase(),accessor:e=>c.jsx("span",{className:"text-[var(--color-text-muted)] truncate",title:pe(e._userId),children:pe(e._userId)})},{id:"status",header:i("columns.status"),label:i("columns.status"),align:"center",sortable:!0,sortValue:e=>e.isPublished?1:2,accessor:xe},{id:"date",header:i("columns.date"),label:i("columns.date"),sortable:!0,sortValue:e=>new Date(e.publishedAt||e.submittedAt||0).getTime(),accessor:e=>{return c.jsx("span",{className:"text-[var(--color-text-muted)]",children:e.submittedAt?(t=e.submittedAt,new Date(t).toLocaleDateString(je,{day:"2-digit",month:"short",year:"numeric"})):"—"});var t}},{id:"actions",header:"",label:"",sortable:!1,align:"right",accessor:r=>{const l=(e=>{const t=(e.companyName||"").toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-");return t?`/exhibitors/${t}`:null})(r);return c.jsxs("div",{className:"inline-flex items-center gap-1",onClick:e=>e.stopPropagation(),children:[l&&c.jsx(z,n(o({as:"a"},{href:l,target:"_blank"}),{variant:"ghost",size:"sm","aria-label":i("actions.view"),title:i("actions.view"),icon:c.jsx(I,{size:14})})),c.jsx(z,{variant:"ghost",size:"sm","aria-label":i("actions.edit"),title:i("actions.edit"),icon:c.jsx(P,{size:14}),onClick:()=>s(`/tenants/${e}/projects/${t}/profile-manager/edit/${r.id}`)}),c.jsx(z,{variant:"ghost",size:"sm","aria-label":i(r.isPublished?"actions.unpublish":"actions.publish"),title:i(r.isPublished?"actions.unpublish":"actions.publish"),icon:r.isPublished?c.jsx(q,{size:14}):c.jsx(S,{size:14}),onClick:()=>{return e=r,void d(null,null,(function*(){const t=!e.isPublished;try{yield v(be(e),{isPublished:t,publishedAt:t?new Date:null}),te((s=>s.map((s=>s.id===e.id?n(o({},s),{isPublished:t,publishedAt:t?(new Date).toISOString():void 0}):s)))),me("success",i(t?"toast.publish_success":"toast.unpublish_success",{company:e.companyName}))}catch(s){me("error",i(t?"toast.publish_error":"toast.unpublish_error"))}}));var e}}),c.jsx(z,{variant:"ghost",size:"sm","aria-label":i("actions.delete"),title:i("actions.delete"),icon:c.jsx(k,{size:14,className:"text-[var(--color-danger)]"}),onClick:()=>{return e=r,void d(null,null,(function*(){const t=e.companyName||"Onbekend bedrijf",s=pe(e._userId);if(yield a({variant:"danger",title:i("delete_confirm.title"),description:i("delete_confirm.description",{company:t,owner:s}),confirmLabel:i("delete_confirm.confirm_label"),requireTyping:t}))try{yield g(be(e)),te((t=>t.filter((t=>
1t.id!==e.id)))),me("success",i("toast.delete_success",{company:t}))}catch(r){me("error",i("toast.delete_error"))}}));var e}})]})}}]),[i,e,t,je,se,re]),ye="all"===ce,_e=ne?c.jsx(F,{size:"sm",title:i("list.error_title"),description:ne}):ye?c.jsx(T,{size:"sm",icon:c.jsx($,{size:32}),title:i("list.empty_title"),description:i("list.empty_description"),primaryAction:c.jsx(O,{variant:"primary",size:"sm",icon:c.jsx(E,{size:14}),onClick:()=>s(`/tenants/${e}/projects/${t}/profile-manager/create`),children:i("header.new_profile")})}):c.jsx(T,{size:"sm",icon:c.jsx(B,{size:32}),title:i("list.no_results_title"),description:i("list.no_results_description"),primaryAction:c.jsx(O,{variant:"secondary",size:"sm",onClick:()=>ue("all"),children:i("filters.tab_all")})}),we=c.jsx(O,{variant:"primary",size:"sm",icon:c.jsx(E,{size:14}),onClick:()=>s(`/tenants/${e}/projects/${t}/profile-manager/create`),children:i("header.new_profile")});return c.jsxs(V,{projectId:t,title:i("title"),actions:we,defaultContentWidth:"full",allowedRoles:["admin"],children:[c.jsxs("div",{className:A("mb-4 flex items-start gap-2 px-4 py-3 rounded-[var(--radius-md)]","bg-[var(--color-info-soft)] border border-transparent"),children:[c.jsx(W,{size:16,strokeWidth:2,"aria-hidden":!0,className:"shrink-0 mt-0.5 text-[var(--color-info)]"}),c.jsx("p",{className:"[font-size:var(--text-sm)] text-[var(--color-info)]",children:i("info_text")})]}),c.jsx("div",{className:"mb-4",children:c.jsx(C,{items:ve,value:ce,onChange:ue,"aria-label":i("columns.status")})}),le?c.jsxs("div",{className:"flex items-center justify-center gap-2 py-12 text-[var(--color-text-muted)]",children:[c.jsx(D,{size:"sm"}),c.jsx("span",{className:"[font-size:var(--text-sm)]",children:i("list.loading")})]}):c.jsx(L,{data:fe,columns:ge,rowKey:e=>e.id,defaultSort:{columnId:"date",direction:"desc"},empty:_e,mobileVariant:"cards",stickyFirstColumn:!0})]})};export{te as ProfileManagerPage,te as default};
2//# sourceMappingURL=ProfileManagerPage-CCTd-l_I.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.