1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7155],{88912:function(e,a,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/myaccount/services/evaluate-experience/evaluate-experience",function(){return t(84118)}])},9513:function(e,a,t){"use strict";t.d(a,{N:function(){return BackButtonLink}});var n=t(85893),i=t(92426),r=t(34356),o=t(56135),s=t(44118),l=t(67992),c=t(41664),u=t.n(c),d=t(11163);function BackButtonLink({buttonText:e,route:a}){return(0,n.jsx)(u(),{href:a,children:(0,n.jsxs)(r.Z,{alignItems:"center",css:{cursor:"pointer"},children:[(0,n.jsx)(o.Z,{icon:l.ac,iconSize:15,css:{mr:"$small2",color:"$secondary4"}}),(0,n.jsx)(s.Z,{textStyle:"bodySmallSemibold",css:{color:"$secondary4",cursor:"pointer"},children:e})]})})}a.Z=function({buttonText:e,route:a,callback:t}){let c=(0,d.useRouter)();return(0,n.jsx)(i.Z,{href:a,onClick:()=>{t&&t(),a||c.back()},children:(0,n.jsxs)(r.Z,{alignItems:"center",children:[(0,n.jsx)(o.Z,{icon:l.ac,iconSize:15,css:{mr:"$small2",color:"$secondary4"}}),(0,n.jsx)(s.Z,{textStyle:"bodySmallSemibold",css:{color:"$secondary4"},children:e})]})})}},68130:function(e,a,t){"use strict";t.d(a,{Z:function(){return DynamicRating}});var n=t(85893),i=t(34356),r=t(56135),o=t(84887),s=t(67294);function DynamicRating({initialRating:e=0,readonly:a=!1,starSize:t=25,onClick:l,onChange:c,css:u}
1){let[d,m]=(0,s.useState)(e),[x,p]=(0,s.useState)(null),handleClick=e=>{l?.(e),d!==e&&(m(e),c?.(e))},getStarColor=e=>null!==x?e<=x?"$primary1":"$neutral3":e<=d?"$primary1":"$neutral3";return(0,s.useEffect)(()=>{m(e)},[e]),(0,n.jsx)(i.Z,{gap:"small2",style:u,"data-testid":"dynamic-rating",children:Array.from({length:5}).map((e,i)=>(0,n.jsx)("button",{type:"button",tabIndex:0,onClick:()=>!a&&handleClick(i+1),onKeyPress:e=>{let t="Enter"===e.key||" "===e.key;t&&!a&&handleClick(i)},onMouseEnter:()=>{a||p(i+1)},onMouseLeave:()=>p(null),style:{cursor:a?"default":"pointer",outline:"none",border:"none",background:"none"},"aria-label":`Rate ${i+1} star${i>0?"s":""}`,"aria-disabled":a,children:(0,n.jsx)(r.Z,{icon:o.T,iconSize:t,"data-testid":"rate-icon",css:{color:getStarColor(i+1)}})},`star-${i+1}`))})}},92426:function(e,a,t){"use strict";var n=t(85893);a.Z=function({href:e,target:a,children:t,rel:i,onClick:r,ariaLabel:o}){return(0,n.jsx)("a",{href:e,target:a,onClick:r,rel:i,"aria-label":o,style:{textDecoration:"none"},children:t})}},84118:function(e,a,t){"use strict";t.r(a),t.d(a,{__N_SSG:function(){return k},default:function(){return EvaluateExperience}});var n=t(85893),i=t(9513),r=t(19866),o=t(5612),s=t(42988),l=t(47598),c=t(34356),u=t(44118),d=t(67294);function MMEvaluationCard({onChangeMMRating:e}){let[a,t]=(0,d.useState)(void 0),i=(0,d.useCallback)(a=>{t(a),e(a)},[t,e]);return(0,n.jsx)(o.Z,{css:{padding:"14px $medium1"},children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(u.Z,{as:"p",textStyle:"bodyMediumSemibold",css:{textAlign:"center"},children:"Em uma escala de 0 a 10, o quanto voc\xea indicaria a MadeiraMadeira Servi\xe7os para seus amigos ou familiares?"}),(0,n.jsxs)(c.Z,{justifyContent:"spaceBetween",css:{margin:"$medium1 auto",maxWidth:"600px"},children:[(0,n.jsx)(u.Z,{as:"p",textStyle:"bodySmallRegular",css:{textAlign:"center"},children:"0 - N\xe3o indico"}),(0,n.jsx)(u.Z,{as:"p",textStyle:"bodySmallRegular",css:{textAlign:"center"},children:"10 - Indico muito"})]}),(0,n.jsx)(c.Z,{justifyContent:"center",css:{marginTop:"$medium1"},children:(0,n.jsx)(c.Z,{justifyContent:"center",gap:"small2",css:{flexWrap:"wrap"},children:Array.from({length:11}).map((e,t)=>(0,n.jsx)(l.Z,{label:String(t),"data-testid":`rate-button-${t}`,variant:a===t?"primary":"secondary",onClick:()=>i(t)},t))})})]})})}var m=t(68130),x=t(57018),p=t(63940),h=t(60770),g=t(50592),v=t(26862);let f={LOW:{min:1,max:3,category:"low"},HIGH:{min:4,max:5,category:"high"}},getRatingCategory=e=>e>=f.LOW.min&&e<=f.LOW.max?f.LOW.category:e>=f.HIGH.min&&e<=f.HIGH.max?f.HIGH.category:null,shouldClearFeedback=(e,a)=>!!(e&&a&&e!==a),y=[{label:"Chegou fora do per\xedodo agendado",value:"arrived_outside_scheduled_window",category:"bad"},{label:"Profissional sem educa\xe7\xe3o",value:"rude_professional",category:"bad"},{label:"Servi\xe7o ruim",value:"poor_service",category:"bad"},{label:"Deixou o ambiente sujo",value:"left_environment_dirty",category:"bad"},{label:"Outros",value:"other_bad",category:"bad"},{label:"Chegou no per\xedodo agendado",value:"arrived_on_time",category:"good"},{label:"Profissional educado",value:"polite_professional",category:"good"},{label:"Servi\xe7o muito bom",value:"excellent_service",category:"good"},{label:"Servi\xe7o limpo",value:"clean_service",category:"good"},{label:"Outros",value:"other_good",category:"good"}],S={1:"Muito ruim",2:"Ruim",3:"Razo\xe1vel",4:"Bom",5:"Excelente"};function ProfessionalEvaluationCard({professionalName:e,professionalAvatar:a,initialRating:t=5,onRatingChange:i,onFilterChange:r,onReasonChange:s}){let[l,f]=(0,d.useState)(t);(0,d.useEffect)(()=>{t>0&&f(t)},[t]);let[b,j]=(0,d.useState)(!1),[C,_]=(0,d.useState)(""),[E,Z]=(0,d.useState)([]),$=(0,d.useCallback)(e=>{Z(e),e.includes("other_good")||e.includes("other_bad")?j(!0):j(!1),r(e)},[j,r]),w=(0,d.useCallback)(e=>{f(e);let a=getRatingCategory(l),t=getRatingCategory(e);shouldClearFeedback(a,t)&&(Z([]),_("")),i(e)},[l,f,i]),k=(0,d.useCallback)(e=>{_(e),s(e)},[_,s]);return(0,n.jsx)(o.Z,{css:{padding:"14px $medium1",mb:"$medium1"},children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(c.Z,{direction:"column",alignItems:"center",gap:"medium1",children:[(0,n.jsx)(x.Z,{imagePath:a,name:`Imagem do profissional ${e}`,size:64}),(0,n.jsx)(u.Z,{textStyle:"bodyMediumSemibold",children:e})]}),(0,n.jsx)(u.Z,{as:"p",textStyle:"bodySmallRegular",css:{marginTop:"$medium1",textAlign:"center"},children:"Como voc\xea avalia o profissional que realizou o servi\xe7o?"}),(0,n.jsxs)(c.Z,{justifyContent:"center",alignItems:"center",direction:"column",css:{marginTop:"$small2"},children:[(0,n.jsx)(m.Z,{initialRating:t,onChange:w,starSize:32}),(0,n.jsx)(u.Z,{as:"p",textStyle:"bodySmallRegular",css:{marginTop:"$small2"},children:l>0&&S[l]})]}),l>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(v.i,{css:{marginTop:"$medium1"}}),(0,n.jsx)(u.Z,{as:"p",textStyle:"bodySmallRegular",css:{marginTop:"$medium1",textAlign:"center"},children:l>3?"O que voc\xea mais gostou? (opcional)":"O que pode melhorar? (obrigat\xf3ria)"}),(0,n.jsx)(c.Z,{justifyContent:"center",css:{marginTop:"$medium1"},children:(0,n.jsx)(h.Z,{type:"multiple",onChange:e=>$(e),value:E,css:{textAlign:"center",flexWrap:"wrap",justifyContent:"center"},children:y.filter(e=>l>3?"good"===e.category:"bad"===e.category).map(({label:e,value:a})=>(0,n.jsx)(h.S,{id:a,label:e,value:a},a))})}),b&&(0,n.jsx)(p.Z,{css:{width:l>3?"288px":"100%",margin:"0 auto",marginTop:"$medium2"},children:(0,n.jsx)(g.Z,{as:"input",type:"text",placeholder:"Descreva o motivo (obrigat\xf3rio)",name:"inputminInputvalue",value:C,onChange:e=>k(e.target.value),style:{margin:"0 auto",width:l>3?"288px":"100%"}})})]})]})})}var b=t(98246),j=t(34155);let{SERVICE_IGUANA_BASE_URL:C}=j.env;async function fetchEvaluateExperience(e){let a=await fetch("/api/myaccount/serviceOrders/professional/evaluate-experience",{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}});return a.json()}var _=t(34155);let{SERVICE_IGUANA_BASE_URL:E}=_.env;async function fetchEvaluateMMServices(e){let a=await fetch("/api/myaccount/serviceOrders/evaluate-mm-services",{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}});return a.json()}var Z=t(75500),$=t(33299),w=t(11163),k=!0;function EvaluateExperience(){let e=(0,w.useRouter)(),a=String(e.query.id),{avaliacao:t}=e.query,[s,m]=(0,d.useState)(!1),[x,h]=(0,d.useState)(!1),[v,f]=(0,d.useState)(void 0),[y,S]=(0,d.useState)(null),[j,C]=(0,d.useState)(Number(t)||5),[_,E]=(0,d.useState)(""),[k,R]=(0,d.useState)(""),[T,O]=(0,d.useState)([]),[M,N]=(0,d.useState)(void 0),{data:I}=(0,$.useSession)(),P=(0,d.useCallback)(e=>{O(e)},[]),sendEvaluation=async()=>
1{if(!x){h(!0);try{let e=await fetchEvaluateExperience({scheduleId:y?.schedule?.id||0,customerId:Number(I?.customer_id||0),stars:j,comment:[_,k].join(", "),arrivedOnTime:T.includes("arrived_on_time"),politeProfessional:T.includes("polite_professional"),excellentService:T.includes("excellent_service"),cleanService:T.includes("clean_service"),otherGood:T.includes("other_good"),otherBad:T.includes("other_bad"),arrivedOutsideScheduledWindow:T.includes("arrived_outside_scheduled_window"),rudeProfessional:T.includes("rude_professional"),poorService:T.includes("poor_service"),leftEnvironmentDirty:T.includes("left_environment_dirty")}),a=await fetchEvaluateMMServices({scheduleId:y?.schedule?.id||0,customerId:Number(I?.customer_id||0),rating:M});e.ok&&a.ok&&(window.location.href=`/minha-conta/servicos/avaliar-experiencia/confirmacao/${y?.id}`)}catch(t){console.error("Erro ao enviar avalia\xe7\xe3o:",t),h(!1),e.push(`/minha-conta/servicos/${a}`)}}};return((0,d.useEffect)(()=>{let e="",fetchServiceData=async()=>{let t=await (0,Z.Z)({id:Number(a)});e=String(t.data?.schedule?.professional?.id),S(t.data)},fetchProfessionalData=async()=>{let{data:a,message:t}=await (0,b.G)(e);"Not Found"!==t&&f(a)},fetchData=async()=>{m(!0);try{await fetchServiceData(),e&&await fetchProfessionalData(),m(!1)}catch(e){m(!1)}};a&&fetchData()},[a]),(0,d.useEffect)(()=>{y?.id&&y?.schedule?.professionalRating&&(window.location.href=`/minha-conta/servicos/avaliar-experiencia/confirmacao/${y?.id}`)},[y]),(0,d.useEffect)(()=>{t&&C(Number(t))},[t]),s)?(0,n.jsx)(r.Z,{label:"Carregando...",open:s}):!v||y?.schedule?.professionalRating?null:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(p.Z,{css:{px:"$small3","@md":{p:"$none"}},children:(0,n.jsx)(i.Z,{buttonText:"Voltar",route:`/minha-conta/servicos/${a}`})}),(0,n.jsx)(u.Z,{as:"h2",textStyle:"h2Semibold",css:{px:"$small3",my:"$small3","@md":{p:"$none"}},children:"Avaliar experi\xeancia"}),v&&(0,n.jsx)(ProfessionalEvaluationCard,{professionalName:v.name,professionalAvatar:v.avatar_url,initialRating:j,onRatingChange:e=>{C(e),O([]),E("")},onFilterChange:P,onReasonChange:e=>E(e)}),(0,n.jsx)(o.Z,{css:{padding:"14px $medium1",mb:"$medium1"},children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(u.Z,{as:"p",textStyle:"bodyMediumSemibold",css:{textAlign:"center"},children:["Voc\xea tamb\xe9m pode deixar um coment\xe1rio p\xfablico para ",v.name]}),(0,n.jsx)(p.Z,{css:{width:"100%",margin:"0 auto",marginTop:"$medium2"},children:(0,n.jsx)(g.Z,{as:"input",type:"text",placeholder:"Escreva aqui seu coment\xe1rio (opcional)",name:"inputTestimony",value:k,onChange:e=>R(e.target.value),style:{margin:"0 auto",width:"100%"}})})]})}),(0,n.jsx)(MMEvaluationCard,{onChangeMMRating:e=>N(e)}),(0,n.jsx)(c.Z,{justifyContent:"center",css:{mt:"$medium1"},children:(0,n.jsx)(l.Z,{label:x?"Enviando...":"Enviar avalia\xe7\xe3o",variant:"primary",onClick:sendEvaluation,disabled:x||!t&&0===j||j<=3&&(0===T.length||T.includes("outros")&&!_)||void 0===M})})]})}EvaluateExperience.Layout=s.Z,EvaluateExperience.auth=!0,EvaluateExperience.displayName="Minha Conta | Servi\xe7os"},75500:function(e,a,t){"use strict";t.d(a,{Z:function(){return getServiceOrderDetailsServerless}});var n=t(34155);let{SERVICE_IGUANA_BASE_URL:i}=n.env;async function getServiceOrderDetailsServerless({id:e}){let a=`/api/myaccount/service-orders-details/${e}`,t=await fetch(a,{method:"GET",headers:{"Content-Type":"application/json"}});return t.json()}},98246:function(e,a,t){"use strict";t.d(a,{G:function(){return getProfessional}});var n=t(34155);let{SERVICE_IGUANA_BASE_URL:i}=n.env,getProfessional=async e=>{let a=await fetch(`/api/myaccount/serviceOrders/professional/${e}`,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}}),{data:t,statusText:n,ok:i}=await a.json();return a.ok&&i?{data:t?.data}:{message:n}}}},function(e){e.O(0,[4904,431,1038,1852,5254,2003,7154,193,5077,8249,4874,1664,4667,3560,2007,8263,7386,2988,9774,2888,179],function(){return e(e.s=88912)}),_N_E=e.O()}]); 2//# sourceMappingURL=evaluate-experience-7850485579c86c79.js.map
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.