/*! For license information please see 2290.07192e48.js.LICENSE.txt */ "use strict";(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([["2290"],{72910:function(e,t,a){a.d(t,{Z:()=>r});let r=(0,a(36150).Z)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},81202:function(e,t,a){a.r(t),a.d(t,{GlobalSearch:()=>X});var r=a(7409),i=a(99282),o=a(16584),l=a(30396),n=a(72910),s=a(24840),c=a(98661),u=a(71171),p=a.n(u),d=a(53311),y=a(98848),h=a(19081),g=a(58175);function f(e){var{title:t,body:a,children:l}=e,n=(0,y._)(e,["title","body","children"]);return(0,o.tZ)(h.tu,(0,i._)((0,r._)({flex:"grow",alignItems:"center",justifyContent:"center",padding:20},n),{children:(0,o.tZ)(b,{title:t,body:a,children:l})}))}function b(e){let{title:t,body:a,children:r}=e;return(0,o.BX)(h.tu,{gap:12,alignItems:"center",children:[(0,o.BX)(h.tu,{gap:4,alignItems:"center",children:[(0,o.tZ)(g.xv.B3,{weight:"semibold",color:"primary",align:"center",children:t}),(0,o.tZ)(g.xv.B4,{color:"secondary",align:"center",children:a})]}),r]})}var _=a(68833),m=a(7882),v=a(63018),S=a(98914),k=a(45578),w=a.n(k),q=a(60807),R=a(98012);let Z=e=>{let{isOpen:t}=e,a=(0,q.aF)(),[r,i]=(0,l.eJ)([]),{result:o,hasLoadedOnce:n,isLoading:s,refetch:c}=(0,m.ib)({pathname:"/api/v1/search/history"}),{refetch:u}=(0,m.ib)({pathname:"/api/v1/search/history",method:"post"}),{refetch:p}=(0,m.ib)({pathname:"/api/v1/search/history",method:"delete"});(0,l.d4)(()=>{t&&!n&&!s&&a&&c()},[n,c,t,s,a]),(0,l.d4)(()=>{let e=g();if(null==o?void 0:o.length){var t;let a=null!==(t=null==o?void 0:o.sort((e,t)=>e.created>t.created?-1:1).map(d))&&void 0!==t?t:[];i(w()([...e,...a],"query"))}else i(e)},[o]);let d=e=>({type:"history",query:e.query}),y=()=>a?"ss-recent-search-global-".concat(null==a?void 0:a.id):"",h=()=>{if(!a||!localStorage)return[];let e=localStorage.getItem(y());return(e?JSON.parse(e):[]).filter(e=>new Date(e.expiry)>new Date).sort((e,t)=>e.expiryh().map(d),f=async e=>{let{query:t}=e;if(!a||!localStorage)return;let o=h().filter(e=>e.query!==t);localStorage.setItem(y(),JSON.stringify(o)),i(r.filter(e=>e.query!==t)),await p({query:{query:t}})};return{recentSearches:r,insertRecentSearch:async e=>{let{query:t}=e;if(!a||!localStorage)return;let r=h(),o=w()([{query:t,expiry:(0,R.Z)().add(1,"week").toDate()},...r],"query");localStorage.setItem(y(),JSON.stringify(o)),i(o.map(d)),await u({json:{query:t}})},removeRecentSearch:f,search:function*(e){let{query:t}=e;for(let e of r)e.query.includes(t)&&(yield{type:"history",query:e.query})}}};var L=a(25479),O=a(32071),C=a(60308),x=a(63651),J=a(47929);function P(e){return(0,x.n1t)(e,{utm_source:J.b3.globalSearch})}function X(e){let{isOpen:t,onClose:a,useLocalNavigation:u=!0}=e,{search:y}=function(e){let{isOpen:t}=e,{data:a}=(0,v._I)("/api/v1/client-search-cache",{auto:t,shouldRevalidate:!1});return{search:e=>(function*(e,t){let a=t.toUpperCase().trim();if(a&&e){for(let t of e.profiles)(0,O.u)([t.name]).some(e=>e.includes(a))&&(yield{type:"user",user:t});for(let t of e.publications)(0,O.u)([t.author_name,t.name]).some(e=>e.includes(a))&&(yield{type:"publication",publication:t});for(let t of e.categories)t.slug&&(0,O.u)([t.canonical_name,t.name]).some(e=>e.includes(a))&&(yield{type:"category",category:t})}})(a,e),get isLoaded(){return!!a}}}({isOpen:t}),{search:b}=function(){let{refetch:e}=(0,m.ib)({pathname:"/api/v1/platform/search",auto:!1});return{async search(t,a,r){let i=await e({query:{query:t,search_id:a,start_rank_at:r}});return i instanceof Error?(console.error(i),{results:[]}):i}}}(),{recentSearches:k,insertRecentSearch:w,removeRecentSearch:q,search:R}=Z({isOpen:t}),{surfaces:J}=(0,L.ze)(),[{results:X,isLoading:I,ribbonResults:B},T]=(0,l.eJ)({results:[],ribbonResults:[],isLoading:!1}),[E,j]=(0,l.eJ)(""),[A,G]=(0,l.eJ)(),[M,N]=(0,l.eJ)("defaults"),D=(0,l.sO)({abort:null});(0,l.d4)(()=>{t&&j("")},[t]),(0,l.d4)(()=>{E||(F(),N("defaults"),T({results:H({queryResults:k}),ribbonResults:H({queryResults:J}),isLoading:!1}))},[E,k,J]),(0,l.d4)(()=>{E&&U(E)},[E]);let F=()=>{var e;(null===(e=D.current)||void 0===e?void 0:e.abort)&&(D.current.abort(),D.current.abort=null)};function H(e){let{queryResults:t}=e,a=[];return t.forEach(e=>{var t,o,l;if("publication"===e.type)a.push({id:"publication".concat(e.publication.publication_id,"-").concat(M),publication:(0,i._)((0,r._)({},e.publication),{logo_url:null!==(t=e.publication.logo_url)&&void 0!==t?t:void 0,url:P((0,C.TJI)(e.publication))}),type:"publication",trackingParameters:e.trackingParameters});else if("user"===e.type){let t=e.user.handle?(0,x.NJv)(e.user.handle):(0,x.GR3)(e.user.user_id,e.user.name);a.push({type:"user",user:(0,i._)((0,r._)({},e.user),{id:e.user.user_id,profile_url:P(t),is_pub_search:!1}),id:"user-".concat(e.user.user_id,"-").concat(M),trackingParameters:e.trackingParameters})}else if("post"===e.type)a.push({id:"post-".concat(e.post.slug,"-").concat(e.post.publication_id,"-").concat(M),type:"post",post:{title:e.post.title,subtitle:e.post.subtitle,url:P(e.post.url),body:e.post.truncated_body,audience:e.post.audience,date:e.post.post_date,image:e.post.cover_image,is_paywalled:["only_paid","founding"].includes(e.post.audience)}});else if("history"===e.type){let t={type:"action",title:"".concat(e.query),icon:n.Z,id:"search-history-".concat(e.query,"-").concat(M),displayValue:e.query,onRemove:()=>{q({query:e.query})},keepOpenOnSelect:!0,actionType:"history"};a.unshift((0,i._)((0,r._)({},t),{onSelect:()=>{j(e.query),G((0,i._)((0,r._)({},t),{rank:-1}))}}))}else"category"===e.type?a.push({id:"category-".concat(e.category.slug,"-").concat(M),type:"category",category:{name:e.category.name,url:(0,x.XAP)(null!==(o=e.category.slug)&&void 0!==o?o:"recommendations"),slug:null!==(l=e.category.slug)&&void 0!==l?l:"",emoji:e.category.emoji}}):"visited-profile"===e.type?a.push({type:"visited-profile",id:"profile-surface-".concat(e.profile.id,"-").concat(M),profile:(0,i._)((0,r._)({},e.profile),{url:P((0,x.GR3)(e.profile.id,e.profile.name))})}):"visited-publication"===e.type&&a.push({type:"visited-publication",id:"publication-surface-".concat(e.publication.id,"-").concat(M),publication:(0,i._)((0,r._)({},e.publication),{url:P((0,C.TJI)(e.publication))})})}),a.map((e,t)=>{let o=(0,i._)((0,r._)({search_id:M,search_key:"global_search",result_count:a.length,score:-1,result_id:"generated-".concat(t),from_server:!1},e.trackingParameters),{rank:t});return(0,i._)((0,r._)({},e),{trackingParameters:o})})}let U=(0,m.Kt)(async e=>{T(e=>(0,i._)((0,r._)({},e),{isLoading:!0})),F();let t=new AbortController;D.current.abort=()=>t.abort();let a=p()();N(a);let o=new Set,l=new Set,n=[],s=0;for await(let a of y(e)){if(t.signal.aborted||n.length>=100)break;"user"===a.type&&o.add(a.user.user_id),"publication"===a.type&&l.add(a.publication.publication_id),n.push(a),++s%20==0&&await new Promise(e=>setTimeout(e,50))}for await(let a of R({query:e})){if(t.signal.aborted||n.length>=100)break;n.push(a),++s%20==0&&await new Promise(e=>setTimeout(e,50))}if(t.signal.aborted||(n.length&&T({results:H({queryResults:n}),ribbonResults:[],isLoading:e.length>=2}),e.length<2))return;let c=n.length,{results:u}=await b(e,a,c);if(t.signal.aborted)return;n.push(...u.filter(e=>"user"===e.type?!o.has(e.user.user_id):"publication"!==e.type||!l.has(e.publication.publication_id))),T({results:H({queryResults:n}),ribbonResults:[],isLoading:!1});let d={query:e,results:n.length,search_id:a};(0,_.j)(_.FP.GLOBAL_SEARCH_RESULTS_SHOWN,(0,i._)((0,r._)({},d),{clientsideResultCount:c}))},300,[y,R]),K=()=>{G(void 0),j(""),a()},Q=(0,c.useMemo)(()=>{let e="".concat((0,x.ZJn)(),"/search/").concat(E),t=E?[{id:"action-search-".concat(E),type:"action",icon:s.Z,url:P(E?e:"/search"),title:(0,o.BX)(g.xv.B3,{as:"span",children:["Search for"," ",(0,o.tZ)(g.xv.B3,{as:"span",weight:"bold",children:E})]}),displayValue:E,actionType:"escape-hatch",keepOpenOnSelect:!1}]:[],a=E&&"defaults"===M?[]:X;return t.concat(a)},[E,X,M]),V=(0,c.useMemo)(()=>E&&"defaults"===M?[]:B,[E,B,M]);return(0,o.tZ)(d.s,{onQueryChange:e=>j(e),results:Q,ribbonResults:V,placeholder:"People, publications, or topics",isOpen:t,onClose:K,onEnter:(e,t)=>{(0,_.j)(_.FP.GLOBAL_SEARCH_RESULT_CLICKED,(0,i._)((0,r._)({},e.trackingParameters),{result_type:e.type,action_type:"action"===e.type?e.actionType:void 0})),E&&w({query:E}),"user"===e.type&&(0,S.uX)(e.user.profile_url,{newTab:t,local_navigation:u}),"publication"===e.type&&(0,S.uX)(e.publication.url,{local_navigation:!1,newTab:t}),"post"===e.type&&(0,S.uX)(e.post.url,{local_navigation:!1,newTab:t}),"category"===e.type&&(0,S.uX)(e.category.url,{newTab:t,local_navigation:u}),"visited-profile"===e.type&&(0,S.uX)(e.profile.url,{newTab:t,local_navigation:u}),"visited-publication"===e.type&&(0,S.uX)(e.publication.url,{local_navigation:!1,newTab:t}),("action"!==e.type||(e.url&&(0,S.uX)(e.url,{newTab:t,local_navigation:u}),!e.onSelect||(e.onSelect(),!e.keepOpenOnSelect)))&&K()},isLoading:I,value:A,noQueryZeroState:k.length>0?null:(0,o.BX)(h.tu,{justifyContent:"center",alignItems:"center",padding:8,flex:"grow",gap:12,children:[(0,o.tZ)(s.Z,{}),(0,o.tZ)(f,{title:"Search all of Substack",body:"Find people and publications",flex:"auto",padding:0})]})})}},32071:function(e,t,a){a.d(t,{u:()=>o});var r=a(39693),i=a.n(r);let o=e=>i()(e).map(e=>e.toUpperCase())}}]);