import{a as z}from"./chunk-JGH6I3KN.js";import{a as B}from"./chunk-YEESETR2.js";import{c as j,d as N,g as D,t as U}from"./chunk-UDFQV3WY.js";import"./chunk-MBEC6LK4.js";import{Ba as w,Bb as y,Db as E,Eb as a,Fa as o,Fb as c,Jb as I,Kb as A,Lb as L,Oa as k,R as m,S as p,T as v,Ta as T,U as f,ca as S,db as C,fb as _,hb as M,ib as V,jb as h,kb as e,lb as n,mb as g,qb as b,rb as u,sb as d,xc as R}from"./chunk-TVKQFRWX.js";import"./chunk-DAQOROHW.js";var F=(r,i)=>i.id;function $(r,i){r&1&&(e(0,"div",4),g(1,"div",7),n())}function G(r,i){r&1&&(e(0,"div",4),v(),e(1,"svg",8),g(2,"path",9),n(),f(),e(3,"p",2),a(4,"Aucun message pour le moment"),n()())}function H(r,i){if(r&1){let t=b();e(0,"tr")(1,"td")(2,"div")(3,"p",13),a(4),n(),e(5,"p",14),a(6),n()()(),e(7,"td",15),a(8),n(),e(9,"td")(10,"span"),a(11),n()(),e(12,"td",16),a(13),n(),e(14,"td",11)(15,"div",17)(16,"button",18),u("click",function(){let s=m(t).$implicit,x=d(2);return p(x.viewContact(s))}),v(),e(17,"svg",19),g(18,"path",20)(19,"path",21),n()(),f(),e(20,"button",22),u("click",function(){let s=m(t).$implicit,x=d(2);return p(x.deleteContact(s))}),v(),e(21,"svg",19),g(22,"path",23),n()()()()()}if(r&2){let t=i.$implicit,l=d(2);y("bg-primary-50",t.status===l.ContactStatus.NON_LU),o(4),c(t.name),o(2),c(t.email),o(2),c(t.subject),o(2),E(l.getStatusBadgeClass(t.status)),o(),c(l.getStatusLabel(t.status)),o(2),c(l.formatDate(t.createdAt))}}function P(r,i){if(r&1&&(e(0,"div",5)(1,"table",10)(2,"thead")(3,"tr")(4,"th"),a(5,"Exp\xE9diteur"),n(),e(6,"th"),a(7,"Sujet"),n(),e(8,"th"),a(9,"Statut"),n(),e(10,"th"),a(11,"Date"),n(),e(12,"th",11),a(13,"Actions"),n()()(),e(14,"tbody"),M(15,H,23,9,"tr",12,F),n()()()),r&2){let t=d();o(15),V(t.contacts())}}function W(r,i){if(r&1&&(e(0,"p",31),a(1),n()),r&2){let t=d(2);o(),c(t.selectedContact().phone)}}function q(r,i){if(r&1){let t=b();e(0,"button",43),u("click",function(){m(t);let s=d(2);return p(s.markAsRead(s.selectedContact()))}),a(1,"Marquer comme lu"),n()}}function J(r,i){if(r&1){let t=b();e(0,"button",44),u("click",function(){m(t);let s=d(2);return p(s.markAsProcessed(s.selectedContact()))}),a(1,"Marquer comme trait\xE9"),n()}}function K(r,i){if(r&1){let t=b();e(0,"div",6)(1,"div",24)(2,"div",25)(3,"h2",26),a(4,"D\xE9tail du message"),n(),e(5,"button",27),u("click",function(){m(t);let s=d();return p(s.selectedContact.set(null))}),v(),e(6,"svg",28),g(7,"path",29),n()()(),f(),e(8,"div",30)(9,"div")(10,"p",16),a(11,"De"),n(),e(12,"p",13),a(13),n(),e(14,"p",31),a(15),n(),C(16,W,2,1,"p",31),n(),e(17,"div")(18,"p",16),a(19,"Sujet"),n(),e(20,"p",13),a(21),n()(),e(22,"div")(23,"p",16),a(24,"Message"),n(),e(25,"p",32),a(26),n()(),e(27,"div")(28,"label",33),a(29,"R\xE9ponse"),n(),e(30,"textarea",34),L("ngModelChange",function(s){m(t);let x=d();return A(x.responseText,s)||(x.responseText=s),p(s)}),n(),e(31,"div",35)(32,"button",36),u("click",function(){m(t);let s=d();return p(s.respond(s.selectedContact()))}),a(33),n(),e(34,"a",37),a(35,"R\xE9pondre par courriel"),n()(),e(36,"p",38),a(37,"\xAB R\xE9pondre par courriel \xBB ouvre votre messagerie avec le destinataire, le sujet et la r\xE9ponse d\xE9j\xE0 remplis."),n()(),e(38,"div",39)(39,"span"),a(40),n(),e(41,"div",40),C(42,q,2,0,"button",41),C(43,J,2,0,"button",42),n()()()()()}if(r&2){let t=d();o(13),c(t.selectedContact().name),o(2),c(t.selectedContact().email),o(),_(t.selectedContact().phone?16:-1),o(5),c(t.selectedContact().subject),o(5),c(t.selectedContact().message),o(4),I("ngModel",t.responseText),o(2),h("disabled",t.responding()||!t.responseText.trim()),o(),c(t.responding()?"Enregistrement\u2026":"Enregistrer la r\xE9ponse"),o(),h("href",t.emailLink(t.selectedContact()),w),o(5),E(t.getStatusBadgeClass(t.selectedContact().status)),o(),c(t.getStatusLabel(t.selectedContact().status)),o(2),_(t.selectedContact().status===t.ContactStatus.NON_LU?42:-1),o(),_(t.selectedContact().status!==t.ContactStatus.TRAITE?43:-1)}}var O=class r{constructor(i){this.apiService=i}contacts=S([]);loading=S(!0);selectedContact=S(null);ContactStatus=z;responseText="";responding=S(!1);ngOnInit(){this.loadContacts()}loadContacts(){this.apiService.getAllContacts(0,50).subscribe({next:i=>{i.success&&this.contacts.set(i.data.content),this.loading.set(!1)},error:()=>this.loading.set(!1)})}viewContact(i){this.selectedContact.set(i),this.responseText=i.response||""}respond(i){this.responseText.trim()&&(this.responding.set(!0),this.apiService.respondToContact(i.id,this.responseText.trim()).subscribe({next:()=>{this.responding.set(!1),this.loadContacts(),this.selectedContact.set(null)},error:()=>this.responding.set(!1)}))}emailLink(i){return`mailto:${i.email}?subject=${encodeURIComponent("R\xE9ponse du ST-RSU : "+i.subject)}&body=${encodeURIComponent(this.responseText)}`}markAsRead(i){this.apiService.updateContactStatus(i.id,"LU").subscribe({next:()=>{this.loadContacts(),this.selectedContact.set(null)}})}markAsProcessed(i){this.apiService.updateContactStatus(i.id,"TRAITE").subscribe({next:()=>{this.loadContacts(),this.selectedContact.set(null)}})}deleteContact(i){confirm(`Supprimer le message de "${i.name}" ?`)&&this.apiService.deleteContact(i.id).subscribe({next:()=>this.loadContacts()})}getStatusLabel(i){return{NOUVEAU:"Nouveau",LU:"Lu",EN_COURS:"En cours",TRAITE:"Trait\xE9"}[i]||i}getStatusBadgeClass(i){return{NOUVEAU:"badge-primary",LU:"badge bg-neutral-100 text-neutral-600",EN_COURS:"badge-warning",TRAITE:"badge-success"}[i]||"badge"}formatDate(i){return i?new Date(i).toLocaleDateString("fr-FR"):""}static \u0275fac=function(t){return new(t||r)(k(B))};static \u0275cmp=T({type:r,selectors:[["app-contacts"]],decls:11,vars:2,consts:[[1,"space-y-6"],[1,"text-2xl","font-bold","text-neutral-900"],[1,"text-neutral-500"],[1,"card","p-0"],[1,"p-8","text-center"],[1,"table-container"],[1,"fixed","inset-0","bg-black/50","flex","items-center","justify-center","z-50","p-4"],[1,"spinner","w-8","h-8","mx-auto"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-12","h-12","text-neutral-300","mx-auto","mb-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"],[1,"table"],[1,"text-right"],[3,"bg-primary-50"],[1,"font-medium","text-neutral-900"],[1,"text-xs","text-neutral-400"],[1,"max-w-xs","truncate"],[1,"text-sm","text-neutral-500"],[1,"flex","justify-end","gap-2"],["title","Voir",1,"btn-ghost","p-2",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-4","h-4"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M15 12a3 3 0 11-6 0 3 3 0 016 0z"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"],["title","Supprimer",1,"btn-ghost","p-2","text-secondary-500",3,"click"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"],[1,"bg-white","rounded-2xl","shadow-xl","w-full","max-w-lg"],[1,"p-6","border-b","border-neutral-200","flex","items-center","justify-between"],[1,"text-xl","font-semibold","text-neutral-900"],[1,"btn-ghost","p-2",3,"click"],["fill","none","stroke","currentColor","viewBox","0 0 24 24",1,"w-5","h-5"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M6 18L18 6M6 6l12 12"],[1,"p-6","space-y-4"],[1,"text-sm","text-neutral-600"],[1,"text-neutral-700","whitespace-pre-wrap"],["for","contact-response",1,"text-sm","font-medium","text-neutral-700"],["id","contact-response","rows","5","placeholder","R\xE9digez votre r\xE9ponse\u2026",1,"textarea","mt-2",3,"ngModelChange","ngModel"],[1,"mt-3","flex","flex-wrap","gap-2"],["type","button",1,"btn-primary","text-sm",3,"click","disabled"],[1,"btn-outline","text-sm",3,"href"],[1,"mt-2","text-xs","text-neutral-500"],[1,"flex","items-center","justify-between","pt-4","border-t","border-neutral-200"],[1,"flex","gap-2"],[1,"btn-outline","text-sm"],[1,"btn-primary","text-sm"],[1,"btn-outline","text-sm",3,"click"],[1,"btn-primary","text-sm",3,"click"]],template:function(t,l){t&1&&(e(0,"div",0)(1,"div")(2,"h1",1),a(3,"Messages"),n(),e(4,"p",2),a(5,"G\xE9rez les demandes de contact"),n()(),e(6,"div",3),C(7,$,2,0,"div",4)(8,G,5,0,"div",4)(9,P,17,0,"div",5),n(),C(10,K,44,14,"div",6),n()),t&2&&(o(7),_(l.loading()?7:l.contacts().length===0?8:9),o(3),_(l.selectedContact()?10:-1))},dependencies:[R,U,j,N,D],encapsulation:2})};export{O as ContactsComponent};