1(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[8720],{27908:(e,a,t)=>{e.exports=t.p+"static/media/logo-radio-mec-laranja.f0bc2948.svg"},17772:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>te});var i=t(83740),n=t(28144),r=t(62816);function s(){const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function o(e){return new Date(`${e}T12:00:00`).getDay()}function l(e){var a;return null!==(a=["Domingo","Segunda-feira","Ter\xe7a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S\xe1bado"][e])&&void 0!==a?a:`Dia ${e}`}function d(e,a){const t=new Date(`${e}T12:00:00`),i=a-t.getDay(),n=new Date(t);n.setDate(t.getDate()+i);return`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`}function u(e){if(!e)return"";const[a,t,i]=e.split("-");return a&&t&&i?`${i}/${t}/${a}`:e}function c(e){const[a,t]=e.split(":").map(Number);return Number.isNaN(a)||Number.isNaN(t)||a<0||a>23||t<0||t>59?-1:60*a+t}function m(e){const a=Math.floor(e/60)%24,t=e%60;return`${String(a).padStart(2,"0")}:${String(t).padStart(2,"0")}`}function v(e){if(!e)return"0 min";const a=Math.floor(e/60),t=e%60;return a&&t?`${a}h ${t}min`:a?`${a}h`:`${t}min`}var p=i.createElement;function g({value:e,options:a,placeholder:t="Selecionar",disabled:n=!1,searchable:r=!1,ariaLabel:s="Lista de op\xe7\xf5es",className:o="",onChange:l,variant:d="floating"}){var u;const c=i.useRef(null),m=i.useRef(null),v=i.useRef(null),g=i.useRef(null),h=i.useId(),[f,_]=i.useState(!1),[b,w]=i.useState(!1),[N,y]=i.useState(""),[k,S]=i.useState(0),$=i.useMemo(()=>{var t;return null!==(t=a.find(a=>a.value===e))&&void 0!==t?t:null},[a,e]),x=i.useMemo(()=>{const e=N.trim().toLowerCase();return r&&e?a.filter(a=>a.label.toLowerCase().includes(e)):a},[a,N,r]),D=i.useMemo(()=>x.findIndex(a=>a.value===e),[x,e]),M=i.useCallback((e=!1)=>{_(!1),y(""),S(0),window.setTimeout(()=>{var a;(w(!1),e)&&(null===(a=m.current)||void 0===a||a.focus())},180)},[]),T=i.useCallback(()=>{n||(w(!0),requestAnimationFrame(()=>{_(!0),r&&window.setTimeout(()=>{var e;null===(e=g.current)||void 0===e||e.focus()},10)}))},[n,r]);function L(e){const t=a.find(a=>a.value===e);null!==t&&void 0!==t&&t.disabled||(l(e),M(!0))}return i.useEffect(()=>{if(b)return document.addEventListener("mousedown",e),document.addEventListener("keydown",a),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",a)};function e(e){c.current&&(c.current.contains(e.target)||M(!1))}function a(e){"Escape"===e.key&&M(!0)}},[b,M]),i.useEffect(()=>{S(D>=0?D:0)},[N,b,D]),p("div",{ref:c,className:`scheduleDropdown scheduleDropdown--${d} ${o} ${f?"is-open":""} ${n?"is-disabled":""}`},p("button",{ref:m,type:"button",className:"scheduleDropdown__btn","aria-haspopup":"listbox","aria-expanded":f,"aria-controls":h,disabled:n,onClick:function(){n||(f?M(!1):T())},onKeyDown:function(e){n||"Enter"!==e.key&&" "!==e.key&&"ArrowDown"!==e.key||(e.preventDefault(),f?M(!1):T())}},p("span",{className:"scheduleDropdown__label "+($?"is-filled":"is-placeholder")},null!==(u=null===$||void 0===$?void 0:$.label)&&void 0!==u?u:t),p("span",{className:"scheduleDropdown__caretWrap","aria-hidden":"true"},p("svg",{className:"scheduleDropdown__caret",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",width:"12",height:"12"},p("path",{d:"M3 5 L6 8 L9 5"})))),b&&p("div",{id:h,ref:v,className:"scheduleDropdown__menu"+(f?" is-open":""),role:"listbox","aria-label":s,tabIndex:-1,onKeyDown:function(e){if(x.length&&("ArrowDown"===e.key&&(e.preventDefault(),S(e=>e<x.length-1?e+1:e)),"ArrowUp"===e.key&&(e.preventDefault(),S(e=>e>0?e-1:0)),"Enter"===e.key)){e.preventDefault();const a=x[k];a&&L(a.value)}}},r?p("div",{className:"scheduleDropdown__searchWrap"},p("input",{ref:g,type:"text",className:"scheduleDropdown__search",placeholder:"Buscar",value:N,onChange:e=>y(e.target.value),onKeyDown:function(e){if(x.length&&("ArrowDown"===e.key&&(e.preventDefault(),S(e=>e<x.length-1?e+1:e)),"ArrowUp"===e.key&&(e.preventDefault(),S(e=>e>0?e-1:0)),"Enter"===e.key)){e.preventDefault();const a=x[k];a&&L(a.value)}}})):null,p("div",{className:"scheduleDropdown__list",onMouseLeave:()=>{S(D>=0?D:-1)}},x.length?x.map((a,t)=>p("button",{key:a.value,type:"button",role:"option","aria-selected":a.value===e,"aria-disabled":a.disabled?"true":"false",disabled:a.disabled,className:`scheduleDropdown__item ${a.value===e?"is-selected":""} ${t===k?"is-highlighted":""} ${a.disabled?"is-disabled":""}`,onMouseEnter:()=>{a.disabled||S(t)},onClick:()=>L(a.value)},p("span",{className:"scheduleDropdown__itemLabel"},a.label),a.hint?p("span",{className:"scheduleDropdown__itemHint"},a.hint):null)):p("div",{className:"scheduleDropdown__empty"},"Nenhum resultado encontrado."))))}var h=i.createElement;function f({item:e,programOptions:a,index:t,isDragging:n=!1,isDragOver:s=!1,externalIssues:o=[],wasRecalculated:l=!1,canLockTime:d=!1,canAddBelow:u=!0,onChange:v,onAddBelow:p,onRemove:f,onDragStart:_,onDragEnter:b,onDragEnd:w,onDropRow:N}){var y,k,S,$,x,D,M,T;const[L,I]=i.useState(!1),C=(O=e.startTime,E=e.durationMinutes,m(c(O)+E));var O,E;const A=i.useMemo(()=>{var t;return null!==(t=a.find(a=>a.token===e.programId))&&void 0!==t?t:null},[a,e.programId]),R=i.useMemo(()=>a.map(e=>({label:e.title,value:e.token})),[a]);function P(a,t){v((0,r.c)((0,r.c)({},e),{},{[a]:t}))}function G(){var a;return null!==(a=e.titleOverride)&&void 0!==a&&a.trim()?e.titleOverride.trim():null!==A&&void 0!==A&&A.title?A.title:"Programa
1n\xe3o selecionado"}const j=!(null===A||void 0===A||!A.title),F=function(e){var a;const t=[],i=!!e.programId,n=!(null===(a=e.titleOverride)||void 0===a||!a.trim());var r;i||n||t.push({code:"missing_program",label:"Programa ou t\xedtulo da faixa n\xe3o definido",level:"warning"}),(r=e.startTime)&&/^([01]\d|2[0-3]):([0-5]\d)$/.test(r)||t.push({code:"invalid_start_time",label:"Hor\xe1rio de in\xedcio inv\xe1lido",level:"error"}),(!Number(e.durationMinutes)||Number(e.durationMinutes)<=0)&&t.push({code:"invalid_duration",label:"Dura\xe7\xe3o inv\xe1lida",level:"error"});const s=t.some(e=>"error"===e.level),o=t.some(e=>"warning"===e.level);return s?{status:"conflict",label:"Conflito",className:"is-conflict",issues:t}:o?{status:"pending",label:"Pendente",className:"is-pending",issues:t}:{status:"ok",label:"OK",className:"is-ok",issues:[]}}(e),V=[...F.issues,...o],H=V.some(e=>"error"===e.level),B=V.some(e=>"warning"===e.level),z=H?{status:"conflict",label:"Conflito",className:"is-conflict",issues:V}:B?{status:"pending",label:"Pendente",className:"is-pending",issues:V}:{status:"ok",label:"OK",className:"is-ok",issues:[]},U=z.label,W=z.className,Y=["schedule-editor-row",L?"is-open":"",n?"is-dragging":"",s?"is-drag-over":"",l?"is-recalculated":"","pending"===z.status?"is-pending":"","conflict"===z.status?"is-conflict":"","ok"===z.status?"is-valid":""].filter(Boolean).join(" "),K="conflict"===z.status?"is-conflict":"pending"===z.status?"is-warning":j?"is-program-linked":"is-default",Q="conflict"===z.status?"Conflito":"pending"===z.status?"Pendente":j?"Programa vinculado":"Faixa avulsa",q=!(null===(y=e.titleOverride)||void 0===y||!y.trim());return h("article",{className:Y,draggable:!0,"aria-grabbed":n,"aria-label":`Faixa ${t+1}: ${G()}`,onDragStart:()=>{_(t)},onDragEnter:e=>{e.preventDefault(),b(t)},onDragOver:e=>{e.preventDefault()},onDrop:e=>{e.preventDefault(),N(t)},onDragEnd:w},h("div",{className:"schedule-editor-row__summary"},h("div",{className:"schedule-editor-row__rail"},h("span",{className:"schedule-editor-row__slotIndex"},"Faixa #",t+1),h("button",{type:"button",className:"schedule-editor-row__dragHandle","aria-label":`Reordenar faixa ${t+1}`,tabIndex:-1},h("span",null),h("span",null),h("span",null)),h("span",{className:`schedule-editor-row__railStatus ${W}`},U)),h("div",{className:"schedule-editor-row__main"},h("button",{type:"button",className:"schedule-editor-row__remove",onClick:function(){f(e.id)},"aria-label":`Remover faixa ${t+1}`},"\xd7 Remover"),h("div",{className:"schedule-editor-row__topline"},h("div",{className:"schedule-editor-row__toplineLeft"},h("div",{className:"schedule-editor-row__program-meta"},h("strong",{className:"schedule-editor-row__program-name"},G()),h("p",{className:"schedule-editor-row__program-subtitle"},e.startTime," \xe0s ",C," \u2022 dura\xe7\xe3o de"," ",e.durationMinutes," min"),h("div",{className:"schedule-editor-row__badges"},h("span",{className:`schedule-editor-row__badge ${K}`},Q),l?h("span",{className:"schedule-editor-row__badge is-recalculated"},"Hor\xe1rio atualizado"):null,h("span",{className:"schedule-editor-row__badge "+(e.isLive?"is-live":e.isRerun?"is-rerun":"is-default")},e.isLive?"Ao vivo":e.isRerun?"Reprise":"Padr\xe3o"),h("span",{className:"schedule-editor-row__badge "+("cancelled"===e.status?"is-cancelled":"special"===e.status?"is-special":"is-scheduled")},"special"===e.status?"Especial":"cancelled"===e.status?"Cancelado":"Agendado"),h("span",{className:"schedule-editor-row__badge is-default"},e.durationMinutes," min")),z.issues.length>0&&h("ul",{className:"schedule-editor-row__issues","aria-label":"Pend\xeancias da faixa"},z.issues.map(a=>h("li",{key:`${e.id}-${a.code}-${a.label}`,className:`schedule-editor-row__issue is-${a.level}`},a.label))))),h("div",{className:"schedule-editor-row__toplineRight"}
1,h("div",{className:"schedule-editor-row__timelineCard is-header"},h("div",{className:"schedule-editor-row__timelineTop"},h("div",{className:"schedule-editor-row__timelinePoint"},h("span",{className:"schedule-editor-row__timelineLabel"},"In\xedcio"),h("strong",{className:"schedule-editor-row__timelineTime"},e.startTime)),h("div",{className:"schedule-editor-row__timelineLine","aria-hidden":"true"}),h("div",{className:"schedule-editor-row__timelinePoint"},h("span",{className:"schedule-editor-row__timelineLabel"},"T\xe9rmino"),h("strong",{className:"schedule-editor-row__timelineTime"},C)))))),h("div",{className:"schedule-editor-row__time"},h("label",{className:"schedule-editor-row__field"},h("span",null,"Hor\xe1rio de in\xedcio"),h("div",{className:"schedule-editor-row__timeField"},h("input",{type:"time",className:"schedule-editor-row__timeInput",value:e.startTime,onChange:e=>P("startTime",e.target.value)}),h("span",{className:"schedule-editor-row__timeIcon","aria-hidden":"true"},h("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},h("circle",{cx:"12",cy:"12",r:"8.5",stroke:"currentColor",strokeWidth:"1.8"}),h("path",{d:"M12 7.8V12.2L15.1 14",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"}))))),h("label",{className:"schedule-editor-row__field"},h("span",null,"Dura\xe7\xe3o (min)"),h("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",value:String(null!==(k=e.durationMinutes)&&void 0!==k?k:""),onChange:e=>{const a=e.target.value.replace(/\D/g,"");P("durationMinutes",Number(a||0))}}))),h("div",{className:"schedule-editor-row__headline"},h("div",{className:"schedule-editor-row__program-field"},h("span",null,"Programa vinculado"),h(g,{value:q?"":null!==(S=e.programId)&&void 0!==S?S:"",options:R,placeholder:q?"--":"Selecione um programa",searchable:!0,disabled:q,variant:"inline",ariaLabel:"Selecionar programa vinculado",className:q?"is-blocked-by-manual-title":"",onChange:e=>P("programId",e||null)}),q?h("p",{className:"schedule-editor-row__fieldHint"},"Para ativar a lista de programas novamente, remova o t\xedtulo manual."):null),h("label",{className:"schedule-editor-row__program-field"},h("span",null,"Novo t\xedtulo"),h("input",{type:"text",value:null!==($=e.titleOverride)&&void 0!==$?$:"",placeholder:"Use s\xf3 se quiser sobrescrever o nome exibido",onChange:e=>P("titleOverride",e.target.value)}),q?h("label",{className:"schedule-editor-row__program-field"},h("span",null,"Link do t\xedtulo"),h("input",{type:"url",value:null!==(x=e.linkOverride)&&void 0!==x?x:"",placeholder:"https://...",onChange:e=>P("linkOverride",e.target.value)}),h("p",{className:"schedule-editor-row__fieldHint"},"Link opcional exibido ao clicar no t\xedtulo da faixa.")):null),h("div",{className:"schedule-editor-row__program-field"},h("span",null,"Tipo da faixa"),h(g,{value:e.isLive?"live":e.isRerun?"rerun":"",options:[{label:"Padr\xe3o",value:""},{label:"Ao vivo",value:"live"},{label:"Reprise",value:"rerun"}],placeholder:"Padr\xe3o",variant:"inline",ariaLabel:"Tipo da faixa",onChange:a=>{var t;v("live"!==(t=a)?"rerun"!==t?(0,r.c)((0,r.c)({},e),{},{isLive:!1,isRerun:!1}):(0,r.c)((0,r.c)({},e),{},{isLive:!1,isRerun:!0}):(0,r.c)((0,r.c)({},e),{},{isLive:!0,isRerun:!1}))}}))),h("div",{className:"schedule-editor-row__footerActions"},h("button",{type:"button",className:"schedule-editor-row__textAction",onClick:()=>p(t),"aria-label":`Adicionar nova faixa abaixo da faixa ${t+1}`,disabled:!u,title:u?"Adicionar nova faixa abaixo":"A grade j\xe1 est\xe1 100% preenchida."},u?"+ Nova faixa":"Grade cheia"),h("button",{type:"button",className:"schedule-editor-row__toggle",onClick:()=>I(e=>!e),"aria-expanded":L,"aria-label":L?"Ocultar detalhes da faixa":"Editar detalhes da faixa"},L?"Ocultar detalhes":"Editar detalhes")))),h("div",{className:"schedule-editor-row__detailsWrap "+(L?"is-open":""),"aria-hidden":!L},h("div",{className:"schedule-editor-row__details"},h("label",null,h("span",null,"Descri\xe7\xe3o sobrescrita"),h("textarea",{rows:4,value:null!==(D=e.descriptionOverride)&&void 0!==D?D:"",placeholder:"Detalhes adicionais da faixa",onChange:e=>P("descriptionOverride",e.target.value)})),h("label",null,h("span",null,"Observa\xe7\xf5es"),h("textarea",{rows:3,value:null!==(M=e.notes)&&void 0!==M?M:"",placeholder:"Observa\xe7\xf5es editoriais internas",onChange:e=>P("notes",e.target.value)})),h("div",null,h("span",null,"Status"),h(g,{value:null!==(T=e.status)&&void 0!==T?T:"scheduled",options:[{label:"Agendado",value:"scheduled"},{label:"Especial",value:"special"},{label:"Cancelado",value:"cancelled"}],variant:"inline",ariaLabel:"Status da faixa",onChange:e=>P("status",e)})))))}function _(e){const[a,t]=e.split(":").map(Number);return Number.isNaN(a)||Number.isNaN(t)||a<0||a>23||t<0||t>59?0:60*a+t}function b(e){const a=(e%1440+1440)%1440,t=Math.floor(a/60),i=a%60;return`${String(t).padStart(2,"0")}
1:${String(i).padStart(2,"0")}`}function w(e){return e.map(e=>{var a;return(0,r.c)((0,r.c)({},e),{},{linkedStationIds:[...null!==(a=e.linkedStationIds)&&void 0!==a?a:[]]})})}function N(e,a){if(!e.length)return e;const t=w(e);for(let i=a+1;i<t.length;i+=1){const e=t[i-1],a=t[i],n=_(e.startTime)+Number(e.durationMinutes||0);t[i]=(0,r.c)((0,r.c)({},a),{},{startTime:b(n)})}return t}function y(e){const[a,t]=e.split(":").map(Number);return 60*a+t}function k(e){const a=Math.floor(e/60)%24,t=e%60;return`${String(a).padStart(2,"0")}:${String(t).padStart(2,"0")}`}function S(e){var a;return(0,r.c)((0,r.c)({},e),{},{linkedStationIds:[...null!==(a=e.linkedStationIds)&&void 0!==a?a:[]]})}function $(e){return/^\d{2}:\d{2}$/.test(e)}function x(e){const[a,t]=e.split(":").map(Number);return Number.isNaN(a)||Number.isNaN(t)||a<0||a>23||t<0||t>59?-1:60*a+t}function D(e){const a=(e%1440+1440)%1440,t=Math.floor(a/60),i=a%60;return`${String(t).padStart(2,"0")}:${String(i).padStart(2,"0")}`}var M=i.createElement;const T=1440;function L(e){const a=e[e.length-1];if(!a)return"14:00";return function(e){const a=(e%1440+1440)%1440,t=Math.floor(a/60),i=a%60;return`${String(t).padStart(2,"0")}:${String(i).padStart(2,"0")}`}(function(e){const[a,t]=e.split(":").map(Number);return Number.isNaN(a)||Number.isNaN(t)||a<0||a>23||t<0||t>59?0:60*a+t}(a.startTime)+(Number(a.durationMinutes)||0))}function I(e){return e.reduce((e,a)=>e+Math.max(Number(a.durationMinutes||0),0),0)}function C(e){return Math.max(T-I(e),0)}function O(e){const a=C(e);return a<=0?null:{id:`item-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,programId:null,titleOverride:"",descriptionOverride:"",linkOverride:"",startTime:L(e),durationMinutes:Math.min(60,a),isLive:!1,isRerun:!1,linkedStationIds:[],notes:"",status:"scheduled",isTimeLocked:!1}}function E({title:e,items:a,programOptions:t,isWeeklyMode:n,onChange:s}){const[o,l]=i.useState(null),[d,u]=i.useState(null),[c,m]=i.useState([]);function p(e){e.length&&(m(e),window.setTimeout(()=>{m([])},1400))}function g(e){const t=a.findIndex(a=>a.id===e.id),i=a.map(a=>a.id===e.id?e:a),n=t>=0?N(i,t):i,r=t>=0?n.slice(t+1).filter(e=>!e.isTimeLocked).map(e=>e.id):[];s(n),p(r)}function h(e){if(!window.confirm("Tem certeza que deseja remover esta faixa?"))return;const t=a.findIndex(a=>a.id===e),i=a.filter(a=>a.id!==e),n=t>0?N(i,t-1):i,r=t>=0?n.slice(Math.max(t,0)).filter(e=>!e.isTimeLocked).map(e=>e.id):[];s(n),p(r)}function _(){const e=O(a);if(!e)return;const t=[...a,e];s(t)}function b(e){const t=O(a);if(!t)return;const i=[...a];i.splice(e+1,0,t);const n=i.length>1?N(i,e):i,r=n.slice(e+1).filter(e=>!e.isTimeLocked).map(e=>e.id);s(n),p(r)}function w(e,t,i){const n=C(a),o=Math.min(i,n);if(o<=0)return;const l=(0,r.c)((0,r.c)({},function(e,a){return{id:`item-gap-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,programId:null,titleOverride:"Programa\xe7\xe3o Musical",descriptionOverride:"",startTime:e,durationMinutes:a,isLive:!1,isRerun:!1,linkedStationIds:[],notes:"Faixa criada automaticamente para preencher intervalo vazio.",status:"scheduled"}}(t,o)),{},{id:`item-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,programId:null,titleOverride:"",descriptionOverride:"",linkOverride:"",isLive:!1,isRerun:!1,linkedStationIds:[],notes:"",status:"scheduled",isTimeLocked:!1}),d=[...a];d.splice(e+1,0,l);const u=N(d,0);s(u),p(u.filter(e=>!e.isTimeLocked).map(e=>e.id))}const L=i.useMemo(()=>I(a),[a]),E=Math.max(T-L,0),A=L>=T,R=L>T,P=R?`A grade ultrapassou 24h em ${v(L-T)}`:A?"Grade 100% preenchida":`Ainda cabem ${v(E)}`,G=function(e){if(!e.length)return[];const a=[];for(let t=0;t<e.length-1;t+=1){const i=e[t],n=e[t+1],r=y(i.startTime)+Number(i.durationMinutes||0),s=y(n.startTime);s>r&&a.push({indexAfter:t,startTime:k(r),endTime:n.startTime,durationMinutes:s-r})}return a}(a).filter(e=>!A&&e.durationMinutes>0),j=i.useMemo(()=>function(e){const a={};e.forEach(e=>{a[e.id]=[]});for(let t=1;t<e.length;t+=1){const i=e[t-1],n=e[t];if(null===i||void 0===i||!i.startTime||null===n||void 0===n||!n.startTime||!$(i.startTime)||!$(n.startTime))continue;const r=x(i.startTime),s=x(n.startTime),o=Number(i.durationMinutes||0);if(r<0||s<0||o<=0)continue;const l=r+o;if(s<r)a[n.id].push({code:"out_of_order",label:"Est\xe1 fora da ordem cronol\xf3gica da grade",level:"error"});else{if(s<l){const e=!!i.isTimeLocked,t=!!n.isTimeLocked;a[n.id].push({code:"overlap_with_previous",label:e&&!t?`Conflito com faixa de hor\xe1rio fixo anterior (${n.startTime} come\xe7a antes de ${D(l)})`:t&&!e?`Faixa fixa conflita com o t\xe9rmino da anterior (${n.startTime} come\xe7a antes de ${D(l)})`:`Sobreposi\xe7\xe3o com a faixa anterior (${n.startTime} come\xe7a antes de ${D(l)})`,level:"error"});continue}s>l&&a[n.id].push({code:"gap_from_previous",label:`H\xe1 uma lacuna antes desta faixa (${D(l)} at\xe9 ${n.startTime})`,level:"warning"})}}return a}(a),[a]);function F(e){var t;null!==(t=a[e])&&void 0!==t&&t.isTimeLocked||(l(e),u(e))}function V(e){null!==o&&u(e)}function H(){l(null),u(null)}function B(e){if(null===o)return void H();const t=function(e,a,t){if(a<0||t<0||a>=e.length||t>=e.length||a===t)return e;const i=e[a];if(!i||i.isTimeLocked)return e;const n=e.map(S),r=n[t],[s]=n.splice(a,1);let o=t;o=(null!==r&&void 0!==r&&r.isTimeLocked,a<t?t-1:t);return o<0&&(o=0),o>n.length&&(o=n.length),n.splice(o,0,s),n}(a,o,e),i=Math.min(o,e),n=t.length>0?N(t,Math.max(i-1,0)):t,r=n.slice(Math.max(i,0)).filter(e=>!e.isTimeLocked).map(e=>e.id);s(n),p(r),H()}return M("section",{className:"schedule-editor-grid"},M("div",{className:"schedule-editor-grid__header"},M("div",null,M("p",{className:"schedule-editor-grid__eyebrow"},"Grade edit\xe1vel"),M("h2",{className:"schedule-editor-grid__title"},e),M("p",{className:"schedule-editor-grid__hint"},"Arraste para reordenar as faixas. Os hor\xe1rios seguintes ser\xe3o recalculados automaticamente."),M("div",{className:"schedule-editor-grid__capacity "+(R?"is-overflowing":A?"is-full":"is-available"),role:R?"alert":"status"},M("strong",null,v(L)),M("span",null,"de 24h preenchidas \xb7 ",P))),M("button",{type:"button",className:"schedule-editor-grid__addAction",onClick:_,disabled:A,title:A?"A grade j\xe1 est\xe1 100% preenchida. Remova ou reduza uma faixa para adicionar outra.":"Adicionar nova faixa"},A?"Grade cheia":"+ Nova faixa")),M("div",{className:"schedule-editor-grid__list"},a.length?a.map((e,a)=>{var r;const s=G.find(e=>e.indexAfter===a);return M(i.Fragment,{key:e.id},null!==o&&d===a&&o!==a?M("div",{className:"schedule-editor-grid__drop-indicator","aria-hidden":"true"}):null,M(f,{item:e,programOptions:t,index:a,externalIssues:null!==(r=j[e.id])&&void 0!==r?r:[],wasRecalculated:c.includes(e.id),isDragging:o===a,isDragOver:d===a&&o!==a,onChange:g,onRemove:h,onAddBelow:b,onDragStart:F,onDragEnter:V,onDragEnd:H,onDropRow:B,canLockTime:n,canAddBelow:!A}),s?M("div",{className:"schedule-editor-grid__gap"},M("div",{className:"schedule-editor-grid__gap-info"},M("strong",null,"Intervalo vazio"),M("span",null,"de ",s.startTime," at\xe9 ",s.endTime,"
1(",s.durationMinutes," min)")),M("button",{type:"button",className:"schedule-editor-grid__gap-action",onClick:()=>w(s.indexAfter,s.startTime,s.durationMinutes)},"Preencher com Programa\xe7\xe3o Musical")):null)}):M("div",{className:"schedule-editor-grid__empty"},M("p",null,"Nenhum item cadastrado para esta grade."),M("button",{type:"button",className:"schedule-editor-grid__emptyAction",onClick:_,disabled:A},A?"Grade cheia":"Criar primeira faixa"))))}var A=i.createElement;function R({stations:e,currentStationId:a,currentDate:t,currentMode:n,disabled:r=!1,onCopy:s}){const[c,m]=i.useState(a),[v,p]=i.useState(t),[h,f]=i.useState(n),[_,b]=i.useState(String(o(t))),[w,N]=i.useState(a),[y,k]=i.useState(t),[S,$]=i.useState(n),[x,D]=i.useState([String(o(t))]),M=e.map(e=>({label:e.title,value:e.id})),T=[{label:"Domingo",value:"0"},{label:"Segunda-feira",value:"1"},{label:"Ter\xe7a-feira",value:"2"},{label:"Quarta-feira",value:"3"},{label:"Quinta-feira",value:"4"},{label:"Sexta-feira",value:"5"},{label:"S\xe1bado",value:"6"}],L=[{label:"Grade semanal",value:"weekly"},{label:"Grade especial por data",value:"exception"}];function I(a){var t,i,n;return null!==(t=null!==(i=null===(n=e.find(e=>e.id===a))||void 0===n?void 0:n.title)&&void 0!==i?i:a)&&void 0!==t?t:"Emissora"}function C(e){return"weekly"===e?"Grade semanal":"Grade especial por data"}function O(e,a,t){const i=I(e);return"weekly"===a?`${i} \xb7 ${C(a)} \xb7 ${l(o(t))}`:`${i} \xb7 ${C(a)} \xb7 ${u(t)}`}i.useEffect(()=>{m(a),p(t),f(n),D([String(o(t))]),N(a),k(t),$(n),b(String(o(t)))},[a,t,n]);const E="weekly"===S?x.map(e=>d(t,Number(e))):[y],R="weekly"===h?d(t,Number(_)):v,P=c===w&&h===S&&1===E.length&&E[0]===R,G=!r&&!!c&&!!R&&!!w&&E.length>0&&!P;return A("section",{className:"schedule-copy-panel"},A("div",{className:"schedule-copy-panel__header"},A("div",null,A("p",{className:"schedule-copy-panel__eyebrow"},"A\xe7\xf5es r\xe1pidas"),A("h3",{className:"schedule-copy-panel__title"},"Copiar grade"),A("p",{className:"schedule-copy-panel__description"},"Use uma grade existente como base para outra emissora, data ou modo."))),A("div",{className:"schedule-copy-panel__grid"},A("div",{className:"schedule-copy-panel__column"},A("h4",null,"Origem"),A("div",null,A("span",null,"Emissora"),A(g,{value:c,options:M,ariaLabel:"Emissora de origem",disabled:r,onChange:m})),A("div",null,A("span",null,"Modo"),A(g,{value:h,options:L,ariaLabel:"Modo de origem",disabled:r,onChange:e=>f(e)})),"weekly"===h?A("div",null,A("span",null,"Dia da semana"),A(g,{value:_,options:T,ariaLabel:"Selecionar dia da semana de origem",disabled:r,onChange:b})):A("label",null,A("span",null,"Data"),A("input",{type:"date",value:v,onChange:e=>p(e.target.value),disabled:r}))),A("div",{className:"schedule-copy-panel__column"},A("h4",null,"Destino"),A("div",null,A("span",null,"Emissora"),A(g,{value:w,options:M,ariaLabel:"Emissora de destino",disabled:r,onChange:N})),A("div",null,A("span",null,"Modo"),A(g,{value:S,options:L,ariaLabel:"Modo de destino",disabled:r,onChange:e=>$(e)})),"weekly"===S?A("div",{className:"schedule-copy-panel__weekday-group"},A("span",{className:"schedule-copy-panel__weekday-label"},"Dias de destino"),A("div",{className:"schedule-copy-panel__weekday-actions"},A("button",{type:"button",onClick:function(){D(T.map(e=>e.value))},disabled:r},"Todos"),A("button",{type:"button",onClick:function(){D([])},disabled:r},"Limpar")),A("div",{className:"schedule-copy-panel__weekday-list"},T.map(e=>{const a=x.includes(e.value);return A("label",{key:e.value,className:"schedule-copy-panel__weekday-item"},A("input",{type:"checkbox",checked:a,disabled:r,onChange:()=>{return a=e.value,void D(e=>e.includes(a)?e.filter(e=>e!==a):[...e,a].sort((e,a)=>Number(e)-Number(a)));var a}}),A("span",null,e.label))}))):A("label",null,A("span",null,"Data"),A("input",{type:"date",value:y,onChange:e=>k(e.target.value),disabled:r})))),A("div",{className:"schedule-copy-panel__summary"},A("p",null,A("strong",null,"Origem:")," ","weekly"===h?`Grade semanal em ${l(Number(_))}`:`Grade especial por data em ${u(v)}`),A("p",null,A("strong",null,"Destino:")," ","weekly"===S?`Grade semanal em ${x.map(e=>l(Number(e))).join(", ")}`:`Grade especial por data em ${u(y)}`)),A("div",{className:"schedule-copy-panel__actions"},A("button",{type:"button",onClick:function(){if(!G)return;const e=E.map(e=>"weekly"===S?l(o(e)):u(e)).join(", ");window.confirm(["Confirmar c\xf3pia de grade?","",`Origem: ${O(c,h,R)}`,`Destino: ${I(w)} \xb7 ${C(S)}`,`Dias/datas de destino: ${e}`,"","A grade existente nos destinos selecionados ser\xe1 substitu\xedda por esta c\xf3pia."].join("\n"))&&s({sourceStationId:c,sourceDate:R,sourceMode:h,targetStationId:w,targetDates:E,targetMode:S})},disabled:!G},"Copiar grade")))}var P=t(7364),G=t(10632);function j(e){if(!e)return null;try{const a=new URL(e,window.location.origin);return`${G.GY}${a.pathname}${a.search}`}catch(a){return console.error("Falha ao normalizar URL de pagina\xe7\xe3o do vocabul\xe1rio:",a),null}}async function F(e){const a=await fetch(e,{credentials:"include",headers:{Accept:"application/json"}});if(!a.ok)throw new Error(`Erro ao buscar vocabul\xe1rio: ${a.status}`);return a.json()}async function V(e){var a,t;const i=`${G.GY}${e}`,n=await F(i),r=[...null!==(a=n.items)&&void 0!==a?a:[]];let s=j(null===(t=n.batching)||void 0===t?void 0:t.next);for(;s;){var o,l;const e=await F(s);r.push(...null!==(o=e.items)&&void 0!==o?o:[]),s=j(null===(l=e.batching)||void 0===l?void 0:l.next)}return r.filter(e=>(null===e||void 0===e?void 0:e.title)&&(null===e||void 0===e?void 0:e.token)).sort((e,a)=>
1e.title.localeCompare(a.title,"pt-BR"))}async function H(){try{return await V("/@vocabularies/ebc.radiomec.broadcasters")}catch(e){return console.error("Falha ao buscar vocabul\xe1rio de emissoras:",e),[]}}async function B(){try{return await V("/@vocabularies/ebc.radiomec.programs")}catch(e){return console.error("Falha ao buscar vocabul\xe1rio de programas:",e),[]}}function z(e=[]){return e.map(e=>(0,r.c)({},e))}function U(e){return e.map(e=>{var a,t,i,n,s,o;return(0,r.c)((0,r.c)({},e),{},{titleOverride:null!==(a=e.titleOverride)&&void 0!==a?a:"",descriptionOverride:null!==(t=e.descriptionOverride)&&void 0!==t?t:"",notes:null!==(i=e.notes)&&void 0!==i?i:"",linkedStationIds:null!==(n=e.linkedStationIds)&&void 0!==n?n:[],status:null!==(s=e.status)&&void 0!==s?s:"scheduled",isLive:!!e.isLive,isRerun:!!e.isRerun,programId:null!==(o=e.programId)&&void 0!==o?o:null,isTimeLocked:!!e.isTimeLocked})})}const W=1440;function Y(e){const a=[];e.forEach((e,t)=>{var i,n;const r=`Faixa ${t+1}`;var s;e.startTime&&(s=e.startTime,/^\d{2}:\d{2}$/.test(s))||a.push(`${r}: hor\xe1rio inicial inv\xe1lido.`),(!Number.isFinite(Number(e.durationMinutes))||Number(e.durationMinutes)<=0)&&a.push(`${r}: dura\xe7\xe3o deve ser maior que zero.`);const o=c(e.startTime),l=Number(e.durationMinutes||0);o>=0&&l>0&&o+l>W&&a.push(`${r}: a faixa ultrapassa o limite di\xe1rio de 24h.`);const d=!(null===(i=e.titleOverride)||void 0===i||!i.trim()),u=!(null===(n=e.programId)||void 0===n||!n.trim());d||u||a.push(`${r}: informe ao menos um t\xedtulo ou selecione um programa.`)});const t=e.reduce((e,a)=>e+Math.max(Number(a.durationMinutes||0),0),0);t>W&&a.push(`A dura\xe7\xe3o total da grade n\xe3o pode ultrapassar 24h. Total atual: ${function(e){const a=Math.floor(e/60),t=e%60;return a&&t?`${a}h ${t}min`:a?`${a}h`:`${t}min`}(t)}.`);for(let i=0;i<e.length-1;i+=1){const t=e[i],n=e[i+1],r=c(t.startTime),s=c(n.startTime),o=r+Number(t.durationMinutes||0);r<0||s<0||(s<r?a.push(`As faixas ${i+1} e ${i+2} est\xe3o fora de ordem cronol\xf3gica.`):s<o?a.push(`As faixas ${i+1} e ${i+2} est\xe3o com sobreposi\xe7\xe3o de hor\xe1rio (${n.startTime} come\xe7a antes do t\xe9rmino da faixa anterior).`):s>o&&a.push(`H\xe1 um intervalo vazio entre as faixas ${i+1} e ${i+2}: de ${m(o)} at\xe9 ${n.startTime}.`))}return{isValid:0===a.length,errors:a}}function K(e,a){return e.filter(e=>e.date===a)}function Q(e,a){return e.map(e=>{var t;return(0,r.c)((0,r.c)({},e),{},{date:a,status:null!==(t=e.status)&&void 0!==t?t:"special"})})}function q(){const[e,a]=i.useState(""),[t,n]=i.useState(s),[r,l]=i.useState("weekly"),[d,u]=i.useState([]),[c,m]=i.useState([]),[v,p]=i.useState(!1),[g,h]=i.useState(!1),[f,_]=i.useState(null),[b,w]=i.useState([]),[N,y]=i.useState(!1),[k,S]=i.useState([]),[$,x]=i.useState([]),D=i.useRef(!1),M=i.useMemo(()=>Y(d),[d]),T=i.useMemo(()=>{return e=d,a=c,!(JSON.stringify(U(e))===JSON.stringify(U(a)));var e,a},[d,c]),L=!!e&&!v&&!g&&T&&M.isValid,I=i.useMemo(()=>k.map(e=>({id:e.token,title:e.title})),[k]),C=i.useMemo(()=>({totalSlots:d.length,totalDurationMinutes:d.reduce((e,a)=>e+Number(a.durationMinutes||0),0),linkedProgramsCount:d.filter(e=>!!e.programId).length}),[d]),O=i.useMemo(()=>{var a,t;return null!==(a=null===(t=k.find(a=>a.token===e))||void 0===t?void 0:t.title)&&void 0!==a?a:"Emissora"},[k,e]);function E(){return!T||window.confirm("Voc\xea tem altera\xe7\xf5es n\xe3o salvas. Deseja descartar essas altera\xe7\xf5es e continuar?")}return i.useEffect(()=>{w(N?M.errors:[])},[M,N]),i.useEffect(()=>{!async function(){p(!0),_(null);try{const[e,t]=await Promise.all([H(),B()]);S(e),x(t),a(a=>{var t,i;return a||(null!==(t=null===e||void 0===e||null===(i=e[0])||void 0===i?void 0:i.token)&&void 0!==t?t:"")})}catch(e){console.error("Erro ao carregar dados iniciais da programa\xe7\xe3o:",e),_({type:"error",message:"N\xe3o foi poss\xedvel carregar os dados iniciais."})}finally{p(!1)}}()},[]),i.useEffect(()=>{!async function(){if(e&&t)if(D.current)D.current=!1;else{p(!0),_(null);try{const a=await(0,P.ey)({broadcaster:e,week_day:o(t)}),i="weekly"===r?a.schedule_data:K(a.exceptions,t);u(i),m(z(i)),y(!1),"exception"!==r||i.length||_({type:"warning",message:"Nenhuma grade especial foi encontrada para esta data. Voc\xea pode criar uma nova."})}catch(a){console.error("Erro ao carregar grade:",a),_({type:"error",message:"N\xe3o foi poss\xedvel carregar a grade."})}finally{p(!1)}}}()},[e,t,r]),i.useEffect(()=>{function e(e){T&&(e.preventDefault(),e.returnValue="")}return window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}},[T]),{stationId:e,setStationId:function(e){E()&&(_(null),a(e))},date:t,setDate:function(e){E()&&(_(null),n(e))},editorMode:r,setEditorMode:function(e){E()&&(_(null),l(e))},editorItems:d,setEditorItems:u,baselineItems:c,loadingContent:v,saving:g,feedback:f,validationErrors:b,hasTriedToSave:N,validation:M,isDirty:T,canSave:L,stations:I,stationOptions:k,programOptions:$,summary:C,selectedStationLabel:O,handleSaveDraft:async function(){if(e&&t)if(y(!0),M.isValid){h(!0),_(null);try{"weekly"===r?await(0,P.oL)({broadcaster:e,week_day:o(t),scheduleItems:d}):await(0,P.oL)({broadcaster:e,week_day:o(t),exceptionItems:Q(d,t)}),m(z(d)),_({type:"success",message:"weekly"===r?"Grade semanal salva com sucesso.":"Grade especial salva com sucesso."})}catch(a){console.error("Erro ao salvar programa\xe7\xe3o:",a),_({type:"error",message:"weekly"===r?"N\xe3o foi poss\xedvel salvar a grade semanal.":"N\xe3o foi poss\xedvel salvar a grade especial."})}finally{h(!1)}}else _({type:"error",message:"Existem campos inv\xe1lidos na grade. Revise antes de salvar."})},handleCopySchedule:async function(e){if(T){if(!window.confirm("Voc\xea tem altera\xe7\xf5es n\xe3o salvas no editor atual. Deseja descart\xe1-las e continuar com a c\xf3pia?"))return}p(!0),_(null);try{const t=await(0,P.ey)({broadcaster:e.sourceStationId,week_day:o(e.sourceDate)}),i="weekly"===e.sourceMode?t.schedule_data:K(t.exceptions,e.sourceDate);if(!i.length)return void _({type:"warning",message:"Nenhuma grade de origem foi encontrada para copiar."});for(const a of e.targetDates){const t=z(i);"weekly"===e.targetMode?await(0,P.oL)({broadcaster:e.targetStationId,week_day:o(a),scheduleItems:t}):await(0,P.oL)({broadcaster:e.targetStationId,week_day:o(a),exceptionItems:Q(t,a)})}const r=e.targetDates[0];if(r){const t=z(i);a(e.targetStationId),n(r),l(e.targetMode),u("exception"===e.targetMode?Q(t,r):t),m("exception"===e.targetMode?Q(t,r):t)}y(!1),_({type:"success",message:e.targetDates.length>1?"Grade copiada com sucesso para os destinos selecionados.":"Grade copiada com sucesso."})}catch(t){console.error("Erro ao copiar grade:",t),_({type:"error",message:"N\xe3o foi poss\xedvel copiar a grade."})}finally{p(!1)}},handleCancelChanges:function(){if(!T)return;window.confirm("Deseja descartar as altera\xe7\xf5es feitas nesta grade e voltar para a \xfaltima vers\xe3o salva?")&&(u(z(c)),y(!1),_({type:"warning",message:"Altera\xe7\xf5es descartadas. A grade voltou para a \xfaltima vers\xe3o salva."}))}}}var J=t(27908),X=t.n(J),Z=i.createElement;function ee(){const{stationId:e,setStationId:a,date:t,setDate:i,editorMode:n,setEditorMode:r,editorItems:s,setEditorItems:c,loadingContent:m,saving:p,feedback:h,validationErrors:f,hasTriedToSave:_,validation:b,isDirty:w,canSave:N,stations:y,stationOptions:k,programOptions:S,summary:$,selectedStationLabel:x,handleSaveDraft:D,handleCopySchedule:M,handleCancelChanges:T}=q(),L="exception"===n?"Grade especial":"Grade semanal",I="exception"===n?u(t):l(o(t)),C="exception"===n?{label:"Modo especial",description:"Voc\xea est\xe1 editando uma grade espec\xedfica para uma data isolada.",className:"is-mode-exception"}:{label:"Modo semanal",description:"Voc\xea est\xe1 editando a grade recorrente do dia da semana selecionado.",className:"is-mode-weekly"},O=k.map(e=>({label:e.title,value:e.token}
1)),A=[{label:"Domingo",value:"0"},{label:"Segunda-feira",value:"1"},{label:"Ter\xe7a-feira",value:"2"},{label:"Quarta-feira",value:"3"},{label:"Quinta-feira",value:"4"},{label:"Sexta-feira",value:"5"},{label:"S\xe1bado",value:"6"}],P=p?{label:"Salvando",className:"is-saving"}:m?{label:"Carregando",className:"is-loading"}:w?{label:"Alterado",className:"is-dirty"}:{label:"Sincronizado",className:"is-synced"};return Z("div",{className:"schedule-admin-shell"},Z("div",{className:"schedule-admin-shell__floatingRail"},Z("button",{type:"button",className:"schedule-admin-shell__close",onClick:function(){if(w){if(!window.confirm("Voc\xea possui altera\xe7\xf5es n\xe3o salvas. Deseja sair mesmo assim?"))return}window.location.href="/programacao"},"aria-label":"Fechar editor e voltar para programa\xe7\xe3o",title:"Fechar editor"},Z("span",{className:"schedule-admin-shell__closeIcon","aria-hidden":"true"},"\xd7"))),Z("div",{className:`schedule-admin-view ${C.className}`},Z("header",{className:"schedule-admin-view__header"},Z("div",{className:"schedule-admin-view__hero"},Z("button",{type:"button",className:"schedule-admin-view__brand",onClick:function(){if(w){if(!window.confirm("Voc\xea possui altera\xe7\xf5es n\xe3o salvas. Deseja sair mesmo assim?"))return}window.location.href="/"},"aria-label":"Ir para a capa do site",title:"Ir para a capa do site"},Z("img",{src:X(),alt:"R\xe1dio MEC",className:"schedule-admin-view__brand-logo"})),Z("h1",{className:"schedule-admin-view__title"},"Programa\xe7\xe3o editorial"),Z("p",{className:"schedule-admin-view__subtitle"},"Edite, valide e replique a grade com mais clareza visual e melhor organiza\xe7\xe3o operacional.")),Z("div",{className:"schedule-admin-view__control-panel"},Z("div",{className:"schedule-admin-view__filters"},Z("div",null,Z("span",null,"Emissora"),Z(g,{searchable:!0,value:e,options:O,ariaLabel:"Selecionar emissora",disabled:m||p,variant:"floating",onChange:a})),Z("div",null,Z("span",null,"Modo"),Z(g,{value:n,options:[{label:"Grade semanal",value:"weekly"},{label:"Grade especial",value:"exception"}],ariaLabel:"Selecionar modo da grade",disabled:m||p,variant:"floating",onChange:e=>r(e)})),Z("label",null,Z("span",null,"weekly"===n?"Dia da semana":"Data"),"weekly"===n?Z(g,{value:String(o(t)),options:A,ariaLabel:"Selecionar dia da semana",disabled:m||p,variant:"floating",onChange:e=>i(d(t,Number(e)))}):Z("input",{type:"date",value:t,onChange:e=>i(e.target.value),disabled:m||p}))),Z("div",{className:"schedule-admin-view__panel-status"},Z("span",{className:`schedule-admin-view__status-pill ${P.className}`},P.label),Z("span",{className:"schedule-admin-view__status-pill schedule-admin-view__status-pill--mode "+("exception"===n?"is-mode-exception":"is-mode-weekly")},L))),Z("div",{className:"schedule-admin-view__mode-note"},Z("div",{className:"schedule-admin-view__mode-note-badge"},C.label),Z("p",{className:"schedule-admin-view__mode-note-text"},C.description))),Z("div",{className:"schedule-admin-view__dashboard"},Z("aside",{className:"schedule-admin-view__aside"},Z("section",{className:"schedule-admin-view__aside-card"},Z("h3",{className:"schedule-admin-view__aside-title"},"Contexto atual"),Z("div",{className:"schedule-admin-view__aside-list"},Z("div",{className:"schedule-admin-view__aside-item"},Z("strong",null,"Emissora"),Z("span",null,x)),Z("div",{className:"schedule-admin-view__aside-item"},Z("strong",null,"Modo"),Z("span",null,L)),Z("div",{className:"schedule-admin-view__aside-item"},Z("strong",null,"weekly"===n?"Dia da semana":"Data"),Z("span",null,I)),Z("div",{className:"schedule-admin-view__aside-item "+(w?"is-alert":"is-ok")},Z("strong",null,"Situa\xe7\xe3o"),Z("span",null,w?"H\xe1 altera\xe7\xf5es n\xe3o salvas":"Tudo salvo")),Z("div",{className:"schedule-admin-view__aside-item "+(b.isValid?"is-ok":"is-alert")},Z("strong",null,"Valida\xe7\xe3o"),Z("span",null,b.isValid?"Sem pend\xeancias":`${b.errors.length} pend\xeancia(s)`)),Z("div",{className:"schedule-admin-view__aside-item"},Z("strong",null,"Faixas"),Z("span",null,$.totalSlots)),Z("div",{className:"schedule-admin-view__aside-item"},Z("strong",null,"Programas vinculados"),Z("span",null,$.linkedProgramsCount)),Z("div",{className:"schedule-admin-view__aside-item"},Z("strong",null,"Dura\xe7\xe3o total"),Z("span",null,v($.totalDurationMinutes))))),Z("section",{className:"schedule-admin-view__aside-card"},Z(R,{stations:y,currentStationId:e,currentDate:t,currentMode:n,disabled:m||p||!y.length,onCopy:M}))),Z("div",{className:"schedule-admin-view__main"},Z("section",{className:"schedule-admin-view__panel"},Z("div",{className:"schedule-admin-view__panel-top"},Z("div",null,Z("h2",null,"Editor da grade"),Z("p",null,"exception"===n?"Edite e salve uma grade especial associada a uma data espec\xedfica.":"Edite e salve a grade semanal correspondente ao dia da semana selecionado.")),Z("div",{className:"schedule-admin-view__panel-actions"},Z("button",{type:"button",className:"schedule-admin-view__secondary-action",onClick:T,disabled:!w||p||m},"Cancelar altera\xe7\xf5es"),Z("button",{type:"button",className:"schedule-admin-view__primary-action",onClick:D,disabled:!N},p?"Salvando...":m?"Carregando...":w?"Salvar altera\xe7\xf5es":"Sem altera\xe7\xf5es"))),Z("div",{className:"schedule-admin-view__statusbar"},Z("span",{className:w?"is-alert":"is-ok"},Z("strong",null,w?"Altera\xe7\xf5es n\xe3o salvas":"Tudo salvo")),Z("span",{className:b.isValid?"is-ok":"is-alert"},Z("strong",null,b.isValid?"Sem pend\xeancias":`${b.errors.length} pend\xeancia(s)`)),Z("span",null,Z("strong",null,$.totalSlots)," faixa(s)"),Z("span",null,Z("strong",null,v($.totalDurationMinutes))," ","de grade")),_&&!b.isValid?Z("div",{className:"schedule-admin-view__validation"},Z("p",{className:"schedule-admin-view__validation-title"},"Corrija os pontos abaixo antes de salvar:"),Z("ul",{className:"schedule-admin-view__validation-list"},f.map(e=>Z("li",{key:e},e)))):null,Z(E,{title:"exception"===n?`Grade especial de ${u(t)}
1`:`Grade semanal - ${l(o(t))}`,items:s,programOptions:S,isWeeklyMode:"weekly"===n,onChange:c}),h?Z("div",{className:`schedule-admin-view__feedback schedule-admin-view__feedback--${h.type}`,role:"error"===h.type?"alert":"status"},h.message):null)))))}var ae=i.createElement;function te(e){const a=(0,n.useSelector)(e=>{var a;return!(null===(a=e.userSession)||void 0===a||!a.token)});return i.useEffect(()=>{if(!a){var t;const a=(null===(t=e.pathname)||void 0===t?void 0:t.replace(/\/edit$/,""))||"/";window.location.replace(a)}},[a,e.pathname]),a?ae(ee,null):null}},7364:(e,a,t)=>{"use strict";t.d(a,{H:()=>b,GC:()=>w,ey:()=>f,oL:()=>_});var i=t(62816),n=t(10632);async function r(){try{const e=await fetch(`${n.GY}/@programs-schedule`,{credentials:"include",headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`Erro ao buscar programas da grade: ${e.status}`);const a=await e.json();return Array.isArray(a)?a.filter(e=>(null===e||void 0===e?void 0:e.title)&&(null===e||void 0===e?void 0:e.token)).sort((e,a)=>e.title.localeCompare(a.title,"pt-BR")):[]}catch(e){return console.error("Falha ao buscar descri\xe7\xf5es dos programas:",e),[]}}var s=t(56416);function o(e){const[a,t]=e.split(":").map(Number);return 60*a+t}function l(e,a){return function(e){const a=Math.floor(e/60)%24,t=e%60;return`${String(a).padStart(2,"0")}:${String(t).padStart(2,"0")}`}(o(e)+a)}function d(e){return new Date(`${e}T12:00:00`).getDay()}function u(e=[]){return e.map((e,a)=>{var t,i,n,r,s,o,l,d,u,c,m,v,p;return{id:String(null!==(t=e.id)&&void 0!==t?t:"")||`item-${a}-${null!==(i=e.programId)&&void 0!==i?i:"program"}-${null!==(n=e.startTime)&&void 0!==n?n:"00:00"}`,programId:null!==(r=e.programId)&&void 0!==r?r:null,titleOverride:null!==(s=e.titleOverride)&&void 0!==s?s:"",descriptionOverride:null!==(o=e.descriptionOverride)&&void 0!==o?o:"",linkOverride:null!==(l=e.linkOverride)&&void 0!==l?l:"",startTime:null!==(d=e.startTime)&&void 0!==d?d:"00:00",durationMinutes:Number(null!==(u=e.durationMinutes)&&void 0!==u?u:0),isLive:!!e.isLive,isRerun:!!e.isRerun,notes:null!==(c=e.notes)&&void 0!==c?c:"",status:null!==(m=e.status)&&void 0!==m?m:"scheduled",linkedStationIds:Array.isArray(e.linkedStationIds)?e.linkedStationIds:[],isTimeLocked:!!e.isTimeLocked,date:null!==(v=e.date)&&void 0!==v?v:void 0,reason:null!==(p=e.reason)&&void 0!==p?p:""}})}function c(e,a){const t=o(e.startTime),i=o(l(e.startTime,e.durationMinutes)),n=o(a);return n>=t&&n<i}function m(e,a){var t;const i=null===(t=e.titleOverride)||void 0===t?void 0:t.trim();if(i)return i;if(e.programId){const t=a.get(e.programId);return null!==t&&void 0!==t&&t.title?t.title:e.programId}return"Programa"}function v(e,a){var t;const i=null===(t=e.descriptionOverride)||void 0===t?void 0:t.trim();if(i)return i;if(e.programId){var n;const t=a.get(e.programId);return(null===t||void 0===t||null===(n=t.description)||void 0===n?void 0:n.trim())||""}return""}function p(e,a){var t;const i=e.findIndex(e=>e.id===a);return i<0?null:null!==(t=e[i+1])&&void 0!==t?t:null}function g(e){return[...e].sort((e,a)=>o(e.startTime)-o(a.startTime))}function h(e,a){const t=e.exceptions.filter(e=>e.date===a);return t.length?{items:g(t),source:"exception"}:{items:g(e.schedule_data),source:"weekly"}}async function f({broadcaster:e,week_day:a}){const t=`${n.GY}/@schedule?broadcaster=${encodeURIComponent(e)}&week_day=${a}`,r=await fetch(t,{credentials:"include",headers:{Accept:"application/json"}});if(204===r.status)return{schedule_data:[],exceptions:[]};const s=await r.text();if(!r.ok)throw new Error(`Erro ao buscar grade (${r.status}) - ${s||"sem resposta"}`);return function(e){return{schedule_data:u(Array.isArray(null===e||void 0===e?void 0:e.schedule_data)?e.schedule_data:[]),exceptions:u(Array.isArray(null===e||void 0===e?void 0:e.exceptions)?e.exceptions:[]).map(e=>{var a;return(0,i.c)((0,i.c)({},e),{},{status:null!==(a=e.status)&&void 0!==a?a:"special"})})}}(s?JSON.parse(s):{})}async function _({broadcaster:e,week_day:a,scheduleItems:t,exceptionItems:i}){const r={};t&&(r.schedule_data=t.map(e=>{var a,t,i,n,r,s;return{programId:e.programId,titleOverride:null!==(a=e.titleOverride)&&void 0!==a?a:"",descriptionOverride:null!==(t=e.descriptionOverride)&&void 0!==t?t:"",linkOverride:null!==(i=e.linkOverride)&&void 0!==i?i:"",startTime:e.startTime,durationMinutes:Number(null!==(n=e.durationMinutes)&&void 0!==n?n:0),isLive:!!e.isLive,isRerun:!!e.isRerun,notes:null!==(r=e.notes)&&void 0!==r?r:"",status:null!==(s=e.status)&&void 0!==s?s:"scheduled"}})),i&&(r.exceptions=function(e){return e.map(e=>{var a,t,i,n,r,s;return{programId:e.programId,titleOverride:null!==(a=e.titleOverride)&&void 0!==a?a:"",descriptionOverride:null!==(t=e.descriptionOverride)&&void 0!==t?t:"",linkOverride:null!==(i=e.linkOverride)&&void 0!==i?i:"",startTime:e.startTime,durationMinutes:Number(null!==(n=e.durationMinutes)&&void 0!==n?n:0),isLive:!!e.isLive,isRerun:!!e.isRerun,notes:null!==(r=e.notes)&&void 0!==r?r:"",date:e.date,reason:null!==(s=e.reason)&&void 0!==s?s:""}})}(i));const s=`${n.GY}/@schedule?broadcaster=${encodeURIComponent(e)}&week_day=${a}`,o=await fetch(s,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)});if(204===o.status)return{};const l=await o.text();if(!o.ok)throw new Error(`Erro ao salvar grade (${o.status}): ${l||"sem corpo de resposta"}`);try{return l?JSON.parse(l):{}}catch{return{}}}async function b({stationId:e,date:a,time:t}){var i;const n=d(a),s=t||function(e=new Date){return`${String(e.getHours()).padStart(2,"0")}
1:${String(e.getMinutes()).padStart(2,"0")}`}(),[u,g]=await Promise.all([f({broadcaster:e,week_day:n}),r()]),{items:_}=h(u,a),b=new Map(g.map(e=>{var a,t;return[e.token,{title:e.title,description:null!==(a=e.description)&&void 0!==a?a:"",url:null!==(t=e["@id"])&&void 0!==t?t:""}]})),w=_.map(e=>function(e,a,t){var i,n,r;return{id:e.id,programId:e.programId,programUrl:(null===(i=e.linkOverride)||void 0===i?void 0:i.trim())||e.programId&&(null===(n=t.get(e.programId))||void 0===n?void 0:n.url)||"",title:m(e,t),description:v(e,t),startTime:e.startTime,endTime:l(e.startTime,e.durationMinutes),durationMinutes:e.durationMinutes,isLive:!!e.isLive,isRerun:!!e.isRerun,isTimeLocked:!!e.isTimeLocked,status:null!==(r=e.status)&&void 0!==r?r:"scheduled",isNowPlaying:c(e,a),date:e.date,reason:e.reason}}(e,s,b)),N=null!==(i=w.find(e=>e.isNowPlaying))&&void 0!==i?i:null,y=N?p(w,N.id):null,k=function(e,a,t,i=5){if(!e.length)return[];if(a){const t=e.findIndex(e=>e.id===a.id);return t<0?[]:e.slice(t+1,t+1+i)}const n=o(t);return e.filter(e=>o(e.startTime)>n).slice(0,i)}(w,N,s,5);return{stationId:e,date:a,weekDay:n,label:void 0,items:w,currentItem:N,nextItem:y,upcomingItems:k}}async function w(){try{const e=await(0,s.Ci)();if(!e.length)return[];const a=function(e=new Date){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}();return(await Promise.all(e.map(async e=>{try{var t,i,n,r,s;const o=await b({stationId:e.id,date:a}),l=null!==(t=null!==(i=o.currentItem)&&void 0!==i?i:null===(n=o.items)||void 0===n?void 0:n[0])&&void 0!==t?t:null;if(!l)return null;const d=null!==(r=null!==(s=o.nextItem)&&void 0!==s?s:o.items.find(e=>e.id!==l.id))&&void 0!==r?r:null;return{id:`${e.id}-${a}`,stationId:e.id,hour:l.startTime||"--:--",station:e.shortName||e.title||"R\xe1dio",program:l.title||"Programa",nextProgramLabel:null!==d&&void 0!==d&&d.title?`A seguir | ${d.title}`:"A seguir | Programa\xe7\xe3o da emissora",tagLabel:l.isNowPlaying?l.isLive?"ao vivo":"agora":"ouvir",isLive:!!l.isLive}}catch(o){return console.error(`[getRadioSchedule] Falha ao montar card da emissora ${e.id}:`,o),null}}))).filter(Boolean)}catch(e){return console.error("Falha ao montar programa\xe7\xe3o das r\xe1dios:",e),[]}}}}]); 2//# sourceMappingURL=ScheduleAdminView-ScheduleAdminEdit.3144f60a.chunk.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.