1import{a as ne}from"./chunk-KO53YY4C.js";import{m as ee,n as te,o as T,p as ie}from"./chunk-WJPYLUPC.js";import{a as Y}from"./chunk-R2FRDDGF.js";import{a as X}from"./chunk-CEKCAGVQ.js";import{a as W}from"./chunk-OCI3DAZ2.js";import"./chunk-7DMYA7R7.js";import"./chunk-HP3NH2EX.js";import"./chunk-JNPTNG3R.js";import"./chunk-BYXBJQAS.js";import"./chunk-RKFGIQC5.js";import"./chunk-CGGKPHHV.js";import"./chunk-WI2ANR5J.js";import{a as j}from"./chunk-35HRW46N.js";import{a as P}from"./chunk-NWACU2EN.js";import{a as B}from"./chunk-NZLMIA4I.js";import{e as q}from"./chunk-TSQRGCPY.js";import"./chunk-RKDV7VKZ.js";import"./chunk-MIPRGDUR.js";import"./chunk-XEX475SG.js";import{c as L}from"./chunk-44ILZ5X4.js";import"./chunk-3MRBYTLR.js";import{Dc as Z,Ib as U,Ja as R,ad as G,bd as J,cd as K,dd as Q,ec as H,na as O}from"./chunk-2PVO2N6D.js";import{r as $}from"./chunk-TRJYLM3T.js";import{Ba as z,Mb as A,Nc as F,Ob as c,Oc as V,Pb as m,Pc as I,Sb as k,Tb as S,Ub as u,Uc as N,Vb as l,Wb as o,Wc as M,Xb as _,cd as y,db as w,ec as h,ha as g,hb as n,ic as x,kc as d,oa as C,pa as v,wb as D,wc as E,xc as s,yc as f,zc as b}from"./chunk-DJYDUQFJ.js";import"./chunk-QJI7QS7F.js";var oe=()=>[],re=t=>["/stakeholders",t],le=(t,i)=>i.valor,de=(t,i)=>i.id;function se(t,i){if(t&1&&(l(0,"div",13)(1,"strong"),s(2),o(),s(3," alianza(s) siguen marcadas como vigentes pero su fecha de fin ya pas\xF3. Renu\xE9valas o c\xE1mbiales el estado para que la cartera diga la verdad. "),o()),t&2){let e=d();n(2),f(e)}}function ce(t,i){t&1&&c(0,se,4,1,"div",13),t&2&&m(i>0?0:-1)}function me(t,i){if(t&1){let e=h();l(0,"button",8),x("click",function(){C(e);let r=d().$implicit,p=d();return v(p.filtroEstado.set(r.valor))}),s(1),l(2,"span",3),s(3),o()()}if(t&2){let e=d().$implicit,a=d();E(a.filtroEstado()===e.valor?"bg-primary/10 text-primary border-primary/30":"bg-surface text-txt-secondary border-border hover:border-primary/40"),n(),b(" ",e.label," "),n(2),f(a.conteo()[e.valor])}}function pe(t,i){if(t&1&&c(0,me,4,4,"button",14),t&2){let e=i.$implicit,a=d();m(a.conteo()[e.valor]?0:-1)}}function ue(t,i){t&1&&_(0,"app-loading-skeleton",9)}function _e(t,i){if(t&1&&_(0,"app-empty-state",10),t&2){let e=d();u("title",e.busqueda()||e.filtroEstado()!=="todos"?"Sin resultados":"A\xFAn no hay alianzas")("description",e.busqueda()||e.filtroEstado()!=="todos"?"Ninguna alianza coincide con estos filtros.":"Las alianzas se crean desde la ficha del aliado con quien se pactan. Abre su ficha en el directorio y a\xF1ade el acuerdo.")}}function xe(t,i){if(t&1){let e=h();l(0,"div",21)(1,"button",29),x("click",function(){C(e);let r=d().$implicit,p=d(2);return v(p.editar(r))}),_(2,"lucide-icon",30),o(),l(3,"button",31),x("click",function(){C(e);let r=d().$implicit,p=d(2);return v(p.eliminar(r))}),_(4,"lucide-icon",32),o()()}if(t&2){let e=d().$implicit;n(),A("aria-label","Editar "+e.titulo),n(),u("size",15),n(),A("aria-label","Eliminar "+e.titulo),n(),u("size",15)}}function fe(t,i){t&1&&(l(0,"span",24),s(1," Fecha de fin pasada "),o())}function Ce(t,i){t&1&&(l(0,"span",25),s(1),N(2,"date"),o()),t&2&&(n(),b("hasta ",M(2,1,i,"dd MMM yyyy")))}function ve(t,i){if(t&1&&(l(0,"p",26),s(1),o()),t&2){let e=d().$implicit;n(),f(e.objetivo)}}function be(t,i){if(t&1&&(l(0,"div")(1,"dt",33),s(2,"Ponemos"),o(),l(3,"dd",34),s(4),o()()),t&2){let e=d(2).$implicit;n(4),f(e.aportamos)}}function ye(t,i){if(t&1&&(l(0,"div")(1,"dt",33),s(2,"Ponen"),o(),l(3,"dd",34),s(4),o()()),t&2){let e=d(2).$implicit;n(4),f(e.aportan)}}function ge(t,i){if(t&1&&(l(0,"dl",27),c(1,be,5,1,"div"),c(2,ye,5,1,"div"),o()),t&2){let e=d().$implicit;n(),m(e.aportamos?1:-1),n(),m(e.aportan?2:-1)}}function ze(t,i){if(t&1&&(l(0,"a",28),_(1,"lucide-icon",20),s(2," Ver documento "),o()),t&2){let e=d().$implicit;u("href",e.documentoUrl,w),n(),u("size",12)}}function he(t,i){if(t&1&&(l(0,"article",15)(1,"div",16)(2,"div",17)(3,"h2",18),s(4),o(),l(5,"a",19),s(6),_(7,"lucide-icon",20),o()(),c(8,xe,5,4,"div",21),o(),l(9,"div",22)(10,"span",23),s(11),o(),c(12,fe,2,0,"span",24),c(13,Ce,3,4,"span",25),o(),c(14,ve,2,1,"p",26),c(15,ge,3,2,"dl",27),c(16,ze,3,2,"a",28),o()),t&2){let e,a=i.$implicit,r=d(2);n(4),f(a.titulo),n(),u("routerLink",I(13,re,a.stakeholderId)),n(),b(" ",a.stakeholderNombre," "),n(),u("size",12),n(),m(r.puedeEditar()?8:-1),n(2),E(r.metaEstadoAlianza(a.estado).clase),n(),b(" ",r.metaEstadoAlianza(a.estado).label," "),n(),m(r.alianzaVencida(a)?12:-1),n(),m((e=r.fecha(a.fechaFin))?13:-1,e),n(),m(a.objetivo?14:-1),n(),m(a.aportamos||a.aportan?15:-1),n(),m(a.documentoUrl?16:-1)}}function Ee(t,i){if(t&1&&(l(0,"div",11),k(1,he,17,15,"article",15,de),o()),t&2){let e=d();n(),S(e.filtradas())}}function Ae(t,i){if(t&1){let e=h();l(0,"app-alianza-form-modal",35),x("cerrar",function(){C(e);let r=d();return v(r.enEdicion.set(null))})("guardado",function(){C(e);let r=d();return v(r.enEdicion.set(null))}),o()}if(t&2){let e=i;u("alianza",e)("stakeholderId",e.stakeholderId)("stakeholderNombre",e.stakeholderNombre)}}var ae=class t{service=g(ie);authService=g(j);toastr=g(B);confirmDialog=g(X);ESTADOS=ee;metaEstadoAlianza=te;alianzaVencida=T;alianzas=L(this.service.getAlianzas(),{initialValue:null});role=L(this.authService.role$,{initialValue:null});puedeEditar=y(()=>{let i=this.role();return!!i&&P(i,"stakeholders","create")});busqueda=z("");filtroEstado=z("todos");enEdicion=z(null);cargando=y(()=>this.alianzas()===null);conteo=y(()=>{let i={};for(let e of this.alianzas()??[])i[e.estado]=(i[e.estado]??0)+1;return i});porVencer=y(()=>(this.alianzas()??[]).filter(i=>T(i)).length);filtradas=y(()=>{let i=this.alianzas()??[],e=this.busqueda().trim().toLowerCase(),a=this.filtroEstado();return i.filter(r=>a!=="todos"&&r.estado!==a?!1:e?[r.titulo,r.stakeholderNombre,r.objetivo].some(p=>(p??"").toLowerCase().includes(e)):!0)});onBuscar(i){this.busqueda.set(i.target.value)}fecha(i){if(!i)return null;let e=i?.toDate?i.toDate():new Date(i);return e instanceof Date&&!isNaN(e.getTime())?e:null}editar(i){this.enEdicion.set(i)}async eliminar(i){if(await this.confirmDialog.confirm({title:"Eliminar alianza",message:`Se eliminar\xE1 "${i.titulo}". Esta acci\xF3n no se puede deshacer.`,variant:"danger",confirmText:"Eliminar"}))try{await this.service.eliminarAlianza(i.id),this.toastr.success("Alianza eliminada.","Listo")}catch{this.toastr.error("No pudimos eliminar la alianza.","Error")}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=D({type:t,selectors:[["app-alianzas-list"]],features:[F([{provide:G,multi:!0,useValue:new J({ExternalLink:O,Handshake:R,Pencil:U,Search:H,Tras
1h2:Z})}])],decls:20,vars:9,consts:[[1,"space-y-6","animate-in","slide-in-from-bottom-4","duration-500"],[1,"flex","flex-col","md:flex-row","justify-between","items-start","md:items-center","gap-4"],[1,"text-3xl","font-extrabold","tracking-tight","text-txt-primary","mb-1"],[1,"text-txt-muted"],[1,"relative","w-full","md:w-72"],["name","search",1,"text-txt-muted","absolute","left-3.5","top-1/2","-translate-y-1/2","pointer-events-none",3,"size"],["type","search","placeholder","Buscar por t\xEDtulo u organizaci\xF3n\u2026","aria-label","Buscar alianzas",1,"input-standard","has-icon","h-11",3,"input","value"],[1,"flex","flex-wrap","items-center","gap-2"],["type","button",1,"px-3","py-1.5","rounded-full","text-xs","font-medium","border","transition-colors",3,"click"],["type","card"],["icon","handshake",3,"title","description"],[1,"grid","grid-cols-1","lg:grid-cols-2","gap-4"],[3,"alianza","stakeholderId","stakeholderNombre"],[1,"rounded-xl","border","border-rose-500/30","bg-rose-500/5","px-4","py-3","text-sm","text-rose-700","dark:text-rose-400"],["type","button",1,"px-3","py-1.5","rounded-full","text-xs","font-medium","border","transition-colors",3,"class"],[1,"bg-surface","border","border-border","rounded-xl","p-5","flex","flex-col"],[1,"flex","items-start","justify-between","gap-3"],[1,"min-w-0"],[1,"font-bold","text-txt-primary"],[1,"text-sm","text-primary","hover:underline","inline-flex","items-center","gap-1","mt-0.5",3,"routerLink"],["name","external-link",3,"size"],[1,"flex","items-center","gap-1","shrink-0"],[1,"flex","flex-wrap","items-center","gap-2","mt-3"],[1,"px-2","py-0.5","rounded","text-[11px]","font-medium","border"],[1,"px-2","py-0.5","rounded","text-[11px]","font-medium","border","bg-rose-500/10","text-rose-700","dark:text-rose-400","border-rose-500/20"],[1,"text-[11px]","text-txt-muted"],[1,"text-sm","text-txt-secondary","mt-3","leading-relaxed"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-3","mt-4","text-sm"],["target","_blank","rel","noopener noreferrer",1,"text-xs","text-primary","hover:underline","inline-flex","items-center","gap-1","mt-4",3,"href"],["type","button",1,"p-2","rounded-lg","text-txt-muted","hover:text-txt-primary","hover:bg-surface-hover","transition-colors",3,"click"],["name","pencil",3,"size"],["type","button",1,"p-2","rounded-lg","text-txt-muted","hover:text-red-500","hover:bg-red-500/10","transition-colors",3,"click"],["name","trash-2",3,"size"],[1,"text-xs","text-txt-muted","uppercase","font-bold","tracking-wider"],[1,"text-txt-secondary","mt-0.5"],[3,"cerrar","guardado","alianza","stakeholderId","stakeholderNombre"]],template:function(e,a){if(e&1&&(l(0,"div",0)(1,"div",1)(2,"div")(3,"h1",2),s(4,"Alianzas"),o(),l(5,"p",3),s(6,"Los acuerdos vivos con tus aliados: qu\xE9 se pact\xF3, con qui\xE9n y hasta cu\xE1ndo."),o()(),l(7,"div",4),_(8,"lucide-icon",5),l(9,"input",6),x("input",function(p){return a.onBuscar(p)}),o()()(),c(10,ce,1,1),l(11,"div",7)(12,"button",8),x("click",function(){return a.filtroEstado.set("todos")}),s(13),o(),k(14,pe,1,1,null,null,le),o(),c(16,ue,1,0,"app-loading-skeleton",9)(17,_e,1,2,"app-empty-state",10)(18,Ee,3,0,"div",11),c(19,Ae,1,3,"app-alianza-form-modal",12),o()),e&2){let r,p;n(8),u("size",16),n(),u("value",a.busqueda()),n(),m((r=a.porVencer())?10:-1,r),n(2),E(a.filtroEstado()==="todos"?"bg-primary/10 text-primary border-primary/30":"bg-surface text-txt-secondary border-border hover:border-primary/40"),n(),b(" Todas (",(a.alianzas()??V(8,oe)).length,") "),n(),S(a.ESTADOS),n(2),m(a.cargando()?16:a.filtradas().length?18:17),n(3),m((p=a.enEdicion())?19:-1,p)}},dependencies:[q,Q,K,W,Y,ne,$],encapsulation:2,changeDetection:0})};export{ae as AlianzasListComponent};
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.