PageSourceSearch

https://ccported01.onrender.com/_app/immutable/nodes/7.BWDktWsN.js

js ccported01.onrender.com collected 2026-10-03 11:40:08 UTC 8,624 bytes, 5 lines download raw bytes

1import"../chunks/DsnmJJEf.js";import{o as _e,h as ke,d as ye,s as D}from"../chunks/BOOa181H.js";import{p as Ie,g as Te,k as e,f as p,a as T,b as m,c as be,Z as v,af as we,s as h,t as S,Y as c,$ as Ee,d as _,r as k,a0 as Q,A as Se}from"../chunks/YEsR6uFO.js";import{i as y}from"../chunks/C7VAiwEf.js";import{s as L}from"../chunks/D1LHmu9n.js";import{b as Pe}from"../chunks/x5owbScQ.js";import{C as Re,c as xe,g as Ae,a as Ce,j as De,k as Ne,S as i,w as X,e as P,i as ee,t as Oe,l as Le,m as Be,n as Ge}from"../chunks/BX89j6Ey.js";import{i as Ye,u as $e}from"../chunks/CeMpAR9-.js";import{p as N}from"../chunks/CxSO0-5B.js";import{A as Ke}from"../chunks/BnRXofNu.js";class Me extends Re.classBuilder().ep({...xe,ResourceArn:{type:"contextParams",name:"TableName"}}).m(function(R,l,b,I){return[Ae(b,this.serialize,this.deserialize),Ce(b,R.getEndpointParameterInstructions())]}).s("DynamoDB_20120810","GetItem",{}).n("DynamoDBClient","GetItemCommand").f(void 0,void 0).ser(De).de(Ne).build(){}var Ue=we(p('<script type="text/javascript" src="https://cdn.applixir.com/applixir.app.v6.0.1.js"><\/script><!>',1)),qe=()=>location.reload(),ze=p("<p> </p>"),Fe=(B,R)=>c(R,!0),He=p('<button class="svelte-unygx3">Continue without supporting us</button>'),je=p(`<div class="container svelte-unygx3"><div class="adblock-warning svelte-unygx3"><h2>Ad Blocker Detected</h2> <p>CCPorted relies on ads to keep the lights on. Please consider
2                disabling your ad blocker for this site.</p> <p>Only 5% of users have disabled their ad blocker. Be part of the
3                solution!</p> <button class="svelte-unygx3">I've disabled my ad blocker, reload the game</button> <!></div></div>`),We=p('<img class="img svelte-unygx3"/> <div style="color: #aaa;"> </div>',1),Ve=p('<div class="img svelte-unygx3"></div>'),Ze=p('<h2 class="svelte-unygx3"> </h2> <p class="svelte-unygx3"> </p> <!>',1),Je=p('<div class="play svelte-unygx3"><!> <button class="svelte-unygx3">Play Game</button></div> <div id="ad-container"></div>',1),Qe=p('<!> <iframe frameborder="0" allowfullscreen="" class="svelte-unygx3"></iframe>',1),Xe=p('<div class="container svelte-unygx3"><h2>Error</h2> <p> </p></div>'),et=p('<div class="container svelte-unygx3"><h2>Loading...</h2></div>'),tt=p("<!> <!> <!>",1);function mt(B,R){Ie(R,!0);let l=v(null),b=v(!1),I=v(null),x=v(15),q=v(!1),z=v(!0);async function te(){console.log("[R][PLAY][fetchGameData] Fetching game data");const a=N.url.searchParams.get("gameID");if(!a){c(I,"Missing gameID query parameter");return}c(z,P.isAHost(),!0);const o={TableName:"games_list",Key:{gameID:{S:a}}},r=new Me(o);if(i.dynamoDBClient||(console.log("[R][PLAY][fetchGameData] Need to wait for tooling"),await X()),!i.dynamoDBClient){c(I,"DynamoDB client not initialized");return}const n=await i.dynamoDBClient.send(r);if(!n.Item){c(I,"Game not found");return}const g=$e(n.Item);c(l,g,!0),c(F,!1),c(b,await Ge(),!0),console.log("[R][PLAY][fetchGameData] Adblock detected:",e(b))}let F=v(!0),d=v(null),A=v(!1),C=v(""),H=v(!1),ae=v(!1),G=v(null);_e(async()=>{if(await ee(),await te(),e(I)||!e(l))return;const t=N.url.searchParams.get("r");if(!t||t!=="t")try{await Oe(e(l).gameID)}catch(a){console.error("Failed to track click:",a)}else{const a=new URL(N.url);a.searchParams.delete("r"),window.history.replaceState({},document.title,a.toString())}if(c(C,await Le(),!0),e(b)){const a=setInterval(()=>{e(x)>0?c(x,e(x)-1):clearInterval(a)},1e3)}else(async()=>await(async a=>{c(ae,a.adBlock,!0),c(H,a.adsEnabled,!0),c(G,a.adSlots,!0)})(await Ye()))()});function re(t){if(console.log("[R][PLAY][updateIframe] Updating to",t),t.name==P.currentServer.name||!e(d)||!e(l)||!Be)return;const a=t.address.split(",")[0],r=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(a)?"http":window.isSecureContext?"https":"http";e(d).src=`${r}://${a}/${t.path}${e(l).gameID}/index.html`;let s=N.url.searchParams;s.set("server",t.name);var n=new URL(N.url);n.search=s.toString(),window.history.pushState({},"",n)}Te(()=>{e(l)&&!e(I)&&(setTimeout(()=>{e(d)&&e(d).addEventListener("load",async t=>{if(!e(d))return;const a=e(d).contentWindow;if(a){if(i.awsReady||await X(),i.loggedIn&&i.user){console.log("[R][PLAY][updateIframe] Iframe loaded. User logged in: true");try{const o={refreshToken:i.user.tokens?.refreshToken,idToken:i.user.tokens?.idToken,accessToken:i.user.tokens?.accessToken};a.postMessage({action:"SET_TOKENS",content:o})}catch(o){console.error("Error sending tokens:",o)}}else console.log("[R][PLAY][updateIframe] Iframe loaded. User not logged in.");e(d).focus()}})}
3,0),window.addEventListener("message",async t=>{try{if(!t.data.fromInternal)return;if(!["http://localhost:5173",...P.servers.map(r=>`https://${r.hostname}`)].includes(t.origin)){console.warn(`[R][PLAY][updateIframe][message] Rejected message from unauthorized origin: ${t.origin}`);return}const o=t.data;if(o.action==="GET_TOKENS"){const r={requestId:o.requestId};if(i.loggedIn&&i.user){console.log("[R][PLAY][updateIframe][message-GET_TOKENS] User logged in, sending tokens");try{const s={refreshToken:i.user.tokens?.refreshToken,idToken:i.user.tokens?.idToken,accessToken:i.user.tokens?.accessToken};r.action="SET_TOKENS",r.content=s}catch(s){console.error("Error getting user tokens:",s),r.action="ERROR",r.error="Failed to get user tokens"}}else if(await ee(),i.loggedIn&&i.user)try{const s={refreshToken:i.user.tokens?.refreshToken,idToken:i.user.tokens?.idToken,accessToken:i.user.tokens?.accessToken};r.action="SET_TOKENS",r.content=s}catch(s){console.error("Error getting user tokens:",s),r.action="ERROR",r.error="Failed to get user tokens"}else r.action="NO_USER";if(console.log("[R][PLAY][updateIframe][message-GET_TOKENS] Sending response:",r),!t.source)return;t.source.postMessage(r,{targetOrigin:t.origin})}else if(o.action==="SWITCH_SERVER")re(o.server);else if(o.action!=="CACHE_ENABLED"){if(!t.source)return;t.source.postMessage({action:"UNKNOWN_ACTION",requestId:o.requestId},{targetOrigin:t.origin})}}catch(a){if(!t.source)return;t.source.postMessage({action:"ERROR",error:a.message,requestId:t.data.requestId})}}))});function oe(){if(console.log("[R][PLAY][play] Play button clicked"),console.log("[R][PLAY][play] Dev mode:",localStorage.getItem("devMode")),localStorage.getItem("devMode")=="true"){const o={apiKey:"193de488-c5ba-461a-8ccf-8309cbc721a2",injectionElementId:"ad-container",adStatusCallbackFn:r=>{console.log("OUTSIDE Ad status: ",r),["allAdsCompleted","click","complete","skipped","manuallyEnded","thankYouModalClosed"].includes(r)&&c(A,!0),r==="consentDeclined"&&(alert("Please consent to ads to play the game."),location.reload())},adErrorCallbackFn:r=>{console.log("Error: ",r.getError().data),c(A,!0)}};window.initializeAndOpenPlayer(o)}else c(A,!0);e(d)?(e(d).focus(),a()):setTimeout(()=>{e(d)?.focus(),a()},3e3);let t=0;function a(){setTimeout(()=>{e(d)?(e(d).blur(),e(d).focus()):++t<4&&a()},3e3)}}var j=tt();ke(t=>{var a=Ue();h(T(a)),S(()=>Ee.title=`
4        ${e(l)?`Playing ${e(l).fName}`:"Loading..."} | CCPorted
5    `),m(t,a)});var W=T(j);{var se=t=>{var a=je(),o=_(a),r=h(_(o),6);r.__click=[qe];var s=h(r,2);{var n=u=>{var f=ze(),w=_(f);k(f),S(()=>D(w,`You can continue in ${e(x)??""} seconds...`)),m(u,f)},g=u=>{var f=He();f.__click=[Fe,q],m(u,f)};y(s,u=>{e(x)>0?u(n):u(g,!1)})}k(o),k(a),m(t,a)};y(W,t=>{e(b)&&!e(q)&&e(z)&&e(A)&&t(se)})}var V=h(W,2);{var ne=t=>{var a=Qe(),o=T(a);{var r=n=>{var g=Je(),u=T(g),f=_(u);{var w=$=>{var Z=Ze(),K=T(Z),de=_(K,!0);k(K);var M=h(K,2),ue=_(M,!0);k(M);var me=h(M,2);{var ge=E=>{var O=We(),U=T(O),J=h(U,2),ve=_(J);k(J),S((pe,he)=>{L(U,"alt",`Cover art for ${e(l).fName}`),L(U,"src",`https://cdn.jsdelivr.net/gh/ccported/games@${e(C)??""}/${e(l).gameID??""}${e(l).thumbPath??""}`),D(ve,`Build: ${pe??""}...${he??""}`)},[()=>e(C).slice(0,7),()=>e(C).slice(-7)]),m(E,O)},fe=E=>{var O=Ve();m(E,O)};y(me,E=>{e(C).length>0?E(ge):E(fe,!1)})}S(()=>{D(de,e(l).fName),D(ue,e(l).description)}),m($,Z)};y(f,$=>{e(l)&&$(w)})}var Y=h(f,2);Y.__click=oe,k(u),Se(2),m(n,g)};y(o,n=>{e(A)||n(r)})}var s=h(o,2);Pe(s,n=>c(d,n),()=>e(d)),S(()=>{L(s,"src",`${P.currentServer.protocol}://${P.currentServer.hostname}${P.currentServer.path}${e(l).gameID}/index.html`),L(s,"title",`Playing ${e(l).fName}`)}),m(t,a)},ie=t=>{var a=Q(),o=T(a);{var r=n=>{var g=Xe(),u=h(_(g),2),f=_(u,!0);k(u),k(g),S(()=>D(f,e(I))),m(n,g)},s=n=>{var g=Q(),u=T(g);{var f=w=>{var Y=et();m(w,Y)};y(u,w=>{e(F)&&w(f)},!0)}m(n,g)};y(o,n=>{e(I)?n(r):n(s,!1)},!0)}m(t,a)};y(V,t=>{e(l)?t(ne):t(ie,!1)})}var le=h(V,2);{var ce=t=>{Ke(t,{get slotId(){return e(G).footer}})};y(le,t=>{e(H)&&e(G)&&t(ce)})}m(B,j),be()}ye(["click"]);export{mt as component};

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.