Files

1 line
4.0 KiB
JavaScript

import{$ as e,A as t,B as n,E as r,I as i,K as a,L as o,N as s,Q as c,Z as l,at as u,bt as d,dt as f,et as p,ft as m,g as h,it as g,j as _,k as v,m as y,nt as b,p as x,u as S,vt as C}from"../chunks/DGrvnoUE.js";import{n as w}from"../chunks/BZuNOv8h.js";import"../chunks/xihTtKlq.js";import"../chunks/CY9OlB4q.js";import{t as T}from"../chunks/BYYkuYgk.js";import{n as E,r as D,t as O}from"../chunks/Bht2nTIZ.js";var k=d({load:()=>A}),A=async({params:e})=>({title:`Historique`,conversations:await T.allChats(e.space,0),tasks:await D.listTasks(e.space),space:e.space}),j=s(`<option> </option>`),M=s(`<div class="formelement w-60"><select class="textinput"><option>Toutes les tâches</option><!></select></div>`),N=s(`<span class="mx-1">·</span> <a class="text-sky-700 dark:text-sky-300">Tâche planifiée</a>`,1),P=s(`<div class="dark:bg-stone-800 rounded p-2 my-2"><div class="flex flex-row items-center"><div class="flex-1 font-bold text-base"><a> </a></div> <button class="bt small" title="Supprimer la conversation"><i class="icon-trash-empty"></i></button></div> <div class="mt-1 text-xs text-stone-500"><span title="Créée le"> </span> <span class="mx-1">·</span> <span title="Dernière interaction"> </span> <!></div></div>`),ee=s(`<p class="my-4 text-center text-sm text-stone-500">Aucune conversation trouvée.</p>`),te=s(`<div class="my-4 text-center"><button class="bt small"> </button></div>`),F=s(`<div class="container"><div class="my-2 flex gap-2"><div class="formelement flex-1"><input class="textinput" type="search" placeholder="Rechercher une conversation..."/></div> <!></div> <!> <!> <!></div> <!>`,1);function I(i,s){m(s,!0);let d=e=>{if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString(`fr-FR`,{day:`numeric`,month:`long`,year:`numeric`,hour:`2-digit`,minute:`2-digit`})},D=g(``),k=g(``),A=g(p(s.data.conversations)),I=g(0),L=g(!1),R=g(null),z=u(()=>n(A).length===(n(I)+1)*20),B=u(()=>s.data.tasks??[]),V=async()=>{b(I,0);let e=n(k)||void 0,t=await T.allChats(s.data.space,0,n(D),e);b(A,t??[],!0)},H,U=()=>{H!==void 0&&clearTimeout(H),H=setTimeout(V,300)},W=()=>{V()},G=async()=>{if(!n(L)){b(L,!0);try{let e=n(k)||void 0,t=await T.allChats(s.data.space,n(I)+1,n(D),e)??[];b(A,[...n(A),...t],!0),b(I,n(I)+1)}catch{E(`failure`,`Erreur lors du chargement des conversations`)}finally{b(L,!1)}}},K=async()=>{if(n(R))try{await T.deleteChat(s.data.space,n(R).id),E(`success`,`Conversation supprimée`),await w(),await V()}catch{E(`failure`,`Erreur lors de la suppression de la conversation`)}finally{b(R,null)}};var q=F(),J=c(q),Y=l(J),X=l(Y),Z=l(X);x(Z),C(X);var ne=e(X,2),re=i=>{var s=M(),c=l(s),u=l(c);u.value=u.__value=``;var d=e(u);r(d,17,()=>n(B),e=>e.id,(e,r)=>{var i=j(),o=l(i,!0);C(i);var s={};a(()=>{t(o,n(r).label),s!==(s=n(r).id)&&(i.value=(i.__value=n(r).id)??``)}),_(e,i)}),C(c),C(s),o(`change`,c,W),h(c,()=>n(k),e=>b(k,e)),_(i,s)};v(ne,e=>{n(B).length>0&&e(re)}),C(Y);var Q=e(Y,2);r(Q,17,()=>n(A),e=>e.id,(r,i)=>{var u=P(),f=l(u),p=l(f),m=l(p),h=l(m,!0);C(m),C(p);var g=e(p,2);C(f);var x=e(f,2),S=l(x),w=l(S);C(S);var T=e(S,4),E=l(T);C(T);var D=e(T,2),O=t=>{var r=N(),o=e(c(r),2);a(()=>y(o,`href`,`/${s.data.space}/tasks?task=${n(i).taskId}`)),_(t,r)};v(D,e=>{n(i).taskId&&e(O)}),C(x),C(u),a((e,r)=>{y(m,`href`,`/${s.data.space}/${n(i).id}`),t(h,n(i).title),t(w,`Créée le ${e??``}`),t(E,`Dernière interaction : ${r??``}`)},[()=>d(n(i)._date_created),()=>d(n(i)._date_updated)]),o(`click`,g,()=>b(R,n(i),!0)),_(r,u)});var $=e(Q,2),ie=e=>{var t=ee();_(e,t)};v($,e=>{n(A).length===0&&e(ie)});var ae=e($,2),oe=e=>{var r=te(),i=l(r),s=l(i,!0);C(i),C(r),a(()=>{i.disabled=n(L),t(s,n(L)?`Chargement...`:`Charger plus`)}),o(`click`,i,G),_(e,r)};v(ae,e=>{n(z)&&e(oe)}),C(J);var se=e(J,2);{let e=u(()=>n(R)!==null),t=u(()=>`Voulez-vous vraiment supprimer « ${n(R)?.title} » ? Cette action est irréversible.`);O(se,{get open(){return n(e)},title:`Supprimer la conversation`,get message(){return n(t)},confirmLabel:`Supprimer`,onConfirm:K,onCancel:()=>b(R,null)})}o(`input`,Z,U),S(Z,()=>n(D),e=>b(D,e)),_(i,q),f()}i([`input`,`change`,`click`]);export{I as component,k as universal};