PageSourceSearch

https://quantumworldcongress.com/assets/SpeakerPhotoDownloadsPage-CtsKmW93.js

js quantumworldcongress.com collected 2026-10-02 05:34:11 UTC 11,362 bytes, 1 lines download raw bytes

1import{c as g,r as d,j as e,X as k,C as S}from"./index-BxdPDdEY.js";import{L as P}from"./Layout-LEiNYrtt.js";import{d as C}from"./speakers-9rf5S7cE.js";import{d as M}from"./sessions-CCOTOlGN.js";import{D as w}from"./download-CPiS9xF-.js";import{S as L}from"./search-hGqeTDsH.js";import{E as z}from"./eye-GFDze04r.js";import"./data-CbTFfWaG.js";import"./chevron-down-CM8wihnU.js";import"./maximize-2-DIAtKpo5.js";import"./mail-DvqzBI4k.js";import"./pitchCompetitionMedia-BJSh0ghv.js";const E=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],_=g("eye-off",E);const R=[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]],D=g("image-off",R);const $=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],b=g("loader-circle",$),q=t=>t.replace(/^(Dr\.|Prof\.|Mr\.|Ms\.|Gov\.|Sen\.|Rep\.)\s+/i,""),m=t=>q(t).trim().toLowerCase(),A=new Set(["andrew hammond","sean miner"]);function U(){return d.useMemo(()=>{const t=new Map;for(const s of C){const a=m(s.name);t.set(a,{id:a,name:s.name,org:s.org,image:s.image,sessionCount:0})}for(const s of M)for(const a of s.speakers??[]){const i=m(a.name),o=t.get(i);o?(o.sessionCount+=1,!o.image&&a.image&&(o.image=a.image)):t.set(i,{id:i,name:a.name,org:a.org,image:a.image,sessionCount:1})}const n=Array.from(t.values());n.sort((s,a)=>s.name.localeCompare(a.name));const r=n.filter(s=>s.image),c=n.filter(s=>!s.image&&s.sessionCount>0&&!A.has(m(s.name))).sort((s,a)=>a.sessionCount-s.sessionCount||s.name.localeCompare(a.name));return{withPhoto:r,scheduledWithoutPhoto:c}},[])}function O({speaker:t}){const[n,r]=d.useState(!1),[c,s]=d.useState(!1),[a,i]=d.useState(!1),[o,u]=d.useState(!1),j=async()=>{if(t.image)try{u(!0);const h="/"+t.image,l=await fetch(h);if(!l.ok)throw new Error("Network response was not ok");const f=await l.blob(),x=window.URL.createObjectURL(f),p=document.createElement("a");p.href=x;const y=t.name.replace(/[^a-z0-9]/gi,"-").toLowerCase(),N=t.image.split("?")[0].split(".").pop()||"png";p.download=`qwc-2026-speaker-${y}.${N}`,document.body.appendChild(p),p.click(),p.remove(),window.URL.revokeObjectURL(x)}catch(h){console.error(h);const l=document.createElement("a");l.href="/"+t.image;const f=t.name.replace(/[^a-z0-9]/gi,"-").toLowerCase(),x=t.image.split("?")[0].split(".").pop()||"png";l.download=`qwc-2026-speaker-${f}.${x}`,l.target="_blank",document.body.appendChild(l),l.click(),l.remove()}finally{u(!1)}},v=()=>{n?(r(!1),s(!1),i(!1)):(r(!0),s(!0),i(!1))};return e.jsxs("article",{className:"border border-slate-200 bg-white hover:border-[#14f7ff] transition-colors shadow-sm",children:[e.jsxs("div",{className:"flex flex-col gap-4 p-5 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-display text-xl uppercase leading-tight text-[#0d0d36]",children:t.name}),e.jsx("p",{className:"mt-1 font-sans text-sm text-slate-600",children:t.org})]}),e.jsxs("div",{className:"flex shrink-0 gap-2",children:[e.jsxs("button",{type:"button",onClick:v,"aria-expanded":n,className:"inline-flex items-center justify-center gap-2 border border-[#0d0d36] px-4 py-2.5 font-sans text-xs font-bold uppercase tracking-wider text-[#0d0d36] transition-colors hover:bg-slate-100 focus-visible:ring-2 focus-visible:ring-[#14f7ff] outline-none",children:[n?e.jsx(_,{className:"h-4 w-4"}):e.jsx(z,{className:"h-4 w-4"}),n?"Hide":"Preview"]}),e.jsxs("button",{type:"button",onClick:j,disabled:o,className:"inline-flex items-center justify-center gap-2 border border-[#0d0d36] bg-[#0d0d36] px-4 py-2.5 font-sans text-xs font-bold uppercase tracking-wider text-white transition-colors hover:bg-black disabled:opacity-50 focus-visible:ring-2 focus-visible:ring-[#14f7ff] outline-none",children:[o?e.jsx(b,{className:"h-4 w-4 animate-spin"}):e.jsx(w,{className:"h-4 w-4"}),o?"Saving...":"Download Photo"]})]})]}),n&&e.jsx("div",{className:"border-t border-slate-200 bg-slate-50 p-6 flex justify-center",children:e.jsxs("div",{className:"relative w-full max-w-xs aspect-square border border-slate-200 bg-white overflow-hidden shadow-sm",style:{backgroundImage:"linear-gradient(45deg, #f1f5f9 25%, transparent 25%), linear-gradient(-45deg, #f1f5f9 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f1f5f9 75%), linear-gradient(-45deg, transparent 75%, #f1f5f9 75%)",backgroundSize:"20px 20px",backgroundPosition:"0 0, 0 10px, 10px -10px, -10px 0px"},children:[c&&!a&&e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-3 text-slate-500",children:[e.jsx(b,{className:"h-6 w-6 animate-spin"}),e.jsx("span",{className:"font-sans text-[10px] font-bold uppercase tracking-widest",children:"Loading Preview"})]}),a?e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-2 text-red-500 p-4 text-center bg-white",children:[e.jsx(S,{className:"h-6 w-6"}),e.jsx("span",{className:"font-sans text-xs",children:"Failed to load preview"})]}):e.jsx("img",{src:"/"+t.image,alt:`Preview of ${t.name}`,className:`w-full h-full object-contain transition-opacity duration-300 ${c?"opacity-0":"opacity-100"}`,onLoad:()=>s(!1),onError:()=>{s(!1),i(!0)}})]})})]})}function Y(){const{withPhoto:t,scheduledWithoutPhoto:n}
1=U(),[r,c]=d.useState(""),s=m(r),a=d.useMemo(()=>s?t.filter(o=>m(o.name).includes(s)||m(o.org).includes(s)):[],[s,t]),i=a.slice(0,12);return e.jsxs(P,{hideSponsorMarquee:!0,hideFooterNewsletter:!0,children:[e.jsx("div",{className:"bg-[#0d0d36] px-6 py-12 md:px-12 md:py-16 text-white border-b-4 border-[#14f7ff]",children:e.jsxs("div",{className:"mx-auto max-w-[1600px]",children:[e.jsx("p",{className:"mb-4 font-sans text-xs font-bold uppercase tracking-[0.2em] text-[#14f7ff]",children:"Production Utility"}),e.jsx("h1",{className:"font-display text-4xl uppercase leading-none md:text-6xl tracking-tight",children:"Speaker Photos"}),e.jsx("p",{className:"mt-5 max-w-2xl font-sans text-lg text-white/75 leading-relaxed",children:"Locate approved speaker headshots, preview them on demand, and download original files. Track scheduled speakers who are missing photos."}),e.jsxs("a",{href:"/downloads/qwc-2026-speaker-photos.zip",download:"QWC-2026-Speaker-Photos.zip",className:"mt-8 inline-flex items-center justify-center gap-2.5 border border-white bg-[#14f7ff] px-6 py-4 font-sans text-sm font-bold uppercase tracking-widest text-[#0d0d36] shadow-[4px_4px_0_0_#ffffff] transition-transform hover:translate-x-0.5 hover:translate-y-0.5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-white",children:[e.jsx(w,{className:"h-5 w-5","aria-hidden":"true"}),"Download All ",t.length," Speaker Photos (.zip)"]})]})}),e.jsx("div",{className:"bg-slate-50 min-h-screen py-12",children:e.jsxs("div",{className:"mx-auto max-w-[1600px] px-4 md:px-8 grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12",children:[e.jsx("div",{className:"lg:col-span-8",children:e.jsxs("div",{className:"bg-white border border-slate-200 shadow-sm p-6 md:p-8",children:[e.jsx("label",{htmlFor:"photo-search",className:"mb-3 block font-sans text-xs font-bold uppercase tracking-widest text-[#0d0d36]",children:"Search Approved Photos"}),e.jsxs("div",{className:"relative",children:[e.jsx(L,{className:"pointer-events-none absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-slate-400"}),e.jsx("input",{id:"photo-search",type:"search",value:r,onChange:o=>c(o.target.value),placeholder:"Search by speaker name or organization...",autoComplete:"off",className:"w-full border-2 border-slate-300 bg-white py-4 pl-12 pr-12 font-sans text-base text-[#0d0d36] outline-none transition-colors placeholder:text-slate-400 focus:border-[#1800ad]"}),r&&e.jsx("button",{type:"button",onClick:()=>c(""),className:"absolute right-3 top-1/2 -translate-y-1/2 p-2 text-slate-400 hover:text-[#0d0d36] transition-colors focus-visible:outline-[#1800ad]","aria-label":"Clear search",children:e.jsx(k,{className:"h-5 w-5"})})]}),e.jsx("div",{className:"mt-8","aria-live":"polite",children:r.trim()?a.length===0?e.jsxs("div",{className:"border border-slate-200 bg-slate-50 p-6 md:p-8 text-center sm:text-left",children:[e.jsx("p",{className:"font-display text-xl uppercase text-[#0d0d36]",children:"No matching photos found"}),e.jsx("p",{className:"mt-2 font-sans text-sm text-slate-600",children:"Try checking the Missing Photos list to see if they are scheduled but lack a photo."})]}):e.jsxs("div",{children:[e.jsxs("p",{className:"mb-4 font-sans text-xs font-bold uppercase tracking-widest text-slate-500",children:[a.length," ",a.length===1?"Result":"Results"]}),e.jsx("div",{className:"space-y-4",children:i.map(o=>e.jsx(O,{speaker:o},o.id))}),a.length>i.length&&e.jsxs("p",{className:"mt-6 font-sans text-sm text-slate-500 border-l-2 border-slate-300 pl-4 py-1",children:["Showing first ",i.length," matching speakers. Refine your search to see more."]})]}):e.jsxs("div",{className:"border-l-2 border-[#14f7ff] pl-5 py-3 font-sans text-sm text-slate-600 bg-slate-50",children:[e.jsx("span",{className:"font-bold text-[#0d0d36]",children:t.length})," approved photos available. Search to locate and download."]})})]})}),e.jsx("div",{className:"lg:col-span-4",children:e.jsxs("div",{className:"bg-white border-t-4 border-[#ff66c4] shadow-sm sticky top-24",children:[e.jsxs("div",{className:"p-6 border-b border-slate-200 bg-slate-50",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(D,{className:"h-5 w-5 text-[#ff66c4]"}),e.jsx("h3",{className:"font-display text-2xl uppercase leading-none text-[#0d0d36]",children:"Missing Photos"})]}),e.jsxs("p",{className:"font-sans text-sm text-slate-600",children:["Scheduled speakers without an approved headshot. (",n.length,")"]})]}),e.jsx("div",{className:"max-h-[calc(100vh-300px)] overflow-y-auto",children:n.length===0?e.jsx("div",{className:"p-8 text-center text-slate-500 font-sans text-sm",children:"All scheduled speakers have photos!"}):e.jsx("ul",{className:"divide-y divide-slate-100",children:n.map(o=>e.jsx("li",{className:"p-5 hover:bg-slate-50 transition-colors",children:e.jsxs("div",{className:"flex justify-between items-start gap-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"font-display text-lg uppercase leading-tight text-[#0d0d36] truncate",children:o.name}),e.jsx("p",{className:"font-sans text-xs text-slate-500 truncate mt-1.5",children:o.org})]}),e.jsx("div",{className:"shrink-0 text-right",children:e.jsxs("span",{className:"inline-flex items-center justify-center bg-slate-200 px-2 py-1 rounded font-sans text-[10px] font-bold uppercase tracking-widest text-slate-700",children:[o.sessionCount," ",o.sessionCount===1?"Session":"Sessions"]})})]})},o.id))})})]})})]})})]})}export{Y as SpeakerPhotoDownloadsPage};

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.