{"version":3,"file":"RetroButton.Bi2my0dx.mjs","names":["React.useState","React.useRef","React.useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/QzJMZBpw96KNmGa4l7UV/FCLjTJzjncZ0DPlTdgLw/RetroButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createPortal}from\"react-dom\";const STYLE_ID=\"entropy-terminal-cursor-login-button-styles\";const VERCEL_APP_URL=\"https://entropy-game-engine.vercel.app\";const ALLOWED_IFRAME_ORIGIN=new URL(VERCEL_APP_URL).origin;const STORAGE_KEY=\"entropy-auth-token\";function isStoredSession(value){return value&&typeof value===\"object\"&&typeof value.access_token===\"string\"&&typeof value.refresh_token===\"string\";}function decodeJwtExpiry(accessToken){try{const payload=accessToken.split(\".\")[1];if(!payload)return null;const normalized=payload.replace(/-/g,\"+\").replace(/_/g,\"/\");const decoded=JSON.parse(window.atob(normalized));return typeof decoded.exp===\"number\"?decoded.exp:null;}catch(error){return null;}}function getStoredSession(){if(typeof window===\"undefined\")return null;try{const raw=window.localStorage.getItem(STORAGE_KEY);if(!raw)return null;const parsed=JSON.parse(raw);const candidates=[parsed,parsed.currentSession,parsed.session];const session=candidates.find(isStoredSession);if(!session)return null;if(typeof session.expires_at===\"number\"&&session.expires_at*1e3<=Date.now()){return null;}return session;}catch(error){return null;}}function persistSessionTokens(accessToken,refreshToken,params){if(typeof window===\"undefined\")return;const expiresIn=Number(params?.get(\"expires_in\")||\"3600\");const explicitExpiresAt=Number(params?.get(\"expires_at\")||\"\");const expiresAt=Number.isFinite(explicitExpiresAt)&&explicitExpiresAt>0?explicitExpiresAt:decodeJwtExpiry(accessToken)||Math.floor(Date.now()/1e3)+(Number.isFinite(expiresIn)&&expiresIn>0?expiresIn:3600);const session={access_token:accessToken,refresh_token:refreshToken,token_type:params?.get(\"token_type\")||\"bearer\",expires_in:Number.isFinite(expiresIn)&&expiresIn>0?expiresIn:3600,expires_at:expiresAt};window.localStorage.setItem(STORAGE_KEY,JSON.stringify(session));}function clearStoredSession(){if(typeof window===\"undefined\")return;window.localStorage.removeItem(STORAGE_KEY);window.localStorage.removeItem(`${STORAGE_KEY}-code-verifier`);window.localStorage.removeItem(`${STORAGE_KEY}-user`);window.localStorage.removeItem(\"supabase.auth.token\");}async function checkLoggedIn(){return Boolean(getStoredSession()?.access_token);}function broadcastAuthState(loggedIn){window.dispatchEvent(new CustomEvent(\"ENTROPY_AUTH_STATE\",{detail:{loggedIn}}));}function buildCleanedAuthUrl(){const cleanedUrl=new URL(window.location.href);[\"access_token\",\"refresh_token\",\"token_type\",\"expires_in\",\"expires_at\",\"type\"].forEach(key=>cleanedUrl.searchParams.delete(key));cleanedUrl.hash=\"\";return cleanedUrl;}async function consumeUrlSessionTokens(){if(typeof window===\"undefined\")return;const searchParams=new URLSearchParams(window.location.search);const hashParams=new URLSearchParams(window.location.hash.replace(/^#/,\"\"));const tokenParams=new URLSearchParams(searchParams);hashParams.forEach((value,key)=>{if(!tokenParams.has(key))tokenParams.set(key,value);});const accessToken=searchParams.get(\"access_token\")||hashParams.get(\"access_token\");const refreshToken=searchParams.get(\"refresh_token\")||hashParams.get(\"refresh_token\");if(!accessToken||!refreshToken)return;persistSessionTokens(accessToken,refreshToken,tokenParams);broadcastAuthState(true);const cleanedUrl=buildCleanedAuthUrl();window.history.replaceState({},document.title,cleanedUrl.toString());}function getBridgeMessageType(data){if(typeof data===\"string\")return data;if(data&&typeof data===\"object\"&&typeof data.type===\"string\"){if(data.source&&data.source!==\"entropy-engine\")return null;return data.type;}return null;}function buildEmbedUrl(targetWindow,sidebar){const target=new URL(\"/?embed=true\",VERCEL_APP_URL);if(targetWindow&&targetWindow!==\"none\"){target.searchParams.set(\"window\",targetWindow);}if(sidebar){target.searchParams.set(\"sidebar\",\"true\");}return target.toString();}function getHostWindow(){try{if(window.top&&window.top.document){return window.top;}}catch(error){// Cross-origin access falls back to the current window.\n}return window;}function requestEntropyEngineOpen(detail){const openEvent=new CustomEvent(\"OPEN_ENTROPY_ENGINE\",{detail});window.dispatchEvent(openEvent);try{window.top?.postMessage({type:\"OPEN_ENTROPY_ENGINE\",detail},\"*\");}catch(error){console.error(\"[loginhamburger] OPEN_ENTROPY_ENGINE relay failed:\",error);}}export function RetroButton(props){const{label,loggedInLabel,fontSize,width,height,targetWindow,startSidebar}=props;const[isPressed,setIsPressed]=React.useState(false);const[isHovered,setIsHovered]=React.useState(false);const[isFocused,setIsFocused]=React.useState(false);const[isLoggedIn,setIsLoggedIn]=React.useState(false);const[isFallbackVisible,setIsFallbackVisible]=React.useState(false);const[fallbackTarget,setFallbackTarget]=React.useState({window:\"none\",sidebar:false});const iframeRef=React.useRef(null);const buttonRef=React.useRef(null);const activationFrameRef=React.useRef(-Infinity);const isActive=isHovered||isFocused;const isCompact=width<=72;const isTiny=width<=60;React.useEffect(()=>{ensureTerminalButtonStyles();},[]);React.useEffect(()=>{let isMounted=true;const syncLoggedIn=async()=>{await consumeUrlSessionTokens();const loggedIn=await checkLoggedIn();if(isMounted)setIsLoggedIn(loggedIn);};syncLoggedIn();const handleFocus=()=>{void syncLoggedIn();};const handleEntropyAuthState=event=>{setIsLoggedIn(Boolean(event.detail?.loggedIn));};const handleStorage=event=>{if(!event.key||event.key===STORAGE_KEY)void syncLoggedIn();};window.addEventListener(\"focus\",handleFocus);window.addEventListener(\"ENTROPY_AUTH_STATE\",handleEntropyAuthState);window.addEventListener(\"storage\",handleStorage);return()=>{isMounted=false;window.removeEventListener(\"focus\",handleFocus);window.removeEventListener(\"ENTROPY_AUTH_STATE\",handleEntropyAuthState);window.removeEventListener(\"storage\",handleStorage);};},[]);const syncFallbackFrame=React.useCallback(async()=>{if(!iframeRef.current||!iframeRef.current.contentWindow){return;}iframeRef.current.contentWindow.postMessage({type:\"NAVIGATE\",payload:fallbackTarget},ALLOWED_IFRAME_ORIGIN);const session=getStoredSession();if(session?.access_token&&session?.refresh_token){iframeRef.current.contentWindow.postMessage({type:\"SUPABASE_SESSION\",access_token:session.access_token,refresh_token:session.refresh_token},ALLOWED_IFRAME_ORIGIN);}},[fallbackTarget]);React.useEffect(()=>{const hostWindow=getHostWindow();const handleMessage=async event=>{if(event.origin!==ALLOWED_IFRAME_ORIGIN)return;const messageType=getBridgeMessageType(event.data);if(messageType===\"CLOSE_OVERLAY\"){setIsFallbackVisible(false);return;}if(messageType===\"SUPABASE_SESSION\"){const{access_token,refresh_token}=event.data;if(typeof access_token!==\"string\"||typeof refresh_token!==\"string\"){return;}persistSessionTokens(access_token,refresh_token);broadcastAuthState(true);return;}if(messageType===\"SUPABASE_SIGN_OUT\"){clearStoredSession();activationFrameRef.current=-Infinity;setIsPressed(false);setIsHovered(false);setIsFocused(false);setIsLoggedIn(false);broadcastAuthState(false);setIsFallbackVisible(false);}};hostWindow.addEventListener(\"message\",handleMessage);return()=>hostWindow.removeEventListener(\"message\",handleMessage);},[]);React.useEffect(()=>{if(!isFallbackVisible)return;void syncFallbackFrame();},[isFallbackVisible,syncFallbackFrame]);const openLoginTarget=React.useCallback(event=>{event?.preventDefault();event?.stopPropagation();const now=typeof performance!==\"undefined\"?performance.now():Date.now();if(now-activationFrameRef.current<120)return;activationFrameRef.current=now;const detail={window:targetWindow,sidebar:startSidebar};const hostWindow=getHostWindow();const entropyWindow=hostWindow;const openEngine=entropyWindow.__ENTROPY_ENGINE_OPEN__;if(typeof openEngine===\"function\"){openEngine(detail.window,detail.sidebar);return;}requestEntropyEngineOpen(detail);setFallbackTarget({window:detail.window||\"none\",sidebar:Boolean(detail.sidebar)});setIsFallbackVisible(true);},[targetWindow,startSidebar]);React.useEffect(()=>{const button=buttonRef.current;if(!button)return;const handleNativeClick=event=>{event.preventDefault();openLoginTarget();};button.addEventListener(\"click\",handleNativeClick);return()=>button.removeEventListener(\"click\",handleNativeClick);},[openLoginTarget]);const rawLabel=isLoggedIn?loggedInLabel:label;const upperLabel=String(rawLabel).trim().toUpperCase();const displayLabel=upperLabel===\"LOG IN\"||upperLabel===\"SIGN IN\"?\"LOGIN\":upperLabel;const portalTarget=typeof document!==\"undefined\"?getHostWindow().document.body:null;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"button\",{ref:buttonRef,type:\"button\",\"aria-label\":displayLabel,style:{...containerStyle,width,height,background:isPressed?\"linear-gradient(180deg, #173d27 0%, #102c1d 100%)\":\"linear-gradient(180deg, #215336 0%, #173e28 55%, #102b1c 100%)\",border:isActive?\"1px solid #9af0ba\":\"1px solid #4fa06e\",boxShadow:isPressed?\"inset 1px 1px 0 #0a1a12, inset -1px -1px 0 #3d7a57\":isActive?\"inset 1px 1px 0 #9af0ba, inset -1px -1px 0 #0a1d13, 0 0 12px rgba(86,214,132,0.24)\":\"inset 1px 1px 0 #6ec792, inset -1px -1px 0 #0b1c13, 0 3px 0 #0a1711\",transform:isPressed?\"translateY(1px)\":\"none\"},onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>{setIsHovered(false);setIsPressed(false);},onMouseDown:()=>setIsPressed(true),onMouseUp:()=>setIsPressed(false),onFocus:()=>setIsFocused(true),onBlur:()=>{setIsFocused(false);setIsPressed(false);},onKeyDown:event=>{if(event.key===\" \"||event.key===\"Enter\"){setIsPressed(true);}},onKeyUp:()=>setIsPressed(false),onClick:openLoginTarget,children:[/*#__PURE__*/_jsx(\"div\",{style:scanlineStyle}),/*#__PURE__*/_jsx(\"div\",{style:highlightStyle}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",zIndex:1,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:isTiny?1:2,padding:isTiny?\"0 4px\":\"0 8px\"},children:[!isTiny&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:isCompact?Math.min(fontSize,10):fontSize,fontWeight:700,fontFamily:'\"Lucida Console\", Monaco, \"Andale Mono\", \"Courier New\", monospace',color:\"#baffd5\",lineHeight:1,flexShrink:0,textShadow:isActive?\"0 0 6px rgba(154,240,186,0.24)\":\"none\",animation:\"entropyTerminalPrompt 0.85s steps(2, end) infinite\"},children:\">\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:isCompact?Math.min(fontSize,10):fontSize,fontWeight:700,fontFamily:'\"Lucida Console\", Monaco, \"Andale Mono\", \"Courier New\", monospace',textTransform:\"uppercase\",letterSpacing:isTiny?\"0em\":\"0.03em\",color:\"#eaffef\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"clip\",userSelect:\"none\",lineHeight:1,textAlign:\"center\",textShadow:isActive?\"1px 0 0 #6dd896, 0 0 6px rgba(109,216,150,0.15)\":\"1px 0 0 #6dd896\",animation:isActive?\"entropyTerminalFlicker 1.2s steps(2, end) infinite\":\"none\"},children:displayLabel}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:isTiny?4:5,height:isTiny?10:12,background:\"#baffd5\",boxShadow:isActive?\"0 0 6px rgba(154,240,186,0.28)\":\"none\",flexShrink:0,animation:\"entropyTerminalCursor 0.95s steps(1, end) infinite\"}})]})]}),isFallbackVisible&&portalTarget?/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:fallbackOverlayStyle,onClick:()=>setIsFallbackVisible(false),children:/*#__PURE__*/_jsxs(\"div\",{style:fallbackFrameShellStyle,onClick:event=>event.stopPropagation(),children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:fallbackCloseButtonStyle,onClick:()=>setIsFallbackVisible(false),children:\"X\"}),/*#__PURE__*/_jsx(\"iframe\",{ref:iframeRef,src:buildEmbedUrl(fallbackTarget.window,fallbackTarget.sidebar),onLoad:()=>{void syncFallbackFrame();},style:fallbackFrameStyle,allow:\"autoplay; payment; clipboard-read; clipboard-write\"})]})}),portalTarget):null]});}const containerStyle={display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",position:\"relative\",zIndex:2147483645,overflow:\"hidden\",borderRadius:0,padding:0,outline:\"none\",appearance:\"none\",WebkitAppearance:\"none\",boxSizing:\"border-box\",userSelect:\"none\",pointerEvents:\"auto\",WebkitTapHighlightColor:\"transparent\",transition:\"box-shadow 0.15s ease, border-color 0.15s ease, transform 0.1s ease\"};const highlightStyle={position:\"absolute\",inset:0,background:\"linear-gradient(180deg, rgba(220,255,235,0.12) 0%, rgba(220,255,235,0.05) 34%, rgba(0,0,0,0) 35%)\",pointerEvents:\"none\"};const scanlineStyle={position:\"absolute\",inset:0,background:\"repeating-linear-gradient(180deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, rgba(0,0,0,0.03) 1px, rgba(0,0,0,0.03) 2px)\",opacity:.34,pointerEvents:\"none\"};const fallbackOverlayStyle={position:\"fixed\",inset:0,zIndex:2147483647,background:\"rgba(4, 10, 7, 0.78)\",backdropFilter:\"blur(10px)\",WebkitBackdropFilter:\"blur(10px)\",display:\"flex\",alignItems:\"stretch\",justifyContent:\"stretch\"};const fallbackFrameShellStyle={position:\"relative\",width:\"100%\",height:\"100%\"};const fallbackFrameStyle={width:\"100%\",height:\"100%\",border:\"none\",display:\"block\"};const fallbackCloseButtonStyle={position:\"absolute\",top:18,right:18,zIndex:2,width:40,height:40,border:\"1px solid rgba(0,255,153,0.36)\",background:\"rgba(8, 17, 13, 0.9)\",color:\"#dfffea\",fontFamily:'\"Lucida Console\", Monaco, \"Andale Mono\", \"Courier New\", monospace',fontSize:14,cursor:\"pointer\"};function ensureTerminalButtonStyles(){if(typeof document===\"undefined\"||document.getElementById(STYLE_ID)){return;}const style=document.createElement(\"style\");style.id=STYLE_ID;style.innerHTML=`\n        @keyframes entropyTerminalFlicker {\n            0%, 100% { opacity: 1; }\n            50% { opacity: 0.9; }\n        }\n\n        @keyframes entropyTerminalPrompt {\n            0%, 49% { opacity: 1; }\n            50%, 100% { opacity: 0.35; }\n        }\n\n        @keyframes entropyTerminalCursor {\n            0%, 49% { opacity: 1; }\n            50%, 100% { opacity: 0; }\n        }\n    `;document.head.appendChild(style);}addPropertyControls(RetroButton,{label:{type:ControlType.String,title:\"Logged Out\",defaultValue:\"LOGIN\"},loggedInLabel:{type:ControlType.String,title:\"Logged In\",defaultValue:\"PROFILE\"},targetWindow:{type:ControlType.Enum,title:\"Window\",options:[\"inventory\",\"shop\",\"quests\",\"profile\"],optionTitles:[\"Inventory\",\"Marketplace\",\"Missions\",\"Profile\"],defaultValue:\"inventory\"},startSidebar:{type:ControlType.Boolean,title:\"Show Sidebar\",defaultValue:true},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:12,min:8,max:48},width:{type:ControlType.Number,title:\"Width\",defaultValue:64},height:{type:ControlType.Number,title:\"Height\",defaultValue:44}});\nexport const __FramerMetadata__ = {\"exports\":{\"RetroButton\":{\"type\":\"reactComponent\",\"name\":\"RetroButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RetroButton.map"],"mappings":"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"}