PageSourceSearch

https://portal.cardapioweb.com/assets/CancellationPage-fQXi_ze0.js

js cardapioweb.com collected 2026-09-24 11:57:46 UTC 30,707 bytes, 21 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="da2b802c-9840-5659-90b4-ae00b2ae5362")}catch(e){}}();
3import{aO as S,l as m,bN as ie,R as e,cQ as R,aV as j,W as ve,aN as L,k as T,Y as V,e4 as z,e5 as I,cd as Ee,ea as A,e9 as Me,V as M,e6 as $,aJ as Q,ca as W,aY as xe,j as J,a6 as _e,aL as De,bt as Oe,cf as de,bi as C,M as we,aQ as Ne,dP as K,e7 as me,bY as ue,S as ke,r as Z,Q as Fe,ai as Ce,C as Te,aU as Se}from"./index-Cs-In7Vx.js";import{A as Le}from"./index-Dpr9l0yn.js";import{S as Ae}from"./SpinnerLoading-BTARSA4B.js";import{h as pe}from"./react-apexcharts.esm-BeyC2Cqp.js";import{c as $e}from"./cloneDeep-WMrv_9GL.js";import{A as Ye}from"./ArrowDownwardRounded-Dbc_n-lj.js";import{A as Re}from"./ArrowUpwardRounded-guiMUSaD.js";import{u as fe}from"./useOnScreen-DBM-8yy0.js";import{D as X}from"./DonutLarge-DB1XnvNY.js";import{S as Pe}from"./SearchInput-6k8qtIIx.js";import"./SearchTextInput-Gprlx1Wp.js";import"./cloneDeep-CWttLxUo.js";function x(a,t){return t?[m().subtract(t,a).startOf(a).toDate(),m().subtract(t,a).endOf(a).toDate()]:[m().startOf(a).toDate(),m().endOf(a).toDate()]}const Be=[{label:"Hoje",value:x("day"),placement:"left"},{label:"Ontem",value:x("day",1),placement:"left"},{label:"Esta semana",value:x("week"),placement:"left"},{label:"Semana passada",value:x("week",1),placement:"left"},{label:"Este mês",value:x("month"),placement:"left"},{label:"Mês passado",value:x("month",1),placement:"left"},{label:S(m().subtract(2,"months").format("MMMM/YYYY")),value:x("month",2),placement:"left"},{label:S(m().subtract(3,"months").format("MMMM/YYYY")),value:x("month",3),placement:"left"},{label:S(m().subtract(4,"months").format("MMMM/YYYY")),value:x("month",4),placement:"left"},{label:"Últimos 2 meses",value:[m().subtract(1,"month").startOf("month").toDate(),m().endOf("month").toDate()],placement:"left"},{label:"Últimos 3 meses",value:[m().subtract(2,"month").startOf("month").toDate(),m().endOf("month").toDate()],placement:"left"},{label:"Últimos 6 meses",value:[m().subtract(5,"month").startOf("month").toDate(),m().endOf("month").toDate()],placement:"left"}],He=[{label:"Hoje",value:x("day"),placement:"left"},{label:"Amanhã",value:x("day",1),placement:"left"},{label:"Ontem",value:x("day",1),placement:"left"},{label:"Esta semana",value:x("week"),placement:"left"},{label:"Próxima semana",value:x("week",1),placement:"left"},{label:"Semana passada",value:x("week",1),placement:"left"},{label:"Este mês",value:x("month"),placement:"left"},{label:"Próximo mês",value:x("month"),placement:"left"},{label:"Mês passado",value:x("month",1),placement:"left"}],E=ie(a=>({filters:{dateField:"created_at",type:"orders",startDate:new Date,endDate:new Date,startTimeHour:"00",startTimeMinute:"00",endTimeHour:"23",endTimeMinute:"59",query:{}},updateFilter:(t,r)=>a(o=>({...o,filters:{...o.filters,[t]:r}})),mergeFilter:t=>a(r=>({...r,filters:{...r.filters,...t}}))})),F=ie(a=>({selectedGroupBy:"hour",selectedAggregateBy:"total_orders",setSelectedGroupBy:t=>a(r=>({...r,selectedGroupBy:t})),setSelectedAggregateBy:t=>a(r=>({...r,selectedAggregateBy:t})),setRecommendedGroupBy:(t,r=!1)=>a(o=>t>62&&o.selectedGroupBy!=="month"?{...o,selectedGroupBy:"month"}:t>31&&!["day_of_week","week","month"].includes(o.selectedGroupBy)?{...o,selectedGroupBy:"week"}:t<=31&&t>=2&&["week","month"].includes(o.selectedGroupBy)?{...o,selectedGroupBy:"day"}:(r||t>1)&&o.selectedGroupBy==="hour"?{...o,selectedGroupBy:"day"}:!r&&t===1&&o.selectedGroupBy!=="hour"?{...o,selectedGroupBy:"hour"}:o)})),B={order_items_created_at:"Filtrar por data de lançamento",order_items_canceled_at:"Filtrar por data de cancelamento"};function Ge(){const a=E(u=>u.filters.dateField),t=E(u=>u.updateFilter),r=F(u=>u.setSelectedGroupBy),[o,s]=e.useState(null),l=e.useCallback(u=>{s(u.currentTarget)},[]),c=e.useCallback(()=>{s(null)},[]);return e.createElement(e.Fragment,null,e.createElement("div",{className:"my-6 mr-12 flex w-full cursor-pointer items-center space-x-8 rounded-6 border border-solid border-gray-200 bg-gray-50 py-8 pl-16 pr-8 text-16 font-bold text-gray-600 hover:bg-gray-100 sm:w-auto",onClick:l},e.createElement("span",{className:"flex-1"},B[a])," ",e.createElement(R,null)),e.createElement(j,{open:!!o,anchorEl:
3o,onClose:c,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},PaperProps:{className:"border-1 border-solid border-grey-border mt-8 shadow rounded-8",elevation:0}},e.createElement("div",{className:"flex flex-col space-y-8 px-8 py-12 text-gray-600"},a==="order_items_canceled_at"?e.createElement("div",{className:"w-full cursor-pointer rounded-8 px-12 py-8 text-16 hover:bg-gray-50",onClick:()=>{t("dateField","order_items_created_at"),c()}},B.order_items_created_at):e.createElement("div",{className:"w-full cursor-pointer rounded-8 px-12 py-8 text-16 hover:bg-gray-50",onClick:()=>{r("day"),t("dateField","order_items_canceled_at"),c()}},B.order_items_canceled_at))))}const H={orders:"Filtrar por pedidos",order_items:"Filtrar por produtos"};function ze(){const a=E(c=>c.filters.type),t=E(c=>c.updateFilter),[r,o]=e.useState(null),s=e.useCallback(c=>{o(c.currentTarget)},[]),l=e.useCallback(()=>{o(null)},[]);return e.createElement(e.Fragment,null,e.createElement("div",{className:"my-6 mr-12 flex w-full cursor-pointer items-center space-x-8 rounded-6 border border-solid border-gray-200 bg-gray-50 py-8 pl-16 pr-8 text-16 font-bold text-gray-600 hover:bg-gray-100 sm:w-auto",onClick:s},e.createElement("span",{className:"flex-1"},H[a])," ",e.createElement(R,null)),e.createElement(j,{open:!!r,anchorEl:r,onClose:l,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},PaperProps:{className:"border-1 border-solid border-grey-border mt-8 shadow rounded-8",elevation:0}},e.createElement("div",{className:"flex flex-col space-y-8 px-8 py-12 text-gray-600"},a==="orders"?e.createElement("div",{className:"w-full cursor-pointer rounded-8 px-12 py-8 text-16 hover:bg-gray-50",onClick:()=>{t("type","order_items"),t("dateField","order_items_created_at"),l()}},H.order_items):e.createElement("div",{className:"w-full cursor-pointer rounded-8 px-12 py-8 text-16 hover:bg-gray-50",onClick:()=>{t("type","orders"),t("dateField","created_at"),l()}},H.orders))))}const ee=["00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"],te=["00","10","20","30","40","50","59"];function Ie(){const a=ve(),t=E(d=>d.filters),r=E(d=>d.mergeFilter),[o,s]=e.useState(null),[l,c]=e.useState({startTimeHour:"00",startTimeMinute:"00",endTimeHour:"23",endTimeMinute:"59"}),{startDate:u,endDate:p}=t;e.useEffect(()=>{if(t&&o){const{startTimeHour:d,startTimeMinute:v,endTimeHour:_,endTimeMinute:O}=t;c({startTimeHour:d,startTimeMinute:v,endTimeHour:_,endTimeMinute:O})}},[t,o]);const n=(d,v)=>{c(_=>({..._,[d]:v}))},g=e.useCallback(d=>{s(d.currentTarget)},[]),b=e.useCallback(()=>{s(null)},[]),h=e.useCallback(d=>{d.preventDefault();const v=m(u).set({hour:l.startTimeHour,minute:l.startTimeMinute,second:0,millisecond:0}),_=m(p).set({hour:l.endTimeHour,minute:l.endTimeMinute,second:59,millisecond:999});if(v.isAfter(_)){a.info("A data de início deve ser maior que a de fim.");return}r(l),b()},[a,p,b,r,u,l]);return e.createElement(e.Fragment,null,e.createElement("div",{className:"my-6 mr-12 flex cursor-pointer items-center space-x-8 rounded-6 border border-solid border-gray-200 bg-gray-50 py-8 pl-16 pr-8 text-16 font-bold text-gray-600 hover:bg-gray-100",onClick:g},e.createElement("span",null,t.startTimeHour,":",t.startTimeMinute," ~ ",t.endTimeHour,":",t.endTimeMinute)," ",e.createElement(R,null)),e.createElement(j,{open:!!o,anchorEl:o,onClose:b,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},PaperProps:{className:"border-1 border-solid border-grey-border mt-8 shadow rounded-8",elevation:0}},e.createElement("form",{className:"flex w-288 flex-col text-gray-600",onSubmit:h},e.createElement("div",{className:"space-y-20 px-16 pb-16 pt-20"},e.createElement("div",{className:"space-y-16"},e.createElement("div",{className:"text-16 font-light"},"Filtrar do dia"," ",e.createElement("strong",{className:"font-bold"},m(u).format("DD/MM/YYYY"))," às"),e.createElement("div",{className:"flex items-center space-x-8"}
3,e.createElement(L,{label:"Hora",value:l.startTimeHour,onChange:d=>n("startTimeHour",d.target.value),variant:"outlined",className:"flex-1",size:"small",select:!0},ee.map(d=>e.createElement(T,{key:d,value:d},d))),e.createElement("span",{className:"text-20 font-bold"},":"),e.createElement(L,{label:"Minuto",value:l.startTimeMinute,onChange:d=>n("startTimeMinute",d.target.value),variant:"outlined",className:"flex-1",size:"small",select:!0},te.map(d=>e.createElement(T,{key:d,value:d},d))))),e.createElement("div",{className:"space-y-16"},e.createElement("div",{className:"text-16 font-light"},"até o dia"," ",e.createElement("strong",{className:"font-bold"},m(p).format("DD/MM/YYYY"))," às"),e.createElement("div",{className:"flex items-center space-x-8"},e.createElement(L,{label:"Hora",value:l.endTimeHour,onChange:d=>n("endTimeHour",d.target.value),variant:"outlined",className:"flex-1",size:"small",select:!0},ee.map(d=>e.createElement(T,{key:d,value:d},d))),e.createElement("span",{className:"text-20 font-bold"},":"),e.createElement(L,{label:"Minuto",value:l.endTimeMinute,onChange:d=>n("endTimeMinute",d.target.value),variant:"outlined",className:"flex-1",size:"small",select:!0},te.map(d=>e.createElement(T,{key:d,value:d},d)))))),e.createElement(V,{className:"flex-1 rounded-t-none border-0 border-t-1 border-solid border-gray-200 bg-gray-100 py-12 font-bold text-gray-600 hover:bg-gray-200",size:"large",fullWidth:!0,disableElevation:!0,type:"submit"},"Aplicar filtro"))))}function Ue(){const a=E(n=>n.filters),t=E(n=>n.updateFilter),r=F(n=>n.setRecommendedGroupBy),o=e.useCallback(n=>t("query",n),[t]),s=e.useMemo(()=>[{field:"order_type",label:"Tipo de pedido",type:"list_in_required",valueOptions:Object.keys(z).map(n=>({key:n,label:z[n]})),valueOptionKey:"key",valueOptionLabel:"label"},{field:"sales_channel",label:"Canal de venda",type:"list_in_required",valueOptions:Object.keys(I).map(n=>({key:n,label:I[n]})),valueOptionKey:"key",valueOptionLabel:"label"}],[]),{dateField:l,startDate:c,endDate:u,type:p}=a;return e.createElement("div",{className:"w-full"},e.createElement(Le,{fields:s,onFilterChange:o},e.createElement(ze,null),p==="order_items"&&e.createElement(Ge,null),e.createElement(Ee,{value:[c,u],onChange:n=>{const g=m(n[1]).diff(m(n[0]),"days")+1;r(g,!1),t("startDate",n[0]),t("endDate",n[1])},className:"my-6 mr-12 w-full sm:w-auto",ranges:l==="scheduled_date"?He:Be,appearance:"subtle",maxDaysAllowed:190,allowFuture:!0}),e.createElement(Ie,null)))}const ae={hour:"hora",day:"dia",week:"semana",day_of_week:"dia da semana",month:"mês"},U={revenue:"Faturamento",total_orders:"Pedidos",average_ticket:"Ticket médio"};function re(a,t,r="day"){switch(r){case"hour":return A(24).map(s=>({key:s,longLabel:`${m(a).format("DD/MM")} ~ ${m(t).format("DD/MM")}`,shortLabel:`${s.toString().padStart(2,"0")}h`}));case"day":{const s=m(a),c=m(t).diff(s,"days")+1;return A(c).map(p=>({key:s.clone().add(p,"days").format("YYYY-MM-DD"),longLabel:s.clone().add(p,"days").format("ddd, DD [de] MMMM"),shortLabel:s.clone().add(p,"days").format("MM/DD/YYYY")}))}case"week":{const s=m(a).startOf("week"),c=m(t).endOf("week").diff(s,"weeks")+1;return A(c).map(p=>{const n=s.clone().add(p,"weeks"),g=s.clone().add(p,"weeks").endOf("week");return{key:n.format("YYYY-MM-DD"),longLabel:`${n.format("DD MMM")} ~ ${g.format("DD MMM")}`,shortLabel:`${n.format("DD/MM")} ~ ${g.format("DD/MM")}`}})}case"day_of_week":const o=`${m(a).format("DD/MM")} ~ ${m(t).format("DD/MM")}`;
3return[{key:"sunday",longLabel:o,shortLabel:"Domingo"},{key:"monday",longLabel:o,shortLabel:"Segunda"},{key:"tuesday",longLabel:o,shortLabel:"Terça"},{key:"wednesday",longLabel:o,shortLabel:"Quarta"},{key:"thursday",longLabel:o,shortLabel:"Quinta"},{key:"friday",longLabel:o,shortLabel:"Sexta"},{key:"saturday",longLabel:o,shortLabel:"Sábado"}];case"month":{const s=m(a).startOf("month"),c=m(t).endOf("month").diff(s,"months")+1;return A(c).map(p=>{const n=s.clone().add(p,"months");return{key:n.format("YYYY-MM-DD"),longLabel:S(n.format("MMMM YYYY")),shortLabel:S(n.format("MMMM YYYY"))}})}}}function ge(a,t){if(a===t)return 0;if(a===0)return 100;const r=(t-a)/a*100;return parseFloat(r.toFixed(1))}const q=["#6CB2EB","#fed7aa"],qe={chart:{height:350,type:"line",locales:[{name:"pt",options:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Augosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"]}}],defaultLocale:"pt",toolbar:{show:!1},zoom:{enabled:!1}},colors:q,dataLabels:{enabled:!1},stroke:{curve:"straight",width:3},markers:{size:4,hover:{sizeOffset:1}},grid:{position:"back",borderColor:"#F6F6F6",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},padding:{bottom:20}},legend:{position:"bottom",horizontalAlign:"left",showForSingleSeries:!0}},je=(a,t)=>({series:r,dataPointIndex:o,w:s})=>{const l=r[0][o],c=r[1][o],u=(()=>{const h=ge(c,l);if(!h)return"";const d=`${Math.abs(h).toString().replace(".",",")}%`;return h>=0?`<div class="font-bold text-green">Aumento de ${d}</div>`:`<div class="font-bold text-red">Redução de ${d}</div>`})(),p=s.config.series[0].categories[o],n=s.config.series[1].categories[o],g=t(r[0][o]),b=t(r[1][o]);return`
4      <div class="p-16 space-y-16 text-gray-600 bg-white opacity-100">
5        <div>
6          <div class="font-light">${a}</div>
7          <div class="font-semibold">${p}</div>
8          <div class="font-bold text-20" style="color: ${q[0]}">${g}</div>
9        </div>
10
11        <div>
12          <div class="font-light">${a}</div>
13          <div class="font-semibold">${n}</div>
14          <div class="font-bold text-20" style="color: ${q[1]}">${b}</div>
15        </div>
16
17        ${u}
18      </div>
19    `.replace("  ","")},Ve=a=>Me($e(qe),a);function Qe(a,t,r,o){const s={};if(r==="day"?s.xaxis={type:"datetime",categories:a,labels:{format:"dd MMM"}}:s.xaxis={categories:a,convertedCatToNumeric:!1},t==="total_orders"?s.yaxis={labels:{formatter:l=>l/1e3>=1?`${$(l/1e3,1).toString().replace(".",",")}k`:l}}:s.yaxis={labels:{formatter:l=>l/1e3>=1?`R$ ${$(l/1e3,1).toString().replace(".",",")}k`:`R$ ${l}`}},o){const l=`${U[t]} em`,c=t==="total_orders"?M.formatNumber:u=>M.formatMonetaryValue(u);s.tooltip={custom:je(l,c)}}else{const l=t==="total_orders"?M.formatNumber:c=>M.formatMonetaryValue(c);s.tooltip={y:{formatter:l}}}return Ve(s)}function P(){const a=E(r=>r.filters);return e.useMemo(()=>{const{dateField:r,startDate:o,endDate:s,startTimeHour:l,startTimeMinute:c,endTimeHour:u,endTimeMinute:p,query:n}=a,g=m(o),b=m(s),h=b.diff(g,"days")+1,d=m(o).subtract(h,"days"),v=m(s).subtract(h,"days");return{current:{[`${r}_gteq`]:g.startOf("day").set({hour:l,minute:c}).format(),[`${r}_lteq`]:b.endOf("day").set({hour:u,minute:p}).format(),...n||{}},previous:{[`${r}_gteq`]:d.startOf("day").set({hour:l,minute:c}).format(),[`${r}_lteq`]:v.endOf("day").set({hour:u,minute:p}).format(),...n||{}}}},[a])}const We="/api/v2/company/performance/cancellation/metric_over_time";function Je(a){if(a){const t=M.queryParamsObjectToString(a);return`${We}?${t}`}return null}function oe(a){const{data:t,error:r,mutate:o}=Q(Je(a),W,{dedupingInterval:12e4,revalidateOnFocus:!1,revalidateOnReconnect:!1});return{data:t,isLoading:a&&!r&&!t,isError:r,mutate:o}}function Ke(a,t){const r=E(D=>D.filters.startDate),o=E(D=>D.filters.endDate),s=E(D=>D.filters.type),l=e.useMemo(()=>m(o).diff(m(r),"days")+1,[r,o]),{current:c,previous:u}=P(),{data:p,isLoading:n,isError:g}=oe({q:c,aggregate_by:a,group_by:t,type:s}),{data:b,isLoading:h,isError:d}=oe(l<=31&&{q:u,aggregate_by:a,group_by:t,type:s}),v=e.useMemo(()=>re(r,o,t),[o,r,t]),_=e.useMemo(()=>{const w=[{name:[U[a],"por",ae[t],`(${m(r).format("DD/MM")}`,"a",`${m(o).format("DD/MM")})`].join(" "),data:v.map(f=>p?.[f.key]||0),categories:v.map(f=>f.longLabel)}];if(l<=31){const f=m(r).subtract(l,"days"),i=m(o).subtract(l,"days"),y=re(f,i,t),k=[U[a],"por",ae[t],`(${m(f).format("DD/MM")}`,"a",`${m(i).format("DD/MM")})`].join(" ");w.push({name:k,data:y.map(N=>b?.[N.key]||0),categories:y.map(N=>N.longLabel)})}return w},[a,p,v,o,t,l,b,r]);return{options:e.useMemo(()=>{const D=v.map(f=>f.shortLabel),w=l<=31;return Qe(D,a,t,w)},[a,v,t,l]),series:_,loading:n||h,error:g||d}}function Ze(){const a=F(c=>c.selectedAggregateBy),t=F(c=>c.selectedGroupBy),{options:r,series:o,loading:s,error:l}=Ke(a,t);return e.createElement("div",{className:"relative h-256 sm:h-400"},s&&e.createElement("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white bg-opacity-80"},e.createElement(Ae,null)),!s&&l&&e.createElement(xe,{title:"Informações indisponíveis no momento"}),o?.length>0&&e.createElement(pe,{key:M.generateGUID(),options:r,series:o,type:"line",width:"100%",height:"100%"}))}function ne({title:a,currentValue:t,previousValue:r,isMonetary:o,active:s,loading:l,showError:c,onClick:u}){const p=o?M.formatMonetaryValue(t):M.formatNumber(t),n=o?M.formatMonetaryValue(r):M.formatNumber(r),g=(()=>{const b=ge(r,t);if(!b)return null;const h=`${Math.abs(b).toString().replace(".",",")}%`;return b>0?e.createElement(J,{title:`${a} no período anterior: ${n}`,placement:"top",arrow:!0,classes:{tooltip:"bg-white text-16 text-gray-600 font-medium p-12 border-1 border-solid border-grey-border shadow rounded-6",arrow:"text-gray-400"}},e.createElement("span",{className:"inline-flex items-center whitespace-nowrap rounded-8 text-18 font-bold text-green"},e.createElement(Re,{color:"inherit"})," ",e.createElement("span",null,h))):e.createElement(J,{title:`${a} no período anterior: ${n}`,placement:"top",arrow:!0,classes:{tooltip:"bg-white text-16 text-gray-600 font-medium p-12 border-1 border-solid border-grey-border shadow rounded-6",arrow:"text-gray-400"}},e.createElement("span",{className:"inline-flex items-center whitespace-nowrap rounded-8 text-18 font-bold text-red-light"},e.createElement(Ye,{color:"inherit"})," ",e.createElement("span",null,h)))})();return e.createElement("div",{className:_e("min-w-160 flex-shrink-0 cursor-pointer space-y-8 px-20 py-12 transition-colors sm:min-w-288 sm:pb-12 sm:pt-16","border border-l-0 border-t-0 border-solid border-gray-200",s||"bg-gray-50 hover:bg-gray-100"),style:{borderBottomColor:s?"white":"#e5e7eb"},onClick:u},e.createElement("span",{className:"text-16 font-light text-gray-500 sm:text-18"},a),!c&&!l&&e.createElement("div",{className:"flex items-center space-x-16 whitespace-nowrap text-20 font-bold text-gray-600 sm:text-24"},e.createElement("span",null,p)," ",g),l&&e.createElement("div",{className:"h-28 w-3/5 animate-pulse rounded-8 bg-gray-200 sm:h-36"}),c&&!l&&e.createElement("div",{className:"flex items-center space-x-12 whitespace-nowrap text-18 font-bold text-red-light sm:text-20"},"Dado indisponível"))}const Xe="/api/v2/company/performance/cancellation/overall_metrics";function et(a){if(a){const t=M.queryParamsObjectToString(a);return`${Xe}?${t}`}return null}function se(a){const{data:t,error:r,mutate:o}=Q(et(a),W,{dedupingInterval:12e4,revalidateOnFocus:!1,revalidateOnReconnect:!1});return{data:t,isLoading:a&&!r&&!t,isError:r,mutate:o}}const le=[{key:"hour",name:"Agrupar por hora"},{key:"day",name:"Agrupar por dia"},{key:"day_of_week",name:"Agrupar por dia da semana"},{key:"week",name:"Agrupar por semana"},{key:"month",name:"Agrupar por mês"}];function tt(){const a=F(f=>f.selectedAggregateBy),t=F(f=>f.setSelectedAggregateBy),r=F(f=>f.selectedGroupBy),o=F(f=>f.setSelectedGroupBy),s=E(f=>f.filters.dateField),l=E(f=>f.filters.startDate),c=E(f=>f.filters.endDate),u=E(f=>f.filters.type),p=e.useMemo(()=>m(c).diff(m(l),"days")+1,[l,c]),{current:n,previous:g}
19=P(),{data:b,isLoading:h,isError:d}=se({q:n,type:u}),{data:v,isLoading:_,isError:O}=se(p<=31&&{q:g,type:u}),D=f=>{o(f.target.value)},w=e.useCallback((f,i,y=!1)=>({active:a===f,title:i,currentValue:b?.[f],previousValue:v?.[f],loading:h||_,showError:d||O,isMonetary:y,onClick:()=>t(f)}),[a,b,v,h,_,d,O,t]);return e.createElement("div",{className:"flex flex-wrap justify-between"},e.createElement("div",{className:"flex flex-nowrap overflow-x-scroll"},e.createElement(ne,{...w("total_orders",u==="orders"?"Pedidos":"Produtos")}),e.createElement(ne,{...w("revenue","Faturamento",!0)})),e.createElement("div",{className:"w-full p-16 md:w-auto"},e.createElement(De,{value:r,onChange:D,optionValueKey:"key",optionLabelKey:"name",options:s==="scheduled_date"?le.slice(1):le,className:"w-full bg-white text-gray-600 md:w-256"})))}function at(){const a=E(o=>o.filters.startDate),t=E(o=>o.filters.endDate),r=e.useMemo(()=>m(t).diff(m(a),"days")+1,[a,t]);return e.createElement(Oe,{variant:"outlined",className:"overflow-hidden rounded-8"},e.createElement(tt,null),e.createElement("div",{className:"relative px-8 pb-24"},e.createElement(Ze,null)),r>31&&e.createElement("div",{className:"px-24 pb-20 text-16 font-light text-gray-500"},"A comparação com o período anterior está disponível apenas para períodos com até 31 dias"))}const be=[{key:"cancellation_reason",name:"Motivo",getLabel:a=>a||e.createElement(C,{color:"grey"},"Desconhecido")},{key:"canceled_by_user_id",name:"Usuário",getLabel:a=>a||e.createElement(C,{color:"grey"},"Desconhecido")},{key:"order_type",name:"Tipo de pedido",getLabel:a=>z[a]||e.createElement(C,{color:"grey"},"Desconhecido")},{key:"sales_channel",name:"Canal de vendas",getLabel:a=>I[a]||e.createElement(C,{color:"grey"},"Desconhecido")}],Y=de(be,"key");function rt({selectedGroup:a,setSelectedGroup:t}){const[r,o]=e.useState(null),s=E(n=>n.filters.type),l=e.useMemo(()=>{let n=[];return be.forEach(g=>{n=s==="orders"&&g.key==="canceled_by_user_id"?n:[...n,g]}),n},[s]),c=n=>{o(n.currentTarget)},u=()=>{o(null)},p=n=>{t(n),u()};return e.createElement("div",{className:"flex flex-col space-y-8 pb-8 sm:flex-row sm:items-center sm:space-y-0 sm:pb-0"},e.createElement("span",{className:"mr-8"},"Análise dos cancelamentos por "),e.createElement(V,{endIcon:e.createElement(R,null),onClick:c,className:"w-full bg-gray-100 py-1 text-18 font-bold normal-case text-gray-700 hover:bg-gray-200 sm:w-auto"},(Y[a]?.name||"Desconhecido").toLowerCase()),e.createElement(we,{anchorEl:r,open:!!r,onClose:u,getContentAnchorEl:null,elevation:0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"border-1 border-solid border-grey-border shadow rounded-8 mt-8"}},l.map(n=>e.createElement(T,{key:n.key,className:"flex items-center space-x-12 py-12 text-16",onClick:()=>p(n.key)},n.name))))}const ot="/api/v2/company/performance/cancellation/cancellations_by_group";function nt(a){if(a){const t=M.queryParamsObjectToString(a);return`${ot}?${t}`}return null}function st(a){const{data:t,error:r,mutate:o}=Q(nt(a),W,{dedupingInterval:12e4,revalidateOnFocus:!1,revalidateOnReconnect:!1});return{data:t,isLoading:a&&!r&&!t,isError:r,mutate:o}}const lt=["#6CB2EB","#FAAD63","#A779E9","#64D5CA","#7886D7","#fb7185","#51D88A","#FFF382","#FA7EA8","#a78bfa","#67e8f9"],ct=(a,t,r)=>({chart:{width:340,type:"donut"},colors:t,labels:a,responsive:[{breakpoint:1300,options:{chart:{width:320}}},{breakpoint:1150,options:{chart:{width:280}}},{breakpoint:960,options:{chart:{width:300}}}],legend:{show:!1},tooltip:{y:{formatter:r}},plotOptions:{pie:{startAngle:0,endAngle:360,dataLabels:{offset:0,minAngleToShowLabel:20},donut:{size:"40%"}}}});function it(){const{current:a}=P(),t=E(i=>i.filters.type),[r,o]=e.useState("cancellation_reason"),[s,l]=e.useState("revenue"),[c,u]=e.useState("desc"),p=Ne(),n=e.useRef([]),g=e.useRef(),b=fe(g,"0px"),{data:h,isLoading:d,isError:v}=st(b?{q:a,group_by:r,type:t}:null);e.useEffect(()=>{t==="orders"&&o("cancellation_reason")},[t,o]);const _=e.useMemo(()=>{let i=Y[r].getLabel;return r==="customer_origin"&&(i=y=>de(p,"code")[y]?.name||y||"Padrão"),K(h,["revenue"],["desc"]).map(({name:y,total_orders:k,revenue:N},he)=>({id:i(y),name:y?i(y):"Desconhecido",total_orders:parseInt(k||0),revenue:$(N||0,2),average_ticket:k>0?$((N||0)/k,2):0,color:lt[he]}))},[p,h,r]),O=e.useMemo(()=>(b&&(n.current=K(_,[s],[c])),n.current),[_,b,c,s]),D=e.useMemo(()=>{const i=O.map(N=>N.name),y=O.map(N=>N.color),k=s==="total_orders"?M.formatNumber:N=>M.formatMonetaryValue(N);return ct(i,y,k)},[O,s]),w=e.useMemo(()=>O.map(i=>i[s]),[O,s]),f=e.useCallback((i,y)=>{l(i),u(y)},[]);return e.createElement(me,{title:e.createElement(rt,{selectedGroup:r,setSelectedGroup:o}),subtitle:"Escolha um grupo de segmentação acima e analise seus pedidos com base nos segmentos do grupo"},e.createElement("div",{className:"grid grid-cols-1 gap-24 md:grid-cols-3 md:gap-20",ref:g},d&&e.createElement("div",{className:"flex items-center justify-center"},e.createElement("div",{className:"animate-pulse rounded-full bg-gray-50 p-60 text-gray-200"},e.createElement(X,{color:"inherit",className:"h-200 w-200"}))),!w?.length&&!d&&e.createElement("div",{className:"flex items-center justify-center"},e.createElement("div",{className:"rounded-full bg-gray-50 p-60 text-gray-200"},e.createElement(X,{color:"inherit",className:"h-200 w-200"}))),w?.length>0&&!d&&e.createElement("div",{className:"flex w-full items-center justify-center"},e.createElement(pe,{options:D,series:w,type:"donut",width:340})),e.createElement("div",{className:"col-span-2 grid"},e.createElement(ue,{data:d?void 0:O,WrapperComponents:({children:i,...y})=>e.createElement("div",{...y},i),loading:d,loadingRowsQuantity:3,onRequestSort:f,showError:v,defaultOrder:"desc",defaultOrderBy:"revenue",columns:[{Header:Y[r]?.name,sortable:!1,Cell:({row:i})=>e.createElement("div",{className:"flex items-center space-x-12"},e.createElement("span",{className:"h-16 w-16 flex-shrink-0 rounded-full",style:{backgroundColor:i.color}}),e.createElement("span",null,i.name==="Desconhecido"?e.createElement(C,{color:"grey"},"Desconhecido"):i.name)),loadingWidth:"w-3/5"}
19,{Header:"Faturamento",accessor:"revenue",sortable:!0,formatDataFunction:i=>M.formatMonetaryValue(i)},{Header:t==="orders"?"Pedidos":"Produtos",accessor:"total_orders",sortable:!0,formatDataFunction:i=>M.formatNumber(i)},{Header:"Ticket médio",sortable:!0,accessor:"average_ticket",formatDataFunction:i=>M.formatMonetaryValue(i)}]}))))}const ye=10,dt="/api/v2/company/performance/cancellation/canceled_orders",mt=(a,t=0)=>{const r=M.queryParamsObjectToString({...a||{},page:t+1,per_page:ye});return`${dt}?${r}`},ut=a=>Fe.get(a).then(t=>t.status!==200||t.data.status===500?[]:t.data);function pt(a){const{data:t,error:r,mutate:o,size:s,setSize:l,isValidating:c}=ke(v=>a?mt(a,v):null,ut,{dedupingInterval:12e4,revalidateOnFocus:!1,registerOnReconnect:!1,revalidateFirstPage:!1}),u=Z.useCallback(()=>l(s+1),[l,s]),p=Z.useMemo(()=>{try{return t?[].concat(...t):[]}catch{return[]}},[t]),n=a&&!t&&!r,g=n||s>0&&t&&typeof t[s-1]>"u",b=t?.[0]?.length===0,h=b||t&&t[t.length-1]?.length<ye,d=c&&t&&t.length===s;return{customers:p,isLoading:n,isLoadingMore:g,isEmpty:b,isReachingEnd:h,isRefreshing:d,loadMore:u,mutate:o}}m.locale("pt-BR");const G={order:"desc",order_by:"canceled_at",search_text:""},ce=a=>a?m(a).format("DD/MM/YYYY HH:mm"):e.createElement(C,{color:"grey"},"Sem dados");function ft(){const a=e.useRef(),t=fe(a,"0px"),[r,o]=e.useState(""),[s,l]=e.useState(G),c=E(i=>i.filters.type),{current:u}=P(),{customers:p,isLoading:n,isLoadingMore:g,loadMore:b,isEmpty:h,isError:d,isReachingEnd:v}=pt(t?{q:u,...s,type:c}:null),[_,O]=e.useState(null);e.useEffect(()=>{p&&!n&&!g&&O(p)},[p,n,g]);const D=e.useMemo(()=>Ce(i=>{l(y=>({...y,search_text:i,page:0}))},600),[]),w=(i,y)=>{const k=Y[i].getLabel;return k(y)};e.useEffect(()=>{D(r)},[r,D]);const f=(i,y)=>{l(k=>({...k,order_by:i,order:y,page:0}))};return e.createElement(me,{ref:a,title:c==="orders"?"Pedidos cancelados no período":"Produtos cancelados no período",action:e.createElement(Pe,{placeholder:c==="orders"?"Pesquise por motivo":"Pesquise por nome ou por motivo",className:"min-w-360",value:r,onChange:i=>o(i.target.value)}),className:"min-h-512",loading:n},e.createElement(ue,{data:_,WrapperComponents:({children:i,...y})=>e.createElement("div",{...y},i),onRequestSort:f,loading:h&&n,loadingRowsQuantity:5,showError:d,defaultOrder:G.order,defaultOrderBy:G.order_by,columns:[{Header:"Pedido",accessor:"id",sortable:!0,Cell:({row:i})=>e.createElement("div",{className:"flex flex-col"},e.createElement("span",{className:"font-bold"},"Nº ",i.order_number),e.createElement("small",null,"#",i.id))},c==="order_items"&&{Header:"Produto",accessor:"name",sortable:!1,className:"min-w-160"},{Header:c==="order_items"?"Lançado em":"Criado em",accessor:"created_at",sortable:!0,formatDataFunction:ce},{Header:"Cancelado em",accessor:"canceled_at",sortable:!0,formatDataFunction:ce},{Header:"Cancelado por",accessor:"canceled_by_user_name",sortable:!1,Cell:({row:i})=>e.createElement("div",{className:"min-w-128 max-w-160 truncate",title:i.canceled_by_user_name},i.canceled_by_user_name)},{Header:"Motivo",accessor:"cancellation_reason",className:"min-w-192",sortable:!1,formatDataFunction:i=>i||e.createElement(C,{color:"grey"},"Não informado")},c==="order_items"&&{Header:"Qtd",accessor:"quantity",sortable:!1,align:"center",formatDataFunction:i=>M.convertNumberToFloat(i)},{Header:"Valor",accessor:c==="orders"?"final_value":"price",sortable:!1,className:"min-w-128",formatDataFunction:i=>M.formatMonetaryValue(i)},{Header:"Tipo",accessor:"order_type",sortable:!1,formatDataFunction:i=>w("order_type",i)},{Header:"Canal",accessor:"sales_channel",sortable:!1,formatDataFunction:i=>w("sales_channel",i)}].filter(Boolean)}),_?.length>0&&!v&&e.createElement("div",{className:"mt-20"},e.createElement(V,{fullWidth:!0,onClick:b,disabled:g,className:"text-gray-500",startIcon:g?e.createElement(Te,{size:18}):e.createElement(Se,null),size:"large"},g?"Carregando mais informações":"Carregar mais informações")))}function Nt(){return e.createElement("div",{className:"h-full space-y-24 overflow-scroll px-12 py-24 sm:px-28"},e.createElement(Ue,null),e.createElement(at,null),e.createElement(it,null),e.createElement(ft,null))}export{Nt as default};
20
21//# debugId=da2b802c-9840-5659-90b4-ae00b2ae5362

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.