{"version":3,"file":"RetroButton.D2SHnDMQ.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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"}