{"version":3,"file":"SubstackMetadataCard.DE58DRFc.mjs","names":["useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/2rZnLat7tGZfueRnvm1O/nrcxIhmiwCQ0kXpEuEfC/SubstackMetadataCard.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{startTransition,useCallback,useEffect,useMemo,useState}from\"react\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function SubstackMetadataCard(props){const{postUrl,fallbackTitle,fallbackDate,fallbackImage,backgroundColor,titleColor,dateColor,cornerRadius,cardPadding,imageSize,gap,titleFont={},dateFont={}}=props;const[metadata,setMetadata]=useState({title:fallbackTitle,date:fallbackDate,image:fallbackImage,description:\"\"});const[imageLoadFailed,setImageLoadFailed]=useState(false);const sanitizedUrl=useMemo(()=>{const trimmed=(postUrl||\"\").trim();if(!trimmed)return\"\";try{if(typeof window!==\"undefined\"){return new URL(trimmed,window.location.href).toString();}return new URL(trimmed).toString();}catch(_error){return\"\";}},[postUrl]);const shouldFetchMetadata=useMemo(()=>{if(!sanitizedUrl)return false;try{const parsed=new URL(sanitizedUrl);const host=parsed.hostname.toLowerCase();const path=parsed.pathname.toLowerCase();const isSubstackHost=host.includes(\"substack.com\");const isPostPath=path.includes(\"/p/\");return isSubstackHost&&isPostPath;}catch(_error){return false;}},[sanitizedUrl]);const formatDateString=useCallback(value=>{if(!value)return\"\";const parsed=new Date(value);if(Number.isNaN(parsed.getTime()))return value;return parsed.toLocaleDateString(undefined,{year:\"numeric\",month:\"short\",day:\"numeric\"});},[]);const normalizePostImage=useCallback(value=>{const image=(value||\"\").trim();if(!image)return\"\";const lower=image.toLowerCase();const genericPatterns=[\"twitter/subscribe-card\",\"subscribe-card\",\"substack-wordmark\",\"substack-logo\",\"substack-icon\",\"brand-assets\"];const looksGeneric=genericPatterns.some(pattern=>lower.includes(pattern));return looksGeneric?\"\":image;},[]);const parseHtmlMetadata=useCallback(html=>{if(typeof window===\"undefined\")return null;const parser=new DOMParser;const doc=parser.parseFromString(html,\"text/html\");const getMeta=selector=>doc.querySelector(selector)?.getAttribute(\"content\")?.trim()||\"\";const ogTitle=getMeta('meta[property=\"og:title\"]');const pageTitle=doc.querySelector(\"title\")?.textContent?.trim()||\"\";const title=ogTitle||pageTitle||\"\";const description=getMeta('meta[property=\"og:description\"]')||getMeta('meta[name=\"description\"]')||\"\";const publishedMeta=getMeta('meta[property=\"article:published_time\"]')||getMeta('meta[name=\"publish_date\"]')||getMeta('meta[name=\"pubdate\"]')||getMeta('meta[name=\"date\"]')||doc.querySelector(\"time\")?.getAttribute(\"datetime\")?.trim()||\"\";const date=formatDateString(publishedMeta)||\"\";const image=normalizePostImage(getMeta('meta[property=\"og:image\"]')||\"\");return{title,date,image,description};},[formatDateString,normalizePostImage]);const hasUsableMetadata=useCallback(value=>{if(!value)return false;return Boolean(value.title.trim()||value.date.trim()||value.image.trim()||value.description.trim());},[]);const parseProxyMetadata=useCallback(payload=>{const root=payload&&typeof payload===\"object\"?payload:null;const data=root?.data&&typeof root.data===\"object\"?root.data:null;if(!data)return null;const getString=(...values)=>{for(const value of values){if(typeof value===\"string\"&&value.trim()){return value.trim();}}return\"\";};const getNestedUrl=value=>{if(!value)return\"\";if(typeof value===\"string\")return value.trim();if(typeof value===\"object\"){const record=value;return getString(record.url,record.src,record.secure_url,record.value);}return\"\";};const title=getString(data.title,data.name);const rawDate=getString(data.date,data.published,data.publishDate,data.publishedTime);const date=rawDate?formatDateString(rawDate):\"\";const image=normalizePostImage(getString(getNestedUrl(data.image),getNestedUrl(data.logo),getNestedUrl(data.thumbnail)));const description=getString(data.description,data.excerpt,data.subtitle,data.tagline);return{title,date,image,description};},[formatDateString,normalizePostImage]);useEffect(()=>{startTransition(()=>{setMetadata({title:fallbackTitle,date:fallbackDate,image:fallbackImage,description:\"\"});});if(!sanitizedUrl)return;if(!shouldFetchMetadata)return;if(typeof window===\"undefined\")return;const controller=new AbortController;const run=async()=>{const mergeMetadata=parsed=>{startTransition(()=>{setMetadata(prev=>({title:parsed.title||prev.title||fallbackTitle,date:parsed.date||prev.date||fallbackDate,image:parsed.image||prev.image||fallbackImage,description:parsed.description||prev.description||\"\"}));});};try{// Attempt direct metadata fetch. Browsers may block cross-origin HTML due to CORS.\n// If blocked, this throws and we keep fallback values instead of inventing metadata.\nconst response=await fetch(sanitizedUrl,{method:\"GET\",signal:controller.signal});if(!response.ok)return;const html=await response.text();const parsed=parseHtmlMetadata(html);if(hasUsableMetadata(parsed)&&parsed){mergeMetadata(parsed);return;}}catch(_error){// Graceful failure path: fall through to proxy metadata fetch.\n}try{const proxyUrl=`https://api.microlink.io/?url=${encodeURIComponent(sanitizedUrl)}&meta=true`;const proxyResponse=await fetch(proxyUrl,{method:\"GET\",signal:controller.signal});if(!proxyResponse.ok)return;const proxyJson=await proxyResponse.json();const parsedProxy=parseProxyMetadata(proxyJson);if(!hasUsableMetadata(parsedProxy)||!parsedProxy)return;mergeMetadata(parsedProxy);}catch(_error){// Graceful failure path: keep fallback data in place.\n}};run();return()=>{controller.abort();};},[sanitizedUrl,fallbackTitle,fallbackDate,fallbackImage,shouldFetchMetadata,parseHtmlMetadata,parseProxyMetadata,hasUsableMetadata]);const resolvedHref=sanitizedUrl||undefined;useEffect(()=>{startTransition(()=>{setImageLoadFailed(false);});},[metadata.image,fallbackImage]);const resolvedImageSrc=useMemo(()=>{if(imageLoadFailed)return fallbackImage;return metadata.image||fallbackImage;},[imageLoadFailed,metadata.image,fallbackImage]);const handleImageError=useCallback(()=>{if(resolvedImageSrc===fallbackImage)return;startTransition(()=>{setImageLoadFailed(true);});},[resolvedImageSrc,fallbackImage]);const imageAlt=useMemo(()=>{if(metadata.title&&metadata.title.trim().length>0){return`${metadata.title} cover image`;}return\"Substack post cover image\";},[metadata.title]);const resolvedTitle=metadata.title||fallbackTitle;const resolvedDate=metadata.date||fallbackDate;const publicationLine=useMemo(()=>{if(resolvedDate&&resolvedDate.trim()){return resolvedDate.toUpperCase();}return\"\";},[resolvedDate]);const secondaryLine=useMemo(()=>{if(metadata.description&&metadata.description.trim()){return metadata.description.trim();}if(!resolvedDate)return\"\";const parsed=new Date(resolvedDate);if(Number.isNaN(parsed.getTime()))return resolvedDate;return parsed.toLocaleDateString(undefined,{month:\"long\",year:\"numeric\"});},[metadata.description,resolvedDate]);return /*#__PURE__*/_jsxs(\"a\",{href:resolvedHref,target:\"_blank\",rel:\"noreferrer noopener\",\"aria-label\":metadata.title||fallbackTitle||\"Open Substack post\",style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",width:\"100%\",maxWidth:303,minWidth:272,alignItems:\"stretch\",borderRadius:cornerRadius,background:backgroundColor,textDecoration:\"none\",boxSizing:\"border-box\",overflow:\"hidden\",border:\"1px solid #EEEEEE\"},children:[/*#__PURE__*/_jsx(\"img\",{src:resolvedImageSrc,alt:imageAlt,onError:handleImageError,style:{width:\"100%\",height:imageSize,minHeight:imageSize,objectFit:\"cover\",objectPosition:\"center\",display:\"block\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",minWidth:0,flexDirection:\"column\",gap,padding:cardPadding,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:dateColor,fontFamily:dateFont.fontFamily,fontSize:dateFont.fontSize,fontWeight:dateFont.fontWeight,fontStyle:dateFont.fontStyle,lineHeight:dateFont.lineHeight,letterSpacing:dateFont.letterSpacing,textAlign:dateFont.textAlign||\"left\",textTransform:\"uppercase\",opacity:.85,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:publicationLine}),/*#__PURE__*/_jsx(\"div\",{style:{color:titleColor,fontFamily:titleFont.fontFamily,fontSize:titleFont.fontSize,fontWeight:titleFont.fontWeight,fontStyle:titleFont.fontStyle,lineHeight:titleFont.lineHeight,letterSpacing:titleFont.letterSpacing,textAlign:titleFont.textAlign||\"left\",overflow:\"hidden\",textOverflow:\"ellipsis\",display:\"-webkit-box\",WebkitLineClamp:2,WebkitBoxOrient:\"vertical\"},children:resolvedTitle}),secondaryLine?/*#__PURE__*/_jsx(\"div\",{style:{color:dateColor,fontFamily:dateFont.fontFamily,fontSize:dateFont.fontSize,fontWeight:dateFont.fontWeight,fontStyle:dateFont.fontStyle,lineHeight:dateFont.lineHeight,letterSpacing:dateFont.letterSpacing,textAlign:dateFont.textAlign||\"left\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:secondaryLine}):null,/*#__PURE__*/_jsx(\"div\",{style:{color:titleColor,fontFamily:dateFont.fontFamily,fontSize:dateFont.fontSize,fontWeight:dateFont.fontWeight,fontStyle:dateFont.fontStyle,lineHeight:dateFont.lineHeight,letterSpacing:dateFont.letterSpacing,textAlign:\"left\",marginTop:2},children:\"Read post →\"})]})]});}addPropertyControls(SubstackMetadataCard,{postUrl:{type:ControlType.String,title:\"Post URL\",defaultValue:\"https://example.substack.com/p/example-post\",placeholder:\"https://...\"},fallbackTitle:{type:ControlType.String,title:\"Fallback Title\",defaultValue:\"Substack post title\"},fallbackDate:{type:ControlType.String,title:\"Fallback Date\",defaultValue:\"May 20, 2026\"},fallbackImage:{type:ControlType.String,title:\"T\\xc4TH Default Image\",defaultValue:\"https://framerusercontent.com/images/WfaVXL21EDDrDU5X8vsVyG6Cw.png?width=1132&height=1730&kb=808\",placeholder:\"https://...\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#000000\"},dateColor:{type:ControlType.Color,title:\"Date Color\",defaultValue:\"#8F8A83\"},cornerRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:12,min:0,max:60,step:1},cardPadding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"20px\"},imageSize:{type:ControlType.Number,title:\"Image Size\",defaultValue:180,min:40,max:320,step:1},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:10,min:0,max:40,step:1},titleFont:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:\"20px\",variant:\"Semibold\",letterSpacing:\"-0.02em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},dateFont:{type:ControlType.Font,title:\"Date Font\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SubstackMetadataCard\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SubstackMetadataCard.map"],"mappings":"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"}