PageSourceSearch

https://wiki4fit.com/_next/static/chunks/pages/dashboard/app/chat-67d5f7eac6f0c30f.js

js wiki4fit.com collected 2026-10-02 00:36:21 UTC 27,168 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},a=(new e.Error).stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="b5ed6a89-9efb-4259-ad11-e4971b56dc8e",e._sentryDebugIdIdentifier="sentry-dbid-b5ed6a89-9efb-4259-ad11-e4971b56dc8e")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[745],{8771:(e,a,s)=>{"use strict";s.d(a,{A:()=>t});let t=(0,s(74892).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},12477:(e,a,s)=>{"use strict";s.d(a,{A:()=>r});var t=s(23798),n=s(66790);function r(e){let{title:a,subtitle:s,actions:r,breadcrumb:l,className:o}=e;return(0,t.jsxs)("header",{className:(0,n.cn)("font-sans",o),children:[l&&(0,t.jsx)("div",{className:"mb-2.5",children:l}),(0,t.jsxs)("div",{className:"flex flex-col items-start gap-3 sm:flex-row sm:justify-between sm:gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-[3px]",children:[(0,t.jsx)("h1",{className:"text-[24px] font-extrabold leading-[1.2] tracking-tight text-fg",children:a}),s&&(0,t.jsx)("p",{className:"text-[14px] text-fg-muted",children:s})]}),r&&(0,t.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5 sm:pt-1",children:r})]})]})}},13323:(e,a,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/dashboard/app/chat",function(){return s(41400)}])},29018:(e,a,s)=>{"use strict";s.d(a,{A:()=>t});let t=(0,s(74892).A)("check-check",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},35945:(e,a,s)=>{"use strict";s.d(a,{A:()=>i});var t=s(23798),n=s(15481),r=s(67357),l=s(21462),o=s(66790);let i=(0,l.forwardRef)(function(e,a){let{value:s,onChange:l,onClear:i,placeholder:c,containerClassName:d,className:u,iconLeft:m,disabled:x,...f}=e;return(0,t.jsxs)("div",{className:(0,o.cn)("flex h-9 min-w-[220px] items-center gap-2 rounded-sm border border-solid border-line bg-surface px-3.5 shadow-xs transition-[border-color,box-shadow] duration-150 ease-out font-sans","focus-within:border-brand focus-within:shadow-[0_0_0_3px_rgba(255,140,80,0.15)]",x&&"cursor-not-allowed bg-surface-subtle",d),children:[(0,t.jsx)("span",{className:"inline-flex shrink-0 items-center text-fg-subtle",children:null!=m?m:(0,t.jsx)(n.A,{size:14,strokeWidth:1.75})}),(0,t.jsx)("input",{ref:a,type:"text",value:s,onChange:e=>l(e.target.value),placeholder:c,disabled:x,className:(0,o.cn)("min-w-0 flex-1 appearance-none border-0 bg-transparent font-sans text-[14px] leading-snug text-fg outline-none placeholder:text-fg-subtle disabled:cursor-not-allowed disabled:bg-transparent",u),...f}),s&&!x&&(0,t.jsx)("button",{type:"button",onClick:function(){l(""),null==i||i()},"aria-label":"Limpar busca",className:"inline-flex shrink-0 cursor-pointer appearance-none items-center border-0 bg-transparent p-0 text-fg-subtle transition-colors hover:text-fg",children:(0,t.jsx)(r.A,{size:13,strokeWidth:1.75})})]})})},41400:(e,a,s)=>{"use strict";s.r(a),s.d(a,{default:()=>B});var t=s(23798),n=s(79157),r=s(2940),l=s.n(r),o=s(29018),i=s(75633),c=s(41411);let d=(0,s(74892).A)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);var u=s(49726),m=s(76614),x=s(77482),f=s(21462),h=s(13644),g=s(89632),p=s(82163),v=s(9414),b=s(92787),j=s(97594),y=s(69814),N=s(8771);function w(e){let{disabled:a,sending:s,placeholder:n="Escreva uma mensagem…",onSend:r}=e,[l,o]=(0,f.useState)(""),i=l.trim().length>0&&!a&&!s;function c(){i&&(r(l.trim()),o(""))}return(0,t.jsxs)("div",{className:"flex items-end gap-2 border-0 border-t border-solid border-line-subtle p-3",children:[(0,t.jsx)("textarea",{value:l,onChange:e=>o(e.target.value.slice(0,2e3)),onKeyDown:function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),c())},disabled:a,rows:1,placeholder:n,"aria-label":"Mensagem",className:"max-h-32 min-h-[40px] flex-1 resize-none rounded-md border border-solid border-line bg-surface px-3 py-2 text-sm text-fg outline-none focus:border-brand"}),(0,t.jsxs)(p.A,{type:"button",size:"sm",onClick:c,disabled:!i,loading:s,"aria-label":"Enviar mensagem",children:[(0,t.jsx)(N.A,{size:14}),"Enviar"]})]})}function A(e){var a,s;let{open:n,onClose:r,onSent:l}=e,[o,i]=(0,f.useState)("all"),[c,d]=(0,f.useState)(""),u="all"===o?null:Number(o),{data:m}=(0,j.l)({page:1,limit:100},{enabled:n}),{data:x,isLoading:h}
1=(0,y.Kf)(u,n),N=(0,y.fJ)(),w=null!=(a=null==x?void 0:x.recipients)?a:0,A=c.trim().length>0&&w>0,k=[{value:"all",label:"Todos os alunos ativos"},...(null!=(s=null==m?void 0:m.data)?s:[]).map(e=>({value:String(e.id),label:"Turma: ".concat(e.name)}))];return(0,t.jsxs)(v.Ay,{open:n,onClose:r,children:[(0,t.jsx)(v.rQ,{onClose:r,children:"Enviar comunicado"}),(0,t.jsx)(v.cw,{children:(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)(b.A,{label:"Para",value:o,onChange:e=>i(String(e)),options:k}),(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("label",{htmlFor:"broadcast-message",className:"text-xs font-semibold text-fg-muted",children:"Mensagem"}),(0,t.jsx)("textarea",{id:"broadcast-message",value:c,onChange:e=>d(e.target.value.slice(0,2e3)),rows:4,placeholder:"Escreva a mensagem…",className:"resize-none rounded-md border border-solid border-line bg-surface px-3 py-2 text-sm text-fg outline-none focus:border-brand"})]}),"all"===o&&w>0&&(0,t.jsxs)("p",{className:"m-0 flex items-start gap-2 rounded-md bg-warning-50 p-3 text-xs text-warning-700",children:[(0,t.jsx)(g.A,{size:14,className:"mt-0.5 shrink-0"}),"Isso envia para ",(0,t.jsx)("strong",{children:"todos"})," os alunos ativos da unidade. N\xe3o d\xe1 para desfazer."]})]})}),(0,t.jsxs)(v.jl,{children:[(0,t.jsx)(p.A,{variant:"outline",size:"sm",onClick:r,children:"Cancelar"}),(0,t.jsx)(p.A,{size:"sm",onClick:function(){A&&N.mutate({message:c.trim(),classroomId:null!=u?u:void 0},{onSuccess:e=>{d(""),l(e.sent),r()}})},disabled:!A,loading:N.isLoading,children:h?"Calculando…":0===w?"Nenhum aluno no grupo":"Enviar para ".concat(w," ").concat(1===w?"aluno":"alunos")})]})]})}var k=s(66564),C=s(80198),M=s(66790),S=s(65062),I=s(45078);function E(e){let{conversations:a,loading:s,selectedUserId:n,onSelect:r,emptyMessage:l,hasMore:o,loadingMore:i,onLoadMore:c}=e,d=(0,f.useRef)(null);return((0,f.useEffect)(()=>{let e=d.current;if(!e||!o||!c)return;let a=new IntersectionObserver(e=>{var a;(null==(a=e[0])?void 0:a.isIntersecting)&&c()},{rootMargin:"200px"});return a.observe(e),()=>a.disconnect()},[o,c,a.length]),s)?(0,t.jsx)("div",{className:"flex flex-col gap-2 p-3",children:Array.from({length:6}).map((e,a)=>(0,t.jsx)(C.A,{width:"100%",height:56,rounded:"md"},a))}):0===a.length?(0,t.jsx)("p",{className:"m-0 p-6 text-center text-sm text-fg-muted",children:l}):(0,t.jsxs)("ul",{className:"m-0 flex list-none flex-col p-2",children:[a.map(e=>(0,t.jsx)(z,{conversation:e,selected:e.userId===n,onSelect:r},e.userId)),o&&(0,t.jsx)("li",{ref:d,className:"p-3",children:i&&(0,t.jsx)(C.A,{width:"100%",height:40,rounded:"md"})})]})}let z=(0,f.memo)(function(e){let{conversation:a,selected:s,onSelect:n}=e,r=a.unreadCount>0;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>n(a.userId),className:(0,M.cn)("flex w-full items-center gap-3 rounded-md px-2 py-2 text-left transition-colors",s?"bg-brand-softer":"bg-transparent hover:bg-surface-subtle"),children:[(0,t.jsx)(k.A,{size:40,src:a.imageUrl?"".concat(S.a,"/assets/images/usuarios/").concat(a.imageUrl):void 0,alt:a.name}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:(0,M.cn)("truncate text-sm text-fg",r?"font-bold":"font-semibold"),children:[a.name,a.surname].filter(Boolean).join(" ")}),(0,t.jsx)("span",{className:"ml-auto shrink-0 text-xs text-fg-subtle",children:(0,I.mW)(a.lastMessageAt)})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:(0,M.cn)("truncate text-xs",r?"font-semibold text-fg":"text-fg-muted"),children:[a.lastMessageFromGroupSend?"Comunicado: ":"U"===a.lastMessageRecipient&&"Voc\xea: ",a.lastMessage]}),r&&(0,t.jsx)("span",{className:"ml-auto inline-flex h-4 min-w-4 shrink-0 items-center justify-center rounded-full bg-brand px-1 text-xs font-bold text-white",children:a.unreadCount})]})]})]})})});function Q(e){let{messages:a,loading:s,coachId:n,hasMore:r,loadingOlder:l,onLoadOlder:o,onRequestDelete:i}=e,c=(0,f.useRef)(null);return((0,f.useEffect)(()=>
1{let e=c.current;if(!e||!r||!o)return;let a=new IntersectionObserver(e=>{var a;(null==(a=e[0])?void 0:a.isIntersecting)&&o()},{rootMargin:"200px"});return a.observe(e),()=>a.disconnect()},[r,o,a.length]),s)?(0,t.jsx)("div",{className:"flex flex-1 flex-col gap-3 p-4",children:Array.from({length:5}).map((e,a)=>(0,t.jsx)(C.A,{width:"60%",height:44,rounded:"md"},a))}):0===a.length?(0,t.jsx)("p",{className:"m-0 flex flex-1 items-center justify-center p-6 text-center text-sm text-fg-muted",children:"Nenhuma mensagem ainda. Escreva a primeira."}):(0,t.jsxs)("div",{className:"flex flex-1 flex-col-reverse gap-2 overflow-y-auto p-4",children:[a.map(e=>e.fromGroupSend?(0,t.jsx)(_,{message:e},e.id):(0,t.jsx)(T,{message:e,coachId:n,onRequestDelete:i},e.id)),r&&(0,t.jsx)("div",{ref:c,className:"py-2",children:l&&(0,t.jsx)(C.A,{width:"50%",height:36,rounded:"md"})})]})}let _=(0,f.memo)(function(e){let{message:a}=e,s=a.broadcastClassroomName?"Turma ".concat(a.broadcastClassroomName):null!==a.broadcastId?"Todos os alunos":null;return(0,t.jsxs)("div",{className:"my-1 flex flex-col gap-1 self-stretch rounded-lg border border-dashed border-line bg-surface-subtle px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs font-bold uppercase tracking-wider text-fg-subtle",children:[(0,t.jsx)(c.A,{size:12}),(0,t.jsx)("span",{children:"Comunicado"}),s&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{"aria-hidden":!0,children:"\xb7"}),(0,t.jsx)("span",{children:s})]}),a.broadcastSenderName&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{"aria-hidden":!0,children:"\xb7"}),(0,t.jsxs)("span",{className:"normal-case tracking-normal",children:["por ",a.broadcastSenderName]})]})]}),(0,t.jsx)("span",{className:"whitespace-pre-line break-words text-sm text-fg",children:a.message}),(0,t.jsx)("span",{className:"text-xs text-fg-subtle",children:(0,I.mW)(a.sentAt)})]})}),T=(0,f.memo)(function(e){var a;let{message:s,coachId:n,onRequestDelete:r}=e,l="U"===s.recipient,o=l&&null!==s.senderCoachId&&null!==n&&s.senderCoachId!==n;return(0,t.jsxs)("div",{className:(0,M.cn)("group flex max-w-[75%] flex-col gap-0.5 rounded-lg px-3 py-2",l?"self-end bg-brand-softer":"self-start bg-surface-muted",o&&"bg-surface-subtle"),children:[o&&(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-fg-subtle",children:null!=(a=s.senderCoachName)?a:"Outro professor"}),(0,t.jsx)("span",{className:"whitespace-pre-line break-words text-sm text-fg",children:s.message}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-xs text-fg-subtle",children:(0,I.mW)(s.sentAt)}),r&&(0,t.jsx)("button",{type:"button",onClick:()=>r(s),"aria-label":"Apagar mensagem",title:"Apagar mensagem",className:"inline-flex h-5 w-5 items-center justify-center rounded-full bg-transparent text-fg-subtle opacity-0 transition-colors hover:bg-critical-soft hover:text-fg-critical focus-visible:opacity-100 group-hover:opacity-100",children:(0,t.jsx)(x.A,{size:11})})]})]})});var L=s(35945);function G(e){var a;let{open:s,onClose:n,onSelect:r}=e,[l,o]=(0,f.useState)(""),i=(0,y.lW)(l),c=(0,f.useRef)(null),{data:d,isLoading:u,hasNextPage:m,isFetchingNextPage:x,fetchNextPage:h}=(0,y.gI)(i,s),g=(null!=(a=null==d?void 0:d.pages)?a:[]).flatMap(e=>e.items);return(0,f.useEffect)(()=>{s||o("")},[s]),(0,f.useEffect)(()=>{let e=c.current;if(!e||!m)return;let a=new IntersectionObserver(e=>{var a;(null==(a=e[0])?void 0:a.isIntersecting)&&h()},{rootMargin:"120px"});return a.observe(e),()=>a.disconnect()},[m,h,g.length]),(0,t.jsxs)(v.Ay,{open:s,onClose:n,children:[(0,t.jsx)(v.rQ,{onClose:n,children:"Nova conversa"}),(0,t.jsx)(v.cw,{children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(L.A,{value:l,onChange:o,placeholder:"Buscar aluno…"}),(0,t.jsx)("div",{className:"h-[340px] overflow-y-auto",children:u?(0,t.jsx)("div",{className:"flex flex-col gap-2",children:Array.from({length:5}).map((e,a)=>(0,t.jsx)(C.A,{width:"100%",height:52,rounded:"md"},a))}):0===g.length?(0,t.jsx)("p",{className:"m-0 p-6 text-center text-sm text-fg-muted",children:i?"Nenhum aluno encontrado.":"Voc\xea j\xe1 tem uma conversa com todos os seus alunos."}):(0,t.jsxs)("ul",{className:"m-0 flex list-none flex-col p-0",children:[g.map(e=>{let a=[e.name,e.surname].map(e=>
1null==e?void 0:e.trim()).filter(Boolean).join(" ");return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>{r(e.id),n()},className:"flex w-full items-center gap-3 rounded-md bg-transparent px-2 py-2 text-left hover:bg-surface-subtle",children:[(0,t.jsx)(k.A,{size:40,src:e.imageUrl?"".concat(S.a,"/assets/images/usuarios/").concat(e.imageUrl):void 0,alt:a}),a?(0,t.jsx)("span",{className:"truncate text-sm font-semibold text-fg",children:a}):(0,t.jsxs)("span",{className:"truncate text-sm font-semibold italic text-fg-muted",children:["Aluno sem nome (#",e.id,")"]})]})},e.id)}),m&&(0,t.jsx)("li",{ref:c,className:"p-2",children:x&&(0,t.jsx)(C.A,{width:"100%",height:40,rounded:"md"})})]})})]})})]})}var R=s(13248),O=s(57537),U=s(12477),D=s(83076),P=s(46602),q=s(74251);function B(){return(0,t.jsx)(h.A,{title:"Chat",children:(0,t.jsx)(W,{})})}function W(){var e,a,s;let r=(0,n.useRouter)(),{access:h}=(0,P.Z2)(),g=(0,D.d)(),v=(null==h||null==(a=h.info)||null==(e=a.coach)?void 0:e.id)?Number(h.info.coach.id):null,[b,j]=(0,f.useState)(""),[N,C]=(0,f.useState)(null),[I,z]=(0,f.useState)(!1),[_,T]=(0,f.useState)(!1),[B,W]=(0,f.useState)(!1),[K,V]=(0,f.useState)(null),F=(0,y.lW)(b),Z=(0,y.Mc)(F),H=(0,y.UU)(N),J=(0,y.Zz)(N),X=(0,y.Oi)(N),Y=(0,y.iv)(),$=(0,y.st)();(0,f.useEffect)(()=>{if(!r.isReady)return;let e=r.query.userId,a=Number(Array.isArray(e)?e[0]:e);Number.isFinite(a)&&a>0&&C(a)},[r.isReady,r.query.userId]),(0,f.useEffect)(()=>{null!==N&&Y.mutate(N)},[N]);let ee=H.student,ea=Z.unreadTotal;return(0,t.jsxs)("div",{className:"flex flex-col gap-5 p-5 font-sans",children:[(0,t.jsx)(U.A,{breadcrumb:(0,t.jsx)(O.A,{items:[q.K3,{label:"Chat"}]}),title:"Chat",subtitle:ea>0?"".concat(ea," ").concat(1===ea?"conversa aguarda":"conversas aguardam"," sua resposta."):"Converse com seus alunos.",actions:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[ea>0&&(0,t.jsxs)(p.A,{variant:"ghost",size:"sm",onClick:()=>W(!0),children:[(0,t.jsx)(o.A,{size:14}),"Marcar todas como lidas"]}),(0,t.jsxs)(l(),{href:"/dashboard/app/chat/broadcasts",className:(0,p.V)({variant:"ghost",size:"sm"}),children:[(0,t.jsx)(i.A,{size:14}),"Comunicados"]}),(0,t.jsxs)(p.A,{variant:"outline",size:"sm",onClick:()=>z(!0),children:[(0,t.jsx)(c.A,{size:14}),"Enviar comunicado"]})]})}),(0,t.jsxs)("section",{className:"flex h-[calc(100vh_-_13rem_-_var(--app-bottom-gutter,0px))] min-h-[420px] overflow-hidden rounded-lg border border-solid border-line-subtle bg-surface shadow-xs",children:[(0,t.jsxs)("aside",{className:(0,M.cn)("flex w-full shrink-0 flex-col border-0 border-solid border-line-subtle md:w-[320px] md:border-r",null!==N&&"hidden md:flex"),children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 p-3",children:[(0,t.jsxs)(p.A,{variant:"outline",size:"sm",onClick:()=>T(!0),children:[(0,t.jsx)(d,{size:14}),"Nova conversa"]}),(0,t.jsx)(L.A,{value:b,onChange:j,placeholder:"Buscar conversa…"})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,t.jsx)(E,{conversations:Z.conversations,loading:Z.isLoading,selectedUserId:N,onSelect:C,emptyMessage:F?"Nenhuma conversa encontrada.":'Nenhuma conversa ainda. Comece uma em "Nova conversa".',hasMore:Z.hasMore,loadingMore:Z.loadingMore,onLoadMore:Z.loadMore})})]}),(0,t.jsx)("div",{className:(0,M.cn)("flex min-w-0 flex-1 flex-col",null===N&&"hidden md:flex"),children:null===N?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 p-6 text-center",children:[(0,t.jsx)(u.A,{size:28,className:"text-fg-faint"}),(0,t.jsx)("p",{className:"m-0 text-sm text-fg-muted",children:"Escolha uma conversa para come\xe7ar."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("header",{className:"flex items-center gap-3 border-0 border-b border-solid border-line-subtle p-3",children:[(0,t.jsx)("button",{type:"button",onClick:()=>C(null),"aria-label":"Voltar para a lista",className:"inline-flex h-8 w-8 items-center justify-center rounded-md bg-transparent text-fg-muted hover:bg-surface-muted md:hidden",children:(0,t.jsx)(m.A,{size:16})}),(0,t.jsx)(k.A,{size:40,src:(null==ee?void 0:ee.imageUrl)?"".concat(S.a,"/assets/images/usuarios/").concat(ee.imageUrl):void 0,alt:null!=(s=null==ee?void 0:ee.name)?s:""}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-col",children:[(0,t.jsx)("span",{className:"truncate text-sm font-bold text-fg",children:ee?[ee.name,ee.surname].filter(
1Boolean).join(" "):"Carregando…"}),ee&&null!==v&&ee.coachId!==v&&(0,t.jsx)("span",{className:"text-xs text-fg-muted",children:"Aluno de outro professor"})]}),ee&&(0,t.jsx)("a",{href:"/dashboard/app/students/".concat(ee.id,"?from=").concat((0,q.Kq)("chat")),className:"ml-auto text-xs font-semibold text-fg-brand hover:underline",children:"Ver aluno"})]}),(0,t.jsx)(Q,{messages:H.messages,loading:H.isLoading,coachId:v,hasMore:H.hasMore,loadingOlder:H.loadingOlder,onLoadOlder:H.loadOlder,onRequestDelete:V}),(0,t.jsx)(w,{sending:J.isLoading,onSend:function(e){J.mutate(e,{onError:()=>{g.error("N\xe3o foi poss\xedvel enviar a mensagem.")}})}})]})})]}),(0,t.jsx)(G,{open:_,onClose:()=>T(!1),onSelect:C}),(0,t.jsx)(R.A,{open:B,onClose:()=>W(!1),onConfirm:function(){$.mutate(void 0,{onSuccess:()=>{W(!1),g.success("Todas as conversas foram marcadas como lidas.")},onError:()=>{g.error("N\xe3o foi poss\xedvel marcar as conversas como lidas.")}})},loading:$.isLoading,tone:"warning",icon:o.A,title:"Marcar todas as conversas como lidas?",description:"".concat(ea," ").concat(1===ea?"conversa deixa":"conversas deixam"," de aparecer como aguardando resposta. As mensagens continuam no hist\xf3rico, e isso n\xe3o avisa ningu\xe9m."),confirmLabel:"Marcar todas como lidas"}),(0,t.jsx)(R.A,{open:null!==K,onClose:()=>V(null),onConfirm:function(){if(!K)return;let e=K.id;X.mutate(e,{onSuccess:()=>{H.removeMessage(e),V(null)},onError:()=>{g.error("N\xe3o foi poss\xedvel apagar a mensagem.")}})},loading:X.isLoading,tone:"danger",icon:x.A,title:"Apagar esta mensagem?",description:"A mensagem some da conversa para voc\xea e para o aluno. Essa a\xe7\xe3o \xe9 permanente e n\xe3o pode ser desfeita.",confirmLabel:"Apagar mensagem"}),(0,t.jsx)(A,{open:I,onClose:()=>z(!1),onSent:e=>g.success("Mensagem enviada para ".concat(e," ").concat(1===e?"aluno":"alunos","."))})]})}},66564:(e,a,s)=>{"use strict";s.d(a,{A:()=>c});var t=s(23798),n=s(21462),r=s(66790);let l={32:"h-8 w-8 text-xs",40:"h-10 w-10 text-sm",48:"h-12 w-12 text-base",56:"h-14 w-14 text-lg",96:"h-24 w-24 text-3xl"},o={orange:"bg-gradient-to-br from-orange-400 to-orange-500",purple:"bg-gradient-to-br from-purple-300 to-purple-400",green:"bg-gradient-to-br from-green-300 to-success",red:"bg-gradient-to-br from-error-300 to-error-500",blue:"bg-gradient-to-br from-info-200 to-info-500"},i=(0,n.forwardRef)(function(e,a){let{size:s=40,src:i,alt:c,initials:d,color:u="orange",className:m,...x}=e,f=null!=d?d:c?c.split(/\s+/).filter(Boolean).slice(0,2).map(e=>{var a,s;return null!=(s=null==(a=e[0])?void 0:a.toUpperCase())?s:""}).join(""):"",[h,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>g(!1),[i]);let p=!!i&&!h;return(0,t.jsx)("div",{ref:a,role:p?"img":void 0,"aria-label":c,className:(0,r.cn)("inline-flex shrink-0 items-center justify-center rounded-full font-bold text-fg-inverted font-sans overflow-hidden",l[s],!p&&o[u],m),...x,children:p?(0,t.jsx)("img",{src:i,alt:null!=c?c:"",className:"h-full w-full object-cover",draggable:!1,onError:()=>g(!0)}):(0,t.jsx)("span",{children:f})})}),c=Object.assign(i,{Stack:(0,n.forwardRef)(function(e,a){let{className:s,children:n,...l}=e;return(0,t.jsx)("div",{ref:a,className:(0,r.cn)("inline-flex items-center [&>*]:-ml-2 [&>*]:border-2 [&>*]:border-line-subtle [&>*:first-child]:ml-0",s),...l,children:n})}),Ring:(0,n.forwardRef)(function(e,a){let{color:s="orange",className:n,children:l,...i}=e;return(0,t.jsx)("div",{ref:a,className:(0,r.cn)("inline-flex rounded-full p-0.5",o[s],"[&>*]:border-2 [&>*]:border-white",n),...i,children:l})})})},69814:(e,a,s)=>{"use strict";s.d(a,{Kd:()=>j,Kf:()=>y,Mc:()=>u,Oi:()=>p,Te:()=>x,UU:()=>h,Zz:()=>g,fJ:()=>N,gI:()=>f,iv:()=>v,lW:()=>d,rS:()=>m,st:()=>b});var t=s(21462),n=s(32759),r=s(85567);let l="coach-chat:conversations",o="coach-chat:unread-preview",i="coach-chat:conversation",c="coach-chat:broadcasts";function d(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:350,[s,n]=(0,t.useState)(e);return(0,t.useEffect)(()=>{let s=setTimeout(()=>n(e),a);return()=>clearTimeout(s)},[e,a]),s}function u(e){var a,s,o;let[i,c]=(0,t.useState)([]),[d,u]=(0,t.useState)(!1),[m,x]=(0,t.useState)(!1),[f,h]=(0,t.useState)(1);(0,t.useEffect)(()=>{c([]),x(!1),h(1)},[e]);let g=(0,n.useQuery)([l,e],async()=>{let{data:a}=await r.Gn.get("/coach/chat/conversations",{params:{page:1,limit:30,search:e||void 0}});return a}
1,{refetchInterval:5e3,refetchIntervalInBackground:!1,staleTime:0,keepPreviousData:!0}),p=(0,t.useMemo)(()=>{var e,a;let s=new Set;return[...null!=(a=null==(e=g.data)?void 0:e.items)?a:[],...i].filter(e=>!s.has(e.userId)&&(s.add(e.userId),!0))},[g.data,i]),v=!m&&(!!(null==(a=g.data)?void 0:a.hasMore)||i.length>0);async function b(){if(!d&&!m){u(!0);try{let a=f+1,{data:s}=await r.Gn.get("/coach/chat/conversations",{params:{page:a,limit:30,search:e||void 0}});c(e=>[...e,...s.items]),h(a),s.hasMore||x(!0)}finally{u(!1)}}}return{conversations:p,unreadTotal:null!=(o=null==(s=g.data)?void 0:s.unreadTotal)?o:0,isLoading:g.isLoading,hasMore:v,loadingMore:d,loadMore:b}}let m=5;function x(){return(0,n.useQuery)([o],async()=>{let{data:e}=await r.Gn.get("/coach/chat/conversations",{params:{page:1,limit:m,unreadOnly:!0}});return e},{staleTime:6e4})}function f(e,a){return(0,n.useInfiniteQuery)(["coach-chat:students",e],async a=>{let{pageParam:s=1}=a,{data:t}=await r.Gn.get("/coach/chat/students",{params:{page:s,limit:30,search:e||void 0}});return t},{enabled:a,getNextPageParam:(e,a)=>e.hasMore?a.length+1:void 0,staleTime:6e4,keepPreviousData:!0})}function h(e){var a,s;let[l,o]=(0,t.useState)([]),[c,d]=(0,t.useState)(!1),[u,m]=(0,t.useState)(!1);(0,t.useEffect)(()=>{o([]),m(!1)},[e]);let x=(0,n.useQuery)([i,e],async()=>{let{data:a}=await r.Gn.get("/coach/chat/conversations/".concat(e),{params:{limit:50}});return a},{enabled:null!==e,refetchInterval:5e3,refetchIntervalInBackground:!1,staleTime:0}),f=(0,t.useMemo)(()=>{var e,a;let s=new Set;return[...null!=(a=null==(e=x.data)?void 0:e.messages)?a:[],...l].filter(e=>!s.has(e.id)&&(s.add(e.id),!0))},[x.data,l]),h=!u&&(l.length>0||!!(null==(a=x.data)?void 0:a.hasMore));async function g(){if(!c&&!u&&0!==f.length){d(!0);try{let a=f[f.length-1],{data:s}=await r.Gn.get("/coach/chat/conversations/".concat(e),{params:{limit:50,beforeId:a.id}});o(e=>[...e,...s.messages]),s.hasMore||m(!0)}finally{d(!1)}}}return{student:null==(s=x.data)?void 0:s.student,messages:f,isLoading:x.isLoading,hasMore:h,loadingOlder:c,loadOlder:g,removeMessage:function(e){o(a=>a.filter(a=>a.id!==e))}}}function g(e){let a=(0,n.useQueryClient)();return(0,n.useMutation)(async a=>{let{data:s}=await r.Gn.post("/coach/chat/conversations/".concat(e,"/messages"),{message:a});return s},{onSuccess:()=>{a.invalidateQueries([i,e]),a.invalidateQueries([l]),a.invalidateQueries([o])}})}function p(e){let a=(0,n.useQueryClient)();return(0,n.useMutation)(async a=>{let{data:s}=await r.Gn.delete("/coach/chat/conversations/".concat(e,"/messages/").concat(a));return s},{onSuccess:()=>{a.invalidateQueries([i,e]),a.invalidateQueries([l]),a.invalidateQueries([o])}})}function v(){let e=(0,n.useQueryClient)();return(0,n.useMutation)(async e=>{let{data:a}=await r.Gn.post("/coach/chat/conversations/".concat(e,"/read"));return a},{onSuccess:a=>{a.markedAsRead>0&&(e.invalidateQueries([l]),e.invalidateQueries([o]))}})}function b(){let e=(0,n.useQueryClient)();return(0,n.useMutation)(async()=>{let{data:e}=await r.Gn.post("/coach/chat/conversations/read-all");return e},{onSuccess:()=>{e.invalidateQueries([l]),e.invalidateQueries([o])}})}function j(e){return(0,n.useInfiniteQuery)([c],async e=>{let{pageParam:a=1}=e,{data:s}=await r.Gn.get("/coach/chat/broadcasts",{params:{page:a,limit:20}});return s},{enabled:e,getNextPageParam:(e,a)=>e.hasMore?a.length+1:void 0,staleTime:3e4})}function y(e,a){return(0,n.useQuery)(["coach-chat:broadcast-count",e],async()=>{let{data:a}=await r.Gn.get("/coach/chat/broadcast/count",{params:e?{classroomId:e}:void 0});return a},{enabled:a,staleTime:6e4})}function N(){let e=(0,n.useQueryClient)();return(0,n.useMutation)(async e=>{let{data:a}=await r.Gn.post("/coach/chat/broadcast",e);return a},{onSuccess:()=>{e.invalidateQueries([l]),e.invalidateQueries([c])}})}},75633:(e,a,s)=>{"use strict";s.d(a,{A:()=>t});let t=(0,s(74892).A)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},77482:(e,a,s)=>{"use strict";s.d(a,{A:()=>t});let t=(0,s(74892).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},80198:(e,a,s)=>{"use strict";s.d(a,{A:()=>r});var t=s(23798),n=s(66790);function r(e){let{width:a,height:s,rounded:r="sm",className:l}=e;return(0,t.jsx)("span",{"aria-hidden":!0,style:{width:"number"==typeof a?"".concat(a,"px"):a,height:"number"==typeof s?"".concat(s,"px"):s,borderRadius:"number"==typeof r?"".concat(r,"px"):"full"===r?"9999px":void 0},className:(0,n.cn)("block animate-pulse bg-neutral-200","sm"===r&&"rounded-xs","md"===r&&"rounded-md",l)})}},97594:(e,a,s)=>{"use strict";s.d(a,{E:()=>r,l:()=>l});var t=s(32759),n=s(85567);let r="classrooms:list";function l(e,a){return(0,t.useQuery)([r,e],async()=>{let{data:a}=await n.Gn.get("/coach/classrooms",{params:e});return a},{keepPreviousData:!0,staleTime:3e4,...a})}}},e=>{e.O(0,[7537,8025,636,6593,8792],()=>e(e.s=13323)),_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.