1import J from"./CFfeWV9Q.js";import{e as X,r as v,k as Q,m as W,q as Z,J as tt,f as et,c as l,h as r,a as e,n as x,b as g,d as p,t as d,z as _,v as at,H as st,y as O,p as ot,w as rt,F as nt,g as it,j as S,G as lt,o as i,N as $,i as k}from"#entry";import{d as dt}from"./DwmyMMuA.js";import{_ as ct}from"./BsuXdcJm.js";import{_ as ut}from"./CY6GLbg_.js";import"./WUcDpGuR.js";import"./DYbbRoDQ.js";import"./BlcQtP8d.js";import"./DLGV4l3F.js";const mt={class:"relative py-10"},gt={key:0,class:"container mx-auto"},pt={class:"bg-white"},ft={class:"grid grid-cols-2 gap-3 p-10 py-5 shadow-md border-bs-2 sticky top-0 z-40 bg-white"},vt={class:"flex items-center justify-end gap-3"},yt=["disabled"],xt={class:"p-10"},bt={key:0,class:"mb-6 text-sm text-gray-600"},ht={class:"font-semibold text-gray-900"},_t={key:1,class:"mb-6 rounded border border-red-200 bg-red-100 p-3"},wt={class:"flex items-center"},kt={key:2,class:"rounded border border-gray-200 bg-gray-50 p-5"},Ct={key:3},At={class:"mb-4 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},Dt={class:"text-sm leading-relaxed text-gray-600 sm:max-w-xl"},Tt={key:0,class:"mt-1 block text-xs font-normal text-amber-800"},Et={class:"flex shrink-0 flex-wrap items-center gap-2 sm:justify-end"},zt={class:"mb-2 grid grid-cols-12 gap-2 text-sm font-semibold uppercase text-gray-700"},St=["title"],It=["onClick","onDblclick","onKeydown"],Nt={class:"grid grid-cols-12 items-center gap-2"},jt={class:"col-span-4 flex min-w-0 items-center gap-3"},Rt=["src"],Mt={class:"truncate font-medium"},Ot={class:"col-span-2 flex min-w-0 items-center gap-2 text-sm font-normal normal-case text-gray-800"},$t=["src"],Bt={class:"truncate"},Vt={class:"col-span-3"},Ft={class:"col-span-2 text-xs font-normal normal-case text-gray-600"},Kt={class:"col-span-1 flex justify-center"},Lt={key:1,class:"rounded border border-gray-200 bg-gray-50 p-5 text-sm text-gray-600"},qt={key:2,class:"flex flex-col gap-2"},Pt=["onClick","onDblclick","onKeydown"],Ut={class:"grid grid-cols-12 items-center gap-2"},Yt={class:"col-span-4 flex min-w-0 items-center gap-3"},Gt=["src"],Ht={class:"truncate font-medium"},Jt={class:"col-span-2 flex min-w-0 items-center gap-2 text-sm font-normal normal-case text-gray-800"},Xt=["src"],Qt={class:"truncate"},Wt={class:"col-span-3"},Zt={class:"col-span-2 text-xs font-normal normal-case text-gray-600"},te={class:"col-span-1 flex justify-center"},ee=2e3,B="Para ordenar, selecione «Todas» no filtro de categorias (remova o filtro).",me=X({__name:"atracoes",setup(ae){const V=["radical","familiar","childish"],I=v(!1),C=v(!1),N=v(null),{$notify:y}=Q(),A=v(null),c=v([]),o=v(null),m=v("all");let u=null;const b=a=>a==="radical"||a==="familiar"||a==="childish"?a:"familiar",D=W(()=>m.value==="all"?c.value:c.value.filter(a=>b(a.category)===m.value));Z(m,()=>{u!=null&&(clearTimeout(u),u=null);const a=D.value;o.value&&!a.some(t=>t.id===o.value.id)&&(o.value=null)});const F=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,q()},ee)},K=()=>{const a={radical:[],familiar:[],childish:[]};for(const n of c.value)a[b(n.category)].push(n.id);const t=[];for(const n of V)a[n].forEach((s,f)=>{t.push({id:s,order:f})});return t},L=a=>{const t=a.draggedContext.element,n=a.relatedContext.element;return n?b(t.category)===b(n.category):!0},q=async()=>{const a=K();if(a.length!==0){y.info("Atualizando ordem das atraçõesâ¦","",!1,8e3);try{await S("/company/attractions/reorder",{method:"PATCH",body:{orders:a}});const t=o.value?.id;await h(),t!=null&&(o.value=c.value.find(n=>n.id===t)??null),y.success("Ordem atualizada com sucesso.")}catch{if(y.alert("Não foi possÃvel salvar a ordem das atrações."),await h(),o.value){const t=o.value.id;o.value=c.value.find(n=>n.id===t)??null}}}},P=a=>{a.newIndex===void 0||a.oldIndex===a.newIndex||F()};tt(()=>{u!=null&&(clearTimeout(u),u=null)});const j=a=>({radical:"Radical",familiar:"Familiar",childish:"Infantil"})[a]??a,U={radical:"/images/radical.png",familiar:"/images/familiar.png",childish:"/images/childish.png"},R=a=>U[b(a)],T=a=>({active:"Ativa",off:"IndisponÃvel",maintenance:"Manutenção"})[a]??a,M=a=>{switch(a){case"active":return"bg-emerald-50 text-emerald-800 ring-emerald-600/20";case"off":return"bg-gray-100 text-gray-700 ring-gray-500/20";case"maintenance":return"bg-amber-50 text-amber-900 ring-amber-600/25";default:return"bg-gray-100 text-gray-700 ring-gray-500/20"}},E=a=>
1a?new Date(a).toLocaleString("pt-BR",{dateStyle:"short",timeStyle:"short"}):"â",w=a=>{o.value=o.value?.id===a.id?null:a},h=async()=>{try{const a=await S("/company/attractions");c.value=a.data??[],C.value=!0}catch(a){C.value=!0,I.value=!0,a?.response?.status===403&&(y.error("Acesso negado","",!0),lt("/login"))}};et(async()=>{await h()});const Y=()=>{A.value?.open()},z=a=>{o.value=a,A.value?.open(a)},G=()=>{o.value&&z(o.value)},H=async()=>{if(o.value)try{await N.value?.ask(`Tem certeza que deseja excluir <strong>${o.value.name}</strong>?`)&&(await S(`/company/attractions/${o.value.id}`,{method:"DELETE"}),await h(),y.success("Atração excluÃda com sucesso"),window.scrollTo({top:0,behavior:"smooth"}),o.value=null)}catch{y.alert("Falha ao excluir atração.")}};return(a,t)=>{const n=J;return i(),l("section",mt,[r(C)?(i(),l("div",gt,[e("div",pt,[e("div",ft,[t[7]||(t[7]=e("div",null,[e("h1",{class:"text-2xl"},"Atrações"),e("p",{class:"text-sm text-gray-500"},"Cadastro de atrações do parque")],-1)),e("div",vt,[e("button",{type:"button",disabled:!r(o),class:x(["flex p-3 items-center text-xs font-semibold rounded",r(o)?"bg-orange-300 text-gray-900":"bg-transparent text-gray-400"]),onClick:G},[g(n,{name:"lucide:edit",size:17,class:"mr-2"}),t[4]||(t[4]=p("EDITAR ",-1))],10,yt),e("button",{type:"button",class:x(["flex p-3 items-center text-xs font-semibold rounded",r(o)?"bg-red-400 text-gray-900":"bg-transparent text-gray-400"]),onClick:H},[g(n,{name:"fa:trash",size:17,class:"mr-2"}),t[5]||(t[5]=p("EXCLUIR ",-1))],2),e("button",{type:"button",class:"flex p-3 items-center text-xs font-semibold text-gray-900 bg-emerald-400 rounded",onClick:Y},[g(n,{name:"fa:plus",size:17,class:"mr-2"}),t[6]||(t[6]=p(" ADICIONAR ",-1))])])]),e("div",xt,[r(o)?(i(),l("p",bt,[t[8]||(t[8]=p(" Selecionado: ",-1)),e("span",ht,d(r(o).name),1),p(" · "+d(T(r(o).status))+" · Atualizado "+d(E(r(o).updated_at)),1)])):_("",!0),r(I)?(i(),l("div",_t,[e("div",wt,[g(n,{name:"fa:exclamation-circle",class:"mr-2"}),t[9]||(t[9]=p(" Não foi possÃvel carregar as atrações. ",-1))])])):r(c).length===0?(i(),l("div",kt," Nenhuma atração cadastrada. ")):(i(),l("div",Ct,[e("div",At,[e("p",Dt,[t[10]||(t[10]=p(" Arraste pelo Ãcone à direita ",-1)),g(n,{name:"lucide:grip-vertical",size:16,class:"inline align-text-bottom text-gray-500"}),t[11]||(t[11]=p(" para ordenar dentro da mesma categoria. ",-1)),r(m)!=="all"?(i(),l("span",Tt," Com filtro ativo, use «Todas» para voltar a alterar a ordem. ")):_("",!0)]),e("div",Et,[t[13]||(t[13]=e("label",{for:"attr-category-filter",class:"text-sm whitespace-nowrap text-gray-600"}," Filtrar ",-1)),at(e("select",{id:"attr-category-filter","onUpdate:modelValue":t[0]||(t[0]=s=>O(m)?m.value=s:null),class:"min-w-[10.5rem] rounded border border-gray-300 bg-white px-3 py-2 text-sm text-gray-800 shadow-sm focus:border-teal-500 focus:outline-none focus:ring-1 focus:ring-teal-500"},[...t[12]||(t[12]=[e("option",{value:"all"},"Todas",-1),e("option",{value:"radical"},"Radical",-1),e("option",{value:"familiar"},"Familiar",-1),e("option",{value:"childish"},"Infantil",-1)])],512),[[st,r(m)]])])]),e("div",zt,[t[14]||(t[14]=e("div",{class:"col-span-4"},"Nome",-1)),t[15]||(t[15]=e("div",{class:"col-span-2"},"Categoria",-1)),t[16]||(t[16]=e("div",{class:"col-span-3"},"Status",-1)),t[17]||(t[17]=e("div",{class:"col-span-2 normal-case"},"Atualizado em",-1)),e("div",{class:"col-span-1 text-center normal-case",title:r(m)==="all"?void 0:B}," Ordenar ",8,St)]),r(m)==="all"?(i(),ot(r(dt),{key:0,modelValue:r(c),"onUpdate:modelValue":t[2]||(t[2]=s=>O(c)?c.value=s:null),"item-key":"id",handle:".drag-handle",tag:"div",class:"flex flex-col gap-2",animation:200,move:L,onEnd:P},{item:rt(({element:s})=>[e("div",{class:x(["cursor-pointer rounded-lg border-2 bg-white p-4 shadow-sm transition-all hover:bg-emerald-50 hover:shadow-md",r(o)?.id===s.id?"border-teal-500":"border-gray-300"]),role:"button",tabindex:"0",title:"Duplo clique para editar",onClick:f=>w(s),onDblclick:f=>z(s),onKeydown:$(k(f=>w(s),["prevent"]),["enter"])},[e("div",Nt,[e("div",jt,[s.cover?.url?(i(),l("img",{key:0,src:s.cover.url,alt:"",class:"h-12 w-12 shrink-0 rounded border border-gray-200 object-cover"},null,8,Rt)):_("",!0),e("span",Mt,d(s.name),1)]),e("div",Ot,[e("img",{src:R(s.category),alt:"",class:"h-7 w-7 shrink-0 object-contain",width:"28",height:"28"},null,8,$t),e("span",Bt,d(j(s.category)),1)]),e("div",Vt,[e("span",{class:x(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold ring-1 ring-inset",M(s.status)])},d(T(s.status)),3)]),e("div",Ft,d(E(s.updated_at)),1),e("div",Kt,[e("div",{class:"drag-handle cursor-grab rounded p-1.5 text-gray-500 hover:bg-gray-100 active:cursor-grabbing",title:"Arrastar para reordenar",onClick:t[1]||(t[1]=k(()=>{},["stop"]))},[g(n,{name:"lucide:grip-vertical",size:20})])])])],42,It)]),_:1},8,["modelValue"])):r(D).length===0?(i(),l("div",Lt," Nenhuma atração nesta categoria. ")):(i(),l("div",qt,[(i(!0),l(nt,null,it(r(D),s=>(i(),l("div",{key:s.id,class:x(["cursor-pointer rounded-lg border-2 bg-white p-4 shadow-sm transition-all hover:bg-emerald-50 hover:shadow-md",r(o)?.id===s.id?"border-teal-500":"border-gray-300"]),role:"button",tabindex:"0",title:"Duplo clique para editar",onClick:f=>w(s),onDblclick:f=>z(s),onKeydown:$(k(f=>w(s),["prevent"]),["enter"])},[e("div",Ut,[e("div",Yt,[s.cover?.url?(i(),l("img",{key:0,src:s.cover.url,alt:"",class:"h-12 w-12 shrink-0 rounded border border-gray-200 object-cover"},null,8,Gt)):_("",!0),e("span",Ht,d(s.name),1)]),e("div",Jt,[e("img",{src:R(s.category),alt:"",class:"h-7 w-7 shrink-0 object-contain",width:"28",height:"28"},null,8,Xt),e("span",Qt,d(j(s.category)),1)]),e("div",Wt,[e("span",{class:x(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold ring-1 ring-inset",M(s.status)])},d(T(s.status)),3)]),e("div",Zt,d(E(s.updated_at)),1),e("div",te,[e("span",{class:"inline-flex cursor-not-allowed rounded p-1.5 text-gray-300 opacity-60",title:B,"aria-disabled":"true",onClick:t[3]||(t[3]=k(()=>{},["stop"]))},[g(n,{name:"lucide:grip-vertical",size:20})])])])],42,Pt))),128))]))]))])])])):_("",!0),g(ut,{ref_key:"addAttractionModal",ref:A,onSuccess:h},null,512),g(ct,{ref_key:"confirmModal",ref:N},null,512)])}}});
1export{me as default};
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.