2 lines
15 KiB
Plaintext
2 lines
15 KiB
Plaintext
import{j as e,r as a,R as k,a as _}from"./index-D3mqsRyr.js";import{B as h}from"./Button-wFm6R4dt.js";import{R as D,a as H,b as E,c as W,d as K,e as Z}from"./ToolTip-T5Dt2gA1.js";import{T as J,R}from"./RecipeBookRepository-Boz7dttp.js";import{A as N,a as M}from"./AuthContext-9pWL-x5n.js";import{M as S}from"./Modal-tsvA1jm7.js";import{d as Q}from"./helpers-C6yshgUn.js";import"./i18n-D7PfpSEo.js";import{a as V}from"./Video-DxzJBD3T.js";import{l as G}from"./lodash-D1Hd1xdK.js";import{a as X}from"./index-BbG2BJY6.js";import{l as Y}from"./commentHelpers-BV1Y8Iwv.js";import"./index-KrFx5yLV.js";import"./useTranslation-BcEhPCxh.js";import"./unsupportedIterableToArray-CJNtVYa-.js";import"./context-BAAAHQOM.js";import"./config-CkUiWPd2.js";const ee=()=>e.jsx("div",{className:"d-print-none mx-3 mx-md-0",children:e.jsx(D,{children:e.jsx(h,{classNames:"-ternary -square",id:"print-btn",onClick:()=>window.print(),children:e.jsx("i",{className:"a-icon -fontSize-16 fal fa-print"})})})}),te=({note:t,reload:n})=>{const[s]=a.useState(document.querySelector('[name="recipe-id"]').content),{link:r,authenticated:l}=a.useContext(N),[o,i]=a.useState(t),[c,m]=a.useState(!1),u=()=>m(!0),x=()=>m(!1),j=p=>{R.saveUserRecipeNote(s,o).then(()=>p()).then(()=>n())},b="-ternary -square d-print-none";a.useEffect(()=>{i(t)},[t]);const f=p=>p.body===""?b:"p-recipe__buttonActive "+b;return e.jsxs("div",{className:"mx-3 mx-md-0",children:[e.jsx(H,{children:e.jsx(h,{classNames:f(t),id:"recipe-note-btn",onClick:u,children:e.jsx("i",{className:"a-icon -fontSize-16 fal fa-clipboard"})})}),e.jsx(S,{open:c,close:x,title:"Jegyzet",children:l?e.jsxs("form",{className:"m-form",method:"post",onSubmit:p=>{p.preventDefault(),j(x)},children:[e.jsx(J,{name:"body",rows:3,entity:o,change:i}),e.jsxs("div",{className:"d-flex flex-column flex-sm-row align-items-center justify-content-around",children:[e.jsx(h,{type:"submit",children:"Mentés"}),e.jsx(h,{onClick:x,children:"Mégse"})]})]}):e.jsxs("div",{children:[e.jsx("div",{className:"my-8 text-center m-modal__info",children:"Jegyzetíráshoz kérjük lépj be!"}),e.jsxs("div",{className:"d-flex flex-column flex-md-row justify-content-md-around align-items-center",children:[e.jsx(h,{onClick:x,classNames:"-w20rem -grey mb-4 mb-md-0",children:"Mégsem"}),r]})]})})]})},se="Sikeresen elmentettük a receptkönyvedbe!",w="m-button -primary -sm -w30per align-self-center mb-4 mb-sm-0",ne="a-link -fontColorQuaternary -fontWeightSeeded -fontSize-16 -primaryHoverEffect mb-5 mb-md-0",ae=({books:t,reload:n})=>{const[s]=a.useState(document.querySelector('[name="recipe-id"]').content),{link:r,identity:l,authenticated:o}=a.useContext(N),[i,c]=a.useState(null),[m,u]=a.useState(null),[x,j]=a.useState(!1),[b,f]=a.useState(""),p=()=>j(!0),g=()=>j(!1),T=()=>t.find(d=>d.default),L=d=>t.find(U=>U.id===d),I=d=>{u(L(parseInt(d.currentTarget.value,10)))},$=()=>{m&&R.addRecipeToBook(m.id,s).then(()=>c(m)).then(()=>n())},F=()=>{R.saveRecipeBook({title:b}).then(d=>R.addRecipeToBook(d.id,s).then(()=>{c(d)}).then(()=>n()))};return a.useEffect(()=>{u(t.find(d=>!d.default))},[t]),a.useEffect(()=>{const d=T();x&&d&&R.addRecipeToBook(d.id,s).then(n),x||(c(null),f(""))},[x]),o?e.jsxs("div",{className:"d-print-none",children:[e.jsx(E,{children:e.jsx(h,{classNames:"-ternary -square"+(t.length&&!T()?" -colored":""),id:"recipe-save",onClick:p,children:e.jsx("i",{className:"a-icon -fontSize-16 fal fa-bookmark"})})}),e.jsx(S,{open:x,close:g,title:se,className:"-recipeBook",children:i?e.jsxs(k.Fragment,{children:[e.jsx("a",{href:`/receptkonyv/${l}/csoportok/${i.slug}`,children:"Csoporthoz"}),e.jsx(h,{onClick:g,children:"Bezárás"})]}):e.jsxs("form",{className:"m-form",method:"post",onSubmit:d=>d.preventDefault(),children:[e.jsxs("div",{className:"m-form__group d-flex flex-column flex-md-row flex-wrap mb-5",children:[e.jsx("label",{className:"m-form__label -fontSize-14 -fontColorPrimary -fontFamilyPrimary -fontWeightSeeded d-block mb-3 text-center text-md-left w-100",children:"Recept hozzáadása saját csoporthoz"}),e.jsxs("div",{className:"d-flex flex-column flex-md-row w-100",children:[e.jsx("div",{className:"m-form__selectWrapper -colorBgTernary mb-5 mb-md-0 mr-md-4 flex-fill",children:e.jsx("select",{className:"m-form__select w-100 pl-4 pr-10",value:m?m.id:"",onChange:I,disabled:!t.length,children:t.filter(d=>!d.default).map(d=>e.jsx("option",{value:d.id,children:d.title},d.id))})}),e.jsx("button",{className:w+(t.length<1?" disable":""),id:"group-add-btn",onClick:$,children:e.jsx("span",{children:"Csoporthoz ad"})})]})]}),e.jsxs("div",{className:"m-form__group d-flex flex-column flex-md-row flex-wrap mb-md-9",children:[e.jsx("label",{className:"m-form__label -fontSize-14 -fontColorPrimary -fontFamilyPrimary -fontWeightSeeded d-block mb-3 text-center text-md-left w-100",children:"Új saját csoport létrehozása"}),e.jsxs("div",{className:"d-flex flex-column flex-md-row w-100",children:[e.jsx("div",{className:"m-form__selectWrapper -colorBgTernary mb-5 mb-md-0 mr-md-4 flex-fill",children:e.jsx("input",{type:"text",className:"m-form__input",value:b,onChange:d=>f(d.currentTarget.value)})}),e.jsx("button",{className:w,onClick:F,children:e.jsx("span",{children:"Létrehoz"})})]})]}),e.jsxs("div",{className:"d-flex flex-column flex-md-row align-items-center justify-content-between mt-5 mb-md-5",children:[e.jsx("div",{className:"text-center text-xl-left",children:e.jsx("a",{href:`/receptkonyv/${l}`,className:ne,children:e.jsx("span",{children:"Tovább a receptkönyvbe"})})}),e.jsx("button",{className:w,onClick:g,children:e.jsx("span",{children:"Bezár"})})]})]})})]}):e.jsxs("div",{className:"d-print-none mx-3 mx-md-0",children:[e.jsx(E,{children:e.jsx(h,{classNames:"-ternary -square",id:"recipe-save",onClick:p,children:e.jsx("i",{className:"a-icon -fontSize-16 fal fa-bookmark"})})}),e.jsx(S,{open:x,close:g,className:"-recipeBook",title:"Elmentem a receptkönyvembe",children:e.jsxs("div",{children:[e.jsx("div",{className:"my-8 text-center m-modal__info",children:"Receptkönyvbe mentéshez kérjük lépj be!"}),e.jsxs("div",{className:"d-flex flex-column flex-md-row justify-content-md-around align-items-center",children:[e.jsx(h,{onClick:g,classNames:"-w20rem -grey mb-4 mb-md-0",children:"Mégsem"}),r]})]})})]})},re=()=>{const[t]=a.useState(document.querySelector("h1").textContent),n=`subject=Nosalty:%20${t}&body=${t}%20receptje`;return e.jsx("div",{className:"d-print-none mx-3 mx-md-0",children:e.jsx(W,{children:e.jsx("a",{className:"m-button -ternary -sm -square",id:"email-send-btn",href:`mailto:?${n}:%20${window.location.href}`,children:e.jsx("i",{className:"a-icon -fontSize-16 fal fa-envelope"})})})})},ie=({prepared:t,reload:n})=>{const[s]=a.useState(document.querySelector('[name="recipe-id"]').content),{link:r,authenticated:l}=a.useContext(N),[o,i]=a.useState(!1),c=()=>i(!1),m=()=>{if(!l)return i(!0);R.prepareRecipe(s).then(()=>n())};return e.jsxs("div",{className:"d-print-none mx-3 mx-md-0",children:[e.jsx(K,{children:e.jsx(h,{id:"recipe-preparation-btn",onClick:m,classNames:`${t?"-secondary -hoverSelected -square":"-ternary -square"}`,children:e.jsx("i",{className:"a-icon -fontSize-16 far fa-check"})})}),o&&e.jsxs(S,{open:o,close:c,title:"Elkészítettem a receptet",children:[e.jsx("div",{className:"my-8 text-center m-modal__info",children:"Recept megjelöléshez kérjük lép be!"}),e.jsxs("div",{className:"d-flex flex-column flex-md-row justify-content-md-around align-items-center",children:[e.jsx(h,{onClick:c,classNames:"-w20rem -grey mb-4 mb-md-0",children:"Mégsem"}),r]})]})]})},le=({children:t})=>{const[n,s]=a.useState({books:[],prepared:!1,note:{body:""}}),{authenticated:r}=a.useContext(N),[l]=a.useState(document.querySelector('[name="recipe-id"]').content),o=()=>R.getUserRecipeBookStatusByRecipe(l).then(i=>s(i));return a.useEffect(()=>{r&&o()},[]),e.jsx(k.Fragment,{children:t({...n,reload:o})})};function z(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobi/i.test(navigator.userAgent)}const O=({position:t,rating:n=0,onClick:s=null,onMouseEnter:r=null,onMouseLeave:l=null})=>{const o=()=>{s&&s(t)},i=()=>{r&&r(t)},c=()=>{l&&l(t)};return e.jsx("i",{className:`m-ratingStars__star fas fa-star ${t<=n?"-colorRating":""} ${s!==null?"-clickable":""}`,onClick:o,onMouseEnter:i,onMouseLeave:c})},y=({starCount:t,classNames:n="",rating:s=0,toolTipMap:r=null,onClick:l=null,onMouseEnter:o=null,onMouseLeave:i=null})=>e.jsx("span",{className:`m-ratingStars ${n}`,children:G.range(1,t+1).map(c=>!z()&&r!==null?e.jsx(Z,{heading:r[c].heading,message:r[c].message,children:e.jsx(O,{position:c,rating:s,onClick:l,onMouseEnter:o,onMouseLeave:i})},c):e.jsx(O,{position:c,rating:s,onClick:l,onMouseEnter:o,onMouseLeave:i},c))}),B={1:{heading:"1 csillag",message:"Soha többet!"},2:{heading:"2 csillag",message:"Vannak gondok."},3:{heading:"3 csillag",message:"Hát..."},4:{heading:"4 csillag",message:"Másodszorra lett az igazi."},5:{heading:"5 csillag",message:"Egyszerűen imádom, tökéletes lett!"}},q=({isModalOpened:t,closeModal:n})=>{const{link:s}=a.useContext(N);return e.jsx(S,{open:t,close:n,children:e.jsxs("div",{className:"d-flex flex-column",children:[e.jsx("p",{className:"a-text -fontSize-14 mb-10 text-center font-weight-bold",children:"Értékelés indításához kérjük lépj be!"}),e.jsxs("div",{className:"d-flex flex-column flex-md-row justify-content-md-around",children:[s,e.jsx(h,{classNames:"-grey -w20rem mb-4 mb-md-0",onClick:n,children:"Mégse"})]})]})})},oe={rateRecipe:(t,n)=>X.post(`/backend/ratings/recipes/${t}/rate`,{rating:n}).then(({data:s})=>s)},v={average:"data-rating-average",count:"data-rating-count",userRating:"data-user-rating"},C=k.createContext({average:0,count:0,userRating:null,sendUserRating:()=>{}}),A=({children:t})=>{const n=document.querySelector(".p-recipe"),s=()=>Number(n.getAttribute(v.average)),r=()=>Number(n.getAttribute(v.count)),l=()=>{const f=n.getAttribute(v.userRating);return f?Number(f):null},[o,i]=a.useState(s()),[c,m]=a.useState(r()),[u,x]=a.useState(l()),j=f=>{n.setAttribute(v.userRating,f);const p=document.querySelector('[name="recipe-id"]').content;oe.rateRecipe(p,f).then(g=>{n.setAttribute(v.average,g.average),n.setAttribute(v.count,g.count)})};return new MutationObserver(f=>{for(const p of f)if(p.type==="attributes")switch(p.attributeName){case v.average:i(s());break;case v.count:m(r());break;case v.userRating:x(l());break}}).observe(n,{attributes:!0}),e.jsx(C.Provider,{value:{average:o,count:c,userRating:u,sendUserRating:j},children:t})},P=({isModalOpened:t,closeModal:n})=>{const{authenticated:s}=a.useContext(N),{sendUserRating:r}=a.useContext(C),[l,o]=a.useState(0),i=()=>{o(0),n()},c=u=>{o(u)},m=()=>{s&&r(l),i()};return e.jsx(S,{open:t,close:i,children:e.jsxs("div",{className:"m-recipeRatingGuide",children:[e.jsx("div",{className:"m-recipeRatingGuide__decor"}),e.jsxs("div",{className:"text-center my-5",children:[e.jsx("p",{className:"a-text -fontSize-14 -fontColorSenary",children:"Bevált ez a recept?"}),e.jsx("p",{className:"a-text -fontSize-14 -fontColorSenary",children:"Kíváncsiak vagyunk a véleményedre!"})]}),e.jsx("div",{className:"text-center mb-7",children:e.jsx(y,{starCount:5,rating:l,classNames:"-large",onClick:c})}),e.jsxs("div",{className:"d-flex flex-row align-items-center justify-content-center mb-4",children:[e.jsx("div",{className:"m-recipeRatingGuide__lineDecor"}),e.jsx("div",{className:"m-recipeRatingGuide__title mx-3",children:"Értékelési útmutató"}),e.jsx("div",{className:"m-recipeRatingGuide__lineDecor"})]}),e.jsx("div",{className:"d-flex flex-column align-items-center mb-8",children:e.jsx("div",{className:"m-recipeRatingGuide__descriptions",children:G.range(5,0).map(u=>e.jsxs("div",{className:"m-recipeRatingGuide__description d-flex flex-row align-items-center",children:[e.jsx(y,{starCount:5,rating:u}),e.jsxs("span",{className:"m-recipeRatingGuide__message ml-3",children:[u," • ",B[u].message]})]},u))})}),e.jsxs("div",{className:"d-flex flex-column flex-md-row justify-content-md-around mx-10 mx-md-0",children:[e.jsx(h,{classNames:"-primary -w20rem mb-4 mb-md-0",onClick:m,disabled:l<1,children:"Beküldöm"}),e.jsx(h,{classNames:"-grey -w20rem mb-4 mb-md-0",onClick:i,children:"Mégse"})]})]})})},ce=()=>{const[t,n]=a.useState(null);return a.useEffect(()=>{Y().then(s=>{n(s)}).catch(s=>{console.error(s)})},[]),e.jsx(e.Fragment,{children:t!==null&&e.jsx(e.Fragment,{children:e.jsxs("a",{className:"a-link -fontWeightNormal -fontColorQuaternary -underline -fontSize-11",href:"#comments",children:[t," HOZZÁSZÓLÁS"]})})})},de=()=>{const{authenticated:t}=a.useContext(N),{average:n,count:s,userRating:r,sendUserRating:l}=a.useContext(C),[o,i]=a.useState(!1),c=()=>i(!1),[m,u]=a.useState(!1),x=()=>u(!1),j=b=>{t?z()?u(!0):l(b):i(!0)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"d-flex justify-content-center align-items-center",children:[e.jsxs("div",{className:"d-flex mr-2",children:[e.jsx("p",{className:"a-text -fontSize-11 -fontColorPrimary -letterSpacingSmall mr-2 mb-0",children:n.toFixed(1).replace(".",",")}),e.jsx(y,{starCount:5,classNames:"-small",rating:n,toolTipMap:r===null?B:null,onClick:r===null?j:null})]}),e.jsxs("div",{className:"a-text -fontSize-11 -fontColorPrimary -letterSpacingSmall",children:[e.jsxs("span",{children:[s," ÉRTÉKELÉS"]}),e.jsx("span",{className:"mx-2",children:"•"}),e.jsx(ce,{})]})]}),e.jsx(q,{isModalOpened:o,closeModal:c}),e.jsx(P,{isModalOpened:m,closeModal:x})]})},me=()=>{const t=z(),{authenticated:n}=a.useContext(N),{userRating:s,sendUserRating:r}=a.useContext(C),[l,o]=a.useState(0),[i,c]=a.useState(!1),m=()=>c(!1),[u,x]=a.useState(!1),j=()=>x(!1),b=g=>{n?t?x(!0):r(g):c(!0)},f=g=>{t||o(g)},p=()=>{t||o(0)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"m-recipeRatingBox _ce_measure_widget w-100","data-ce-measure-widget":"recipe-rating-box",children:e.jsxs("div",{className:"d-flex flex-column align-items-center px-6 pt-9 pb-10",children:[e.jsx("div",{className:"m-recipeRatingBox__decor mb-5"}),e.jsx("p",{className:"a-text -fontColorSenary -fontSize-18 mb-4 text-center",children:"Bevált ez a recept? Kíváncsiak vagyunk a véleményedre!"}),e.jsx("div",{className:"d-flex",children:e.jsx(y,{starCount:5,classNames:"-large",rating:s!==null?s:l,toolTipMap:s===null?B:null,onClick:s===null?b:null,onMouseEnter:s===null?f:null,onMouseLeave:s===null?p:null})})]})}),e.jsx(q,{isModalOpened:i,closeModal:m}),e.jsx(P,{isModalOpened:u,closeModal:j})]})};Q(()=>{const t=document.querySelector("#recipe-interactive-root");V(),_.render(e.jsx(M,{children:e.jsx(le,{children:({reload:r,note:l,prepared:o,books:i})=>e.jsxs(k.Fragment,{children:[e.jsx(ae,{books:i,reload:r}),e.jsx(ee,{}),e.jsx(te,{note:l,reload:r}),e.jsx(re,{}),e.jsx(ie,{prepared:o,reload:r})]})})}),t);const n=document.querySelector("#recipe-rating-heading-root");_.render(e.jsx(M,{children:e.jsx(A,{children:e.jsx(de,{})})}),n);const s=document.querySelector("#recipe-rating-box-root");_.render(e.jsx(M,{children:e.jsx(A,{children:e.jsx(me,{})})}),s)});
|