PageSourceSearch

https://devconnect.org/_next/static/chunks/pages/perks/pod-viewer-3f86239b30a4ef53.js

js devconnect.org collected 2026-10-03 21:02:07 UTC 11,441 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6650],{12794:e=>{e.exports={shadow:"perks_shadow__SW_RM","devconnect-overlay":"perks_devconnect-overlay__Ddkrp"}},23729:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__N_SSG:()=>v,default:()=>w});var a=r(73154),s=r(96810),n=r(78639),o=r(16447),i=r.n(o),l=r(12794),d=r.n(l),c=r(42155),A=r.n(c),m=r(92586),x=r(84575),b=r(58407),p=r(68178);let g=(0,r(81333).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),h={hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.1,delayChildren:.2}}},u={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.6,ease:(0,b.A)(.25,.1,.25,1)}}},f={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.6,ease:(0,b.A)(.25,.1,.25,1),delay:.1}}},y=({podData:e,className:t=""})=>{let[r,n]=(0,s.useState)(null),[o,i]=(0,s.useState)(null);(0,s.useEffect)(()=>{console.log("ZupassPodViewer mounted")},[]),(0,s.useEffect)(()=>{if(e){console.log("podData",e);try{let t="string"==typeof e?JSON.parse(e):e;n(t),i(null)}catch(e){i(`Error parsing POD data: ${e instanceof Error?e.message:"Unknown error"}`),n(null)}}else{let e=new URLSearchParams(window.location.search).get("pod");if(e){if(console.log("podParam",e),e?.includes("pod_encoded")){i("We apologize, we sent the wrong link in the email. We'll follow up with the correct link in the next few days."),n(null);return}try{let t=JSON.parse(e);n(t),i(null)}catch(t){try{let t=JSON.parse(decodeURIComponent(e));n(t),i(null)}catch(e){i(`Error parsing POD data: ${e instanceof Error?e.message:"Unknown error"}. The JSON must be properly URL-encoded.`),n(null)}}}else i("No POD data found. Please provide a POD object as a prop or URL parameter.")}},[e]);let l=(e,t,r=!1)=>{let s=t;if("boolean"==typeof t)s=(0,a.jsx)("span",{className:`inline-block px-2 py-1 rounded text-sm font-semibold ${t?"bg-[#9BEFA0] text-gray-800 border border-black border-solid":"bg-gray-200 text-gray-800"}`,children:t?"Yes":"No"});else if("number"==typeof t&&e.toLowerCase().includes("timestamp"))s=t?new Date(t).toLocaleString():"N/A";else if(r)s=(0,a.jsx)("div",{className:"font-mono text-sm bg-gray-50 p-2 rounded border border-gray-200 break-all",children:t});else if(e.toLowerCase().includes("image")&&"string"==typeof t&&t){let r=t;r.startsWith("http://")||r.startsWith("https://")||(r="https://zupass.org"+r),s=(0,a.jsx)("div",{className:"text-center my-5",children:(0,a.jsx)("img",{src:r,alt:e,className:"max-w-full h-auto rounded-lg shadow-lg my-4",onError:e=>{e.target.style.display="none"}})})}return(0,a.jsxs)("div",{className:"flex mb-3 items-start flex-col sm:flex-row",children:[(0,a.jsxs)("div",{className:"font-semibold text-[#4B4B66] min-w-[200px] flex-shrink-0 mb-1 sm:mb-0",children:[e,":"]}),(0,a.jsx)("div",{className:"text-gray-800 break-all flex-1",children:s})]},e)},d=()=>{if(!r)return void alert("No POD data found");let e="pod-data.json";"string"==typeof r.entries.ticketId&&r.entries.ticketId.length>0&&(e=`pod-${r.entries.ticketId.substring(0,8)}.json`);let t="";try{t=JSON.stringify(r,null,2)}catch(e){alert("Error serializing POD data: "+(e instanceof Error?e.message:"Unknown error"));return}try{let r=new Blob([t],{type:"application/json"}),a=URL.createObjectURL(r),s=document.createElement("a");s.href=a,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(a)}catch(e){alert("Error downloading POD: "+(e instanceof Error?e.message:"Unknown error"))}},c=()=>{let e=encodeURIComponent(JSON.stringify({entries:{attendeeEmail:"[email protected]",attendeeName:"Demo User",eventId:"5074edf5-f079-4099-b036-22223c0c6995",eventLocation:"Bangkok, Thailand",eventName:"Devcon 7",eventStartDate:"2024-11-09T08:00:00.000",imageUrl:"/images/devcon/devcon-landscape.webp",isAddOn:!1,isConsumed:!0,isRevoked:!1,productId:"08482abb-8767-47aa-be47-2691032403b6",ticketCategory:4,ticketId:"demo-ticket-id-5678",ticketName:"Demo Ticket",ticketSecret:"demo-secret-1234",timestampConsumed:0x193193fd5cc,timestampSigned:0x1979c9b57d7},signature:"demo-signature-abcdef1234567890",signerPublicKey:"demoSignerPublicKey0987654321"})),t=`${window.location.origin}${window.location.pathname}?pod=${e}`;window.location.href=t};return o?(0,a.jsx)(p.P.div,{className:A()("max-w-4xl mx-auto p-5",t),variants:h,initial:"hidden",animate:"visible",children:(0,a.jsxs)(p.P.div,{className:"bg-white rounded-xl p-8 shadow-md border border-gray-200",variants:u,children:[(0,a.jsx)(p.P.h1,{className:"text-4xl font-bold text-gray-800 text-center mb-8 font-secondary",variants:f,children:"\uD83C\uDFAB Zupass POD Viewer"}),(0,a.jsxs)(p.P.div,{className:"bg-red-50 border border-red-200 text-red-800 p-4 rounded-lg overflow-hidden",variants:u,children:[(0,a.jsx)("h2",{className:"text-xl font-semibold mb-2 font-secondary",children:"Error"}),(0,a.jsx)("p",{className:"mb-3",children:o}),o.includes("URL-encoded")&&(0,a.jsxs)("p",{className:"mb-3",children:["Use ",(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-1 rounded",children:"encodeURIComponent(JSON.stringify(podObject))"})," ","before adding to URL."]}),(0,a.jsx)(p.P.div,{className:"mt-4",variants:u,children:(0,a.jsx)("button",{onClick:c,className:"inline-block bg-[#9BEFA0] hover:bg-[#8BDF90] text-gray-800 px-6 py-3 rounded-lg font-semibold transition-colors cursor-pointer border border-black border-solid transform hover:scale-105 transition-transform duration-300",type:"button",children:"\uD83C\uDFAB View Demo"})})]})]})}):r?(0,a.jsx)(p.P.div,{className:A()("max-w-4xl mx-auto p-5",t),variants:h,initial:"hidden",animate:"visible",children:(0,a.jsxs)(p.P.div,{style:{borderRadius:"1px",border:"1px solid var(--Primary-light-blue, #74ACDF)",background:"linear-gradient(180deg, #F7FBFF -6.53%, #C4DDF4 100%)",padding:"2rem",boxShadow:"0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.1)"},className:A()("max-w-4xl mx-auto",t),variants:u,children:[(0,a.jsx)(p.P.h1,{className:"text-4xl font-bold text-gray-800 text-center mb-8 font-secondary",variants:f,children:"Devcon SEA Zupass POD \uD83C\uDFAB"}),(0,a.jsx)(p.P.div,{className:"text-center mt-8 relative z-20",variants:u,children:(0,a.jsxs)("div",{className:"size- px-8 py-4 bg-white shadow-[0px_4px_0px_0px_rgba(75,75,102,1.00)] outline outline-1 outline-offset-[-1px] outline-[#4b4b66] inline-flex justify-center items-center gap-2 cursor-pointer select-none",onClick:d,role:"button",tabIndex:0,onKeyPress:e=>{("Enter"===e.key||" "===e.key)&&d()},children:[(0,a.jsx)("div",{className:"text-center justify-start text-[#36364c] text-base font-bold font-['Roboto'] leading-none",children:"Download POD (.json)"}),(0,a.jsx)("div",{className:"size-5 flex items-center justify-center",children:(0,a.jsx)(g,{className:"w-[15px] h-[15px] text-[#36364c]"})})]})}),(0,a.jsx)("div",{className:"my-8 self-stretch h-0 outline outline-1 outline-offset-[-0.50px] outline-[#b5b5c8]"}),(0,a.jsxs)(p.P.div,{variants:h,className:"pt-8  ",children:[r.entries&&((e,t)=>{if(!t||"object"!=typeof t)return null;let r=[];for(let[e,a]of Object.entries(t)){let t=e.replace(/([A-Z])/g," $1").replace(/^./,e=>e.toUpperCase()),s=e.toLowerCase().includes("id")||e.toLowerCase().includes("secret")||e.toLowerCase().includes("signature");("object"!=typeof a||null===a||Array.isArray(a))&&r.push(l(t,a,s))}return(0,a.jsxs)(p.P.div,{variants:u,className:"mb-6 p-5 border border-gray-200 rounded-lg bg-white shadow-sm",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-800 mt-0 mb-4 pb-2 border-b-2 border-[#C6E1F9] font-secondary",children:e}),r]},e)})("Zupass POD Data",r.entries),(0,a.jsxs)(p.P.div,{variants:u,className:"mb-6 p-5 border border-gray-200 rounded-lg bg-white shadow-sm",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-800 mt-0 mb-4 pb-2 border-b-2 border-[#C6E1F9] font-secondary",children:"Signature Info"}),l("Signature",r.signature,!0),l("Signer Public Key",r.signerPublicKey,!0)]})]})]})}):(0,a.jsx)(p.P.div,{className:A()("max-w-4xl mx-auto p-5",t),variants:h,initial:"hidden",animate:"visible",children:(0,a.jsxs)(p.P.div,{className:"bg-white rounded-xl p-8 shadow-md border border-gray-200",variants:u,children:[(0,a.jsx)(p.P.h1,{className:"text-4xl font-bold text-gray-800 text-center mb-8 font-secondary",variants:f,children:"Devcon SEA Zupass POD \uD83C\uDFAB"}),(0,a.jsx)("h2",{className:"text-xl font-semibold mb-2 font-secondary",children:"No POD Data Found"}),(0,a.jsxs)(p.P.div,{className:"bg-red-50 border border-red-200 text-red-800 p-4 rounded-lg",variants:u,children:[(0,a.jsx)("h2",{className:"text-xl font-semibold mb-2 font-secondary",children:"No POD Data Found"}),(0,a.jsx)("p",{className:"mb-3",children:"Please provide a POD object as a prop or URL parameter."}),(0,a.jsxs)("p",{className:"mb-3",children:["Example: ?pod=",encodeURIComponent('{"id":"...","claim":{...}}')]}),(0,a.jsx)("p",{className:"mb-3 font-semibold",children:"Note: The JSON must be URL-encoded when passed as a parameter."}),(0,a.jsx)(p.P.div,{className:"mt-4",variants:u,children:(0,a.jsx)("button",{onClick:c,className:"inline-block bg-[#9BEFA0] hover:bg-[#8BDF90] text-gray-800 px-6 py-3 rounded-lg font-semibold transition-colors cursor-pointer border border-black border-solid transform hover:scale-105 transition-transform duration-300",type:"button",children:"\uD83C\uDFAB View Demo"})})]})]})})};var v=!0;let w=(0,n.withTranslations)(e=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Header,{active:!0,fadeOutOnScroll:!0,keepMenuOnScroll:!0}),(0,a.jsxs)("div",{className:A()("relative h-[28vh] w-full text-black bg-black flex flex-col justify-end overflow-hidden"),children:[(0,a.jsx)(i(),{src:m.A,alt:"Voxel art background",className:A()(d().argentina,"object-cover absolute object-[100%,90%] h-full w-full opacity-80")}),(0,a.jsx)("div",{className:"section z-10 pb-1",children:(0,a.jsx)("div",{className:"flex justify-between items-end",children:(0,a.jsx)(i(),{src:x.A,alt:"Page Title",className:"contain w-[380px] translate-x-[-3%]"})})}),(0,a.jsx)("div",{className:d()["devconnect-overlay"]})]}),(0,a.jsx)(y,{}),(0,a.jsx)(n.Footer,{})]}))},84575:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a={src:"/_next/static/media/perks-voxel.20d001ae.png",height:176,width:958,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAABCAMAAADU3h9xAAAABlBMVEWnrr6mr788cK8uAAAAAnRSTlNZSovjg6sAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAARSURBVHicY2BkYGBkYGBgBAAAFwAE3R1P3QAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:1}},92586:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a={src:"/_next/static/media/voxel-car.1f87ff63.jpg",height:2160,width:3840,blurDataURL:"data:image/jpeg;
1base64,/9j/2wBDAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/v/2wBDAQoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/v/wgARCAAFAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAAAsBD/AP/EABoQAAIDAQEAAAAAAAAAAAAAAAIDARESAEL/2gAIAQEAAT8AQhpGDofQlgZDNxc+u//EABgRAAIDAAAAAAAAAAAAAAAAAAECABEh/9oACAECAQE/ACzWdn//xAAYEQACAwAAAAAAAAAAAAAAAAABAgARIv/aAAgBAwEBPwAqtDIn/9k=",blurWidth:8,blurHeight:5}},92856:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/perks/pod-viewer",function(){return r(23729)}])}},e=>{e.O(0,[811,4702,1460,315,4019,636,6593,8792],()=>e(e.s=92856)),_N_E=e.O()}]);

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.