{"version":3,"file":"CMSImage.jAgZ95DH.mjs","names":["useState","useMemo"],"sources":["https:/framerusercontent.com/modules/vYTvF2UBJMxYOWNMNB0v/N96NO1xq4jBqIgsQ5a4t/CMSImage.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,Data}from\"framer\";import{useMemo,useState,useEffect,startTransition}from\"react\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CMSImage(props){const{slug=\"/castlevania\",baseUrl=\"https://resources.crowdcontrol.live/images\",imageName=\"box.jpg\",alt=\"Game box art\",objectFit=\"contain\",backgroundColor=\"transparent\",minWidth=200,style,showSlugTooltip=true,autoCapitalizeSlug=false,tooltipBackgroundColor=\"#2A2A3E\",tooltipTextColor=\"#FFFFFF\",tooltipFont,borderRadius=0,showNewBadge=true,newBadgeBackgroundColor=\"#FF5588\",newBadgeTextColor=\"#FFFFFF\",newBadgeFont,newBadgePosition=\"top-right\",isSquare=false,omitSlash=false,debugMode=false,logToConsole=false,useCustomFallback=false,customFallbackImage=\"\"}=props;const[imageError,setImageError]=useState(false);const[isHovered,setIsHovered]=useState(false);const[gameMetadata,setGameMetadata]=useState(null);const[isLoadingMetadata,setIsLoadingMetadata]=useState(false);const[isNewState,setIsNewState]=useState(false);// Use Data API to expose isNew state\nconst data=Data({isNew:false});// Extract gameID from slug (remove leading slash)\nconst gameID=useMemo(()=>{return slug.startsWith(\"/\")?slug.slice(1):slug;},[slug]);const displaySlug=useMemo(()=>{if(!autoCapitalizeSlug)return slug;return slug.replace(/(^|[\\/\\-_\\s]+)([a-z])/g,(_match,p1,p2)=>`${p1}${String(p2).toUpperCase()}`);},[slug,autoCapitalizeSlug]);const urlSlug=useMemo(()=>{const cleanSlug=slug.startsWith(\"/\")?slug.slice(1):slug;if(!autoCapitalizeSlug)return cleanSlug;return cleanSlug.replace(/(^|[\\/\\-_\\s]+)([a-z])/g,(_match,p1,p2)=>`${p1}${String(p2).toUpperCase()}`);},[slug,autoCapitalizeSlug]);// Fetch game metadata to check if it's new\nuseEffect(()=>{if(!gameID||!slug){startTransition(()=>{setIsNewState(false);setGameMetadata(null);});return;}const fetchGameMetadata=async()=>{try{startTransition(()=>setIsLoadingMetadata(true));const apiUrl=`https://open-api.crowdcontrol.live/games/${gameID}/packs`;console.log(\"Fetching from API:\",apiUrl);const response=await fetch(apiUrl);if(!response.ok){console.warn(`API Error for ${gameID}: ${response.status}`);startTransition(()=>{setIsLoadingMetadata(false);setGameMetadata(null);setIsNewState(false);});return;}const data=await response.json();// Log the full response to see what's available\nconsole.log(\"=== Game API Response for\",gameID,\"===\");console.log(\"Full data:\",JSON.stringify(data,null,2));console.log(\"data.newUpdate:\",data.newUpdate);console.log(\"data.meta:\",data.meta);console.log(\"data.meta?.newUpdate:\",data.meta?.newUpdate);console.log(\"All keys in data:\",Object.keys(data));if(data.meta){console.log(\"All keys in data.meta:\",Object.keys(data.meta));}// Check for newUpdate in all possible locations\nlet foundNewUpdate=false;if(data.newUpdate!==undefined){console.log(\"Found newUpdate at root level:\",data.newUpdate);foundNewUpdate=data.newUpdate===true;}else if(data.meta?.newUpdate!==undefined){console.log(\"Found newUpdate in meta:\",data.meta.newUpdate);foundNewUpdate=data.meta.newUpdate===true;}else{console.log(\"newUpdate not found in expected locations\");// Search through all properties\nconst searchForNewUpdate=(obj,path=\"\")=>{for(const key in obj){const currentPath=path?`${path}.${key}`:key;if(key===\"newUpdate\"){console.log(`Found newUpdate at ${currentPath}:`,obj[key]);return obj[key]===true;}if(typeof obj[key]===\"object\"&&obj[key]!==null){const result=searchForNewUpdate(obj[key],currentPath);if(result)return true;}}return false;};foundNewUpdate=searchForNewUpdate(data);}console.log(\"Final foundNewUpdate:\",foundNewUpdate);console.log(\"=====================================\");startTransition(()=>{setGameMetadata(data);setIsNewState(foundNewUpdate);setIsLoadingMetadata(false);});}catch(err){console.error(\"Failed to fetch game metadata:\",err);startTransition(()=>{setIsLoadingMetadata(false);setGameMetadata(null);setIsNewState(false);});}};fetchGameMetadata();},[gameID,slug]);// Check if game is marked as new and update state\nuseEffect(()=>{if(!gameMetadata){startTransition(()=>{setIsNewState(false);});return;}// This effect is now redundant since we set isNewState in the fetch\n// But keeping it for backwards compatibility\n},[gameMetadata,gameID]);// Notify parent component when isNew status changes\nuseEffect(()=>{if(props.onNewStatusChange){props.onNewStatusChange(isNewState);}},[isNewState,props.onNewStatusChange]);// Construct the full image URL from the slug\nconst imageUrl=useMemo(()=>{const separator=omitSlash?\"\":\"/\";const url=`${baseUrl}/${urlSlug}${separator}${imageName}`;if(logToConsole){console.log(\"[CMSImage Debug] Constructed image URL:\",url);}return url;},[baseUrl,imageName,urlSlug,omitSlash,logToConsole]);// Construct banner URL\nconst bannerUrl=useMemo(()=>{return`https://resources.crowdcontrol.live/images/${urlSlug}/banner.jpg`;},[urlSlug]);// Check if we have explicit dimensions from Framer\nconst hasExplicitDimensions=style?.width&&style?.height;// Helper function to safely extract font styles\nconst getSafeFontStyle=fontObj=>{if(!fontObj||typeof fontObj!==\"object\")return{};const safeStyle={};const validProps=[\"fontSize\",\"fontFamily\",\"fontWeight\",\"fontStyle\",\"letterSpacing\",\"lineHeight\",\"textAlign\"];for(const prop of validProps){const value=fontObj[prop];if(value!==undefined&&value!==null&&(typeof value===\"string\"||typeof value===\"number\")){safeStyle[prop]=value;}}return safeStyle;};const safeTooltipFont=getSafeFontStyle(tooltipFont);const safeNewBadgeFont=getSafeFontStyle(newBadgeFont);// Get badge position styles\nconst getBadgePositionStyles=()=>{const baseStyles={position:\"absolute\",zIndex:10,padding:\"6px 12px\",borderRadius:\"6px\"};switch(newBadgePosition){case\"top-left\":return{...baseStyles,top:\"12px\",left:\"12px\"};case\"top-right\":return{...baseStyles,top:\"12px\",right:\"12px\"};case\"bottom-left\":return{...baseStyles,bottom:\"12px\",left:\"12px\"};case\"bottom-right\":return{...baseStyles,bottom:\"12px\",right:\"12px\"};default:return{...baseStyles,top:\"12px\",right:\"12px\"};}};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",backgroundColor:\"transparent\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",minWidth:`${minWidth}px`,width:style?.width||\"100%\",height:\"auto\",padding:0,overflow:\"visible\",borderRadius:`${borderRadius}px`},onMouseEnter:()=>{startTransition(()=>setIsHovered(true));},onMouseLeave:()=>{startTransition(()=>setIsHovered(false));},\"data-is-new\":isNewState,\"data-game-id\":gameID,children:[debugMode&&/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",backgroundColor:\"#151129\",border:\"1px solid #FF5588\",color:\"#00FFCC\",padding:\"8px 10px\",fontSize:\"11px\",fontFamily:\"monospace\",wordBreak:\"break-all\",zIndex:1001,borderRadius:\"6px\",marginBottom:\"8px\",boxSizing:\"border-box\",lineHeight:\"1.4em\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"#FF5588\",fontWeight:\"bold\"},children:\"[CMSImage Debug Bar]\"}),/*#__PURE__*/_jsxs(\"div\",{children:[\"URL: \",imageUrl]}),/*#__PURE__*/_jsxs(\"div\",{style:{color:\"#9999BB\",marginTop:\"2px\"},children:[\"Remove Slash: \",omitSlash?\"true\":\"false\",\" | Square:\",\" \",isSquare?\"true\":\"false\",\" | Custom Fallback:\",\" \",useCustomFallback&&customFallbackImage?\"active\":\"off\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",aspectRatio:isSquare?\"1 / 1\":\"auto\",overflow:\"hidden\",borderRadius:`${borderRadius}px`,backgroundColor},children:[/*#__PURE__*/_jsx(\"output\",{hidden:true,\"aria-hidden\":\"true\",\"data-framer-name\":\"isNewOutput\",style:{display:\"none\"},children:isNewState?\"true\":\"false\"}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,right:0,height:\"100%\",backgroundImage:`url(${bannerUrl})`,backgroundSize:\"cover\",backgroundPosition:\"top center\",backgroundRepeat:\"no-repeat\",opacity:.2,maskImage:\"linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 70%)\",WebkitMaskImage:\"linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 70%)\",pointerEvents:\"none\",zIndex:0,borderRadius:`${borderRadius}px`}}),showNewBadge&&isNewState&&/*#__PURE__*/_jsx(\"div\",{style:{...getBadgePositionStyles(),backgroundColor:newBadgeBackgroundColor,color:newBadgeTextColor,boxShadow:\"0 2px 8px rgba(0, 0, 0, 0.3)\",fontWeight:\"bold\",textTransform:\"uppercase\",...safeNewBadgeFont},children:\"NEW\"}),imageError?useCustomFallback&&customFallbackImage?/*#__PURE__*/_jsx(\"img\",{src:customFallbackImage,alt:`${alt} (Fallback)`,style:{width:\"100%\",height:isSquare?\"100%\":\"auto\",objectFit,display:\"block\",position:\"relative\",zIndex:1,borderRadius:`${borderRadius}px`}}):/*#__PURE__*/_jsxs(\"div\",{style:{padding:20,textAlign:\"center\",color:\"#999\",fontSize:14,fontFamily:\"sans-serif\",position:\"relative\",zIndex:1,borderRadius:`${borderRadius}px`},children:[/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:8},children:\"Image not found\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,wordBreak:\"break-all\"},children:imageUrl})]}):/*#__PURE__*/_jsx(\"img\",{src:imageUrl,alt:alt,style:{width:\"100%\",height:isSquare?\"100%\":\"auto\",objectFit,display:\"block\",position:\"relative\",zIndex:1,borderRadius:`${borderRadius}px`},onError:e=>{console.error(\"Failed to load image:\",imageUrl);setImageError(true);},onLoad:()=>{console.log(\"Image loaded successfully:\",imageUrl);setImageError(false);}})]}),showSlugTooltip&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",bottom:\"calc(100% + 12px)\",left:\"50%\",transform:isHovered?\"translate(-50%, 0)\":\"translate(-50%, 8px)\",backgroundColor:tooltipBackgroundColor,color:tooltipTextColor,padding:\"12px 16px\",borderRadius:\"8px\",whiteSpace:\"nowrap\",boxShadow:\"0 4px 12px rgba(0, 0, 0, 0.3)\",zIndex:1e3,pointerEvents:\"none\",opacity:isHovered?1:0,transition:\"opacity 0.2s ease-out, transform 0.2s ease-out\",...safeTooltipFont},children:[displaySlug,/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"100%\",left:\"50%\",transform:\"translateX(-50%)\",width:0,height:0,borderLeft:\"6px solid transparent\",borderRight:\"6px solid transparent\",borderTop:`6px solid ${tooltipBackgroundColor}`}})]})]});}addPropertyControls(CMSImage,{slug:{type:ControlType.String,title:\"Slug\",defaultValue:\"/castlevania\",description:\"CMS slug field (e.g., /castlevania)\"},baseUrl:{type:ControlType.String,title:\"Base URL\",defaultValue:\"https://resources.crowdcontrol.live/images\"},imageName:{type:ControlType.String,title:\"Image Name\",defaultValue:\"box.jpg\",description:\"Image filename (e.g., box.jpg)\"},omitSlash:{type:ControlType.Boolean,title:\"Remove Slash\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Removes the / between slug and image name (e.g., slug.jpg)\"},isSquare:{type:ControlType.Boolean,title:\"Square Mode\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Forces a 1:1 aspect ratio container\"},useCustomFallback:{type:ControlType.Boolean,title:\"Fallback Image\",defaultValue:false,enabledTitle:\"Custom\",disabledTitle:\"Text\",description:\"Use a custom image when the URL fails to load\"},customFallbackImage:{type:ControlType.Image,title:\"Fallback File\",hidden:({useCustomFallback})=>!useCustomFallback},debugMode:{type:ControlType.Boolean,title:\"Debug Overlay\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Shows a visual box above the component with the constructed URL\"},logToConsole:{type:ControlType.Boolean,title:\"Log to Console\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Outputs constructed URL details to developer tools console\"},alt:{type:ControlType.String,title:\"Alt Text\",defaultValue:\"Game box art\"},objectFit:{type:ControlType.Enum,title:\"Object Fit\",options:[\"contain\",\"cover\",\"fill\",\"none\"],optionTitles:[\"Contain\",\"Cover\",\"Fill\",\"None\"],defaultValue:\"contain\",displaySegmentedControl:true},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},minWidth:{type:ControlType.Number,title:\"Min Width\",defaultValue:200,min:0,max:1e3,step:10,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:0,min:0,max:100,step:1,unit:\"px\"},showSlugTooltip:{type:ControlType.Boolean,title:\"Show Slug Tooltip\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},autoCapitalizeSlug:{type:ControlType.Boolean,title:\"Capitalize Slug\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Auto-capitalize the first letter after /, -, _, and spaces in the displayed slug\"},tooltipBackgroundColor:{type:ControlType.Color,title:\"Tooltip Background\",defaultValue:\"#2A2A3E\"},tooltipTextColor:{type:ControlType.Color,title:\"Tooltip Text\",defaultValue:\"#FFFFFF\"},tooltipFont:{type:ControlType.Font,title:\"Tooltip Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},showNewBadge:{type:ControlType.Boolean,title:\"Show NEW Badge\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},newBadgeBackgroundColor:{type:ControlType.Color,title:\"Badge Background\",defaultValue:\"#FF5588\",hidden:({showNewBadge})=>!showNewBadge},newBadgeTextColor:{type:ControlType.Color,title:\"Badge Text\",defaultValue:\"#FFFFFF\",hidden:({showNewBadge})=>!showNewBadge},newBadgeFont:{type:ControlType.Font,title:\"Badge Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",variant:\"Bold\",letterSpacing:\"0.05em\",lineHeight:\"1em\"},hidden:({showNewBadge})=>!showNewBadge},newBadgePosition:{type:ControlType.Enum,title:\"Badge Position\",options:[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],optionTitles:[\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"top-right\",displaySegmentedControl:true,hidden:({showNewBadge})=>!showNewBadge},onNewStatusChange:{type:ControlType.EventHandler},isNew:{type:ControlType.Boolean,title:\"Is New\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Read-only: Indicates if game is marked as new in API\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSImage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSImage.map"],"mappings":"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"}