"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[52],{204:(e,t,s)=>{s.r(t),s.d(t,{default:()=>a});const a={container:"ARXqDxZt",writeReviewTitle:"BYrMqN9b",field:"mX1RH16p",label:"kOxbIdDY",input:"MWf_zaBJ",textarea:"c4EbHpL4",rating:"qKa8P3SJ",star:"Cr3A6eGy",starSelected:"vRJsPzxd",submit:"dk6iJfOU",imagePreview:"XZ7E9B5A",statusContainer:"OlsGRGkU",thankYouTitle:"COGuffWk",thankYouMessage:"YHPG5NZb"}},8:(e,t,s)=>{s.r(t),s.d(t,{default:()=>a});const a={gallery:"utYziQAE",imageContainer:"u7hALhRV",image:"HRX192Oq",imageMessage:"C0mfa5lU",review:"jT_XY_1t",title:"pfrMrpCr",truncated:"YcyRuLBB",expanded:"IomlcWA2",modal:"EQpOtFeT",fadeIn:"sVWQQ9or",fadeOut:"sZfxzYzK",modalInner:"Lg4GX5Y4",modalContent:"OpbIhP35",modalOverlay:"iZzCdFwp",modalHeader:"wek3E8S1",fullBleedImage:"i2zolDuA",slideUp:"u96mNKND",slideDown:"jAr2PKY3",closeButton:"MvI_gVPT",modalTextContent:"bihC0FqM",modalBodyText:"ksR2mAtx",loadMoreButton:"QklUYRZO",reviewsHeader:"KjJxq4iV"}},203:(e,t,s)=>{const a=s(54);(0,s(2).createEntrypoint)("pdp_reviews",a.Reviews)},18:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatPrice=t.REVIEWS_ENDPOINT=t.REVIEWS_PER_PAGE=void 0,t.REVIEWS_PER_PAGE=28,t.REVIEWS_ENDPOINT="https://shalom-development-worker-may-2024.digitaloptgroup.workers.dev",t.formatPrice=function(e){return parseInt(e)}},55:function(e,t,s){var a=this&&this.__awaiter||function(e,t,s,a){return new(s||(s=Promise))((function(i,n){function l(e){try{r(a.next(e))}catch(e){n(e)}}function c(e){try{r(a.throw(e))}catch(e){n(e)}}function r(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(l,c)}r((a=a.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReviewForm=void 0;const n=s(0),l=(s(1),s(3)),c=i(s(204)),r=i(s(8));t.ReviewForm=function({productId:e,productName:t,productHandle:s,productType:i,productDescription:d,productImageUrl:o,productUrl:u,config:f}){const[h,g]=(0,l.useState)("ready"),[m,j]=(0,l.useState)({name:"",email:"",rating:0,title:"",review:"",images:[]});function p(e){const t=e.target;j(Object.assign(Object.assign({},m),{[t.name]:t.value}))}return"submitting"===h?(0,n.jsx)("div",Object.assign({class:c.default.statusContainer},{children:(0,n.jsx)("div",Object.assign({class:c.default.thankYouTitle},{children:"Submitting your review..."}))})):"success"===h?(0,n.jsxs)("div",Object.assign({class:c.default.statusContainer},{children:[(0,n.jsx)("div",Object.assign({class:c.default.thankYouTitle},{children:"Thank you for submitting a review!"})),(0,n.jsx)("div",Object.assign({class:c.default.thankYouMessage},{children:"Your input is very much appreciated. Share it with your friends so they can enjoy it too!"}))]})):(0,n.jsxs)("form",Object.assign({class:c.default.container,onSubmit:function(n){var l;return a(this,void 0,void 0,(function*(){n.preventDefault(),g("submitting");const a=(null==o?void 0:o.startsWith("/fast-image"))?`${f.shopify_file_path}${o.split(null!==(l=f.fast_image_prefix)&&void 0!==l?l:"")[1]}`:o,c=new FormData;c.append("productId",e),c.append("author",m.name),c.append("email",m.email),c.append("location",""),c.append("reviewRating",m.rating.toString()),c.append("reviewTitle",m.title),c.append("reviewMessage",m.review),c.append("productName",t),c.append("productSKU",s),c.append("productType",i),c.append("productDescription",d),c.append("productImageUrl",null!=a?a:""),c.append("productUrl",u),c.append("reviewSource","widget");for(let e=0;e(0,n.jsx)("span",Object.assign({class:[c.default.star,m.rating>=e?c.default.starSelected:""].join(" "),onClick:()=>{return t=e,void j(Object.assign(Object.assign({},m),{rating:t}));var t}},{children:m.rating>=e?"★":"☆"}),e)))}))]})),(0,n.jsxs)("div",Object.assign({class:c.default.field},{children:[(0,n.jsx)("label",Object.assign({class:c.default.label,for:"title"},{children:"Title of Review"})),(0,n.jsx)("input",{class:c.default.input,type:"text",id:"title",name:"title",value:m.title,onChange:p,placeholder:"Give your review a title"})]})),(0,n.jsxs)("div",Object.assign({class:c.default.field},{children:[(0,n.jsx)("label",Object.assign({class:c.default.label,for:"review"},{children:"How was your overall experience?"})),(0,n.jsx)("textarea",{class:c.default.textarea,id:"review",name:"review",value:m.review,onChange:p})]})),(0,n.jsxs)("div",Object.assign({class:c.default.field},{children:[(0,n.jsx)("label",Object.assign({class:c.default.label,for:"images"},{children:"Add Photos"})),(0,n.jsx)("input",{class:c.default.input,type:"file",id:"images",name:"images",multiple:!0,onChange:function(e){const t=e.target;t.files&&j(Object.assign(Object.assign({},m),{images:[...m.images,...Array.from(t.files)]}))}}),(0,n.jsx)("div",Object.assign({class:c.default.imagePreview},{children:m.images.map(((e,t)=>(0,n.jsx)("img",{src:URL.createObjectURL(e),alt:`Preview ${t+1}`},t)))}))]})),(0,n.jsx)("div",Object.assign({class:c.default.submit},{children:(0,n.jsx)("button",Object.assign({class:r.default.loadMoreButton,type:"submit"},{children:"Submit"}))}))]}))}},89:function(e,t,s){var a=this&&this.__awaiter||function(e,t,s,a){return new(s||(s=Promise))((function(i,n){function l(e){try{r(a.next(e))}catch(e){n(e)}}function c(e){try{r(a.throw(e))}catch(e){n(e)}}function r(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(l,c)}r((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ListTracking=void 0;const i=s(0),n=(s(1),s(3)),l=s(18);function c(e,t,s){return a(this,void 0,void 0,(function*(){const a=new URL(l.REVIEWS_ENDPOINT);a.pathname="/__list_engagement__",a.searchParams.set(s,"1"),a.searchParams.set("cacheKey",e),a.searchParams.set("__orly_aid","NA"),a.searchParams.set("itemId",null==t?void 0:t.toString()),yield fetch(a.toString(),{mode:"no-cors"})}))}t.ListTracking=function({children:e,id:t,cacheKey:s}){const l=(0,n.useRef)(null),[r,d]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{const e=new IntersectionObserver((([i])=>a(this,void 0,void 0,(function*(){if(null==i?void 0:i.isIntersecting){l.current&&e.unobserve(l.current);try{yield c(s,t,"trial")}catch(e){}}}))),{root:null,rootMargin:"0px",threshold:1});return l.current&&e.observe(l.current),()=>{l.current&&e.unobserve(l.current)}}),[]),(0,i.jsx)("div",Object.assign({ref:l,onClick:()=>a(this,void 0,void 0,(function*(){try{r||(yield c(s,t,"success"),d(!0))}catch(e){}}))},{children:e}))}},54:function(e,t,s){var a=this&&this.__awaiter||function(e,t,s,a){return new(s||(s=Promise))((function(i,n){function l(e){try{r(a.next(e))}catch(e){n(e)}}function c(e){try{r(a.throw(e))}catch(e){n(e)}}function r(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(l,c)}r((a=a.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Reviews=void 0;const n=s(0),l=s(1),c=s(3),r=i(s(8)),d=s(2),o=s(18),u=s(89),f=s(4),h=s(55);t.Reviews=function(e){var t,s;const i=e.useSharedState(),{product:g,config:m}=i((e=>({product:e.product,config:e.config})));if(!g)return(0,n.jsx)(l.Fragment,{});const j=g.handle,{reviewCount:p,reviewRating:v}=g,b=Object.values(g.imageMap).flat().map((({src:e})=>e)),[x,w]=(0,c.useState)(!1),[O,y]=(0,c.useState)(!(e.reviews.length{M(!0),window.matchMedia("(max-width: 600px)").matches||(I(null),P(!1)),setTimeout((()=>{I(null),P(!1),M(!1)}),300),document.body.style.overflow="auto"},D=e=>{e.target===e.currentTarget&&B()},W="Studio photo";return(0,n.jsxs)("div",Object.assign({id:"reviews",class:r.default.reviewContainer},{children:[E&&(0,n.jsxs)(l.Fragment,{children:[(0,n.jsx)("div",{class:[r.default.modal,T?r.default.fadeOut:""].join(" "),onClick:D,onDblClick:B}),(0,n.jsx)("div",Object.assign({class:r.default.modalInner,onClick:D,onDblClick:B},{children:(0,n.jsxs)("div",Object.assign({class:[r.default.modalContent,T?r.default.slideDown:""].join(" "),onClick:e=>e.stopPropagation()},{children:[(0,n.jsx)("div",Object.assign({class:r.default.modalHeader},{children:(0,n.jsx)("button",Object.assign({class:r.default.closeButton,onClick:B},{children:"X"}))})),(0,n.jsx)("div",Object.assign({class:r.default.modalTextContent},{children:(0,n.jsx)(h.ReviewForm,{productId:g.id,productName:g.title,productHandle:g.handle,productType:g.productType,productDescription:g.description,productImageUrl:null===(s=null===(t=g.variants[0])||void 0===t?void 0:t.image)||void 0===s?void 0:s.src,productUrl:`https://${m.hostname}/products/${g.handle}`,config:m})}))]}))}))]}),p&&v?(0,n.jsxs)("div",Object.assign({class:r.default.reviewsHeader},{children:["★★★★★ ",p," Reviews | Avg Rating: ",v.toFixed(1)]})):(0,n.jsx)("div",Object.assign({class:r.default.reviewsHeader},{children:"Be the first to review this item"})),(0,n.jsx)("button",Object.assign({class:r.default.loadMoreButton,onClick:()=>{P(!0),document.body.style.overflow="hidden"}},{children:"Write a Review"})),(0,n.jsx)("div",Object.assign({className:r.default.gallery},{children:_.map(((e,t)=>{const s=(null==e?void 0:e.images[0])?`https://cdn.stamped.io/uploads/photos/${e.images[0]}`:b[t%b.length];return(0,n.jsx)(u.ListTracking,Object.assign({id:e.id,cacheKey:e.cacheKey},{children:(0,n.jsxs)("div",Object.assign({onClick:()=>((e,t)=>{I(Object.assign(Object.assign({},e),{imgSrc:t})),document.body.style.overflow="hidden"})(e,s),class:r.default.reviewContainer},{children:[(0,n.jsxs)("div",Object.assign({class:r.default.imageContainer},{children:[(0,n.jsx)(f.LazyImage,{src:s,initialWidth:400,cssClass:r.default.image,alt:e.author,fullSizeWidth:600,width:200,height:200}),!(null==e?void 0:e.images[0])&&(0,n.jsx)("div",Object.assign({class:r.default.imageMessage},{children:W}))]})),(0,n.jsxs)("div",Object.assign({class:r.default.review},{children:[(0,n.jsx)("h3",Object.assign({class:r.default.title},{children:e.author})),(0,n.jsxs)("h3",{children:["✅ Verified Buyer | ",e.dateCreated]}),(0,n.jsx)("h3",Object.assign({class:r.default.stars},{children:"★★★★★"})),(0,n.jsx)("h3",Object.assign({class:r.default.title},{children:e.title})),(0,n.jsx)("p",Object.assign({class:r.default.truncated},{children:e.body}))]}))]}),e.title)}))}))})),(T||R)&&(0,n.jsxs)(l.Fragment,{children:[(0,n.jsx)("div",{class:[r.default.modal,T?r.default.fadeOut:""].join(" "),onClick:D,onDblClick:B}),R&&(0,n.jsx)("div",Object.assign({class:r.default.modalInner,onClick:D,onDblClick:B},{children:(0,n.jsxs)("div",Object.assign({class:[r.default.modalContent,T?r.default.slideDown:""].join(" "),onClick:e=>e.stopPropagation()},{children:[(0,n.jsxs)("div",Object.assign({class:r.default.modalHeader},{children:[(0,n.jsx)(f.LazyImage,{src:R.imgSrc,initialWidth:400,cssClass:r.default.fullBleedImage,alt:R.author,fullSizeWidth:600,width:200,height:200}),!(null==R?void 0:R.images[0])&&(0,n.jsx)("div",Object.assign({class:r.default.imageMessage},{children:W})),(0,n.jsx)("button",Object.assign({class:r.default.closeButton,onClick:B},{children:"X"}))]})),(0,n.jsxs)("div",Object.assign({class:r.default.modalTextContent},{children:[(0,n.jsx)("h3",Object.assign({class:r.default.title},{children:R.author})),(0,n.jsxs)("h3",{children:["✅ Verified Buyer | ",R.dateCreated]}),(0,n.jsx)("h3",Object.assign({class:r.default.stars},{children:"★★★★★"})),(0,n.jsx)("h3",Object.assign({class:r.default.title},{children:R.title})),(0,n.jsx)("p",Object.assign({class:r.default.modalBodyText},{children:R.body}))]}))]}))}))]}),O&&(0,n.jsx)("button",Object.assign({class:r.default.loadMoreButton,onClick:()=>a(this,void 0,void 0,(function*(){w(!0);const e=yield(0,d.getLazyState)("reviewsLazy",{productHandle:j,page:k+1});w(!1),(null!=e?e:[]).length{Object.defineProperty(t,"__esModule",{value:!0}),t.useBestImage=t.LazyImage=void 0;const a=s(0),i=(s(1),s(6)),n=s(3);function l(e,t,s){const a=(0,i.getFastImage)(e,t),l=(0,i.getFastImage)(e,s),[c,r]=(0,n.useState)({});(0,n.useEffect)((()=>{if(document){const e=document.createElement("img");e.src=l,e.onload=()=>r(Object.assign(Object.assign({},c),{[l]:!0}))}}),[l]);const d=(0,n.useMemo)((()=>c[l]?l:a),[e,t,s,c]);return(0,n.useEffect)((()=>{if(document){const e=document.createElement("img");e.src=l,e.onload=()=>r(Object.assign(Object.assign({},c),{[l]:!0}))}}),[l]),d}t.LazyImage=function({src:e,initialWidth:t,fullSizeWidth:s,cssClass:i,alt:n="",width:c,height:r,style:d}){const o=l(e,t,s);return c&&r?(0,a.jsx)("img",{src:o,class:i,alt:n,width:c,height:r,style:d}):(0,a.jsx)("img",{src:o,class:i,alt:n,style:d})},t.useBestImage=l}},e=>{e.O(0,[1,2,3],(()=>e(e.s=203))),e.O()}]);