PageSourceSearch

https://www.theograce.co.uk/_next/static/chunks/pages/[context]/feedback/[page]-ce502a302d3691d3.js

js theograce.co.uk collected 2026-10-08 03:35:24 UTC 15,600 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6799],{27:e=>{e.exports={FeedbackSurvey:"feedbackSurvey_FeedbackSurvey__u2DDp",Section:"feedbackSurvey_Section__WV86W",Products:"feedbackSurvey_Products__u7CiC",Ratings:"feedbackSurvey_Ratings__0o64L",SubmitError:"feedbackSurvey_SubmitError__jyX9E",Submit:"feedbackSurvey_Submit__9CtUq",Spinner:"feedbackSurvey_Spinner__F1xDl",feedbackSpin:"feedbackSurvey_feedbackSpin__CYDeX"}},15815:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var n=a(19110),i=a(26635),r=a(98653);let s=()=>{let{pushToDataLayer:e}=(0,n.ur)(),{data:t}=(0,i.Ay)(e=>e),a=async a=>{let{NewsLetterConsent:n}=a;try{await (0,r.LO)({siteData:t,pathname:"api/contact",body:a}),n&&e({event:"subscribe_to_nsl_completed"})}catch(e){console.error("fetching contact error",e)}};return{sendIdentifyEvent:t=>{e({event:"client_identify_event",identify_customer_email:t.email,identify_customer_first_name:t.first_name,identify_customer_last_name:t.last_name,identify_customer_phone_number:t.phone_number,identify_customer_birthday:t.birthday,identify_source:t.source,identify_subscribe:t.subscribe,loggedIn:t.loggedIn}),(e=>{let{email:t,first_name:n,last_name:i,subscribe:r,source:s}=e;["Notify Me","Feedback Email Link"].includes(s)||a({Email:t,NewsLetterConsent:r,TrafficSource:s,..."Login-Signup"===s&&{CreateContact:!0,FirstName:n,LastName:i,OldEmail:t,TrafficSource:"account.signup"}})})(t)}}}},30978:(e,t,a)=>{"use strict";a.d(t,{A:()=>o});var n=a(37876),i=a(15039),r=a.n(i),s=a(14232),l=a(31262);let o=(0,s.forwardRef)((e,t)=>{let{className:a,variant:i,size:s="normal",children:o,isLink:d,disabled:c,...u}=e,m=r()(a,"ui-btn","ui-btn_".concat(i),"ui-btn_".concat(s));return d?(0,n.jsx)(l.A,{className:m,...u,children:(0,n.jsx)("span",{children:o})}):(0,n.jsx)("button",{className:m,disabled:c,ref:t,...u,children:(0,n.jsx)("span",{children:o})})})},32235:(e,t,a)=>{"use strict";a.r(t),a.d(t,{__N_SSG:()=>et,default:()=>ea});var n=a(37876),i=a(14232),r=a(89099),s=a(46320),l=a(6936),o=a(87001),d=a(26635),c=a(88771),u=a(8106),m=a(4319),v=a(98653);let _=async(e,t)=>{let a=await (0,v.fG)({siteData:t,pathname:"api/v1/feedback",query:{token:e},headers:{"Content-Type":"application/json"}});return null!=a?a:{error:"invalid_token"}},b=async(e,t)=>(0,v.fG)({siteData:t,pathname:"api/v1/feedback/result",query:{orderId:e},headers:{"Content-Type":"application/json"}}),h=async(e,t)=>(0,v.LO)({siteData:t,pathname:"api/v1/feedback/add",body:e,headers:{"Content-Type":"application/json"}}),p=(0,u.v)()((0,m.lt)((e,t)=>({view:"loading",data:null,token:"",isPositive:!1,trustPilotUrl:void 0,submitFailed:!1,loadSurvey:async(t,a)=>{e({view:"loading",token:t});try{let n=await _(t,a);if("error"in n)return void e({view:"invalidToken",data:null});if("alreadySubmitted"in n)return void e({view:"alreadySubmitted",data:null,trustPilotUrl:n.trustPilotUrl});e({view:"survey",data:n})}catch(t){console.error("error loading feedback survey",t),e({view:"invalidToken",data:null})}},loadFunnel:async(t,a,n)=>{if("completed"===a)return void e({view:"alreadySubmitted"});let i="positive"===a;if(e({view:"thankYou",isPositive:i}),i)try{let a=await b(t,n);a&&e({trustPilotUrl:a.trustPilotUrl})}catch(e){console.error("error loading feedback funnel result",e)}},submit:async(a,n)=>{e({view:"submitting",submitFailed:!1});try{let i=await h({...a,token:t().token},n),r=null===a.nps||i.positive;e({view:i.alreadySubmitted?"alreadySubmitted":"thankYou",isPositive:r,trustPilotUrl:i.trustPilotUrl})}catch(t){console.error("error submitting feedback",t),e({view:"survey",submitFailed:!0})}},reset:()=>e({view:"loading",data:null,token:"",isPositive:!1,trustPilotUrl:void 0,submitFailed:!1})}),{name:"feedback-store"}));var x=a(52215),y=a(15815),g=a(30978),k=a(86113),f=a(38243),j=a.n(f);let S=e=>{let{step:t,title:a,hint:i}=e;return(0,n.jsxs)("div",{className:j().SectionHeader,children:[(0,n.jsx)("span",{className:j().Badge,"aria-hidden":!0,children:t}),(0,n.jsxs)("div",{className:j().Text,children:[(0,n.jsx)(l.A,{variant:"headline4",className:j().Title,children:a}),i&&(0,n.jsx)(l.A,{variant:"caption1",className:j().Hint,children:i})]})]})};var N=a(79694),w=a(68200),A=a(93571),R=a.n(A);let T=e=>{var t;let{value:a,onChange:r,max:s=5,label:l}=e,[o,d]=(0,i.useState)(null),c=null!=(t=null!=o?o:a)?t:0;return(0,n.jsx)("span",{className:R().StarRatingInput,role:"radiogroup","aria-label":l,children:Array.from(Array(s),(e,t)=>{let i=t+1;return(0,n.jsx)("button",{type:"button",className:R().Star,role:"radio","aria-checked":a===i,"aria-label":"".concat(i),onClick:()=>r(i),onMouseEnter:()=>d(i),onMouseLeave:()=>d(null),children:(0,n.jsx)(w.A,{name:"star",variant:i<=c?"full":"empty"})},i)})})};var L=a(37227),C=a.n(L);let F=e=>{let{product:t,value:a,onChange:i}=e,{t:r}=(0,c.B)("feedback");return(0,n.jsxs)("div",{className:C().ProductReview,children:[(0,n.jsx)(N.A,{src:t.image,alt:t.name,width:96,height:96,className:C().Image,unoptimized:!0}),(0,n.jsxs)("div",{className:C().Body,children:[(0,n.jsx)(l.A,{variant:"text1",className:C().Name,children:t.name}),(0,n.jsx)(T,{label:r("survey.rateProduct"),value:a.rating,onChange:e=>i({rating:e})}),(0,n.jsxs)("div",{className:C().Recommend,children:[(0,n.jsx)(l.A,{variant:"text2",children:r("survey.recommendLabel")}),(0,n.jsxs)("div",{className:C().RecommendOptions,children:[(0,n.jsx)(g.A,{type:"button",size:"small",variant:!0===a.recommend?"primary":"secondary",onClick:()=>i({recommend:!0}),children:r("survey.recommendYes")}),(0,n.jsx)(g.A,{type:"button",size:"small",variant:!1===a.recommend?"primary":"secondary",onClick:()=>i({recommend:!1}),children:r("survey.recommendNo")})]})]}),(0,n.jsx)(k.A,{id:"feedback-review-".concat(t.productId),label:r("survey.reviewPlaceholder"),value:a.review,maxLength:1e3,onChange:e=>i({review:e.target.value})})]})]})};var I=a(83403),P=a.n(I);let E=e=>{let{label:t,value:a,onChange:i}=e;return(0,n.jsxs)("div",{className:P().RatingRow,children:[(0,n.jsx)(l.A,{variant:"text2",className:P().Label,children:t}),(0,n.jsx)(T,{label:t,value:a,onChange:i})]})};var q=a(15039),Y=a.n(q),B=a(34267),H=a.n(B);let O=e=>{let{value:t,onChange:a,max:i,label:r,lowLabel:s,highLabel:o}=e;return(0,n.jsxs)("div",{className:H().RecommendationScale,children:[(0,n.jsx)("div",{className:H().Buttons,role:"radiogroup","aria-label":r,children:Array.from({length:i+1},(e,i)=>(0,n.jsx)("button",{type:"button",role:"radio","aria-checked":t===i,className:Y()(H().Button,{[H().Selected]:t===i}),onClick:()=>a(i),children:i},i))}),(0,n.jsxs)("div",{className:H().Labels,children:[(0,n.jsx)(l.A,{variant:"caption1",children:s}),(0,n.jsx)(l.A,{variant:"caption1",children:o})]})]})};var M=a(27),U=a.n(M);let D=e=>({productId:e,rating:null,recommend:null,review:""}),W=e=>{let{orderId:t,products:a,definition:r,isSubmitting:s,submitFailed:o,onSubmit:d}=e,{t:u}=(0,c.B)("feedback"),[m,v]=(0,i.useState)({}),[_,b]=(0,i.useState)({}),[h,p]=(0,i.useState)(null),[x,y]=(0,i.useState)(""),f=a.some(e=>{let t=m[e.productId];return!!t&&(null!==t.rating||null!==t.recommend||""!==t.review.trim())})||Object.keys(_).length>0||null!==h||""!==x.trim();return(0,n.jsxs)("form",{className:U().FeedbackSurvey,onSubmit:e=>{e.preventDefault(),f&&!s&&d({orderId:t,productReviews:a.map(e=>{var t;return null!=(t=m[e.productId])?t:D(e.productId)}),ratings:Object.entries(_).map(e=>
1{let[t,a]=e;return{questionId:Number(t),value:a}}),nps:h,comment:x.trim()})},noValidate:!0,children:[(0,n.jsxs)("section",{className:U().Section,children:[(0,n.jsx)(S,{step:1,title:r.productsTitle}),(0,n.jsx)("div",{className:U().Products,children:a.map(e=>{var t;return(0,n.jsx)(F,{product:e,value:null!=(t=m[e.productId])?t:D(e.productId),onChange:t=>((e,t)=>v(a=>({...a,[e]:{...D(e),...a[e],...t}})))(e.productId,t)},e.productId)})})]}),(0,n.jsxs)("section",{className:U().Section,children:[(0,n.jsx)(S,{step:2,title:r.experiences.title,hint:r.experiences.hint}),(0,n.jsx)("div",{className:U().Ratings,children:r.experiences.items.map(e=>{var t;return(0,n.jsx)(E,{label:e.label,value:null!=(t=_[e.questionId])?t:null,onChange:t=>b(a=>({...a,[e.questionId]:t}))},e.questionId)})})]}),(0,n.jsxs)("section",{className:U().Section,children:[(0,n.jsx)(S,{step:3,title:r.recommendation.title}),(0,n.jsx)(O,{value:h,onChange:p,max:r.recommendation.max,label:r.recommendation.title,lowLabel:r.recommendation.lowLabel,highLabel:r.recommendation.highLabel})]}),(0,n.jsxs)("section",{className:U().Section,children:[(0,n.jsx)(S,{step:4,title:r.comment.title}),(0,n.jsx)(k.A,{id:"feedback-comment",value:x,maxLength:1e3,onChange:e=>y(e.target.value)})]}),o&&(0,n.jsx)(l.A,{variant:"text2",role:"alert",className:U().SubmitError,children:u("survey.submitError")}),(0,n.jsxs)(g.A,{type:"submit",variant:"primary",className:U().Submit,disabled:s||!f,children:[s&&(0,n.jsx)("span",{className:U().Spinner,"aria-hidden":"true"}),u("survey.submit")]})]})};var G=a(74421),X=a.n(G);let K=e=>{let{isPositive:t,trustPilotUrl:a,alreadySubmitted:i}=e,{t:r}=(0,c.B)("feedback"),s=i?"thankYou.alreadyMessage":t?"thankYou.positiveMessage":"thankYou.negativeMessage",o=t&&a;return(0,n.jsxs)("div",{className:X().FeedbackThankYou,children:[(0,n.jsx)(l.A,{variant:"headline3",className:X().Title,children:r(i?"thankYou.alreadyTitle":t?"thankYou.positiveTitle":"thankYou.negativeTitle")}),(0,n.jsx)(l.A,{variant:"text1",className:X().Message,children:o?"".concat(r(s)," ").concat(r("thankYou.positiveShareMessage")):r(s)}),(0,n.jsxs)("div",{className:X().Actions,children:[o&&(0,n.jsx)(g.A,{isLink:!0,variant:"primary",href:a,target:"_blank",rel:"noopener noreferrer",children:r("thankYou.trustPilotCta")}),(0,n.jsx)(g.A,{isLink:!0,variant:"link",href:"/",children:r("thankYou.continueShopping")})]})]})};var z=a(81895),Q=a.n(z);let Z=()=>{let{t:e}=(0,c.B)("feedback");return(0,n.jsxs)("div",{id:"feedback-invalid-token",className:Q().FeedbackInvalid,children:[(0,n.jsx)(l.A,{variant:"headline3",className:Q().Title,children:e("invalidToken.title")}),(0,n.jsx)(l.A,{variant:"text1",className:Q().Message,children:e("invalidToken.message")}),(0,n.jsx)(g.A,{isLink:!0,variant:"secondary",href:"/",children:e("thankYou.continueShopping")})]})};var V=a(40072),J=a.n(V);let $=()=>{let{t:e}=(0,c.B)("feedback"),{data:t}=(0,d.Ay)(e=>e),a=(0,r.useRouter)(),u=(()=>{let{t:e}=(0,c.B)("feedback");return(0,i.useMemo)(()=>(e=>({productsTitle:e("survey.questions.product"),experiences:{title:e("survey.questions.experiences"),hint:e("survey.questions.experiencesHint"),items:[{questionId:6,label:e("survey.questions.shipping")},{questionId:7,label:e("survey.questions.shoppingExperience")},{questionId:8,label:e("survey.questions.customerService")}]},recommendation:{title:e("survey.questions.recommendation"),lowLabel:e("survey.recommendation.low"),highLabel:e("survey.recommendation.high"),max:10},comment:{title:e("survey.questions.finalComment")}}))(e),[e])})();(()=>{let{sendIdentifyEvent:e}=(0,y.A)(),t=p(e=>e.view),a=p(e=>e.token),n=(0,i.useRef)(!1);(0,i.useEffect)(()=>{var i;if(n.current||"survey"!==t&&"alreadySubmitted"!==t)return;let r=null==(i=(0,x.L)(a))?void 0:i.email;r&&(n.current=!0,e({email:r,source:"Feedback Email Link"}))},[t,a])})();let m=p(e=>e.view),v=p(e=>e.data),_=p(e=>e.isPositive),b=p(e=>e.trustPilotUrl),h=p(e=>e.loadSurvey),g=p(e=>e.loadFunnel),k=p(e=>e.submitFailed),f=p(e=>e.submit),j=p(e=>e.reset),S=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{if(!a.isReady||S.current)return;S.current=!0;let e="string"==typeof a.query.d?a.query.d:"",n=a.query.fbState,i="positive"===n||"negative"===n||"completed"===n?n:null;i?g(e,i,t):h(e,t)},[a.isReady,a.query,t,h,g]),(0,i.useEffect)(()=>()=>j(),[j]),(0,n.jsx)(s.A,{id:"feedback",children:(0,n.jsxs)("div",{className:J().Feedback,children:["thankYou"!==m&&"alreadySubmitted"!==m&&(0,n.jsx)(l.A,{variant:"headline2",className:J().PageTitle,children:e("pageTitle")}),(0,n.jsxs)("section",{className:J().Content,children:["loading"===m&&(0,n.jsx)("div",{className:J().LoadingWrapper,children:(0,n.jsx)(o.A,{})}),"invalidToken"===m&&(0,n.jsx)(Z,{}),("survey"===m||"submitting"===m)&&v&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.A,{variant:"text1",className:J().Heading,children:e("heading")}),(0,n.jsx)(W,{orderId:v.orderId,products:v.products,definition:u,isSubmitting:"submitting"===m,submitFailed:k,onSubmit:e=>{f(e,t)}})]}),("thankYou"===m||"alreadySubmitted"===m)&&(0,n.jsx)(K,{isPositive:_,trustPilotUrl:b,alreadySubmitted:"alreadySubmitted"===m})]})]})})};var ee=a(37533),et=!0;let ea=()=>{let{t:e}=(0,c.B)("feedback");return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(ee.A,{title:e("pageTitle"),noIndex:!0}),(0,n.jsx)($,{})]})}},34267:e=>{e.exports={RecommendationScale:"recommendationScale_RecommendationScale__UT6MN",Buttons:"recommendationScale_Buttons__Iuq0U",Button:"recommendationScale_Button__1HY9D",Selected:"recommendationScale_Selected__1TtOW",Labels:"recommendationScale_Labels__ORCKA"}},37227:e=>{e.exports={ProductReview:"productReview_ProductReview__BngGC",Image:"productReview_Image__Q4uLW",Body:"productReview_Body__XicZ8",Name:"productReview_
1Name__EcTvR",Recommend:"productReview_Recommend__4_Ssc",RecommendOptions:"productReview_RecommendOptions__ACNd8"}},38243:e=>{e.exports={SectionHeader:"sectionHeader_SectionHeader__SLazL",Badge:"sectionHeader_Badge__bOZH3",Text:"sectionHeader_Text__wkqdE",Hint:"sectionHeader_Hint__tn4kY"}},39550:e=>{e.exports={TextAreaField:"textAreaField_TextAreaField__F1qOd",CharCounter:"textAreaField_CharCounter__jXHe3",MiniLabel:"textAreaField_MiniLabel__825Ji",NoLabel:"textAreaField_NoLabel__2i2iU",Error:"textAreaField_Error__IZDQ_"}},40072:e=>{e.exports={Feedback:"feedback_Feedback__IfFUn",PageTitle:"feedback_PageTitle__ZyyDW",Heading:"feedback_Heading___COmi",Content:"feedback_Content__OsQ9l",LoadingWrapper:"feedback_LoadingWrapper__TiK5d"}},51996:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/[context]/feedback/[page]",function(){return a(32235)}])},74421:e=>{e.exports={FeedbackThankYou:"feedbackThankYou_FeedbackThankYou__TDkED",Actions:"feedbackThankYou_Actions__pKl_p"}},81895:e=>{e.exports={FeedbackInvalid:"feedbackInvalid_FeedbackInvalid__mSBKA",Title:"feedbackInvalid_Title___0Q8d",Message:"feedbackInvalid_Message__PRgRR"}},83403:e=>{e.exports={RatingRow:"ratingRow_RatingRow__O0SG8",Label:"ratingRow_Label__Kc76d"}},86113:(e,t,a)=>{"use strict";a.d(t,{A:()=>m});var n=a(37876),i=a(15039),r=a.n(i),s=a(14232),l=a(6936),o=a(39550),d=a.n(o),c=a(24963);let u=(0,s.forwardRef)((e,t)=>{let{id:a,className:i,placeholder:o,type:u,value:m="",label:v,error:_,required:b,onChange:h,onFocus:p,onBlur:x,currentLenght:y,maxLength:g,...k}=e,[f,j]=(0,s.useState)(m),[S,N]=(0,s.useState)(!1),w=!!_&&"string"==typeof(null==_?void 0:_.message)&&_.message.length>0;(0,s.useEffect)(()=>j(m),[m]),(0,s.useEffect)(()=>N(()=>!!(m||o)),[m,o]);let A=r()({["".concat(d().TextAreaField," ").concat(null!=i?i:""," textarea-field")]:!0,["".concat(d().MiniLabel," miniLabel")]:S,["".concat(d().NoLabel," no-label")]:!v,["".concat(d().Error," error")]:w});return(0,n.jsxs)("div",{className:A,children:[(0,n.jsx)("textarea",{...k,placeholder:o,ref:t,value:f,onChange:e=>{j(e.target.value),h&&h(e)},onFocus:e=>{N(!0),p&&p(e)},onBlur:e=>{e.target.value||N(!!o),x&&x(e)},maxLength:g}),g&&(0,n.jsxs)(l.A,{variant:"caption1",id:"CharCounter",className:d().CharCounter,children:[f.length," / ",g]}),v&&(0,n.jsx)(c.A,{htmlFor:a,required:b,children:v})]})});u.displayName="TextAreaField";let m=u},93571:e=>{e.exports={StarRatingInput:"starRatingInput_StarRatingInput__5NFUn",Star:"starRatingInput_Star__9gGv7"}}},e=>{e.O(0,[5352,6361,2709,8230,9012,9209,942,9069,3743,805,636,6593,8792],()=>e(e.s=51996)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.