{"version":3,"file":"SubstackFeed.CUDgoESh.mjs","names":["React.useState","React.useRef"],"sources":["https:/framerusercontent.com/modules/DV9MhSOzgh8Y7HCIfMov/XLHAUFaGalqcyTIKvD0x/SubstackFeed.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// ─── Helpers ─────────────────────────────────────────────────────────────────\nfunction formatDate(dateStr){return new Date(dateStr).toLocaleDateString(\"en-US\",{year:\"numeric\",month:\"long\",day:\"numeric\"});}function stripHtml(html){return html.replace(/<[^>]*>/g,\"\").slice(0,160)+\"…\";}function extractImage(post){if(post.thumbnail?.startsWith(\"http\"))return post.thumbnail;if(post.enclosure?.link)return post.enclosure.link;const match=(post.content||post.description||\"\").match(/<img[^>]+src=[\"']([^\"']+)[\"']/);return match?match[1]:\"\";}function sanitizeFilename(title){return title.replace(/[^a-z0-9\\s\\-_]/gi,\"\").replace(/\\s+/g,\"-\").toLowerCase()||\"download\";}async function downloadPdf(url,title){try{const response=await fetch(url);const blob=await response.blob();const blobUrl=window.URL.createObjectURL(blob);const link=document.createElement(\"a\");link.href=blobUrl;link.download=`${sanitizeFilename(title)}.pdf`;document.body.appendChild(link);link.click();document.body.removeChild(link);window.URL.revokeObjectURL(blobUrl);}catch(err){// Fallback if blob fetch fails (e.g. CORS)\nwindow.open(url,\"_blank\",\"noreferrer\");}}// ─── Styles ───────────────────────────────────────────────────────────────────\nfunction makeStyles(props){const{layout,borderStyle,mutedColor,bgColor,gap,fontFamily,textColor,accentColor}=props;const isGrid=layout===\"grid\";const isCard=borderStyle===\"card\";const isDivider=borderStyle===\"divider\";return{wrap:{width:\"100%\",fontFamily,color:textColor,display:\"flex\",flexDirection:\"column\",gap,position:\"relative\"},filterBar:{display:\"flex\",flexDirection:\"column\",gap:8,paddingBottom:24,paddingTop:24,position:\"sticky\",zIndex:10},searchInput:{flex:1,minWidth:100,padding:\"12px 16px\",borderRadius:999,border:`1px solid #E5E5E5`,fontSize:\"1.2em\",letterSpacing:\"0.02em\",fontFamily,color:textColor,background:\"#FAFAFA\",outline:\"none\",boxSizing:\"border-box\"},filterBtn:active=>({padding:\"12px 16px\",borderRadius:999,border:`1px solid ${active?accentColor:\"#E5E5E5\"}`,background:active?accentColor:\"#FAFAFA\",color:active?\"#ffffff\":mutedColor,fontSize:\"1.2em\",fontWeight:500,letterSpacing:\"0.02em\",cursor:\"pointer\",whiteSpace:\"nowrap\",transition:\"all 0.15s\"}),posts:{display:\"flex\",flexDirection:isGrid?\"row\":\"column\",flexWrap:isGrid?\"wrap\":undefined,gap},card:{flex:isGrid?\"1 1 280px\":undefined,display:\"flex\",flexDirection:isGrid?\"column\":\"row\",alignItems:\"stretch\",gap:16,paddingBottom:!isGrid?gap:0,borderBottom:isDivider&&!isGrid?`1px solid ${textColor}, opacity 0.20`:\"none\",background:isCard?bgColor:\"transparent\",borderRadius:isCard?12:0,border:isCard?`1px solid ${mutedColor}`:undefined,overflow:\"hidden\"},thumbWrap:{flex:.5,overflow:\"hidden\",borderRadius:isCard?0:6,minHeight:200},thumb:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"},body:{display:\"flex\",flexDirection:\"column\",gap:6,padding:isCard?16:0,flex:1,textWrap:\"balance\"},meta:{display:\"flex\",gap:8,fontSize:\"0.8rem\",letterSpacing:\"0.08em\",textTransform:\"uppercase\",fontWeight:500},title:{fontSize:\"2em\",fontWeight:400,lineHeight:1.4,letterSpacing:\"-0.02em\",transition:\"color 0.2s\",textWrap:\"balance\"},excerpt:{fontSize:\"1.2em\",lineHeight:1.4},button:{marginTop:16,alignSelf:\"flex-start\",padding:\"12px 16px\",background:\"#01A6FE\",color:\"#ffffff\",fontSize:\"0.75rem\",fontWeight:900,letterSpacing:\"0.04em\",textTransform:\"uppercase\",borderRadius:999,cursor:\"pointer\"},empty:{padding:\"40px 0\",fontSize:\"0.875rem\",color:mutedColor,textAlign:\"center\"},skeletonLine:(w,h,opacity)=>({height:h,width:w,background:`${mutedColor}${opacity}`,borderRadius:4})};}// ─── Component ───────────────────────────────────────────────────────────────\nexport default function SubstackFeed(props){const{substackUrl,postsToShow,showThumbnail,showExcerpt,showAuthor,showDate,showButton,accentColor,textColor,mutedColor,fontFamily,filterKeyword,filterLabels,showFilterUI,requireEmail,manualItems}=props;const[posts,setPosts]=React.useState([]);const[loading,setLoading]=React.useState(true);const[error,setError]=React.useState(\"\");const getInitialHash=()=>{if(typeof window===\"undefined\")return\"\";return decodeURIComponent(window.location.hash.replace(\"#\",\"\"));};const isSlugHash=hash=>{if(!hash)return false;return(manualItems||[]).some(m=>m.slug===hash);};const[activeFilter,setActiveFilter]=React.useState(()=>{const hash=getInitialHash();return isSlugHash(hash)?\"\":hash;});const[liveSearch,setLiveSearch]=React.useState(\"\");const[emailingPdf,setEmailingPdf]=React.useState(null);const[email,setEmail]=React.useState(\"\");const[submitting,setSubmitting]=React.useState(false);const[highlightedSlug,setHighlightedSlug]=React.useState(\"\");const cardRefs=React.useRef({});const s=makeStyles(props);React.useEffect(()=>{if(typeof window===\"undefined\")return;const currentHash=decodeURIComponent(window.location.hash.replace(\"#\",\"\"));if(isSlugHash(currentHash)&&!activeFilter)return;if(activeFilter){window.history.replaceState(null,\"\",`#${encodeURIComponent(activeFilter)}`);}else{window.history.replaceState(null,\"\",window.location.pathname+window.location.search);}},[activeFilter]);React.useEffect(()=>{if(typeof window===\"undefined\")return;const onHashChange=()=>{const hash=decodeURIComponent(window.location.hash.replace(\"#\",\"\"));if(isSlugHash(hash)){setHighlightedSlug(hash);setTimeout(()=>{cardRefs.current[hash]?.scrollIntoView({behavior:\"smooth\",block:\"center\"});},100);}else{setActiveFilter(hash);}};window.addEventListener(\"hashchange\",onHashChange);return()=>window.removeEventListener(\"hashchange\",onHashChange);},[manualItems]);React.useEffect(()=>{if(typeof window===\"undefined\")return;if(loading)return;const hash=decodeURIComponent(window.location.hash.replace(\"#\",\"\"));if(!hash)return;if(isSlugHash(hash)&&cardRefs.current[hash]){setHighlightedSlug(hash);setTimeout(()=>{cardRefs.current[hash]?.scrollIntoView({behavior:\"smooth\",block:\"center\"});},100);}},[loading,manualItems]);const handleEmailSubmit=async(url,title)=>{if(!email)return;setSubmitting(true);try{await fetch(\"https://script.google.com/macros/s/AKfycbyoqfum96tu4zmReNgomT_ZuOT6c3A7OWXLCOZDvP5daE_kJU9C2Fmt_gTuZz2sjcHK1w/exec\",{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({email,source:title,url:url})});}catch(err){// Fail silently, still let them download\n}await downloadPdf(url,title);setEmail(\"\");setEmailingPdf(null);setSubmitting(false);};const filterButtons=filterLabels?filterLabels.split(\",\").map(f=>f.trim()).filter(Boolean):[];React.useEffect(()=>{if(!substackUrl)return;setLoading(true);setError(\"\");fetch(`https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(substackUrl)}`).then(r=>r.json()).then(data=>{if(data.status!==\"ok\")throw new Error(\"Feed error\");setPosts(data.items||[]);}).catch(()=>setError(\"Couldn't load feed. Check the Substack URL.\")).finally(()=>setLoading(false));},[substackUrl,postsToShow]);if(loading){return /*#__PURE__*/_jsx(\"div\",{style:s.wrap,children:/*#__PURE__*/_jsx(\"div\",{style:s.posts,children:Array.from({length:postsToShow}).map((_,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{...s.card,opacity:1-i*.2},children:[showThumbnail&&/*#__PURE__*/_jsx(\"div\",{style:{...s.thumbWrap,background:`${mutedColor}66`}}),/*#__PURE__*/_jsxs(\"div\",{style:{...s.body,gap:8},children:[/*#__PURE__*/_jsx(\"div\",{style:s.skeletonLine(\"65%\",14,\"66\")}),/*#__PURE__*/_jsx(\"div\",{style:s.skeletonLine(\"90%\",20,\"44\")}),showExcerpt&&/*#__PURE__*/_jsx(\"div\",{style:s.skeletonLine(\"80%\",14,\"33\")})]})]},i))})});}if(error){return /*#__PURE__*/_jsx(\"div\",{style:{padding:24,color:\"#ef4444\",fontFamily,fontSize:\"0.8rem\"},children:error});}const combined=[...posts.map(p=>({title:p.title,slug:\"\",link:p.link,pubDate:p.pubDate,description:p.description,thumbnail:extractImage(p),author:p.author,itemType:\"article\"})),...(manualItems||[]).map(m=>({title:m.title,slug:m.slug||\"\",link:m.url,pubDate:m.date,description:m.description,thumbnail:m.thumbnail,author:\"Brainforest Association\",itemType:m.type}))].sort((a,b)=>{if(highlightedSlug){if(a.slug===highlightedSlug)return-1;if(b.slug===highlightedSlug)return 1;}return new Date(b.pubDate).getTime()-new Date(a.pubDate).getTime();});const filtered=combined.filter(post=>{const title=post.title.toLowerCase();const desc=(post.description||\"\").toLowerCase();const matchesPropKeyword=!filterKeyword||title.includes(filterKeyword.toLowerCase())||post.itemType.toLowerCase()===filterKeyword.toLowerCase();const q=liveSearch.toLowerCase();const matchesSearch=!q||title.includes(q)||desc.includes(q);const matchesButton=!activeFilter||post.itemType.toLowerCase()===activeFilter.toLowerCase()||title.includes(activeFilter.toLowerCase());return matchesPropKeyword&&matchesSearch&&matchesButton;}).slice(0,liveSearch||activeFilter?undefined:postsToShow);return /*#__PURE__*/_jsxs(\"div\",{style:s.wrap,children:[showFilterUI&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"sticky\",top:60,zIndex:10},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,maskImage:\"linear-gradient(white, white, transparent)\",WebkitMaskImage:\"linear-gradient(white, white, transparent)\",backdropFilter:\"blur(15px)\",WebkitBackdropFilter:\"blur(15px)\",pointerEvents:\"none\",zIndex:-1}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,0) 100%)\",pointerEvents:\"none\",zIndex:-1}}),/*#__PURE__*/_jsxs(\"div\",{style:s.filterBar,children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Search articles…\",value:liveSearch,onChange:e=>setLiveSearch(e.target.value),style:s.searchInput}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"div\",{style:s.filterBtn(!activeFilter),onClick:()=>setActiveFilter(\"\"),children:\"All\"}),filterButtons.map(label=>/*#__PURE__*/_jsx(\"div\",{style:s.filterBtn(activeFilter===label),onClick:()=>setActiveFilter(activeFilter===label?\"\":label),children:label},label))]})]})]}),/*#__PURE__*/_jsx(\"div\",{style:s.posts,children:filtered.length===0?/*#__PURE__*/_jsx(\"div\",{style:s.empty,children:\"No articles found.\"}):filtered.map(post=>{const image=post.thumbnail;const isHighlighted=highlightedSlug===post.slug&&!!post.slug;return /*#__PURE__*/_jsx(\"div\",{ref:el=>{if(post.slug)cardRefs.current[post.slug]=el;},onClick:async()=>{if(post.itemType===\"article\"){window.open(post.link,\"_blank\",\"noreferrer\");}else if(requireEmail){setEmailingPdf(post.link);}else{await downloadPdf(post.link,post.title);}},style:{cursor:\"pointer\",color:isHighlighted?\"#ffffff\":\"inherit\",transition:\"background 0.6s ease, padding 0.6s ease\",background:isHighlighted?accentColor:\"transparent\",borderRadius:isHighlighted?12:0,padding:isHighlighted?16:0,scrollMarginTop:100},children:/*#__PURE__*/_jsxs(\"div\",{style:s.card,children:[showThumbnail&&image&&/*#__PURE__*/_jsx(\"div\",{style:s.thumbWrap,children:/*#__PURE__*/_jsx(\"img\",{src:image,alt:post.title,style:s.thumb})}),/*#__PURE__*/_jsxs(\"div\",{style:s.body,children:[(showDate||showAuthor)&&/*#__PURE__*/_jsxs(\"div\",{style:{...s.meta,color:isHighlighted?\"#ffffff\":mutedColor},children:[showDate&&/*#__PURE__*/_jsx(\"span\",{children:formatDate(post.pubDate)}),showDate&&showAuthor&&/*#__PURE__*/_jsx(\"span\",{children:\"\\xb7\"}),showAuthor&&post.author&&/*#__PURE__*/_jsx(\"span\",{children:post.author})]}),/*#__PURE__*/_jsx(\"div\",{style:{...s.title,color:isHighlighted?\"#ffffff\":textColor},onMouseEnter:e=>e.target.style.color=isHighlighted?\"#ffffff\":accentColor,onMouseLeave:e=>e.target.style.color=isHighlighted?\"#ffffff\":textColor,children:post.title}),showExcerpt&&post.description&&/*#__PURE__*/_jsx(\"div\",{style:{...s.excerpt,color:isHighlighted?\"#ffffff\":mutedColor},children:stripHtml(post.description)}),emailingPdf===post.link?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12,marginTop:16},children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",placeholder:\"you@email.com\",value:email,onChange:e=>setEmail(e.target.value),onClick:e=>e.stopPropagation(),onKeyDown:e=>{e.stopPropagation();if(e.key===\"Enter\"){handleEmailSubmit(post.link,post.title);}},autoFocus:true,style:{...s.excerpt,color:textColor,padding:\"12px 16px\",borderRadius:999,border:\"1px solid #E5E5E5\",fontFamily,background:\"#FAFAFA\",outline:\"none\",boxSizing:\"border-box\",maxWidth:320,width:\"100%\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8},children:[/*#__PURE__*/_jsx(\"div\",{onClick:e=>{e.stopPropagation();handleEmailSubmit(post.link,post.title);},style:{...s.button,marginTop:0,opacity:submitting||!email?.5:1,cursor:submitting?\"wait\":\"pointer\"},children:submitting?\"Sending…\":\"Download Now\"}),/*#__PURE__*/_jsx(\"div\",{onClick:e=>{e.stopPropagation();setEmailingPdf(null);setEmail(\"\");},style:{...s.button,marginTop:0,background:\"transparent\",color:mutedColor,border:`1px solid ${mutedColor}`},children:\"Cancel\"})]})]}):showButton&&/*#__PURE__*/_jsx(\"div\",{style:s.button,children:post.itemType===\"article\"?\"Read Article\":\"Download Report\"})]})]})},post.link);})})]});}SubstackFeed.defaultProps={substackUrl:\"https://stratechery.com/feed\",layout:\"list\",postsToShow:20,borderStyle:\"divider\",gap:24,showThumbnail:true,showExcerpt:true,showDate:true,showAuthor:false,accentColor:\"#01A6FE\",textColor:\"#111111\",mutedColor:\"#888888\",bgColor:\"#ffffff\",fontFamily:\"inherit\",filterKeyword:\"\",manualItems:[],filterLabels:\"\",showFilterUI:true,requireEmail:true};addPropertyControls(SubstackFeed,{substackUrl:{type:ControlType.String,title:\"Substack URL\",placeholder:\"https://you.substack.com/feed\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"list\",\"grid\"],optionTitles:[\"List\",\"Grid\"]},postsToShow:{type:ControlType.Number,title:\"Posts\",min:1,max:50,step:1},borderStyle:{type:ControlType.Enum,title:\"Style\",options:[\"none\",\"divider\",\"card\"],optionTitles:[\"None\",\"Dividers\",\"Cards\"]},gap:{type:ControlType.Number,title:\"Gap\",min:0,max:80,step:4},showFilterUI:{type:ControlType.Boolean,title:\"Show Filters\"},requireEmail:{type:ControlType.Boolean,title:\"Require Email\"},filterLabels:{type:ControlType.String,title:\"Filter Buttons\",placeholder:\"Learning Series, Venture Program\"},filterKeyword:{type:ControlType.String,title:\"Pre-filter\"},manualItems:{type:ControlType.Array,title:\"Reports & PDFs\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\"},slug:{type:ControlType.String,title:\"Slug\",placeholder:\"q1-2026-outlook\"},description:{type:ControlType.String,title:\"Description\"},thumbnail:{type:ControlType.Image,title:\"Thumbnail\"},url:{type:ControlType.File,title:\"PDF\",allowedFileTypes:[\"pdf\"]},date:{type:ControlType.String,title:\"Date\",placeholder:\"2026-01-15\"},type:{type:ControlType.Enum,title:\"Type\",options:[\"reports\",\"whitepaper\"],optionTitles:[\"Reports\",\"Whitepaper\"]}}}},showThumbnail:{type:ControlType.Boolean,title:\"Thumbnail\"},showButton:{type:ControlType.Boolean,title:\"Button\"},showExcerpt:{type:ControlType.Boolean,title:\"Excerpt\"},showDate:{type:ControlType.Boolean,title:\"Date\"},showAuthor:{type:ControlType.Boolean,title:\"Author\"},accentColor:{type:ControlType.Color,title:\"Accent\"},textColor:{type:ControlType.Color,title:\"Text\"},mutedColor:{type:ControlType.Color,title:\"Muted\"},bgColor:{type:ControlType.Color,title:\"Card BG\"},fontFamily:{type:ControlType.String,title:\"Font\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SubstackFeed\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SubstackFeed.map"],"mappings":"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"}