"use strict";(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([["3280"],{89724:function(e,t,r){r.r(t),r.d(t,{searchIterator_forTests:()=>E,PublicationSearch:()=>N});var s=r(7409),o=r(99282),u=r(16584),a=r(30396),l=r(39693),n=r.n(l),i=r(7739),c=r.n(i),d=r(24840),p=r(71171),h=r.n(p),_=r(33804),g=r(53311),f=r(40647),b=r(68833),y=r(7882),v=r(63018),m=r(98914),S=r(80026),k=r(55533),Z=r(64172),w=r(32071),P=r(6070),C=r(60308),I=r(47929);let L={noQueryZeroState:"noQueryZeroState-kIZZPN",noResultsZeroState:"noResultsZeroState-x7mQpE"};function*R(e,t){let r=t.toUpperCase().trim();if(!r||!e)return;let s=RegExp("\\b".concat(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"\\b"),"i"),o=new Set,u=new Set,a=[e=>s.test(e.title),e=>s.test(e.subtitle),e=>(0,w.u)([e.title,e.subtitle,e.truncated_body]).some(e=>e.includes(r))];for(let t of[e=>s.test(e.name),e=>(0,w.u)([e.name]).some(e=>e.includes(r))])for(let r of e.authors)!o.has(r.user_id)&&t(r)&&(o.add(r.user_id),yield{type:"user",user:r});for(let t of a)for(let r of e.posts)!u.has(r.slug)&&t(r)&&(u.add(r.slug),yield{type:"post",post:r})}let E=R;function x(e){return(0,C.n1t)(e,{utm_source:I.b3.publicationSearch})}function T(e,t,r,s,o,u){let a=r,l=[],n=c()(e,"type");for(let e of Object.keys(n)){let r=n[e];if(r&&0!==r.length){for(let n of(l.push({id:"header-".concat(e,"-").concat(t),type:"result-group-header",header:"user"===e?"People":"Posts",trackingParameters:{rank:a++,search_id:t,result_count:s,score:-1,result_id:"header-".concat(e),search_key:"publication_search",from_server:!1}}),"user"!==e&&(0,P.HD)({pub:u})?r.sort((e,t)=>new Date(t.post.post_date).getTime()-new Date(e.post.post_date).getTime()):r))if("post"===n.type)l.push({id:"post-".concat(n.post.slug,"-").concat(t),type:"post",trackingParameters:{rank:a++,result_count:s,score:-1,result_id:"post-".concat(n.post.slug),search_id:t,search_key:"publication_search",from_server:!1},post:{title:n.post.title,subtitle:n.post.subtitle,url:x(n.post.url),body:n.post.truncated_body,audience:n.post.audience,date:n.post.post_date,image:n.post.cover_image,highlights:n.highlights,is_paywalled:o.includes(n.post.audience)}});else if("user"===n.type){var i;l.push({id:"user-".concat(n.user.user_id,"-").concat(t),type:"user",trackingParameters:{rank:a++,result_count:s,score:-1,result_id:"user-".concat(n.user.user_id),search_id:t,search_key:"publication_search",from_server:!1},user:{id:n.user.user_id,name:n.user.name,handle:n.user.handle,bestseller_tier:n.user.bestseller_tier,photo_url:null!==(i=n.user.photo_url)&&void 0!==i?i:(0,C.I4e)(n.user.user_id),pub:n.user.pub,profile_url:x((0,C.GR3)(n.user.user_id,n.user.name)),is_pub_search:!0}})}}}return l}function N(e){let{isOpen:t,postsOnly:r,pub:l,onClose:i,onSelectResult:c}=e,{getConfigFor:p}=(0,f.xR)(),w=p("enable_author_pages"),{search:P,recentPosts:I,authors:E}=function(e){let{isOpen:t}=e,{data:r}=(0,v._I)("/api/v1/publication/client-search-cache",{auto:t,shouldRevalidate:!1}),s=null==r?void 0:r.recentPosts,o=(0,a.Ye)(()=>{var e;return null!==(e=null==s?void 0:s.map(e=>({type:"post",post:e})))&&void 0!==e?e:[]},[s]),u=null==r?void 0:r.authors;return{search:e=>R(r,e),get isLoaded(){return!!r},recentPosts:o,authors:(0,a.Ye)(()=>{var e;return null!==(e=null==u?void 0:u.map(e=>({type:"user",user:e})))&&void 0!==e?e:[]},[u])}}({isOpen:t}),{search:x}=function(e){let{refetch:t}=(0,y.ib)({pathname:"/api/v1/post/search",method:"GET",auto:!1});return{async search(r){let s=await t({query:{query:r,focusedPublicationId:e.id,page:0,numberFocused:10}});return s instanceof Error?(console.error(s),[]):s.results.map(t=>{var r,o,u,a,l,n,i;let c=null!==(o=null===(r=s.highlights)||void 0===r?void 0:r[t.id])&&void 0!==o?o:[];return u=t,a=e,l=c,{type:"post",post:{post_id:u.id,title:u.title,subtitle:u.subtitle,truncated_body:null!==(n=u.truncated_body_text)&&void 0!==n?n:void 0,audience:u.audience,url:(0,C.MoQ)(a,u.slug),post_date:u.post_date,cover_image:null!==(i=u.cover_image)&&void 0!==i?i:void 0,slug:u.slug,publication_id:u.publication_id},highlights:l}})}}}(l),[{results:N,isLoading:Q},O]=(0,a.eJ)({results:[],isLoading:!1}),[U,j]=(0,a.eJ)(""),A=(0,a.Ye)(()=>N.filter(e=>!r||"post"===e.type).map(e=>{if("user"===e.type&&w){var t,r,u,a;let n=null!==(r=null===(t=l.authorPagesInfo)||void 0===t?void 0:t.find(t=>t.user_id===e.user.id))&&void 0!==r?r:null;return(0,o._)((0,s._)({},e),{user:(0,o._)((0,s._)({},e.user),{photo_url:null!==(u=null==n?void 0:n.photo_url)&&void 0!==u?u:e.user.photo_url,profile_url:null!==(a=(0,C.rfk)({userId:e.user.id,pub:l}))&&void 0!==a?a:e.user.profile_url})})}return e}),[N,w,l]),{isPaid:J,isFounding:B}=(0,Z.Y0)(l.id),D=n()([J?null:"only_paid",B?null:"founding"]),F=(0,a.sO)({abort:null}),H=()=>{var e;(null===(e=F.current)||void 0===e?void 0:e.abort)&&(F.current.abort(),F.current.abort=null)};(0,a.d4)(()=>{t&&j("")},[t]),(0,a.d4)(()=>{if(!U){var e,t;H(),O({results:(e=null!=E?E:[],t=null!=I?I:[],T([...e.slice(0,3),...t],"defaults",0,t.length,D,l)),isLoading:!1});return}X(U,D)},[U,E,I]);let X=(0,y.Kt)(async(e,t)=>{O({results:[],isLoading:!0}),H();let r=new AbortController;F.current.abort=()=>r.abort();let u=h()(),a=P(e),n=new Set,i=new Set,c=[],d=0;for(let e of a){if(r.signal.aborted||c.length>=30)break;"post"===e.type?(n.add(e.post.slug),c.push(e)):"user"===e.type&&(i.add(e.user.user_id),i.size<=6&&c.push(e)),++d%20==0&&await new Promise(e=>setTimeout(e,50))}if(r.signal.aborted)return;let p=c.length;c.length&&O({results:T(c,u,0,p,t,l),isLoading:!0});let _=await x(e);if(r.signal.aborted)return;for(let e of _)("post"!==e.type||n.has(e.post.slug))&&("user"!==e.type||i.has(e.user.user_id))||c.push(e);O({results:T(c,u,p,c.length,t,l),isLoading:!1});let g={query:e,results:c.length,search_id:u};(0,b.j)(b.FP.PUBLICATION_SEARCH_RESULTS_SHOWN,(0,o._)((0,s._)({},g),{clientsideResultCount:p}))},300,[E]);return(0,u.tZ)(_.w,{children:(0,u.tZ)(g.s,{placeholder:r?"Search posts":"Search people and posts",results:A,isOpen:t,onClose:()=>{H(),i()},onEnter:(e,t)=>{if(c){c({result:e,onClose:i});return}(0,b.j)(b.FP.PUBLICATION_SEARCH_RESULT_CLICKED,(0,o._)((0,s._)({},e.trackingParameters),{result_type:e.type})),i(),"post"===e.type?(0,m.uX)(e.post.url,{newTab:t}):"user"===e.type&&(0,m.uX)(e.user.profile_url,{local_navigation:!1,newTab:t})},onQueryChange:e=>j(e),noQueryZeroState:I.length>0?null:(0,u.BX)(S.sg,{className:L.noQueryZeroState,justifyContent:"center",alignItems:"center",padding:8,flex:"grow",gap:12,children:[(0,u.tZ)(d.Z,{}),(0,u.tZ)(k.vJ,{title:"Search ".concat(l?l.name:"this publication"),body:"Find people and posts in this publication",flex:"auto",padding:0})]}),noResultsZeroState:Q?void 0:e=>(0,u.BX)(S.sg,{justifyContent:"center",alignItems:"center",padding:8,gap:12,flex:"grow",className:L.noResultsZeroState,children:[(0,u.tZ)(k.vJ,{title:"No results for ".concat(e),body:"Search across all of Substack instead?",padding:0,flex:"auto"}),(0,u.tZ)(S.zx,{priority:"primary-mono",href:e?"".concat((0,C.ZJn)(),"/search/").concat(e,"?searching=all_posts"):"/search",children:"Search all of Substack"})]}),isLoading:Q})})}},32071:function(e,t,r){r.d(t,{u:()=>u});var s=r(39693),o=r.n(s);let u=e=>o()(e).map(e=>e.toUpperCase())}}]);