"use strict";(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([["9314"],{91076:function(e,t,i){i.r(t),i.d(t,{EditPinsForHomepageHeroModal:()=>m,EditContentBlockPinsModal:()=>y});var n=i(7409),o=i(99282),d=i(16584),s=i(30396),l=i(94184),r=i.n(l),a=i(347),c=i(98162),p=i(95441),h=i(39648),f=i(68648),u=i(15771),w=i(19081),v=i(6490),C=i(62841),k=i(60308);let m=e=>{let{posts:t,pub:i,renderPreview:n,topLayoutContainerId:o,onClose:l}=e,[r,a]=(0,s.eJ)(t),p=async()=>{let e=r.map(e=>e.id);await (0,c.h0)({postIds:e,pub:i})};return(0,d.tZ)(g,{containerId:o,posts:r,renderPreview:n,onClose:l,onSave:p,onSelectPost:e=>{let{activePostId:t,post:i}=e,n=r.findIndex(e=>e.id===i.id);if(-1!==n){let e=[...r],i=r.findIndex(e=>e.id===t);[e[n],e[i]]=[e[i],e[n]],a(e)}else a(r.map(e=>e.id===t?i:e))}})},y=e=>{var t;let{containerId:i,contentBlock:l,pinnedPosts:r,posts:a,renderPreview:p,onClose:h}=e,[u,w]=(0,s.eJ)(r),[v,k]=(0,s.eJ)([...null!==(t=null==l?void 0:l.contentBlockPins)&&void 0!==t?t:[]]),{posts:m}=(0,C.Fl)({posts:a,contentBlockPins:v,pinnedPosts:u}),y=e=>{let{postId:t}=e;k(e=>e.filter(e=>e.post_id!==t))},P=async()=>{await (0,c.ab)({contentBlockId:l.id,contentBlockPins:v})};return(0,d.tZ)(g,{containerId:i,posts:m,renderPreview:e=>(0,d.tZ)(f.hV,{showPinForPostIds:new Set(v.map(e=>e.post_id)),onUnpinPost:y,children:p(e)}),onClose:h,onSave:P,onSelectPost:e=>{let{post:t,index:i}=e;w(e=>(0,o._)((0,n._)({},e),{[t.id]:t})),k(e=>e.filter(e=>e.post_id!==t.id&&e.position!==i).concat({content_block_id:l.id,post_id:t.id,position:i}))}})},g=e=>{let{posts:t,renderPreview:i,containerId:n,onClose:o,onSave:l,onSelectPost:C}=e,{iString:m}=(0,p.M1)(),[y,g]=(0,s.eJ)(!1),[P,b]=(0,s.eJ)(!0),I=(0,s.sO)(null),[B,Z]=(0,s.eJ)(null),{open:_}=(0,h.O4)();(0,s.d4)(()=>{let e=document.getElementById(n);e&&I.current&&Z({width:e.offsetWidth,height:e.offsetHeight,previewWidth:I.current.offsetWidth,previewHeight:e.offsetHeight/e.offsetWidth*I.current.offsetWidth})},[n]);let S=e=>{let{activePostId:i,post:n}=e,o=t.findIndex(e=>e.id===i);-1!==o&&C({activePostId:i,post:n,index:o})},W=async()=>{g(!0),await l(),window.location.reload()};return(0,d.BX)(v.u_,{disableCloseOnBackdropClick:!0,isOpen:P,width:1e3,onClose:o,children:[(0,d.tZ)(v.xB,{showClose:!0,title:m("Edit Pins"),onClose:o}),(0,d.tZ)("div",{className:r()("the-free-press-theme","modalBody-C830mj"),children:(0,d.BX)(w.tu,{gap:12,children:[(0,d.tZ)(a.h,{children:(0,d.BX)(w.tu,{border:"detail",className:"previewContainer-YlsQVC",padding:16,children:[(0,d.tZ)("div",{ref:I,style:B?{width:B.previewWidth,height:B.previewHeight}:void 0}),(0,d.tZ)(w.tu,{position:"absolute",style:B?{width:B.width,transform:"scale(".concat(B.previewWidth/B.width,")"),transformOrigin:"top left",overflow:"hidden"}:void 0,children:(0,d.tZ)(f.hV,{disableInteractive:!0,onClickPost:e=>{let{post:i,event:n}=e;if(n.preventDefault(),!t.find(e=>e.id===i.id)){alert("This slot is not pinnable.");return}b(!1),_({postsOnly:!0,onClose:()=>{b(!0)},onSelectResult:async e=>{let{result:t,onClose:n}=e;if("post"!==t.type||!t.post)return;let o=(0,k.RQ)(t.post.url);if(!o)return;let d=await (0,c.zQ)({slug:o});d&&(S({activePostId:i.id,post:d}),n())}})},children:i({posts:t})})})]})}),(0,d.BX)(w.gq,{alignItems:"center",gap:8,justifyContent:"end",children:[(0,d.tZ)(u.zx,{disabled:y,priority:"secondary",onClick:o,children:m("Cancel")}),(0,d.tZ)(u.zx,{disabled:y,priority:"primary",onClick:W,children:m("Save")})]})]})})]})}}}]);