"use strict";(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([["7944"],{89716:function(e,t,i){i.d(t,{k:()=>T});var l=i(7409),n=i(99282),a=i(16584),r=i(98661),d=i(30396),s=i(94184),o=i.n(s),c=i(64515);let u=e=>(0,a.BX)(c.l,(0,n._)((0,l._)({},e),{name:"BurgerIcon",svgParams:{height:100,width:100},children:[(0,a.tZ)("path",{d:"M84.7,53.7H15.1c-2.1,0-3.8-1.7-3.8-3.8v0c0-2.1,1.7-3.8,3.8-3.8h69.7c2.1,0,3.8,1.7,3.8,3.8v0C88.6,52,86.9,53.7,84.7,53.7 z"}),(0,a.tZ)("path",{d:"M84.7,23.7H15.1c-2.1,0-3.8-1.7-3.8-3.8v0c0-2.1,1.7-3.8,3.8-3.8h69.7c2.1,0,3.8,1.7,3.8,3.8v0C88.6,22,86.9,23.7,84.7,23.7 z"}),(0,a.tZ)("path",{d:"M84.7,83.7H15.1c-2.1,0-3.8-1.7-3.8-3.8v0c0-2.1,1.7-3.8,3.8-3.8h69.7c2.1,0,3.8,1.7,3.8,3.8v0C88.6,82,86.9,83.7,84.7,83.7 z"})]}));var m=i(95441),v=i(48980),h=i(3312),g=i.n(h);let p=(e,t)=>{var i,l,n,r,d,s;let o=null==e?void 0:e.metadata.time,c={"@context":"https://schema.org/","@type":"Recipe",name:e.name,image:e.image_url?[e.image_url]:null,author:{"@type":"Person",name:null===(i=t.publishedBylines)||void 0===i?void 0:i.map(e=>e.name).join(", ")},cookTime:(null===(l=e.settings)||void 0===l?void 0:l.showTime)&&o?y(o):null,datePublished:t.post_date,description:null,recipeIngredient:e.ingredients,recipeInstructions:null===(n=e.steps)||void 0===n?void 0:n.map((e,t)=>({"@type":"HowToStep",text:e,position:t+1})),keywords:null===(r=e.metadata)||void 0===r?void 0:r.keywords,recipeCategory:null===(d=e.metadata)||void 0===d?void 0:d.category,recipeCuisine:null===(s=e.metadata)||void 0===s?void 0:s.cuisine};return(0,a.tZ)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:g()(c,{json:!0,isSecureContext:!0})}})},y=e=>e.number&&e.unit?({minute:"PT".concat(e.number,"M"),hour:"PT".concat(e.number,"H"),day:"P".concat(e.number,"D")})[e.unit]:null;var Z=i(98914),f=i(15771),b=i(19081),w=i(6490),B=i(17688),x=i(58175);let I={recipe:"recipe-ZIuB27",recipeInfo:"recipeInfo-wi8rys",metaTop:"metaTop-lj6olV",time:"time-KO42PG",metaBottom:"metaBottom-TmCFwy",sectionHead:"sectionHead-ds6yqo",recipeTitle:"recipeTitle-I9hgrm",textInput:"textInput-Eihhm7",editableItem:"editableItem-BKXcL1",tools:"tools-EBrThT",skinny:"skinny-dFa8Rj",dash:"dash-d3gefh",collapsed:"collapsed-Y7SwfF",expandButton:"expandButton-YijU9a",settingsModal:"settingsModal-7Nj14M",disabled:"disabled-JRxT54",divider:"divider-k43Twf",leftHr:"leftHr-BPiRAs",rightAlign:"rightAlign-H80vAQ",imageDropZone:"imageDropZone-KCyMtY",recipeImage:"recipeImage-M1x7RQ"},T=e=>{var t,i,r,s,c,h,g,y;let{node:Z,staticData:w,editable:T=!0}=e,C=null==Z?void 0:null===(t=Z.attrs)||void 0===t?void 0:t.id,[_,X]=(0,d.eJ)(w||null),[S,D]=(0,d.eJ)(null==_?void 0:_.name),[M,q]=(0,d.eJ)(null==_?void 0:_.metadata),[j,z]=(0,d.eJ)(null==_?void 0:_.ingredients),[J,A]=(0,d.eJ)(null==_?void 0:_.steps),[P,O]=(0,d.eJ)(null),[Y,F]=(0,d.eJ)(null),[K,R]=(0,d.eJ)(null==_?void 0:_.settings),[E,L]=(0,d.eJ)(!1),[Q,G]=(0,d.eJ)(null==_?void 0:_.image_url),{iString:U}=(0,m.M1)();return(0,d.d4)(()=>{(async()=>{if(!C)return;let e=await (0,v.rd)("/api/v1/recipe/".concat(C));X(e.recipe),D(e.recipe.name),q(e.recipe.metadata),z(e.recipe.ingredients),A(e.recipe.steps),R(e.recipe.settings),F(e.postInfo),G(e.recipe.image_url)})()},[C]),(0,d.d4)(()=>{let e=async()=>{let e={};S!==(null==_?void 0:_.name)&&(e.name=S),M!==(null==_?void 0:_.metadata)&&(e.metadata=M),j!==(null==_?void 0:_.ingredients)&&(e.ingredients=j),J!==(null==_?void 0:_.steps)&&(e.steps=J),K!==(null==_?void 0:_.settings)&&(e.settings=K),Q!==(null==_?void 0:_.image_url)&&(e.image_url=Q),Object.keys(e).length&&await (0,v.rd)("/api/v1/recipe/".concat(C),{method:"POST",json:e})};(async function(){P&&clearTimeout(P),O(setTimeout(()=>{e()},1e3))})()},[S,M,j,J,C,K,Q]),(0,a.BX)(a.HY,{children:[_&&Y?p(_,Y):null,(0,a.BX)("div",{className:I.recipe,children:[T?(0,a.tZ)(H,{image:Q,setImage:G}):(0,a.tZ)("img",{src:Q,className:I.recipeImage}),(0,a.tZ)("textarea",{placeholder:"Title...",value:S,onChange:async e=>{var t;D(null===(t=e.currentTarget)||void 0===t?void 0:t.value)},className:I.recipeTitle,disabled:!T}),(0,a.BX)("div",{className:I.recipeInfo,children:[((null==M?void 0:M.tools)||T)&&(0,a.BX)(b.gq,{alignItems:"center",gap:8,style:{marginBottom:32},children:[(0,a.tZ)("div",{className:I.tools,children:"Tools:"}),(0,a.tZ)("textarea",{className:I.textInput,placeholder:"A stand mixer, rolling pin, a large working surface",value:null==M?void 0:M.tools,onChange:e=>{var t;q((0,n._)((0,l._)({},M),{tools:null===(t=e.currentTarget)||void 0===t?void 0:t.value}))},disabled:!T})]}),(0,a.tZ)("hr",{className:I.divider})]}),(0,a.BX)(b.gq,{gap:8,justifyContent:"space-between",padding:16,alignItems:"end",style:{flexWrap:"wrap"},children:[(0,a.BX)(b.gq,{gap:8,alignItems:"center",children:[(null==K?void 0:K.showTime)&&(0,a.BX)("div",{className:I.metaItem,children:[(0,a.tZ)("div",{className:I.metaTop,children:"Time: "}),(0,a.tZ)(b.gq,{alignItems:"center",className:I.time,children:T?(0,a.BX)(a.HY,{children:[(0,a.tZ)("input",{className:o()(I.metaBottom,I.textInput,I.skinny),value:null==M?void 0:null===(i=M.time)||void 0===i?void 0:i.number,placeholder:"1",onChange:e=>{var t,i;let a=Math.max(1,Number(null===(t=e.currentTarget)||void 0===t?void 0:t.value));q((0,n._)((0,l._)({},M),{time:{number:a,unit:null==M?void 0:null===(i=M.time)||void 0===i?void 0:i.unit}}))},type:"number",disabled:!T}),(0,a.BX)(B.i,{value:(null==M?void 0:null===(r=M.time)||void 0===r?void 0:r.unit)||"hour",onChange:e=>{var t;return q((0,n._)((0,l._)({},M),{time:{number:null==M?void 0:null===(t=M.time)||void 0===t?void 0:t.number,unit:e.target.value}}))},disabled:!T,children:[(0,a.tZ)("option",{value:"minute",children:U("Minute(s)")}),(0,a.tZ)("option",{value:"hour",children:U("Hour(s)")}),(0,a.tZ)("option",{value:"day",children:U("Day(s)")})]})]}):(0,a.tZ)(x.xv.B3,{children:"".concat(null==M?void 0:null===(s=M.time)||void 0===s?void 0:s.number," ").concat(null==M?void 0:null===(c=M.time)||void 0===c?void 0:c.unit,"(s)")})})]}),(null==K?void 0:K.showServings)&&(0,a.BX)("div",{className:I.metaItem,children:[(0,a.tZ)("div",{className:I.metaTop,children:"Serves:"}),(0,a.tZ)("div",{className:o()(I.metaBottom),children:(0,a.BX)(b.gq,{gap:8,textAlign:"center",alignItems:"center",children:[T?(0,a.tZ)("input",{className:o()(I.metaBottom,I.textInput,I.skinny),value:null==M?void 0:null===(h=M.serves)||void 0===h?void 0:h.small,placeholder:"4",type:"number",onChange:e=>{var t,i;let a=Math.max(1,Number(null===(t=e.currentTarget)||void 0===t?void 0:t.value));q((0,n._)((0,l._)({},M),{serves:{large:null==M?void 0:null===(i=M.serves)||void 0===i?void 0:i.large,small:a}}))},disabled:!T}):(0,a.tZ)(x.xv.B3,{children:null==M?void 0:null===(g=M.serves)||void 0===g?void 0:g.small}),(0,a.tZ)("div",{className:I.dash,children:"-"}),(0,a.tZ)("input",{className:o()(I.metaBottom,I.textInput,I.skinny),value:null==M?void 0:null===(y=M.serves)||void 0===y?void 0:y.large,placeholder:"8",type:"number",onChange:e=>{var t,i;let a=Math.max(1,Number(null===(t=e.currentTarget)||void 0===t?void 0:t.value));q((0,n._)((0,l._)({},M),{serves:{small:null==M?void 0:null===(i=M.serves)||void 0===i?void 0:i.small,large:a}}))},disabled:!T})]})})]}),(null==K?void 0:K.showDifficulty)&&(0,a.BX)("div",{className:I.metaItem,children:[(0,a.tZ)("div",{className:I.metaTop,children:" Difficulty:"}),(0,a.tZ)("div",{className:I.time,children:(0,a.tZ)(b.gq,{alignItems:"center",className:I.time,children:T?(0,a.BX)(B.i,{value:(null==M?void 0:M.difficulty)||"easy",onChange:e=>q((0,n._)((0,l._)({},M),{difficulty:e.target.value})),disabled:!T,children:[(0,a.tZ)("option",{value:"easy",children:U("Easy")}),(0,a.tZ)("option",{value:"medium",children:U("Medium")}),(0,a.tZ)("option",{value:"advanced",children:U("Advanced")})]}):(0,a.tZ)(x.xv.B3,{children:null==M?void 0:M.difficulty})})})]})]}),(0,a.BX)(b.gq,{gap:8,alignItems:"center",children:[(0,a.tZ)(f.zx,{priority:"secondary",children:"Download"}),T&&(0,a.tZ)(f.zx,{priority:"secondary",onClick:()=>{L(!0)},children:(0,a.tZ)(u,{height:12})})]})]}),(0,a.tZ)("hr",{className:I.divider}),j&&J&&(0,a.tZ)(N,{ingredients:T?j:j.filter(e=>e),steps:T?J:J.filter(e=>e),setIngredients:z,setSteps:A,editable:T,isStatic:!!w})]}),(0,a.tZ)(k,{isOpen:E,setIsOpen:L,settings:K,setSettings:R,metadata:M,setMetadata:q})]})},k=e=>{let{isOpen:t,setIsOpen:i,settings:r,setSettings:d,metadata:s,setMetadata:o}=e;return(0,a.tZ)(w.u_,{isOpen:t,onClose:()=>{i(!1)},children:(0,a.BX)("div",{className:I.settingsModal,children:[(0,a.tZ)(x.xv.H2,{children:"Settings"}),(0,a.BX)(b.tu,{style:{marginTop:24},children:[(0,a.tZ)("hr",{className:I.divider}),(0,a.BX)(b.tu,{gap:24,style:{marginTop:12,marginBottom:12},children:[(0,a.BX)(b.gq,{gap:4,children:[(0,a.tZ)("label",{htmlFor:"keywords",children:"Keywords: "}),(0,a.tZ)("input",{type:"text",id:"keywords",name:"keywords",value:null==s?void 0:s.keywords,onChange:e=>{var t;o((0,n._)((0,l._)({},s),{keywords:null===(t=e.currentTarget)||void 0===t?void 0:t.value}))},placeholder:"healthy, gluten-free"})]}),(0,a.BX)(b.gq,{gap:4,children:[(0,a.tZ)("label",{htmlFor:"keywords",children:"Cuisine: "}),(0,a.tZ)("input",{type:"text",id:"cuisine",name:"cuisine",value:null==s?void 0:s.cuisine,placeholder:"New-American",onChange:e=>{var t;o((0,n._)((0,l._)({},s),{cuisine:null===(t=e.currentTarget)||void 0===t?void 0:t.value}))}})]}),(0,a.BX)(b.gq,{gap:4,children:[(0,a.tZ)("label",{htmlFor:"category",children:"Category: "}),(0,a.tZ)("input",{type:"text",id:"category",name:"category",placeholder:"Main courses",value:null==s?void 0:s.category,onChange:e=>{var t;o((0,n._)((0,l._)({},s),{category:null===(t=e.currentTarget)||void 0===t?void 0:t.value}))}})]})]})]}),(0,a.BX)(b.gq,{gap:8,alignItems:"center",children:[(0,a.tZ)("input",{type:"checkbox",id:"showTime",name:"showTime",checked:null==r?void 0:r.showTime,onChange:()=>{d((0,n._)((0,l._)({},r),{showTime:!(null==r?void 0:r.showTime)}))}}),(0,a.tZ)("label",{for:"showTime",children:"Show Time"})]}),(0,a.BX)(b.gq,{gap:8,alignItems:"center",children:[(0,a.tZ)("input",{type:"checkbox",id:"showServings",name:"showServings",checked:null==r?void 0:r.showServings,onChange:()=>{d((0,n._)((0,l._)({},r),{showServings:!(null==r?void 0:r.showServings)}))}}),(0,a.tZ)("label",{for:"showServings",children:"Show Servings"})]}),(0,a.BX)(b.gq,{gap:8,alignItems:"center",children:[(0,a.tZ)("input",{type:"checkbox",id:"showDifficulty",name:"showDifficulty",checked:null==r?void 0:r.showDifficulty,onChange:()=>{d((0,n._)((0,l._)({},r),{showDifficulty:!(null==r?void 0:r.showDifficulty)}))}}),(0,a.tZ)("label",{for:"showDifficulty",children:"Show Difficulty"})]}),(0,a.tZ)("div",{className:I.rightAlign,children:(0,a.tZ)(f.zx,{onClick:()=>i(!1),children:"Done"})})]})})},N=e=>{let{ingredients:t,steps:i,setIngredients:l,setSteps:n,editable:r,isStatic:s}=e,[c,u]=(0,d.eJ)(!r);return(0,a.BX)(a.HY,{children:[(0,a.BX)(b.gq,{justifyContent:"space-between",padding:16*!(0,Z.K1)(),className:o()(I.mainContent,{[I.collapsed]:c&&!s}),style:{flexDirection:(0,Z.K1)()||s?"column":"row"},children:[(0,a.BX)("div",{className:I.sectionHead,children:[(0,a.tZ)(x.xv.H3,{children:"Ingredients"}),(0,a.tZ)("hr",{className:I.leftHr}),(0,a.tZ)(C,{items:t,setItems:l,placeholder:"Add an ingredient...",className:I.ingredientList,disabled:!r})]}),(0,a.BX)("div",{className:I.sectionHead,children:[(0,a.tZ)(x.xv.H3,{children:"Directions"}),(0,a.tZ)("hr",{className:I.leftHr}),(0,a.tZ)(C,{items:i,setItems:n,placeholder:"Add a step...",className:I.stepList,disabled:!r,prefix:"Step"})]})]}),c&&!s&&(0,a.tZ)(f.zx,{onClick:()=>{u(!1)},priority:"secondary",className:I.expandButton,children:"Expand"})]})},C=(0,r.memo)(e=>{let{items:t,setItems:i,placeholder:l,className:n,disabled:r,prefix:d}=e;return(0,a.tZ)(b.tu,{gap:8,className:n,children:((null==t?void 0:t.length)?t:[""]).map((e,n)=>(0,a.BX)(a.HY,{children:[d&&(0,a.BX)(x.xv.H4,{children:[d," ",n+1]}),r?(0,a.tZ)(x.xv.B3,{children:e}):(0,a.tZ)(_,{item:e,setItem:e=>{let l=[...t];l[n]=e,i(l)},removeItem:()=>{let e=[...t];e.splice(n,1),i(e)},addItem:()=>{let e=[...t];e.splice(n+1,0,""),i(e)},disabled:r,placeholder:l},n)]}))})}),_=e=>{let{item:t,setItem:i,removeItem:l,disabled:n,placeholder:r,addItem:d}=e;return(0,a.BX)(b.gq,{className:I.editableItem,gap:4,children:[(0,a.tZ)(X,{value:t,onChange:e=>{var t;i(null===(t=e.currentTarget)||void 0===t?void 0:t.value)},disabled:n,placeholder:r,className:o()({[I.disabled]:n})}),!n&&(0,a.tZ)(f.zx,{onClick:d,disabled:n,size:"sm",priority:"secondary",style:{height:"20px"},children:"+"}),!n&&(0,a.tZ)(f.zx,{onClick:l,disabled:n,size:"sm",priority:"secondary",style:{height:"20px"},children:"-"})]})},X=e=>{let{value:t,onChange:i,disabled:l,placeholder:n,className:r}=e,s=(0,d.sO)(null);return(0,d.d4)(()=>{let e=s.current;e&&(e.style.height="auto",e.style.height="".concat(e.scrollHeight,"px"))},[t]),(0,a.tZ)("textarea",{value:t,className:r,onChange:i,disabled:l,placeholder:n,ref:s})};function H(e){let{image:t,setImage:i}=e,l=async e=>{if(e.preventDefault(),e.dataTransfer.files&&e.dataTransfer.files[0]){let t=e.dataTransfer.files[0];i(await (0,Z.Zk)(t))}},n=async e=>{if(e.target.files&&e.target.files[0]){let t=e.target.files[0];i(await (0,Z.Zk)(t))}};return(0,a.BX)("div",{className:"image-uploader",onDragOver:e=>{e.preventDefault()},onDrop:l,style:{width:"auto",height:"525px",border:"2px dashed #ccc",display:"flex",justifyContent:"center",alignItems:"center",backgroundImage:"url(".concat(t,")"),backgroundSize:"cover",backgroundPosition:"center"},children:[t?(0,a.tZ)("div",{style:{position:"absolute",cursor:"pointer",backgroundColor:"rgba(255, 255, 255, 0.3)"},onClick:()=>i(""),children:"Remove Image"}):null,t?null:(0,a.BX)("label",{style:{cursor:"pointer"},children:["Drag an image or click to select",(0,a.tZ)("input",{type:"file",accept:"image/*",style:{display:"none"},onChange:n})]})]})}}}]);