1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[564],{3344:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var s=r(95155);function a(e){let{color:t="#9CA3AF",size:r="20px",className:a=""}=e;return(0,s.jsxs)("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:a,children:[(0,s.jsx)("circle",{cx:"11",cy:"11",r:"8",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,s.jsx)("path",{d:"m21 21-4.35-4.35",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}r(12115)},6095:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});var s=r(12115),a=r(52827);let n=()=>{let[e,t]=(0,s.useState)(!1);(0,s.useEffect)(()=>t(!0),[]);let r=(0,a.Ub)({maxWidth:767}),n=(0,a.Ub)({minWidth:768,maxWidth:1023}),l=(0,a.Ub)({minWidth:1024});return e?{isSm:r,isMd:n,isLgAndAbove:l}:{isSm:!1,isMd:!1,isLgAndAbove:!1}}},14090:(e,t,r)=>{"use strict";r.d(t,{DW:()=>x,Mp:()=>h,ni:()=>f});var s=r(25223),a=r(91136),n=r(81029).Buffer;let l=["user rejected","cancelled","rejected the request","user denied","approval denied","user disapproved"];function i(e){let t=n.from(e,"base64");try{return{tx:s.VersionedTransaction.deserialize(t),isVersioned:!0}}catch(e){return{tx:s.Transaction.from(t),isVersioned:!1}}}function c(e,t){return s.TransactionMessage.decompile(e.message,{addressLookupTableAccounts:t}).instructions}function o(e){return e.instructions}function d(e){let t=s.ComputeBudgetProgram.programId.toBase58();return e.filter(e=>e.programId.toBase58()!==t)}function u(e){let t=[];for(let r of e)for(let e of r.message.addressTableLookups)t.some(t=>t.equals(e.accountKey))||t.push(e.accountKey);return t}async function m(e){return 0===e.length?[]:(await a.rpc.getAddressLookupTables(e)).filter(e=>null!==e)}async function h(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},{computeUnits:h=4e5,priorityFee:p=5e4,simulate:f=!0,skipPreflight:x=!1}=n;try{let n=[],l=r.lookupTables||[],x=[];if(r.instructions&&n.push(...d(r.instructions)),r.serializedTransactions&&r.serializedTransactions.length>0){for(let e of r.serializedTransactions){let{tx:t,isVersioned:r}=i(e);if(r)x.push(t);else{let e=o(t);n.push(...d(e))}}if(x.length>0&&0===l.length){let e=u(x);e.length>0&&(l=await m(e))}for(let e of x){let t=c(e,l);n.push(...d(t))}}if(0===n.length)return{success:!1,error:"No instructions provided"};let{blockhash:v}=await a.rpc.getLatestBlockhash(),g=[s.ComputeBudgetProgram.setComputeUnitLimit({units:h}),s.ComputeBudgetProgram.setComputeUnitPrice({microLamports:p}),...n],b=new s.TransactionMessage({payerKey:t,recentBlockhash:v,instructions:g}).compileToV0Message(l),y=new s.VersionedTransaction(b),j=y.serialize().length;if(j>1232)return{success:!1,error:"Transaction too large (".concat(j," bytes). Please try a smaller amount or different token.")};if(f)try{let e=await a.rpc.simulateTransaction(y);if(e.value.err)return console.error("[TxExecutor] Simulation failed:",e.value.err),console.error("[TxExecutor] Simulation logs:",e.value.logs),{success:!1,error:"Transaction simulation failed: ".concat(JSON.stringify(e.value.err))}}catch(e){console.warn("[TxExecutor] Simulation check skipped:",e)}let w=(await e.signAndSendTransaction(y)).signature;return await a.rpc.confirmTransaction(w),{success:!0,signature:w}}catch(t){if(function(e){var t;let r=(null==e||null==(t=e.message)?void 0:t.toLowerCase())||"";return l.some(e=>r.includes(e))}(t))return{success:!1,userRejected:!0,error:"Transaction cancelled by user"};let e=(null==t?void 0:t.message)||"Unknown error occurred";return console.error("[TxExecutor] Transaction failed:",e),{success:!1,error:e}}}async function p(e){let t=[],r=[];e.platformFeeTransaction&&r.push({key:"platformFee",base64:e.platformFeeTransaction}),e.orcaTransaction&&r.push({key:"orca",base64:e.orcaTransaction}),e.meteoraTransaction&&r.push({key:"meteora",base64:e.meteoraTransaction}),e.subscribeTransaction&&r.push({key:"subscribe",base64:e.subscribeTransaction}),!e.transaction||e.orcaTransaction||e.meteoraTransaction||r.push({key:"transaction",base64:e.transaction});let s=[];for(let e of r){let{tx:r,isVersioned:a}=i(e.base64);s.push({key:e.key,tx:r,isVersioned:a}),a&&t.push(r)}let a=[];if(t.length>0){let e=u(t);e.length>0&&(a=await m(e))}let n=[];for(let{tx:e,isVersioned:t}of s)if(t){let t=c(e,a);n.push(...d(t))}else{let t=o(e);n.push(...d(t))}return{instructions:n,lookupTables:a}}async function f(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},{instructions:a,lookupTables:n}=await p(r);return h(e,t,{instructions:a,lookupTables:n},s)}async function x(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},{computeUnits:a=6e5,priorityFee:n=5e4,...l}=s,{instructions:i,lookupTables:c}=await p(r);return h(e,t,{instructions:i,lookupTables:c},{computeUnits:a,priorityFee:n,...l})}},16046:(e,t,r)=>{"use strict";r.d(t,{Y:()=>u});var s=r(12115),a=r(85400),n=r(29293),l=r(50759),i=r(64224),c=r(24728),o=r(48831);async function d(e){let t=await fetch("/api/livepeer/platform-pass",{headers:await (0,i.fn)(e)});if(!t.ok)throw Error("platform-pass ".concat(t.status));let r=function(e){if(!e||"object"!=typeof e||"boolean"!=typeof e.hasPass)return null;let t="string"==typeof e.platformPassExpiresAt?e.platformPassExpiresAt:null;return{hasPass:e.hasPass,isLifetime:!0===e.isLifetime,platformPassExpiresAt:t,daysRemaining:"number"==typeof e.daysRemaining&&Number.isFinite(e.daysRemaining)?e.daysRemaining:null}}(await t.json());if(!r)throw Error("Invalid platform-pass response");return r}function u(){var e,t,r;let{userData:i,walletAddress:u}=(0,n.As)(),m=null!=u?u:null==i?void 0:i.address,h=l.$.LIVEPEER_PLAYBACK&&m?["platform-pass",m]:null,p=function(e){var t;if(!e)return;let r=Number(null!=(t=e.platformSpendUsd)?t:0),s="string"==typeof e.platformPassExpiresAt?e.platformPassExpiresAt:null;if(!(0,o.hp)({platformSpendUsd:r,platformPassExpiresAt:s,thresholdUsd:c.YG}))return;let a=r>=c.YG;return{hasPass:!0,isLifetime:a,platformPassExpiresAt:s,daysRemaining:a?null:(0,o.OJ)(s)}}(i),{data:f,mutate:x}=(0,a.Ay)(h,()=>d(m),{fallbackData:p,keepPreviousData:!1,revalidateOnFocus:!0,dedupingInterval:5e3,errorRetryCount:2});(0,s.useEffect)(()=>{let e=()=>{x()};return window.addEventListener(c._C,e),()=>{window.removeEventListener(c._C,e)}},[x]);let v=(0,s.useCallback)(()=>{x()},[x]);
1return{hasPass:h&&f?f.hasPass:null,isLifetime:null!=(e=null==f?void 0:f.isLifetime)&&e,platformPassExpiresAt:null!=(t=null==f?void 0:f.platformPassExpiresAt)?t:null,daysRemaining:null!=(r=null==f?void 0:f.daysRemaining)?r:null,refresh:v}}},16146:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var s=r(95155);r(12115);var a=r(33870),n=r(15239),l=r(43086);function i(e){let{isOpen:t,query:r,searchType:i,suggestions:c,recentSearches:o,videoResults:d,tokenResults:u,loading:m,totalResults:h,responseTime:p,onSuggestionClick:f,onRecentSearchClick:x,onVideoResultClick:v,onTokenResultClick:g,onClearHistory:b}=e;if(!t)return null;let y=r.trim().length>0,j=d.length>0,w=u.length>0,N=o.length>0,k=c.length>0;return m||y||k||N?(0,s.jsxs)("div",{className:"absolute w-full mt-2 bg-[var(--theme-surface)] border border-[var(--theme-border)] rounded-lg shadow-xl z-50 max-h-[70vh] overflow-y-auto",children:[m&&(0,s.jsx)("div",{className:"p-4 text-center text-[var(--theme-text-secondary)]",children:(0,s.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,s.jsx)("div",{className:"animate-spin w-4 h-4 border-2 border-[var(--theme-primary)] border-t-transparent rounded-full"}),(0,s.jsxs)("span",{children:["Searching for ","videos"===i?"videos":"tokens","..."]})]})}),!m&&"videos"===i&&j&&(0,s.jsxs)("div",{className:"p-2",children:[(0,s.jsx)("div",{className:"px-2 py-1 text-xs text-[var(--theme-text-secondary)] flex items-center justify-between",children:(0,s.jsxs)("span",{children:[h," result",1!==h?"s":""," found"]})}),(0,s.jsx)("div",{className:"space-y-1",children:d.map(e=>{var t;return(0,s.jsx)("button",{onClick:()=>v(e),className:"w-full p-3 hover:bg-[var(--theme-bg-secondary)]/50 rounded-lg transition-colors text-left group",children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"relative w-12 h-12 rounded-full overflow-hidden flex-shrink-0 bg-[var(--theme-surface)]",children:e.userAvatar?(0,s.jsx)(n.default,{src:e.userAvatar,alt:e.streamerDisplayName,fill:!0,className:"object-cover"}):(0,s.jsx)("div",{className:"w-full h-full flex items-center justify-center text-theme-accent-text text-lg font-bold",children:null==(t=e.streamerDisplayName[0])?void 0:t.toUpperCase()})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("div",{className:"font-medium text-[var(--theme-text-primary)] group-hover:text-theme-accent-text transition-colors truncate",children:e.streamerDisplayName}),(0,s.jsxs)("div",{className:"text-sm text-[var(--theme-text-secondary)] truncate",children:["@",e.streamerUsername]}),e.title&&(0,s.jsx)("div",{className:"text-xs text-[var(--theme-text-muted)] truncate mt-0.5",children:e.title})]}),(0,s.jsx)("div",{className:"flex-shrink-0",children:e.isLive?(0,s.jsx)("span",{className:"inline-flex items-center bg-purple-500 text-white text-[10px] font-bold px-2 py-0.5 rounded-sm leading-none shadow-md whitespace-nowrap",children:"LIVE"}):(0,s.jsx)("span",{className:"inline-flex items-center bg-[var(--theme-bg-secondary)] text-[var(--theme-text-muted)] text-[10px] font-bold px-2 py-0.5 rounded-sm leading-none whitespace-nowrap",children:"OFFLINE"})})]})},e.id)})})]}),!m&&"tokens"===i&&w&&(0,s.jsxs)("div",{className:"p-2",children:[(0,s.jsx)("div",{className:"px-2 py-1 text-xs text-[var(--theme-text-secondary)] flex items-center justify-between",children:(0,s.jsxs)("span",{children:[h," token",1!==h?"s":""," found"]})}),(0,s.jsx)("div",{className:"space-y-1",children:u.map(e=>{var t,r;return(0,s.jsx)("button",{onClick:()=>g(e),className:"w-full p-3 hover:bg-[var(--theme-bg-secondary)]/50 rounded-lg transition-colors text-left group",children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"relative w-12 h-12 rounded-lg overflow-hidden flex-shrink-0 bg-[var(--theme-surface)]",children:e.image?(0,s.jsx)(n.default,{src:e.image,alt:e.name||"Token",fill:!0,className:"object-cover"}):(0,s.jsx)("div",{className:"w-full h-full flex items-center justify-center text-theme-accent-text text-lg font-bold",children:(null==(r=e.ticker)||null==(t=r[0])?void 0:t.toUpperCase())||"?"})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"font-medium text-[var(--theme-text-primary)] group-hover:text-theme-accent-text transition-colors truncate",children:e.name||"Unknown Token"}),1===e.verified&&(0,s.jsx)("svg",{className:"w-4 h-4 text-blue-400 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})]}),(0,s.jsxs)("div",{className:"text-sm text-gray-400 uppercase tracking-wider",children:["$",e.ticker||"N/A"]}),null!==e.marketCapUSD&&(0,s.jsxs)("div",{className:"text-xs text-theme-accent-text mt-0.5",children:["CMC: ",(0,l.up)(e.marketCapUSD)]})]})]})},e.mint)})})]}),!m&&y&&!j&&!w&&(0,s.jsxs)("div",{className:"p-4 text-center text-[var(--theme-text-secondary)]",children:[(0,s.jsxs)("div",{className:"text-sm",children:["No ","videos"===i?"videos":"tokens"," found for â",r,"â"]}),(0,s.jsx)("div",{className:"text-xs mt-1 text-[var(--theme-text-muted)]",children:"Try a different search term"})]}),!m&&!y&&c.length>0&&(0,s.jsxs)("div",{className:"p-2",children:[(0,s.jsx)("div",{className:"px-2 py-1 text-xs text-gray-400",children:"Suggestions"}),(0,s.jsx)("div",{className:"space-y-1",children:c.map((e,t)=>(0,s.jsx)("button",{onClick:()=>
1f(e),className:"w-full p-2 hover:bg-[var(--theme-bg-secondary)]/50 rounded-lg transition-colors text-left text-[var(--theme-text-primary)] text-sm",children:e},t))})]}),!m&&!y&&N&&(0,s.jsxs)("div",{className:"p-2 border-t border-[var(--theme-border)]",children:[(0,s.jsxs)("div",{className:"px-2 py-1 text-xs text-[var(--theme-text-muted)] flex items-center justify-between",children:[(0,s.jsx)("span",{children:"Recent Searches"}),(0,s.jsxs)("button",{onClick:b,className:"hover:text-[var(--theme-text-primary)] transition-colors flex items-center gap-1",children:[(0,s.jsx)(a.A,{size:"12px",color:"currentColor"}),(0,s.jsx)("span",{children:"Clear"})]})]}),(0,s.jsx)("div",{className:"space-y-1",children:o.map((e,t)=>(0,s.jsx)("button",{onClick:()=>x(e),className:"w-full p-2 hover:bg-[var(--theme-bg-secondary)]/50 rounded-lg transition-colors text-left text-[var(--theme-text-primary)] text-sm",children:e},t))})]})]}):null}},22500:(e,t,r)=>{"use strict";r.d(t,{K:()=>o});var s=r(95155),a=r(12115),n=r(4638),l=r(99576),i=r(31856),c=r(64254);let o=e=>{let{isOpen:t,onClose:r,onUnlocked:o,defaultTab:d="pass",channelId:u=null,streamerAddress:m=null}=e,[h,p]=(0,a.useState)(d);return(0,a.useEffect)(()=>{t&&p(d)},[t,d]),(0,s.jsx)(i.cj,{open:t,onOpenChange:e=>!e&&r(),children:(0,s.jsxs)(i.h,{className:"w-[425px] !max-w-[425px] !h-[calc(100dvh-64px-var(--safe-top))] !inset-y-auto !top-[calc(64px+var(--safe-top))] !bottom-0 !z-[9998] p-0 flex flex-col !gap-0",children:[(0,s.jsx)(i.Fm,{className:"p-6 pb-0",children:(0,s.jsx)(i.qp,{className:"text-theme-text-primary",children:"Ad-Free Pass"})}),(0,s.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto scrollbar-none -mr-8 pr-4",children:[(0,s.jsx)("div",{className:"px-6 pt-4",children:(0,s.jsxs)("div",{className:"flex border-b border-theme-border",children:[(0,s.jsx)("button",{type:"button",className:"flex-1 py-3 text-center font-medium transition-all focus:outline-none ".concat("pass"===h?"text-theme-text-primary border-b-2 border-theme-primary":"text-theme-text-muted hover:text-theme-text-primary"),onClick:()=>p("pass"),children:(0,s.jsxs)("span",{className:"flex items-center justify-center gap-2",children:[(0,s.jsx)(n.A,{className:"size-4 ".concat("pass"===h?"text-theme-accent-text":"")}),"Pass"]})}),(0,s.jsx)("button",{type:"button",className:"flex-1 py-3 text-center font-medium transition-all focus:outline-none ".concat("gift"===h?"text-theme-text-primary border-b-2 border-theme-primary":"text-theme-text-muted hover:text-theme-text-primary"),onClick:()=>p("gift"),children:(0,s.jsxs)("span",{className:"flex items-center justify-center gap-2",children:[(0,s.jsx)(l.A,{className:"size-4 ".concat("gift"===h?"text-theme-accent-text":"")}),"Gift Pass"]})})]})}),(0,s.jsx)("div",{className:"p-6",children:(0,s.jsx)(c.W,{isOpen:t,mode:h,onSuccess:e=>{e.isGift||null==o||o(),r()},channelId:u,streamerAddress:m})})]})]})})}},33870:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var s=r(95155);function a(e){let{color:t,size:r}=e;return(0,s.jsx)("svg",{stroke:null!=t?t:"black",fill:null!=t?t:"black",strokeWidth:"0",viewBox:"0 0 512 512",height:null!=r?r:"20px",width:null!=r?r:"20px",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{d:"m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34z"})})}r(12115)},37106:(e,t,r)=>{"use strict";r.d(t,{DP:()=>d,NP:()=>o});var s=r(95155),a=r(12115);let n=["solana","bonk"],l="solanastream-theme",i="solana",c=(0,a.createContext)({theme:i,setTheme:()=>{}});function o(e){let{children:t}=e,[r,o]=(0,a.useState)(i),[d,u]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=localStorage.getItem(l);e&&n.includes(e)&&o(e),u(!0)},[]),(0,a.useEffect)(()=>{d&&(document.documentElement.setAttribute("data-theme",r),localStorage.setItem(l,r))},[r,d]);let m=(0,a.useCallback)(e=>{n.includes(e)&&o(e)},[]);return d?(0,s.jsx)(c.Provider,{value:{theme:r,setTheme:m},children:t}):(0,s.jsx)(s.Fragment,{children:t})}function d(){let e=(0,a.useContext)(c);if(!e)throw Error("useTheme must be used within a ThemeProvider");return e}},37890:(e,t,r)=>{"use strict";r.d(t,{j:()=>l,n:()=>i});var s=r(95155),a=r(12115);let n=(0,a.createContext)(void 0);function l(e){let{children:t}=e,[r,l]=(0,a.useState)(!0);return(0,s.jsx)(n.Provider,{value:{showHeader:r,setShowHeader:l},children:t})}function i(){let e=(0,a.useContext)(n);if(void 0===e)throw Error("useHeaderVisibility must be used within a HeaderVisibilityProvi
1der");return e}},47790:()=>{},48926:(e,t,r)=>{"use strict";function s(e){return"/"===e||""===e||"/coin"===e}function a(e){return!!e.featureEnabled&&!!e.isAuthReady&&(!e.hasFirebaseSession||!!e.wallet||!!e.sessionWalletResolved)&&!0!==e.hasPass&&(!e.wallet||null!==e.hasPass)}r.d(t,{O:()=>a,v:()=>s})},50759:(e,t,r)=>{"use strict";r.d(t,{$:()=>s});let s={ENABLE_GIFT_ANIMATION_WIDGET:!1,ENABLE_USERNAME_OVERLAY_WIDGET:!0,ENABLE_ALERTS_OVERLAY_WIDGET:!0,ENABLE_WEBSITE_OVERLAYS:!1,LIVEPEER_PLAYBACK:!0,EMBED_RESOLVER:!0}},64254:(e,t,r)=>{"use strict";r.d(t,{W:()=>O});var s=r(95155),a=r(12115),n=r(55869),l=r(23916),i=r(99576),c=r(69746),o=r(97003),d=r(33789),u=r(59489),m=r(18312),h=r(44725),p=r(29293),f=r(18542),x=r(49152),v=r(96330),g=r(50812),b=r(40596),y=r(64224),j=r(94449),w=r(48831),N=r(18720),k=r(25223),S=r(24691),C=r(60447),E=r(26722),A=r(47122),P=r(91136),R=r(14090);async function T(e){var t,r;let{wallet:s,solana:a,projectWallet:n,currency:l,priceUsd:i,solPrice:c,tier:o,giftRecipient:d,giftRecipients:u}=e;if(!(i>0))return{ok:!1,error:"Invalid pass price"};let m=u&&u.length>0?u:d?[d]:[],h=i*(m.length>0?m.length:1),p=new k.PublicKey(s),f=new k.PublicKey(n),x=[];if("SOL"===l){let e=c&&c>0?c:null;if(!e)return{ok:!1,error:"Could not price SOL right now"};let t=Math.ceil(h/e*k.LAMPORTS_PER_SOL*1.01);x.push(k.SystemProgram.transfer({fromPubkey:p,toPubkey:f,lamports:t}))}else{let e=new k.PublicKey((0,A.yT)()),t=(0,S.Xt)(e,p),r=(0,S.Xt)(e,f);await P.rpc.getAccountInfo(r.toString())||x.push((0,C.JA)(p,r,f,e));let s=Math.ceil(1e6*h*1.01);x.push((0,E.C3)(t,r,p,s))}let v=await (0,R.Mp)(a,p,{instructions:x},{computeUnits:1e5,priorityFee:5e4});if(!v.success)return v.userRejected?{ok:!1,error:"Transaction cancelled",userRejected:!0}:{ok:!1,error:v.error||"Transaction was not confirmed"};let g=v.signature;if(!g)return{ok:!1,error:"Transaction was not confirmed"};let b=await fetch("/api/livepeer/platform-pass",{method:"POST",headers:await (0,y.fn)(s),body:JSON.stringify({signature:g,currency:l,tier:o,...1===m.length?{giftRecipient:m[0]}:m.length>1?{giftRecipients:m}:{}})}),j=await b.json();return b.ok?{ok:!0,platformPassExpiresAt:null!=(r=j.platformPassExpiresAt)?r:null,hasPass:j.hasPass,isGift:j.isGift,giftedCount:j.giftedCount}:{ok:!1,error:(null==j||null==(t=j.error)?void 0:t.message)||"Failed to verify platform pass payment"}}let L=[{icon:"\uD83C\uDFAC",label:"Ad-Free on Every Channel"},{icon:"\uD83D\uDCFA",label:"Premium Video on Every Channel"}],I=e=>{let{title:t,className:r=""}=e;return(0,s.jsxs)("div",{className:r,children:[t?(0,s.jsx)("h4",{className:"text-theme-text-primary font-medium mb-2",children:t}):null,(0,s.jsx)("div",{className:"space-y-2 text-sm",children:L.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-theme-accent-text","aria-hidden":!0,children:e.icon}),(0,s.jsx)("span",{className:"text-theme-text-secondary",children:e.label})]},e.label))})]})},U=[{value:1,label:"Gift 1 pass"},{value:5,label:"Gift 5 passes"}],F=[{value:"USDC",label:"USDC",icon:(0,s.jsx)(h.$t,{size:20})},{value:"SOL",label:"SOL",icon:(0,s.jsx)(h.WE,{size:20})}];function O(e){var t,r,h,k;let{isOpen:S,mode:C,onSuccess:E,channelId:A=null}=e,{userData:P}=(0,p.As)(),{solana:R}=(0,v.wh)(),{solPrice:L}=(0,x.T)({enabled:S}),{solBalance:O,usdcBalance:D,refresh:_}=(0,g.X)(),M=(0,a.useRef)(null),W=(0,a.useMemo)(()=>(0,w.Ak)(),[]),z=(0,a.useMemo)(()=>(0,w.RM)("OneMonth"),[]),[V,B]=(0,a.useState)(W[0]),[G,$]=(0,a.useState)("USDC"),[J,K]=(0,a.useState)(!1),[q,Y]=(0,a.useState)(!1),[H,X]=(0,a.useState)(""),[Z,Q]=(0,a.useState)(null),[ee,et]=(0,a.useState)("specific"),[er,es]=(0,a.useState)(),[ea,en]=(0,a.useState)(1),[el,ei]=(0,a.useState)(!1),[ec,eo]=(0,a.useState)(""),[ed,eu]=(0,a.useState)(!1),em=null==P?void 0:P.address,eh="gift"===C,ep=!!A,{activeViewers:ef,loading:ex}=(0,b.d)({channelId:A,streamerAddress:null,excludeUserId:em,enabled:S&&eh&&ep});(0,f.L)(M,()=>K(!1),J);let ev=(0,a.useCallback)(async()=>{if(em)try{let e=await fetch("/api/livepeer/platform-pass",{headers:await (0,y.fn)(em)});if(!e.ok)return;let t=await e.json();Q(t)}catch(e){}},[em]);(0,a.useEffect)(()=>{S&&(_(),B(W[0]),$("USDC"),X(""),Y(!1),et("specific"),es(void 0),en(1),ei(!1),eo(""),eu(!1),ev())},[S,_,W,ev]);let eg=el?(()=>{let e=parseInt(ec,10);return Number.isNaN(e)?0:Math.min(Math.max(e,1),10)})():ea,eb=z.priceUsd*eg,ey=null!=(t=F.find(e=>e.value===G))?t:F[0],ej=e=>"SOL"===G?!L||L<=0?"⦠SOL":"".concat((e/L).toFixed(4)," SOL"):"$".concat(e.toFixed(2)," USDC"),ew=!eh&&(null==Z?void 0:Z.hasPass)===!0,eN=!eh&&!(null==Z?void 0:Z.hasPass)&&(null==Z?void 0:Z.ladderReward)!=null&&"scheduled"===Z.ladderReward.status,ek=ew||eN,eS=!eh||(0,j.p3)({whoMode:ee,hasChannelContext:ep,selectedViewer:er,manualRecipient:H,randomPoolSize:ef.length}),eC=async()=>
1{if(!em||!R||!(null==Z?void 0:Z.projectWallet))return void N.oR.error("Connect your wallet to unlock the platform pass");if(eh){if(!(0,j.p3)({whoMode:ee,hasChannelContext:ep,selectedViewer:er,manualRecipient:H,randomPoolSize:ef.length}))return void N.oR.error((0,j.Cj)({whoMode:ee,hasChannelContext:ep,audienceLoading:ex}));if(eg<=0||eg>10)return void N.oR.error("Please select a valid quantity")}if(!eh&&Z.isLifetime){N.oR.success("You already have a lifetime platform pass"),E({isGift:!1});return}Y(!0);try{let e;if(eh)if("specific"===ee)if(er)e=(0,j.CV)(er,eg).map(e=>e.userId);else{let t=H.trim();e=Array.from({length:eg},()=>t)}else e=(0,j.ob)(ef,eg).map(e=>e.userId);let t=await T({wallet:em,solana:R,projectWallet:Z.projectWallet,currency:G,priceUsd:eh?z.priceUsd:V.priceUsd,solPrice:L,tier:eh?"OneMonth":V.id,giftRecipients:e});if(!t.ok)return void N.oR.error(t.error||"Purchase failed");let r=t.giftedCount||eg||1;N.oR.success(eh?"Gifted ".concat(r," ad-free pass").concat(1===r?"":"es"):"".concat(V.description," ad-free pass unlocked")),await ev(),eu(!1),E({isGift:eh})}catch(t){let e=t instanceof Error?t.message:"Purchase failed";N.oR.error(e)}finally{Y(!1)}},eE=null!=(r=null==Z?void 0:Z.daysRemaining)?r:(0,w.OJ)(null==Z?void 0:Z.platformPassExpiresAt),eA=null!=(h=null==Z?void 0:Z.ladderReward)?h:null,eP=eN&&null!=eA,eR=(null==Z?void 0:Z.isLifetime)?"Lifetime":eA?(0,w.Tf)(eA.planMonths):(0,w.Nt)(null==Z?void 0:Z.lastTier),eT=(null==Z?void 0:Z.isLifetime)?"Never":null!=(k=(0,w.NS)(eP?null==eA?void 0:eA.effectiveUntil:null==Z?void 0:Z.platformPassExpiresAt))?k:"â",eL=(0,w.NS)(null==eA?void 0:eA.effectiveFrom),eI=(0,w.OJ)(null==eA?void 0:eA.effectiveFrom),eU=eh||!ew||ed&&!(null==Z?void 0:Z.isLifetime);return(0,s.jsx)(u.a,{children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"rounded-lg border border-theme-border bg-theme-modal-surface p-4 space-y-3",children:[(0,s.jsx)("p",{className:"text-sm text-theme-text-secondary",children:eh?ep?"Gift premium video to viewers on this channel.":"Gift premium video to another viewer.":"Unlock premium videos on every channel."}),(!ek||eh||ed)&&(0,s.jsx)(I,{title:"Benefits"})]}),ek&&!ed&&Z&&(0,s.jsxs)("div",{className:"bg-theme-accent-surface border border-theme-accent-border rounded-lg p-4",children:[(0,s.jsx)("div",{className:"flex items-center justify-between mb-3",children:(0,s.jsxs)("h3",{className:"text-theme-accent-text text-lg font-semibold flex items-center gap-2",children:["Ad-Free Pass",(0,s.jsx)("span",{className:"text-sm px-2 py-1 rounded-full ".concat(eP?"text-theme-warning bg-theme-warning-bg":Z.isLifetime||eE>0?"text-theme-success bg-theme-success-bg":"text-theme-error bg-theme-error-bg"),children:eP?"Scheduled":Z.isLifetime||eE>0?"Active":"Expired"})]})}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-theme-text-muted",children:"Plan:"}),(0,s.jsx)("div",{className:"text-theme-text-primary font-medium",children:eR})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-theme-text-muted",children:eP?"Starts:":"Days Left:"}),(0,s.jsx)("div",{className:"font-bold ".concat(eP?"text-theme-warning-strong":Z.isLifetime?"text-theme-text-primary":eE<=7?"text-theme-warning-strong":"text-theme-text-primary"),children:eP?null!=eL?eL:"soon":Z.isLifetime?"â":"".concat(eE," days")})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-theme-text-muted",children:"Expires:"}),(0,s.jsx)("div",{className:"text-theme-text-primary font-medium",children:eT})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-theme-text-muted",children:"Payment:"}),(0,s.jsx)("div",{className:"text-theme-text-primary font-medium",children:function(e){var t,r,s;if(e.isLifetime){let r=Number(null!=(t=e.platformSpendUsd)?t:0);return r>0?"$".concat(r.toFixed(2)," USD"):"Lifetime"}if("ladder_reward"===e.lastSource||null!=e.ladderReward)return"Ranking prize";if("gift"===e.lastSource){let t=Number(null!=(r=e.lastUsdAmount)?r:0);return t>0?"Gift \xb7 $".concat(t.toFixed(2)):"Gift"}let a=Number(null!=(s=e.lastUsdAmount)?s:0);return a>0?"SOL"===e.lastPaymentToken?"$".concat(a.toFixed(2)," USD"):"$".concat(a.toFixed(2)," USDC"):"â"}(Z)})]})]}),eP&&(0,s.jsxs)("p",{className:"text-sm text-theme-text-secondary mt-3",children:["Ranking prize â activates in ",eI," day",1===eI?""
1:"s","."]}),(0,s.jsx)("div",{className:"mt-4",children:(0,s.jsx)(I,{title:"Benefits"})}),ew&&!Z.isLifetime&&(0,s.jsx)("div",{className:"mt-4 pt-4 border-t border-theme-accent-border",children:(0,s.jsx)(o.$,{onClick:()=>eu(!0),disabled:q,className:"w-full font-bold py-3 px-6 rounded-lg theme-cta-button",children:"Renew Ad-Free Pass"})})]}),eU&&(0,s.jsxs)("div",{className:"space-y-4",children:[ed&&ew&&!eh&&(0,s.jsx)("div",{className:"bg-theme-info-bg border border-theme-info-border rounded-lg p-4",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"pr-4",children:[(0,s.jsx)("h4",{className:"text-theme-info text-lg font-semibold",children:"Renew Ad-Free Pass"}),(0,s.jsx)("p",{className:"text-theme-text-secondary text-sm mt-1",children:"Choose a plan to renew. Remaining days will carry over."})]}),(0,s.jsx)(o.$,{onClick:()=>eu(!1),variant:"outline",size:"sm",className:"text-theme-text-muted border-theme-modal-border hover:text-theme-text-primary hover:border-theme-text-muted",children:"Back"})]})}),eh&&(0,s.jsx)(m.e,{whoMode:ee,onWhoModeChange:et,hasChannelContext:ep,activeViewers:ef,audienceLoading:ex,selectedViewer:er,onSelectedViewerChange:es,manualRecipient:H,onManualRecipientChange:X,recipientCount:1,onRecipientCountChange:()=>void 0,maxRecipients:10,disabled:q,showRecipientCount:!1,radioName:"giftPassWhoMode"}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("label",{className:"text-sm text-theme-modal-label font-medium",children:"Payment method"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-theme-modal-label font-medium text-end",children:[(0,s.jsx)(n.A,{className:"size-4"}),(0,s.jsxs)("span",{children:["SOL"===G?O:D," ",ey.label]})]})]}),(0,s.jsxs)("div",{className:"relative",ref:M,children:[(0,s.jsxs)("button",{type:"button",onClick:()=>K(!J),className:"border border-theme-modal-border rounded-xl px-4 py-4 pl-12 w-full bg-theme-modal-bg text-theme-modal-label focus:outline-none flex items-center justify-between relative",children:[(0,s.jsx)("span",{className:"font-bold text-theme-text-primary",children:ey.label}),(0,s.jsx)(l.A,{className:"text-theme-modal-label transition-transform ".concat(J?"rotate-180":"")})]}),(0,s.jsx)("div",{className:"absolute left-4 top-[31%] z-20",children:ey.icon}),J&&(0,s.jsx)("div",{className:"absolute w-full mt-1 bg-theme-modal-bg border border-theme-modal-border rounded-xl overflow-hidden z-30",children:F.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>{$(e.value),K(!1)},className:"w-full px-4 py-4 pl-12 flex items-center justify-between hover:bg-theme-modal-hover-bg text-theme-modal-label hover:text-theme-text-primary transition-colors relative",children:[(0,s.jsx)("span",{className:"font-bold",children:e.label}),(0,s.jsx)("div",{className:"absolute left-4",children:e.icon})]},e.value))})]})]}),eh?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("label",{className:"text-sm text-theme-modal-label font-medium",children:"Select quantity"}),(0,s.jsxs)("div",{className:"grid gap-3",children:[U.map(e=>(0,s.jsx)("div",{onClick:()=>{ei(!1),en(e.value),eo("")},className:"cursor-pointer p-4 rounded-lg border-2 transition-all ".concat(el||ea!==e.value?"border-theme-modal-input-border bg-theme-modal-surface hover:border-theme-primary":"border-theme-primary bg-theme-accent-surface"),children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)(i.A,{className:"w-5 h-5 ".concat(5===e.value?"text-emerald-500":"text-amber-600")}),(0,s.jsx)("h4",{className:"text-theme-text-primary font-medium",children:e.label})]}),(0,s.jsxs)("div",{className:"text-right",children:[(0,s.jsx)("div",{className:"text-theme-accent-text font-bold",children:ej(z.priceUsd*e.value)}),(0,s.jsxs)("div",{className:"text-sm text-theme-text-muted",children:["$",(z.priceUsd*e.value).toFixed(2)," ","USD"]})]})]})},e.value)),(0,s.jsx)("div",{onClick:()=>{ei(!0),en(0)},className:"cursor-pointer p-4 rounded-lg border-2 transition-all ".concat(el?"border-theme-primary bg-theme-accent-surface":"border-theme-modal-input-border bg-theme-modal-surface hover:border-theme-primary"),children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)(i.A,{className:"w-5 h-5 text-purple-500"}),(0,s.jsx)("div",{children:el?(0,s.jsx)(d.p,{type:"number",placeholder:"1-".concat(10),value:ec,onChange:e=>{var t;
1(""===(t=e.target.value)||/^\d+$/.test(t)&&10>=parseInt(t,10))&&eo(t)},min:"1",max:10,className:"bg-theme-modal-bg border-theme-modal-border text-theme-text-primary w-20 h-8 text-sm",onClick:e=>e.stopPropagation()}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h4",{className:"text-theme-text-primary font-medium",children:"Custom quantity"}),(0,s.jsxs)("div",{className:"text-sm text-theme-text-muted",children:["Maximum ",10]})]})})]}),el&&eg>0&&(0,s.jsxs)("div",{className:"text-right",children:[(0,s.jsx)("div",{className:"text-theme-accent-text font-bold",children:ej(eb)}),(0,s.jsxs)("div",{className:"text-sm text-theme-text-muted",children:["$",eb.toFixed(2)," USD"]})]})]})})]})]}):(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("div",{className:"flex items-center",children:(0,s.jsx)("label",{className:"text-sm text-theme-modal-label font-medium",children:ed?"Select renewal plan":"Select plan"})}),(0,s.jsx)("div",{className:"grid gap-3",children:W.map(e=>(0,s.jsx)("div",{onClick:()=>B(e),className:"cursor-pointer p-4 rounded-lg border-2 transition-all ".concat(V.id===e.id?"border-theme-primary bg-theme-accent-surface":"border-theme-modal-input-border bg-theme-modal-surface hover:border-theme-primary"),children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("h4",{className:"text-theme-text-primary font-medium",children:e.description}),null!=e.discountPercent&&(0,s.jsxs)("span",{className:"text-xs text-white font-semibold bg-theme-success-strong rounded-full px-2 py-1",children:[e.discountPercent,"% OFF"]})]}),(0,s.jsxs)("div",{className:"text-sm text-theme-text-muted",children:[e.durationDays," days"]})]}),(0,s.jsxs)("div",{className:"text-right",children:[(0,s.jsx)("div",{className:"text-theme-accent-text font-bold",children:ej(e.priceUsd)}),(0,s.jsxs)("div",{className:"text-sm text-theme-text-muted",children:["$",e.priceUsd.toFixed(2)," USD"]})]})]})},e.id))})]}),(0,s.jsx)(o.$,{onClick:()=>void eC(),disabled:q||!eS||(eh?eg<=0:!V),className:"w-full font-bold py-3 px-6 rounded-lg theme-cta-button",children:q?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin mr-2"}),"Processing..."]}):eh?eS?eg<=0?"Select quantity to continue":"Gift ".concat(eg," pass").concat(1===eg?"":"es"," for ").concat(ej(eb)):(0,j.Cj)({whoMode:ee,hasChannelContext:ep,audienceLoading:ex}):ew?"Renew for ".concat(V.description):"Get ".concat(V.description)})]})]})})}},73030:(e,t,r)=>{"use strict";r.d(t,{k3:()=>u});var s=r(95155),a=r(12115),n=r(29293),l=r(50759),i=r(24728),c=r(16046),o=r(83603),d=r(22500);function u(e){let{channelId:t=null,showButton:r=!0}=e,{userData:u,walletAddress:m,login:h,isAuthReady:p}=(0,n.As)(),f=null!=m?m:null==u?void 0:u.address,{hasPass:x,isLifetime:v,platformPassExpiresAt:g,daysRemaining:b,refresh:y}=(0,c.Y)(),[j,w]=(0,a.useState)(!1),{userProfile:N}=(0,o.s)(t||""),k=(null==N?void 0:N.id)||"";(0,a.useEffect)(()=>{let e=()=>w(!0);return window.addEventListener(i._$,e),()=>{window.removeEventListener(i._$,e)}},[]);let S=(0,a.useCallback)(()=>{w(!1),y(),window.dispatchEvent(new CustomEvent(i._C))},[y]),C=null!=b?b:(0,i.OJ)(g),E=!0===x&&!v&&!!g,A=E&&C>=0&&C<=7,P=r&&l.$.LIVEPEER_PLAYBACK,R=l.$.LIVEPEER_PLAYBACK&&!!f,T=A?"Renew \xb7 ".concat(C,"d"):"Ad-Free",L=E?A?"Renew ad-free premium video, ".concat(C," days left"):"View ad-free premium video pass, ".concat(C," days left"):!0===x?"View ad-free premium video pass":"Get ad-free premium video";return P||R?(0,s.jsxs)(s.Fragment,{children:[P&&(0,s.jsx)("button",{type:"button",onClick:()=>{if(f||p){if(!f)return void h();w(!0)}},className:"cursor-pointer rounded-full border border-[var(--theme-border)] px-2.5 py-1.5 text-xs font-semibold text-[var(--theme-header-icon)] transition-colors hover:bg-[var(--theme-menu-hover-bg)] sm:px-3 sm:text-sm","aria-label":L,children:T}),R&&(0,s.jsx)(d.K,{isOpen:j,onClose:()=>w(!1),onUnlocked:S,channelId:t,streamerAddress:k||null})]}):null}},74715:(e,t,r)=>{"use strict";r.d(t,{A:()=>p});var s=r(95155),a=r(12115),n=r(20063),l=r(85935),i=r(3344),c=r(33870);let o="solana-stream-unified-search-history";var d=r(282),u=r(6095),m=r(18542),h=r(16146);function p(e){let{className:t="",placeholder:r="Search",searchType:p,onVideoResultClick:f,onTokenResultClick:x}=e,v=(0,n.useRouter)(),{isSm:g}=(0,u.A)(),[b,y]=(0,a.useState)(!1),[j,w]=(0,a.useState)(!1),N=(0,a.useRef)(null),k=(0,a.useRef)(null),{query:S,videoResults:C,tokenResults:E,suggestions:A,loading:P,error:R,totalResults:T,responseTime:L,recentSearches:I,setQuery:U,clearSearch:F,addToHistory:O,clearHistory:D,setSearchType:_}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videos",[t,r]=(0,a.useState)(""),[s,n]=(0,a.useState)(e),[l,i]=(0,a.useState)([]),[c,d]=(0,a.useState)([]),[u,m]=(0,a.useState)([]),[h,p]=(0,a.useState)(!1),[f,x]=(0,a.useState)(null),[v,g]=(0,a.useState)(0),[b,y]=(0,a.useState)(0),[j,w]=(0,a.useState)([]),N=(0,a.useRef)(void 0),k=(0,a.useRef)(void 0);(0,a.useEffect)(()=>{let e="".concat(o,"-").concat(s),t=localStorage.getItem(e);if(t)try{w(JSON.parse(t))}catch(e){}},[s]);let S=(0,a.useCallback)(e=>{let t="".concat(o,"-").concat(s);localStorage.setItem(t,JSON.stringify(e))},[s]),C=(0,a.useCallback)(e=>{e.trim()&&!(e.length<2)&&w(t=>{let r=t.filter(t=>t!==e),s=[e,...r].slice(0,10);return S(s),s})},[S]),E=(0,a.useCallback)(()=>{w([]);let e="".concat(o,"-").concat(s);localStorage.removeItem(e)},[s]),A=(0,a.useCallback)(async(e,t)=>{try{let r=new URLSearchParams({q:e,limit:"10",personalized:"true"}),s=performance.now(),a=await fetch("/api/search?".concat(r),{signal:t,headers:{"Content-Type":"application/json"}});if(!a.ok)throw Error("Search failed: ".concat(a.status));let n=await a.json(),l=performance.now();return{results:n.results||[],totalResults:n.totalResults||0,responseTime:l-s,suggestions:n.suggestions||[]}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return null;throw e}},[]),P=(0,a.useCallback)(async(e,t)=>{try{let r=new URLSearchParams({search:e.trim().toLowerCase(),limit:"10"}),s=performance.now(),a=await fetch("/api/launchpad/tokens?".concat(r),{signal:t,headers:{"Content-Type":"application/json"}});if(!a.ok)throw Error("Token search failed: ".concat(a.status));let n=await a.json(),l=performance.now(),i=(n.tokens||[]).map(e=>{var t,r,s;return{mint:e.mint,name:e.name,ticker:e.ticker,image:e.image,marketCapUSD:function(e){var t,r,s;let a=null!=(r=null!=(t=e.currentPrice)?t:e.tokenPriceUSD)?r:0,n=null!=(s=e.tokensSold)?s:0;if(a>0&&n>0){let e=a*n;return Number.isFinite(e)&&e>0?e:null}let l=e.marketCapUSD;return null!=l&&Number.isFinite(l)&&l>0?l:null}({marketCapUSD:e.marketCapUSD,currentPrice:e.currentPrice,tokenPriceUSD:e.tokenPriceUSD,tokensSold:null!=(t=e.tokensSold)?t:null}),verified:e.verified,currentPrice:e.currentPrice,entityType:null!=(r=e.entityType)?r:null,streamerUsername:null!=(s=e.streamerUsername)?s:null}});return{results:i,totalResults:i.length,responseTime:l-s}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return null;throw e}},[]),R=(0,a.useCallback)(async e=>{let r=null!=e?e:t;if(!r.trim()||r.length<2){i([]),d([]),m("videos"===s?["solana","crypto","trading","gam
1ing","art"]:["pump","meme","token","coin"]),g(0);return}p(!0),x(null),k.current&&k.current.abort(),k.current=new AbortController;try{if("videos"===s){let e=await A(r,k.current.signal);e&&(i(e.results),d([]),m(e.suggestions||[]),g(e.totalResults),y(e.responseTime),e.results.length>0&&C(r))}else{let e=await P(r,k.current.signal);e&&(i([]),d(e.results),m([]),g(e.totalResults),y(e.responseTime),e.results.length>0&&C(r))}}catch(e){x(e instanceof Error?e.message:"Search failed"),i([]),d([]),m([]),g(0)}finally{p(!1)}},[t,s,A,P,C]),T=(0,a.useCallback)(e=>{N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{R(e)},300)},[R]),L=(0,a.useCallback)(e=>{r(e),e.trim().length>=2?T(e):0===e.trim().length&&(i([]),d([]),m("videos"===s?["solana","crypto","trading","gaming","art"]:["pump","meme","token","coin"]),g(0),x(null))},[T,s]),I=(0,a.useCallback)(()=>{r(""),i([]),d([]),m([]),g(0),x(null),k.current&&k.current.abort(),N.current&&clearTimeout(N.current)},[]);return(0,a.useEffect)(()=>{i([]),d([]),m([]),g(0),x(null),t.trim().length>=2&&R(t)},[s]),(0,a.useEffect)(()=>()=>{N.current&&clearTimeout(N.current),k.current&&k.current.abort()},[]),{query:t,searchType:s,videoResults:l,tokenResults:c,suggestions:u,loading:h,error:f,totalResults:v,responseTime:b,setQuery:L,setSearchType:n,search:R,clearSearch:I,recentSearches:j,addToHistory:C,clearHistory:E}}(p);(0,a.useEffect)(()=>{_(p)},[p,_]);let M=(0,a.useRef)(!1);(0,m.L)(N,()=>{y(!1),w(!1)},b),(0,a.useEffect)(()=>{let e=e=>{var t,r;(e.ctrlKey||e.metaKey)&&"k"===e.key&&(e.preventDefault(),null==(t=k.current)||t.focus(),y(!0)),"Escape"===e.key&&b&&(y(!1),w(!1),null==(r=k.current)||r.blur())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[b]);let W=S.length>0,z=b&&(j||S.length>0);return(0,s.jsxs)("div",{ref:N,className:"relative ".concat(t),children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("div",{className:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",children:(0,s.jsx)(i.A,{color:"#9CA3AF",size:"18px"})}),(0,s.jsx)("input",{ref:k,type:"text",placeholder:r,value:S,onChange:e=>{let t=e.target.value;U(t),!b&&t.trim()&&y(!0)},onFocus:()=>{w(!0),y(!0),M.current||(M.current=!0,fetch("/api/search?q=so&limit=1").catch(()=>{}))},onKeyDown:e=>{if("Enter"===e.key&&S.trim()){var t;v.push("/search?q=".concat(encodeURIComponent(S))),y(!1),null==(t=k.current)||t.blur()}},className:"\n search-input w-full rounded-full bg-[var(--theme-surface)] border border-[var(--theme-border)]\n text-[var(--theme-text-primary)] placeholder-[var(--theme-text-muted)] transition-all duration-200\n focus:outline-none focus:ring-1 focus:ring-[var(--theme-primary)] focus:border-[var(--theme-primary)]\n ".concat(W?"pr-10":"pr-4","\n ").concat(g?"py-1.5 pl-9 text-xs":"py-2 pl-10 text-sm","\n ")}),W&&!P&&(0,s.jsx)("button",{onClick:()=>{var e;F(),null==(e=k.current)||e.focus()},className:"absolute inset-y-0 right-0 pr-3 flex items-center hover:opacity-80 transition-opacity",children:(0,s.jsx)(c.A,{color:"#9CA3AF",size:"16px"})}),P&&(0,s.jsx)("div",{className:"absolute inset-y-0 right-0 pr-3 flex items-center",children:(0,s.jsx)("div",{className:"animate-spin w-4 h-4 border-2 border-[var(--theme-primary)] border-t-transparent rounded-full"})}),R&&!P&&(0,s.jsx)("div",{className:"absolute inset-y-0 right-0 pr-3 flex items-center",children:(0,s.jsx)("div",{className:"w-4 h-4 text-red-400",children:"â "})})]}),z&&(0,s.jsx)(h.A,{isOpen:z,query:S,searchType:p,suggestions:A,recentSearches:I,videoResults:C,tokenResults:E,loading:P,totalResults:T,responseTime:L,onSuggestionClick:e=>{var t;U(e),O(e),y(!1),null==(t=k.current)||t.blur()},onRecentSearchClick:e=>{var t;U(e),y(!1),null==(t=k.current)||t.blur()},onVideoResultClick:e=>{y(!1),w(!1),(0,l.ID)(),f?f(e):v.push("/".concat(e.streamerUsername))},onTokenResultClick:e=>{if(y(!1),w(!1),x)return void x(e);let t=(0,d.p)({entityType:e.entityType,streamerUsername:e.streamerUsername,mint:e.mint});"#"!==t&&v.push(t)},onClearHistory:D})]})}},81877:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>x,SK:()=>m,cm:()=>u,l:()=>f});var s=r(95155),a=r(21526),n=r(15239),l=r(12115);let i="users_avatar_cache_v3";try{for(let e of["users_avatar_cache_v2","users_avatar_cache"])localStorage.removeItem(e)}catch(e){}let c=new Map,o=e=>!!e&&!!e.url&&!!e.cachedAt&&Date.now()-e.cachedAt<36e5,d=e=>{try{let t=JSON.parse(localStorage.getItem(i)||"{}")[e];if(o(t))return null==t?void 0:t.url;return}catch(e){return}},u=e=>{try{let t=JSON.parse(localStorage.getItem(i)||"{}");delete t[e],localStorage.setItem(i,JSON.stringify(t)),window.dispatchEvent(new CustomEvent("localStorageChange",{detail:{key:i,userId:e}}))}catch(t){localStorage.removeItem(i),window.dispatchEvent(new CustomEvent("localStorageChange",{detail:{key:i,userId:e}}))}},m=(e,t)=>
1{c.delete(e);try{let r=JSON.parse(localStorage.getItem(i)||"{}");r[e]={url:t,cachedAt:Date.now()},localStorage.setItem(i,JSON.stringify(r)),window.dispatchEvent(new CustomEvent("localStorageChange",{detail:{key:i,userId:e}}))}catch(r){try{let r={[e]:{url:t,cachedAt:Date.now()}};localStorage.setItem(i,JSON.stringify(r)),window.dispatchEvent(new CustomEvent("localStorageChange",{detail:{key:i,userId:e}}))}catch(e){console.error("Failed to update avatar cache in localStorage")}}},h=e=>!(!e||e.length<32||e.length>44||e.startsWith("demo-"))&&/^[1-9A-HJ-NP-Za-km-z]+$/.test(e),p=async e=>{if(!h(e))return null;let t=d(e);if(t)return t;if(c.has(e))return c.get(e);let r=(async()=>{try{var t;let r=await fetch("/api/user/".concat(e),{cache:"no-store"}),s=await r.json();if(null==(t=s.user)?void 0:t.userAvatar){let t=JSON.parse(localStorage.getItem(i)||"{}"),r=t[e],a=s.user.userAvatar;if(o(r))return r.url;return t[e]={url:a,cachedAt:Date.now()},localStorage.setItem(i,JSON.stringify(t)),a}return null}catch(e){return null}finally{c.delete(e)}})();return c.set(e,r),r},f=e=>e&&(e=>!(!e||e.startsWith("data:")||e.includes("firebasestorage.googleapis.com")||e.includes("storage.googleapis.com")||e.startsWith("/")))(e)?"/api/avatar?url=".concat(encodeURIComponent(e)):e;function x(e){let{userId:t,avatarUrl:r,size:c=24,variant:u="beam",colors:x=["#9945ff","#cca2ff","#fffee1","#8af8ca","#14f195"],className:v,isStreamerInfo:g=!1,onClick:b,...y}=e,[j,w]=(0,l.useState)(()=>r||d(t)||""),[N,k]=(0,l.useState)(()=>!!r||!!d(t)||!h(t)),[S,C]=(0,l.useState)(!1),E=(0,l.useRef)(void 0),A=(0,l.useRef)(0),P=(0,l.useRef)(r);P.current=r;let R=r||j,T=()=>{E.current&&(clearTimeout(E.current),E.current=void 0),A.current+=1};if((0,l.useEffect)(()=>{if(!t)return;if(r){T(),C(!1),d(t)!==r&&m(t,r),k(!0);return}let e=d(t);if(e){T(),w(e),k(!0);return}if(!h(t)){T(),k(!0);return}k(!1),E.current&&clearTimeout(E.current);let s=A.current;return E.current=setTimeout(async()=>{if(s!==A.current)return;let e=await p(t);if(s!==A.current)return;let r=d(t)||e;r&&(w(r),C(!1)),k(!0)},500),()=>{E.current&&clearTimeout(E.current)}},[t,r]),(0,l.useEffect)(()=>{C(!1)},[R]),(0,l.useEffect)(()=>{if(!t)return;let e=e=>{if(e.key===i&&!P.current){E.current&&(clearTimeout(E.current),E.current=void 0),A.current+=1;try{let r=(e.newValue?JSON.parse(e.newValue):{})[t],s=o(r)?r.url:"";w(s),C(!1),k(!0)}catch(e){w(d(t)||""),k(!0)}}};window.addEventListener("storage",e);let r=e=>{var r,s;if((null==(r=e.detail)?void 0:r.key)===i&&(null==(s=e.detail)?void 0:s.userId)===t){if(P.current)return;E.current&&(clearTimeout(E.current),E.current=void 0),A.current+=1,w(d(t)||""),C(!1),k(!0)}};return window.addEventListener("localStorageChange",r),()=>{window.removeEventListener("storage",e),window.removeEventListener("localStorageChange",r)}},[t,r]),R&&!S){let e=f(R);return(0,s.jsx)(n.default,{src:e,alt:"",width:c,height:c,className:"rounded-full object-cover aspect-square ".concat(b?"cursor-pointer":""),style:{imageRendering:"crisp-edges",backfaceVisibility:"hidden",willChange:"transform",width:c,height:c,minWidth:c,minHeight:c},loading:"eager",onClick:b,onError:()=>{console.warn("Failed to load avatar image for user ".concat(t,":"),R),C(!0)}},e)}return N?(0,s.jsx)(a.A,{size:c,name:t,variant:u,colors:x,className:"".concat(v," rounded-full"),style:{backfaceVisibility:"hidden",willChange:"transform"},onClick:b,...y}):(0,s.jsx)("div",{className:"rounded-full ".concat(null!=v?v:""),style:{width:c,height:c,minWidth:c,minHeight:c,backgroundColor:"rgba(148, 69, 255, 0.12)",backfaceVisibility:"hidden",willChange:"transform"},onClick:b,"aria-hidden":"true"})}},83603:(e,t,r)=>{"use strict";r.d(t,{s:()=>l});var s=r(21966),a=r(39390),n=r(12115);let l=(e,t)=>{let[r,l]=(0,n.useState)(null!=t?t:null),[i,c]=(0,n.useState)(!t),[o,d]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let r=!1;return(async()=>{if(!e){l(null),c(!1);return}t||c(!0);try{let t=(0,a.P)((0,a.rJ)(s.db,"users"),(0,a._M)("username","==",e)),n=await (0,a.Rr)(t);if(r)return;if(n.empty){d("No user found with username: ".concat(e)),l(null);return}let i=n.docs[0],c={...i.data(),id:i.id};l(c),d(null)}catch(e){if(r)return;console.error("Error fetching user profile:",e),d("Failed to fetch user ID"),l(null)}finally{r||c(!1)}})(),()=>{r=!0}},[e]),{userProfile:r,loading:i,error:o}}},85935:(e,t,r)=>{"use strict";function s(e){if(!e)return null;try{let t=new URL(e);if(t.hostname.includes("twitch.tv"))if(t.hostname.includes("player.twitch.tv")){let e=t.searchParams.get("channel");
1if(e)return{type:"twitch",channelId:e}}else{let e=t.pathname.split("/").filter(Boolean)[0];if(e)return{type:"twitch",channelId:e}}if(t.hostname.includes("youtube.com")||t.hostname.includes("youtu.be")){if(t.hostname.includes("youtube.com")){if(t.pathname.startsWith("/embed/")){let e=t.pathname.replace("/embed/","");return{type:"youtube",channelId:e,videoId:e}}else if("/watch"===t.pathname){let e=t.searchParams.get("v");if(e)return{type:"youtube",channelId:e,videoId:e}}}else if("youtu.be"===t.hostname){let e=t.pathname.replace("/","");if(e)return{type:"youtube",channelId:e,videoId:e}}}if(t.hostname.includes("kick.com"))if(t.hostname.includes("player.kick.com")){let e=t.pathname.split("/").filter(Boolean)[0];if(e)return{type:"kick",channelId:e}}else{let e=t.pathname.split("/").filter(Boolean)[0];if(e)return{type:"kick",channelId:e}}}catch(t){console.warn("Failed to parse stream URL:",e,t)}return null}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sd",r=arguments.length>2?arguments[2]:void 0,a=s(e);if(!a)return null;let n=e=>null==r?e:"".concat(e,"?t=").concat(r);switch(a.type){case"twitch":return n("hd"===t?"https://static-cdn.jtvnw.net/previews-ttv/live_user_".concat(a.channelId,"-1280x720.jpg"):"https://static-cdn.jtvnw.net/previews-ttv/live_user_".concat(a.channelId,"-640x360.jpg"));case"youtube":if(a.videoId)return n("hd"===t?"https://i.ytimg.com/vi/".concat(a.videoId,"/maxresdefault.jpg"):"https://i.ytimg.com/vi/".concat(a.videoId,"/sddefault.jpg"));return null;default:return null}}function n(e){if(!e)return!1;try{let t=new URL(e).hostname.toLowerCase();return t.endsWith("lp-playback.studio")||t.endsWith("lp-playback.com")||t.includes("livepeercdn")}catch(t){return e.includes("lp-playback.studio")||e.includes("lp-playback.com")||e.includes("livepeercdn")}}function l(e,t){if(!e)return e||"";if(null==t||!(e.includes("static-cdn.jtvnw.net/previews-ttv/")||e.includes("i.ytimg.com/vi/")||n(e)))return e;let r=e.includes("?")?"&":"?";return"".concat(e).concat(r,"t=").concat(t)}function i(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],r=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=s(e);return a?function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];switch(e.type){case"twitch":let s=(()=>{let e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e?"localhost":e})();return"https://player.twitch.tv/?channel=".concat(e.channelId,"&parent=").concat(s,"&autoplay=").concat(r,"&muted=").concat(t);case"youtube":if(e.videoId){let s=new URLSearchParams({autoplay:r?"1":"0",mute:t?"1":"0",modestbranding:"1",rel:"0"});return"https://www.youtube.com/embed/".concat(e.videoId,"?").concat(s.toString())}break;case"kick":let a=new URLSearchParams({muted:t.toString(),autoplay:r.toString()});return"https://player.kick.com/".concat(e.channelId,"?").concat(a.toString())}return""}(a,t,r):e}function c(){sessionStorage.setItem("userInitiatedPlayback","true"),sessionStorage.setItem("playbackTimestamp",Date.now().toString())}function o(){let e=sessionStorage.getItem("userInitiatedPlayback"),t=sessionStorage.getItem("playbackTimestamp");return"true"===e&&!!t&&Date.now()-parseInt(t)<5e3}function d(){sessionStorage.removeItem("userInitiatedPlayback"),sessionStorage.removeItem("playbackTimestamp")}r.d(t,{$W:()=>n,Gs:()=>d,ID:()=>c,MO:()=>o,XW:()=>i,fB:()=>l,pC:()=>a,z3:()=>s})}}]);
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.