PageSourceSearch

https://app.invoicing.plus/build/assets/LayoutBasic-9d2be3d4.js

js invoicing.plus collected 2026-10-02 06:25:55 UTC 72,966 bytes, 1 lines download raw bytes

1import{u as me}from"./vue-i18n-2b0851fa.js";import{a as ye,u as be,j as Ye,c as Je,b as se,U as Ke,o as ke,_ as Xe,f as Qe,k as _e}from"./main-949f78c7.js";import{u as ve,b as $e}from"./vue-router-2645b885.js";import{u as pe,S as Ze}from"./vue.runtime.esm-bundler-d809f96b.js";import{u as Te}from"./exchange-rate-70c0c78f.js";import{u as de,d as et,l as tt,a as st}from"./lodash-5eb42d42.js";import{a as Ce}from"./axios-67252f11.js";import{v as P,w as ce,G as Ie,r as F,o,c as a,d as s,u as t,t as C,g as x,a as r,e as k,f as G,i as T,F as X,s as Z,j as H,h as ee,x as Se,O as Re,P as Ee,l as Oe,p as Ae,B as ot,L as nt,a3 as rt}from"./runtime-core.esm-bundler-933f4ca9.js";import{w as oe,T as ge,n as at,a as it,b as lt}from"./runtime-dom.esm-bundler-c8a4e9fd.js";import{u as je,g as ct,d as dt}from"./notification-bf8208d4.js";import{o as Ne,u as ut}from"./index-3261feff.js";import{u as De}from"./dashboard-e9f998b0.js";import{u as mt}from"./deadline-bf3b8b68.js";import{_ as Ve}from"./MainLogo-17320595.js";import{_ as pt,a as ht}from"./InfoModal-012db7b5.js";import{_ as Me}from"./_plugin-vue_export-helper-c27b6911.js";import{N as ft}from"./NotificationRoot-c5c3558f.js";import{u as gt}from"./index.esm-e8e553d0.js";import{c as Be,r as _t,d as vt}from"./index.esm-fdb3bbc0.js";import{V as yt}from"./index.es-522ecc23.js";import{h as bt}from"./moment-e9e012b5.js";import"./fr-b924d11b.js";import{u as xt}from"./global-3bba4a80.js";import{r as wt}from"./TheSiteChatbot.vue_vue_type_style_index_0_scoped_347fae3d_lang-30d32094.js";import"./utilities-cc7bdc62.js";import"./XCircleIcon-086051d1.js";import"./preload-helper-6f27e6cf.js";import"./customer-router-ab4e6372.js";import"./menu-2d018230.js";import"./index-4b843de9.js";import"./dialog-53f3c14d.js";import"./BaseDropdownItem-7d3f9263.js";/* empty css                                                     */import"./themes-d047ae68.js";import"./Info-0cfe71d5.js";import"./Chart-870cc521.js";/* empty css                                                  *//* empty css                                                                        */import"./error-handling-ac794a97.js";const kt={key:0,class:"w-16 text-sm font-medium truncate sm:w-auto"},Ct={key:0,class:"absolute right-0 mt-2 bg-white rounded-md shadow-lg"},$t={class:"overflow-y-auto scrollbar-thin scrollbar-thumb-rounded-full w-[250px] max-h-[500px] scrollbar-thumb-gray-300 scrollbar-track-gray-10 pb-4"},It={key:0,class:"px-3 py-2 text-xs font-semibold text-gray-400 mb-0.5 block"},St=s("br",null,null,-1),Rt=s("small",null,"clic gauche même onglet, ",-1),Et=s("small",null,"clic droit nouvel onglet",-1),Mt={key:1,class:"flex flex-col items-center justify-center p-2 px-3 mt-4 text-base text-gray-400"},Ut=["href"],At={key:2},Bt={key:0},Tt=["onClick","onContextmenu"],Ot={class:"flex items-center w-full"},jt={class:"flex items-center justify-center mr-3 overflow-hidden text-base font-semibold bg-gray-200 rounded-md w-9 h-9 text-primary-500"},Nt={key:0},Dt=["src"],Vt={class:"flex flex-col flex-1 min-w-0"},Lt={class:"text-sm truncate"},Pt=["onClick"],Ft={class:"font-medium"},zt={__name:"CompanySwitcher",setup(L){const _=de(),e=et(),i=De();ye();const R=ve(),f=$e(),p=be(),w=Ye(),$=je();me();const h=pe(),I=P(!1),E=P(""),g=P(null),v=mt();P(null);const y={customer:{category_id:null,status:"active"},"delivery-note":{status:"DRAFT",custom_fields:{}},estimate:{custom_fields:{}},invoice:{type_range:"invoice_date",custom_fields:{}},order:{custom_fields:{}},project:{status:"CURRENT"}};function q(){const A=ct();Object.entries((A==null?void 0:A.state.value)||{}).forEach(([u,j])=>{Object.prototype.hasOwnProperty.call(j,"currentFilter")&&(Object.keys(j.currentFilter).forEach(B=>{delete j.currentFilter[B]}),Object.assign(j.currentFilter,y[u]||{}))})}ce(R,()=>{I.value=!1,E.value=""}),ce(I,async A=>{var u,j;A&&(await Ie(),(j=(u=g.value)==null?void 0:u.querySelector('input[type="search"]'))==null||j.focus())}),Ne(g,()=>{I.value=!1});function l(A){if(A)return A.split(" ")[0].charAt(0).toUpperCase()}async function n(A){var j;if(!A.slug){$.showNotification({type:"error",message:"Impossible de déterminer l'URL de la société."});return}const u=new URL(`/${encodeURIComponent(A.slug)}`,window.location.origin).href;try{if((j=navigator.clipboard)!=null&&j.writeText)await navigator.clipboard.writeText(u);else{const B=document.createElement("textarea");B.value=u,B.style.position="fixed",B.style.opacity="0",document.body.appendChild(B);let S=!1;try{B.focus(),B.select(),S=document.execCommand("copy")}finally{document.body.removeChild(B)}if(!S)throw new Error("Clipboard copy failed")}$.showNotification({type:"success",message:"URL de la société copiée dans le presse-papiers."})}catch(B){console.log(B),$.showNotification({type:"error",message:"Impossible de copier l'URL de la société."})}}async function d(A){const u=h.currentUser.name,j=h.currentUser.email,B=h.currentUser.phone||"",S=`/register?name=${encodeURIComponent(u)}&email=${encodeURIComponent(j)}&phone=${encodeURIComponent(B)}`;window.open(S,"_blank")}function M(){var j;const A=f.currentRoute.value,u=(j=_.selectedCompany)==null?void 0:j.slug;return u&&A.path===`/${u}`?f.resolve({path:"/admin/dashboard",query:A.query,hash:A.hash}).href:A.href}async function U(A){window.Ls.set("selectedNewCompany",A.id);let u=M();const j=/(\d+)/gm,B=u.match(j);B&&(u=u.split(B[0])[0].replace(/\/+$/,"")),window.open(u,"_blank"),I.value=!1}async function K(A){let u=M();e.reset(),i.isDashboardDataLoaded=!1,w.currentYear=null,q(),h.currentSearch={addresses:"",customers:"",suppliers:"",items:"",templates:"",expenses:"",invoices:"",estimates:"",preBillings:"",timings:"",recurringInvoices:"",payments:"",deadlines:"",vouchers:"",recoveries:"",autoRecoveries:"",filebank:"",filebankItems:"",contracts:"",orders:"",deliveryNotes:"",electronicSignature:"",purchaseDeliveryNotes:"",inventories:"",stockMovements:"",users:"",companies:"",activity:"",onlinePayments:"",bankTransactions:""},h.currentOrderByField={addresses:"name",customers:"name",suppliers:"name",leads:"reminder_date",items:"name",templates:"",expenses:"",invoices:"sequence_number",estimates:"sequence_number",preBillings:"pre_billing_date",timings:"pre_billing_date",recurringInvoices:"starts_at",payments:"payment_date",deadlines:"due_date",vouchers:"",recoveries:"recovery_date",autoRecoveries:"recovery_date",filebank:"file_date",filebankItems:"",contracts:"starts_at",orders:"sequence_number",deliveryNotes:"",electronicSignature:"",purchaseDeliveryNotes:"",inventories:"",stockMovements:"stock_movement_date",users:"",companies:"",activity:"",onlinePayments:"",bankTransactions:""},h.currentOrderBy={addresses:"asc",customers:"asc",suppliers:"asc",leads:"asc",items:"asc",templates:"",expenses:"",invoices:"desc",estimates:"desc",preBillings:"desc",timings:"desc",recurringInvoices:"asc",payments:"desc",deadlines:"desc",vouchers:"",recoveries:"desc",autoRecoveries:"asc",filebank:"desc",filebankItems:"",contracts:"desc",orders:"desc",deliveryNotes:"desc",electronicSignature:"desc",purchaseDeliveryNotes:"desc",stockMovements:"desc",inventories:"desc",users:"",companies:"",activity:"",onlinePayments:"",bankTransactions:""},h.currentLimit={addresses:5,customers:5,items:10,templates:5,expenses:5,invoices:5,estimates:5,preBillings:5,timings:10,recurringInvoices:5,payments:5,vouchers:5,recoveries:10,autoRecoveries:10,filebank:5,filebankItems:5,contracts:
15,orders:5,deliveryNotes:5,electronicSignature:5,purchaseDeliveryNotes:5,stockMovements:5,inventories:5,users:5,companies:5,activity:10,onlinePayments:10,bankTransactions:10},h.currentPage={addresses:1,customers:1,items:1,templates:1,expenses:1,invoices:1,estimates:1,preBillings:1,timings:1,recurringInvoices:1,payments:1,vouchers:1,recoveries:1,autoRecoveries:1,filebank:1,filebankItems:1,contracts:1,orders:1,deliveryNotes:1,electronicSignature:1,purchaseDeliveryNotes:1,stockMovements:1,users:1,companies:1,activity:1,onlinePayments:1,bankTransactions:1},h.currentShowFilter={customers:0,customers:0,estimates:0,orders:0,deliveryNotes:0,invoices:0,recurringInvoices:0,contracts:0,preBillings:0,timings:0,payments:0,expenses:0,stockMovements:0,onlinePayments:0,bankTransactions:0},await _.setSelectedCompany(A),v.selectedDeadlines=[];const j=/(\d+)/gm,B=u.match(j);B&&(u=u.split(B[0])[0].replace(/\/+$/,"")),u=u.replace("/create",""),f.replace(u),await p.setIsAppLoaded(!1),await p.bootstrap();let S=document.body.className.match(/(^|\s)theme-\S+/g)||[];S&&S.length&&(document.body.classList.remove(S[0].trim()),document.body.className+=" theme-"+_.selectedCompanySettings.customer_portal_theme)}return(A,u)=>{const j=F("BaseIcon"),B=F("BaseInput");return o(),a("div",{ref_key:"companySwitchBar",ref:g,class:"relative rounded"},[s("div",{class:"flex items-center justify-center px-3 h-8 md:h-9 ml-2 text-sm text-white bg-white rounded cursor-pointer bg-opacity-20",onClick:u[0]||(u[0]=S=>I.value=!I.value)},[t(_).selectedCompany?(o(),a("span",kt,C(t(_).selectedCompany.name),1)):x("",!0),r(j,{name:"ChevronDownIcon",class:"h-5 ml-1 text-white"})]),r(ge,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"translate-y-1 opacity-0","enter-to-class":"translate-y-0 opacity-100","leave-active-class":"transition duration-150 ease-in","leave-from-class":"translate-y-0 opacity-100","leave-to-class":"translate-y-1 opacity-0"},{default:k(()=>[I.value?(o(),a("div",Ct,[s("div",$t,[t(_).companiesWithoutSelected.length>1?(o(),a("label",It,[G(C(A.$t("company_switcher.label"))+" ",1),St,Rt,Et])):x("",!0),t(_).companiesWithoutSelected.length<1?(o(),a("div",Mt,[G(" Pas d'autre société, "),s("a",{target:"_blank",class:"text-primary-500",href:t(p).config.base_url_wp},"contactez Admin Plus",8,Ut),G(" ou ajoutez-en une ")])):(o(),a("div",At,[t(_).companiesWithoutSelected.length>0?(o(),a("div",Bt,[t(_).companiesWithoutSelected.length>5?(o(),T(B,{key:0,modelValue:E.value,"onUpdate:modelValue":u[1]||(u[1]=S=>E.value=S),type:"search",autofocus:"",placeholder:"recherche par nom",class:"placeholder-gray-400 border-0"},null,8,["modelValue"])):x("",!0),(o(!0),a(X,null,Z(t(_).companiesWithoutSelected.filter(S=>S.name.toLowerCase().replace(/\./g,"").includes(E.value.toLowerCase().replace(/\./g,""))),(S,J)=>(o(),a("div",{key:J,class:H(["group p-2 px-3 rounded-md cursor-pointer hover:bg-gray-100 hover:text-primary-500",{"bg-gray-100 text-primary-500":t(_).selectedCompany.id===S.id}]),onClick:le=>K(S),onContextmenu:oe(le=>U(S),["prevent"])},[s("div",Ot,[s("span",jt,[S.logo?(o(),a("img",{key:1,src:S.logo,alt:"Company logo",class:"w-full h-full object-contain"},null,8,Dt)):(o(),a("span",Nt,C(l(S.name)),1))]),s("div",Vt,[s("span",Lt,C(S.name),1)]),s("button",{type:"button",class:"p-1 ml-2 text-gray-400 transition-opacity rounded opacity-0 group-hover:opacity-100 focus:opacity-100 hover:text-primary-500 focus:outline-none",title:"Copier l'URL de la société","aria-label":"Copier l'URL de la société",onClick:oe(le=>n(S),["stop"]),onContextmenu:u[2]||(u[2]=oe(()=>{},["stop"]))},[r(j,{name:"DocumentDuplicateIcon",class:"w-4 h-4"})],40,Pt)])],42,Tt))),128))])):x("",!0)]))]),s("div",{class:"flex items-center justify-center p-4 pl-3 border-t-2 border-gray-100 cursor-pointer bg-primary-500 text-white",onClick:d},[r(j,{name:"PlusIcon",class:"h-5 mr-2"}),s("span",Ft,C(A.$t("company_switcher.add_new_company")),1)])])):x("",!0)]),_:1})],512)}}},Gt=s("span",{class:"hidden truncate text-sm lg:inline"},"Recherche",-1),qt={key:1},Ht={key:0,class:"scrollbar-thin scrollbar-thumb-rounded-full scrollbar-thumb-gray-300 scrollbar-track-gray-100 overflow-y-auto bg-white rounded-md mt-2 shadow-lg p-3 absolute w-[300px] h-[300px] right-0"},Wt={key:0,class:"flex items-center justify-center text-gray-400 text-base flex-col mt-4"},Yt={key:1},Jt={key:0},Kt={class:"text-sm text-gray-400 mb-0.5 block px-2 uppercase"},Xt={class:"flex items-center justify-center w-9 h-9 mr-3 text-base font-semibold bg-gray-200 rounded-full text-primary-500"},Qt={class:"flex flex-col"},Zt={class:"text-sm"},es={class:"text-xs text-gray-400"},ts={key:1,class:"mt-2"},ss={class:"text-sm text-gray-400 mb-2 block px-2 mb-0.5 uppercase"},os={class:"flex items-center justify-center w-9 h-9 mr-3 text-base font-semibold bg-gray-200 rounded-full text-primary-500"},ns={class:"text-sm"},rs={key:0,class:"text-xs text-gray-700"},as={__name:"GlobalSearchBar",setup(L){const _=Je(),e=De(),i=de(),R=P(!1),f=P(!1),p=P(""),w=P(null),$=P(!1),h=ve
1();ce(h,()=>{R.value=!1,f.value=!1,p.value=""}),E=tt.debounce(E,500),Ne(w,()=>{R.value=!1,f.value=!1,p.value=""});async function I(){var v,y;f.value=!0,await Ie(),(y=(v=w.value)==null?void 0:v.querySelector("input"))==null||y.focus()}function E(){let v={search:p.value,status:"active"};p.value&&($.value=!0,_.search(v).then(()=>{R.value=!0}),$.value=!1),p.value===""&&(R.value=!1)}function g(v){if(v)return v.split(" ")[0].charAt(0).toUpperCase()}return(v,y)=>{const q=F("BaseIcon"),l=F("BaseInput"),n=F("router-link");return o(),a("div",{ref_key:"searchBar",ref:w,class:H(["relative hidden rounded transition-[width] duration-200 md:block",f.value?"w-64 xl:w-72":"w-9 lg:w-32"])},[f.value?(o(),a("div",qt,[r(l,{modelValue:p.value,"onUpdate:modelValue":y[0]||(y[0]=d=>p.value=d),placeholder:v.$t("global_search.search"),"container-class":"!rounded",class:"h-8 md:h-9 !rounded placeholder-gray-400",onInput:E},{left:k(()=>[r(q,{name:"MagnifyingGlassIcon",class:"text-gray-400"})]),right:k(()=>[$.value?(o(),T(Ze,{key:0,class:"h-5 text-primary-500"})):x("",!0)]),_:1},8,["modelValue","placeholder"])])):(o(),a("button",{key:0,type:"button",title:"Rechercher un client ou un produit",class:"flex h-8 w-full items-center justify-center gap-2 rounded-md border-2 border-white bg-white px-2 font-semibold text-primary-600 shadow-sm ring-2 ring-primary-200 transition hover:bg-primary-50 md:h-9",onClick:I},[r(q,{name:"MagnifyingGlassIcon",class:"h-5 w-5 shrink-0 text-primary-600"}),Gt])),r(ge,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"translate-y-1 opacity-0","enter-to-class":"translate-y-0 opacity-100","leave-active-class":"transition duration-150 ease-in","leave-from-class":"translate-y-0 opacity-100","leave-to-class":"translate-y-1 opacity-0"},{default:k(()=>[R.value?(o(),a("div",Ht,[t(_).customerList.length<1&&t(_).itemList.length<1?(o(),a("div",Wt,[r(q,{name:"ExclamationCircleIcon",class:"text-gray-400"}),G(" "+C(v.$t("global_search.no_results_found")),1)])):(o(),a("div",Yt,[t(_).customerList.length>0?(o(),a("div",Jt,[s("label",Kt,C(v.$t("global_search.customers")),1),(o(!0),a(X,null,Z(t(_).customerList,(d,M)=>(o(),a("div",{key:M,class:"p-2 hover:bg-gray-100 cursor-pointer rounded-md"},[r(n,{to:{path:`/admin/dashboardforcustomer/${d.id}`},class:"flex items-center"},{default:k(()=>[s("span",Xt,C(g(d.name)),1),s("div",Qt,[s("span",Zt,C(d.name),1),s("span",es,C(d.billing_address.zip)+" "+C(d.billing_address.city),1)])]),_:2},1032,["to"])]))),128))])):x("",!0),t(_).itemList.length>0?(o(),a("div",ts,[s("label",ss,C(v.$t("global_search.items")),1),(o(!0),a(X,null,Z(t(_).itemList,(d,M)=>(o(),a("div",{key:M,class:"p-2 hover:bg-gray-100 cursor-pointer rounded-md"},[r(n,{to:{path:`/admin/dashboardforitem/${d.id}`},class:"flex items-center",onClick:U=>t(e).currentItem=d},{default:k(()=>[s("span",os,C(g(d.name)),1),s("span",ns,[G(C(d.name)+" ",1),t(i).selectedCompanySettings.stock_management==="YES"?(o(),a("span",{key:0,class:H(["inline-block px-2 text-black hover:text-gray-100",d.quantity_stored>0?"bg-green-200 border-green-600 hover:bg-green-500":"bg-red-200 border-red-600 hover:bg-red-500"])},[G(C(d.quantity_stored)+" ",1),d.stockWithOrder!=d.quantity_stored?(o(),a("span",rs," ("+C(d.stockWithOrder)+") ",1)):x("",!0)],2)):x("",!0)])]),_:2},1032,["to","onClick"])]))),128))])):x("",!0)]))])):x("",!0)]),_:1})],2)}}},is={key:0,class:"relative bg-black text-white text-sm flex items-center justify-between px-4 py-2 shadow transition"},ls=["innerHTML"],cs={__name:"NewsBanner",setup(L){const _=P(null);function e(f){if(!f)return"";const p=/(\bhttps?:\/\/[^\s]+)/g;return f.replace(p,w=>`<a href="${w}" target="_blank" class="underline text-blue-600 hover:text-blue-800">${w}</a>`)}const i=ee(()=>!_.value||!_.value.length?"":e(_.value[0].content));async function R(f){try{await Ce.post(`/api/v1/chatbot/messages/${f}/highlight/viewed`),_.value=_.value.filter(p=>p.id!==f)}catch(p){console.log(p)}}return Se(async()=>{var f,p;try{const w=await Ce.get("/api/v1/chatbot/messages/highlighted/recent");(p=(f=w.data)==null?void 0:f.data)!=null&&p.length&&(_.value=w.data.data)}catch(w){console.error("Erreur lors du chargement du message mis en avant :",w)}}),(f,p)=>{const w=F("BaseIcon");return _.value&&_.value.length?(o(),a("div",is,[r(w,{name:"NewspaperIcon"}),s("div",{class:"flex-1 text-center px-16",innerHTML:t(i)},null,8,ls),r(w,{name:"XMarkIcon",class:"cursor-pointer",onClick:p[
10]||(p[0]=$=>R(_.value[0].id))})])):x("",!0)}}},Le=dt("assistant",{state:()=>({isOpen:!1,messages:[],loading:!1}),actions:{open(){this.isOpen=!0},close(){this.isOpen=!1},toggle(){this.isOpen=!this.isOpen}}});const xe=L=>(Re("data-v-3934b414"),L=L(),Ee(),L),ds={key:0,class:"md:h-12 text-sm md:text-xl text-white bg-red-600 py-1 md:py-2 px-2 w-full"},us=xe(()=>s("a",{href:"/register",class:"bg-green-500 p-1 rounded"},[s("span",{class:"underline"},"Cliquez-ici")],-1)),ms=["onClick"],ps={class:"ml-auto flex h-8 items-center gap-4 m-0 list-none md:h-9"},hs={key:0,class:"hidden h-full items-center overflow-hidden rounded-md bg-white ring-1 ring-gray-200 lg:flex"},fs=["onClick","title"],gs={key:1,class:"relative hidden float-left m-0 md:block"},_s={class:"flex items-center justify-center w-8 h-8 text-sm text-black bg-white rounded md:h-9 md:w-9"},vs={key:2,class:"relative hidden float-left m-0 md:block"},ys={class:"flex items-center justify-center w-8 h-8 text-sm text-black bg-white rounded md:h-9 md:w-9"},bs={class:"grid grid-cols-2"},xs=xe(()=>s("p",{class:"col-span-2 px-4 py-2 text-xs text-gray-500 bg-gray-50 border-b border-gray-100"}," Clic gauche : ouverture fenêtre courante · Clic droit : ouverture nouvel onglet ",-1)),ws=["onClick","onContextmenu"],ks={key:3,class:"relative flex h-full items-center"},Cs={class:"hidden h-full items-center md:flex"},$s={class:"relative flex h-full items-center"},Is={class:"relative flex h-full items-center"},Ss={class:"relative flex h-full items-center"},Rs={class:"relative flex h-full items-center"},Es=["src"],Ms={key:0},Us={key:0,class:"fixed inset-0 z-50"},As={class:"absolute top-0 right-0 h-full w-full max-w-2xl bg-white shadow-2xl flex flex-col"},Bs={class:"flex items-center justify-between px-6 py-5 bg-gradient-to-r from-primary-500 to-primary-100"},Ts=xe(()=>s("div",null,[s("h2",{class:"text-xl font-bold text-white"}," Tutoriels Invoicing.plus "),s("p",{class:"text-sm text-white/80 mt-1"}," Apprenez à utiliser le logiciel ")],-1)),Os={class:"flex-1 overflow-y-auto p-5"},js={class:"grid grid-cols-2 gap-4"},Ns=["onClick"],Ds={class:"relative"},Vs=["src","alt"],Ls={class:"absolute inset-0 flex items-center justify-center bg-black/0 group-hover:bg-black/20 transition"},Ps={class:"flex items-center justify-center w-12 h-12 rounded-full bg-white/95 shadow-lg opacity-90 group-hover:scale-110 transition"},Fs={class:"p-4"},zs={class:"font-semibold text-gray-800 group-hover:text-primary-600 transition"},Gs={key:0,class:"fixed inset-0 z-[60] flex items-center justify-center p-4 md:p-8"},qs={class:"relative w-full max-w-5xl bg-white rounded-2xl overflow-hidden shadow-2xl"},Hs={class:"flex items-center justify-between px-5 py-4 border-b"},Ws={class:"font-semibold text-gray-800 truncate pr-4"},Ys={class:"bg-black"},Js=["src"],Ks=xe(()=>s("div",{class:"px-5 py-4"},[s("p",{class:"text-sm text-gray-500"}," Tutoriel vidéo Invoicing.plus ")],-1)),Xs={__name:"TheSiteHeader",setup(L){const _=st(),e=pe(),i=de(),R=be(),f=$e(),p=ye();Le();const w=P(!1),$=P(null),h=ee(()=>R.mainMenu.filter(u=>u.isBookmarked&&!u.team_only)),I=[{title:"Comment créer un client",video:"https://invoicing.plus/wp-content/uploads/2026/07/Comment-creer-un-client-sur-le-logiciel-invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Comment-creer-un-client.png"},{title:"Comment créer un devis",video:"https://invoicing.plus/wp-content/uploads/2026/07/Comment-creer-un-devis-sur-le-logiciel-invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Comment-creer-un-devis.png"},{title:"Comment créer une facture d’avancement",video:"https://invoicing.plus/wp-content/uploads/2026/07/Comment-creer-une-facture-davancement-sur-le-logiciel-invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Comment-creer-une-facture-davancement.png"},{title:"Comment créer un produit",video:"https://invoicing.plus/wp-content/uploads/2026/07/Comment-faire-un-produit-sur-logiciel-de-facturation-Invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Comment-creer-un-produit.png"},{title:"Comment faire une facture récurrente",video:"https://invoicing.plus/wp-content/uploads/2026/07/Comment-faire-une-facture-recurente-sur-le-logiciel-invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Comment-faire-une-facture-recurente.png"},{title:"Modifier le menu et le tableau de bord",video:"https://invoicing.plus/wp-content/uploads/2026/07/Comment-modifier-le-menus-et-le-tableau-de-bourd-sur-le-logiciel-invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Comment-modifier-le-menu-et-le-tableau-de-bord.png"},{title:"Modifier les tableaux",video:"https://invoicing.plus/wp-content/uploads/2026/07/Comment-modifier-les-tableaux-sur-le-logiciel-invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Comment-modifier-les-tableaux.png"},{title:"Présentation de tous les outils",video:"https://invoicing.plus/wp-content/uploads/2026/07/Presentation-de-tous-les-outils-sur-le-logiciel-invoicing.plus_.mp4",thumbnail:"https://invoicing.plus/wp-content/uploads/2026/07/Miniature-Les-outils-disponibles.png"}];function E(u){$.value=u}function g(){$.value=null}const v=ee(()=>e.currentUser&&e.currentUser.avatar!==0?e.currentUser.avatar:y());function y(){return new URL("/build/assets/default-avatar-af0113af.jpg",self.location).href}function q(){return e.hasAbilities([])}async function l(){await _.logout(),document.title=i.siteName,ut("mode","").value=="public"?f.push("/public"):f.push("/login")}async function n(){setTimeout(()=>{f.push("/super-admin/dashboard")},50)}async function d(u){f.push(u)}async function M(u,j){window.open(u,"_blank"),j()}
1async function U(){p.openModal({componentName:"ChangeColorModal",size:"sm"})}async function K(){p.openModal({componentName:"InfoModal",size:"sm"})}function A(){R.setSidebarVisibility(!0)}return(u,j)=>{const B=F("router-link"),S=F("BaseIcon"),J=F("BaseDropdownItem"),le=F("BaseDropdown"),he=F("BaseDivider");return o(),a(X,null,[r(pt),r(ht),t(e).currentUser.id===21?(o(),a("div",ds,[G(" Vous êtes en mode DEMO, créez votre compte utilisateur et votre dossier société dans le logiciel. "),us])):x("",!0),s("header",{class:H(["fixed z-30 left-0 flex items-center justify-between w-full px-4 py-3 md:h-16 md:px-4 bg-gradient-to-r from-primary-50 to-primary-500",{"top-12":t(e).currentUser.id===21}])},[r(B,{to:"/admin/dashboard",class:"float-none text-lg not-italic font-black tracking-wider text-white brand-main md:float-left font-base hidden md:block"},{default:k(()=>[r(Ve,{class:"h-16","light-color":"white","dark-color":"white"})]),_:1}),s("div",{class:H([{"is-active":t(R).isSidebarOpen},"flex float-left p-1 overflow-visible text-sm ease-linear bg-white border-0 rounded cursor-pointer md:hidden md:ml-0 hover:bg-gray-100"]),onClick:oe(A,["prevent"])},[r(S,{name:"Bars3Icon",class:"!w-6 !h-6 text-gray-500"})],10,ms),s("ul",ps,[t(h).length?(o(),a("li",hs,[(o(!0),a(X,null,Z(t(h),Q=>(o(),a("button",{key:Q.title,onClick:oe(re=>d(Q.link),["prevent"]),title:u.$t(Q.title),class:"group flex h-9 w-9 shrink-0 items-center justify-center border-r border-gray-200 bg-white transition last:border-r-0 hover:bg-primary-100"},[r(S,{name:Q.icon,classp:"w-5 h-5 text-gray-700 group-hover:text-primary-600","aria-hidden":"true"},null,8,["name"])],8,fs))),128))])):x("",!0),s("li",null,[r(as)]),t(e).hasAbilities(t(se).EDIT_INVOICE)?(o(),a("li",gs,[r(le,{"width-class":"w-48"},{activator:k(()=>[s("div",_s,[r(S,{name:"PlusIcon",class:"w-5 h-5 text-gray-600"})])]),default:k(()=>[r(B,{to:"/admin/leads/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_CUSTOMER)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"MegaphoneIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("leads.new_lead")),1)]),_:1})):x("",!0)]),_:1}),r(B,{to:"/admin/customers/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_CUSTOMER)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"UserIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("customers.new_customer")),1)]),_:1})):x("",!0)]),_:1}),r(B,{to:"/admin/addresses/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_CUSTOMER)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"UsersIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("addresses.new_contact")),1)]),_:1})):x("",!0)]),_:1}),r(B,{to:"/admin/items/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_ITEM)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"ShoppingCartIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("items.add_item")),1)]),_:1})):x("",!0)]),_:1}),r(B,{to:"/admin/estimates/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_ESTIMATE)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"DocumentIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("estimates.new_estimate")),1)]),_:1})):x("",!0)]),_:1}),r(B,{to:"/admin/invoices/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_INVOICE)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"DocumentTextIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("invoices.new_invoice")),1)]),_:1})):x("",!0),r(B,{to:"/admin/orders/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_ESTIMATE)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"DocumentCheckIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("orders.new_order")),1)]),_:1})):x("",!0)]),_:1}),r(B,{to:"/admin/delivery-notes/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_ESTIMATE)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"TruckIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("delivery_notes.new_delivery_note")),1)]),_:1})):x("",!0)]),_:1})]),_:1}),r(B,{to:"/admin/prebillings/create"},{default:k(()=>[t(e).hasAbilities(t(se).PREBILLER)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"ClockIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("pre_billings.new_pre_billing")),1)]),_:1})):x("",!0)]),_:1}),r(B,{to:"/admin/expenses/create"},{default:k(()=>[t(e).hasAbilities(t(se).CREATE_EXPENSE)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"CurrencyEuroIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("expenses.new_expense")),1)]),_:1})):x("",!0)]),_:1})]),_:1})])):x("",!0),q?(o(),a("li",vs,[r(le,{"container-class":"w-[32rem]"},{activator:k(()=>[s("div",ys,[r(S,{name:"ArrowTopRightOnSquareIcon",class:"w-5 h-5 text-gray-600"})])]),default:k(({close:Q})=>[s("div",bs,[xs,(o(!0),a(X,null,Z(t(R).menuGroups.filter(re=>re[0].group),re=>(o(),a(X,{key:re[0].group},[(o(!0),a(X,null,Z(re.filter(ae=>ae.link!=""),ae=>(o(),a("div",{key:ae.link,class:"flex min-w-0",onClick:oe(we=>d(ae.link),["prevent"]),onContextmenu:oe(we=>M(ae.link,Q),["prevent"])},[r(J,{class:"w-full"},{default:k(()=>[r(S,{name:ae.icon,class:H(["text-gray-400","mr-4 shrink-0 h-5 w-5"])},null,8,["name"]),G(" "+C(u.$t(ae.title)),1)]),_:2},1024)],40,ws))),128)),re[0].group<=4?(o(),T(he,{key:0,class:"col-span-2"})):x("",!0)],64))),128))])]),_:1})])):x("",!0),t(e).hasAbilities(t(se).EDIT_TAX_TYPE)?(o(),a("li",ks,[s("a",{href:"#",onClick:U,title:"Couleur principale",class:"flex h-9 w-9 items-center justify-center"},[r(S,{name:"SwatchIcon",classp:"w-8 h-8 text-white","aria-hidden":"true"})])])):x("",!0),s("li",Cs,[r(B,{to:"/admin/settings/custom-menu",title:"Personnaliser le menu et les cartes du tableau de bord","aria-label":"Personnaliser le menu et les cartes du tableau de bord",class:"flex h-9 w-9 items-center justify-center"},{default:k(()=>[r(S,{name:"AdjustmentsHorizontalIcon",classp:"h-8 w-8 text-white","aria-hidden":"true"})]),_:1})]),s("li",$s,[s("a",{href:"#",onClick:K,title:"Mise en route",class:"flex h-9 w-9 items-center justify-center"},[r(S,{name:"InformationCircleIcon",classp:"w-8 h-8 text-white","aria-hidden":"true"})])]),s("li",Is,[s("button",{type:"button",onClick:j[0]||(j[0]=Q=>w.value=!0),title:"Tutoriels vidéo",class:"flex h-9 w-9 items-center justify-center focus:outline-none"},[r(S,{name:"PlayCircleIcon",classp:"w-8 h-8 text-white","aria-hidden":"true"})])]),s("li",Ss,[r(B,{to:"/admin/ai",title:"Assistant IA",class:"flex h-9 w-9 items-center justify-center"},{default:k(()=>[r(S,{name:"SparklesIcon",classp:"w-8 h-8 text-white","aria-hidden":"true"})]),_:1})]),s("li",null,[r(zt)]),s("li",Rs,[r(le,{"width-class":"w-48"},{activator:k(()=>[s("img",{src:t(v),class:"block w-8 h-8 rounded md:h-9 md:w-9"},null,8,Es)]),default:k(()=>[r(B,{to:"/admin/settings/account-settings"},{default:k(()=>[r(J,null,{default:k(()=>[r(S,{name:"UserIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" Profil ("+C(t(e).currentUser.email)+") ",1)]),_:1})]),_:1}),r(B,{to:"/admin/settings/company-info"},{default:k(()=>[t(e).hasAbilities(t(se).MANAGE_NOTE)?(o(),T(J,{key:0},{default:k(()=>[r(S,{name:"BuildingOfficeIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" Coordonnées de la société"),t(e).currentUser.is_boss?(o(),a("span",Ms," ("+C(t(i).selectedCompany.id)+")",1)):x("",!0)]),_:1})):x("",!0)]),_:1}
1),t(e).currentUser.is_boss||t(e).currentUser.company_group?(o(),T(he,{key:0})):x("",!0),t(e).currentUser.is_boss?(o(),T(J,{key:1,onClick:oe(n,["stop"])},{default:k(()=>[r(S,{name:"WrenchScrewdriverIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("super_admin.settings")),1)]),_:1},8,["onClick"])):x("",!0),t(e).currentUser.company_group?(o(),T(J,{key:2,onClick:oe(n,["stop"])},{default:k(()=>[r(S,{name:"WrenchScrewdriverIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("partner.settings")),1)]),_:1},8,["onClick"])):x("",!0),r(he),r(J,{onClick:l},{default:k(()=>[r(S,{name:"ArrowLeftOnRectangleIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500","aria-hidden":"true"}),G(" "+C(u.$t("navigation.logout")),1)]),_:1})]),_:1})])]),r(ge,{name:"tutorial-drawer"},{default:k(()=>[w.value?(o(),a("div",Us,[s("div",{class:"absolute inset-0 bg-black/40",onClick:j[1]||(j[1]=Q=>w.value=!1)}),s("aside",As,[s("div",Bs,[Ts,s("button",{type:"button",onClick:j[2]||(j[2]=Q=>w.value=!1),class:"flex items-center justify-center w-9 h-9 rounded-full bg-white/10 hover:bg-white/20 text-black transition"},[r(S,{name:"XMarkIcon",class:"w-6 h-6"})])]),s("div",Os,[s("div",js,[(o(),a(X,null,Z(I,Q=>s("button",{key:Q.video,type:"button",onClick:re=>E(Q),class:"group w-full text-left bg-white border border-gray-900 rounded-xl overflow-hidden shadow-sm hover:shadow-md hover:border-primary-300 transition"},[s("div",Ds,[s("img",{src:Q.thumbnail,alt:Q.title,class:"w-full aspect-video object-cover"},null,8,Vs),s("div",Ls,[s("div",Ps,[r(S,{name:"PlayIcon",class:"w-6 h-6 text-primary-600 ml-0.5"})])])]),s("div",Fs,[s("h3",zs,C(Q.title),1)])],8,Ns)),64))])])])])):x("",!0)]),_:1}),r(ge,{name:"tutorial-modal"},{default:k(()=>[$.value?(o(),a("div",Gs,[s("div",{class:"absolute inset-0 bg-black/75",onClick:g}),s("div",qs,[s("div",Hs,[s("h2",Ws,C($.value.title),1),s("button",{type:"button",onClick:g,class:"flex-shrink-0 flex items-center justify-center w-9 h-9 rounded-full hover:bg-gray-100 text-gray-500"},[r(S,{name:"XMarkIcon",class:"w-6 h-6"})])]),s("div",Ys,[(o(),a("video",{key:$.value.video,src:$.value.video,controls:"",autoplay:"",playsinline:"",class:"block w-full max-h-[75vh]"},null,8,Js))]),Ks])])):x("",!0)]),_:1})],2)],64)}}},Qs=Me(Xs,[["__scopeId","data-v-3934b414"]]),Zs={class:"relative flex flex-col flex-1 w-full max-w-xs bg-white"},eo={class:"absolute top-0 right-0 pt-2 -mr-12"},to=s("span",{class:"sr-only"},"Close sidebar",-1),so={class:"flex-1 h-0 pt-5 pb-4 overflow-y-auto"},oo={class:"flex items-center shrink-0 px-4 mb-10"},no={key:0},ro={key:0},ao={class:"pt-0.5 w-full"},io={class:"flex justify-end mr-3"},lo=["onClick"],co={class:"pt-0.5 w-full"},uo={class:"flex justify-end mr-3"},mo=s("div",{class:"shrink-0 w-14"},null,-1),po=["onClick"],ho={key:0},fo={key:0},go={class:"flex justify-end"},_o=["onClick","title"],vo={class:"flex justify-end"},yo={__name:"TheSiteSidebar",setup(L){const _=ve(),e=be(),i=de(),R=pe(),{t:f}=me(),p=ee(()=>e.isSidebarShort);function w(g){return g?_.path.indexOf(g)>-1:!1}function $(g){return e.currentMenuOpen.includes(g)}function h(g,v=!1){if(g.child){e.setSidebarVisibility(!1);return}v&&g.link!=""&&e.setSidebarVisibility(!1);const y=e.currentMenuOpen.indexOf(g.name);y===-1?e.currentMenuOpen.push(g.name):e.currentMenuOpen.splice(y,1)}function I(g){e.setSidebarShort(!p.value)}function E(g){return g.customCaption?g.customCaption:f(g.title)}return(g,v)=>{const y=F("BaseIcon"),q=F("router-link");return o(),a(X,null,[r(t(Qe),{as:"template",show:t(e).isSidebarOpen},{default:k(()=>[r(t(Ke),{as:"div",class:"fixed inset-0 z-40 flex md:hidden",onClose:v[4]||(v[4]=l=>t(e).setSidebarVisibility(!1))},{default:k(()=>[r(t(ke),{as:"template",enter:"transition-opacity ease-linear duration-300","enter-from":"opacity-0","enter-to":"opacity-100",leave:"transition-opacity ease-linear duration-300","leave-from":"opacity-100","leave-to":"opacity-0"},{default:k(()=>[r(t(Xe),{class:"fixed inset-0 bg-gray-600 bg-opacity-75"})]),_:1}),r(t(ke),{as:"template",enter:"transition ease-in-out duration-300","enter-from":"-translate-x-full","enter-to":"translate-x-0",leave:"transition ease-in-out duration-300","leave-from":"translate-x-0","leave-to":"-translate-x-full"},{default:k(()=>[s("div",Zs,[r(t(ke),{as:"template",enter:"ease-in-out duration-300","enter-from":"opacity-0","enter-to":"opacity-100",leave:"ease-in-out duration-300","leave-from":"opacity-100","leave-to":"opacity-0"},{default:k(()=>[s("div",eo,[s("button",{class:"flex items-center justify-center w-10 h-10 ml-1 rounded-full focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white",onClick:v[0]||(v[0]=l=>t(e).setSidebarVisibility(!1))},[to,r(y,{name:"XCircleIcon",class:"w-6 h-6 text-white","aria-hidden":"true"})])])]),_:1}),s("div",so,[s("div",oo,[r(Ve,{class:"block h-auto max-w-full w-36 text-primary-400",alt:"Crater Logo"})]),(o(!0),a(X,null,Z(t(e).menuGroups,l=>(o(),a("nav",{key:l,class:"mt-5 space-y-1"}
1,[(o(!0),a(X,null,Z(l.filter(n=>!n.link.includes("super-admin")),n=>(o(),a("span",{key:n},[n.isVisible?(o(),a("div",no,[!n.group_name||$(n.group_name)?(o(),a("div",ro,[n.link?(o(),T(q,{key:0,to:n.link,onClick:v[2]||(v[2]=d=>t(e).setSidebarVisibility(!1)),class:H([w(n.link)?"text-primary-500 border-primary-500 bg-gray-100 ":"text-black",n.group_name?"pl-8":"pl-4","cursor-pointer px-0 py-3 border-transparent flex items-center border-l-4 border-solid text-sm not-italic font-medium"])},{default:k(()=>[r(y,{name:n.icon,class:H([w(n.link)?"text-primary-500 ":"text-gray-400","mr-4 shrink-0 h-5 w-5"]),onClick:v[1]||(v[1]=d=>t(e).setSidebarVisibility(!1))},null,8,["name","class"]),s("span",ao,C(E(n)),1),s("div",io,[n.link?x("",!0):(o(),T(y,{key:0,classp:"w-5 h-5",name:"ChevronDownIcon",class:H([w(n.link)?"text-primary-500 group-hover:text-primary-500 ":"text-gray-400 group-hover:text-black","mr-4",t(e).currentMenuOpen.includes(n.name)?"rotate-180":"rotate-0","transform transition-transform duration-300 ease-in-out"])},null,8,["class"]))])]),_:2},1032,["to","class"])):(o(),a("div",{key:1,onClick:d=>h(n,!0),class:H([w(n.link)?"text-primary-500 border-primary-500 bg-gray-100 ":"text-black",n.group_name?"pl-8":"pl-4","cursor-pointer px-0 py-3 border-transparent flex items-center border-l-4 border-solid text-sm not-italic font-medium"])},[r(y,{name:n.icon,class:H([w(n.link)?"text-primary-500 ":"text-gray-400","mr-4 shrink-0 h-5 w-5"]),onClick:v[3]||(v[3]=d=>t(e).setSidebarVisibility(!1))},null,8,["name","class"]),s("span",co,C(E(n)),1),s("div",uo,[n.link?x("",!0):(o(),T(y,{key:0,classp:"w-5 h-5",name:"ChevronDownIcon",class:H([w(n.link)?"text-primary-500 group-hover:text-primary-500 ":"text-gray-400 group-hover:text-black","mr-4",t(e).currentMenuOpen.includes(n.name)?"rotate-180":"rotate-0","transform transition-transform duration-300 ease-in-out"])},null,8,["class"]))])],10,lo))])):x("",!0)])):x("",!0)]))),128))]))),128))])])]),_:1}),mo]),_:1})]),_:1},8,["show"]),s("div",{class:H(["hidden h-screen h-screen-ios pb-32 overflow-y-auto bg-white border-r border-gray-200 border-solid md:fixed md:flex md:flex-col md:inset-y-0 pt-16 transition-width duration-300 ease-in-out",{"w-60":!t(p),"xl:w-60":!t(p),"w-12":t(p),"mt-12":t(R).currentUser.id===21}])},[s("div",{class:H(["sticky top-0 z-10 flex p-1 overflow-visible text-sm ease-linear bg-white border-0 rounded cursor-pointer hover:bg-gray-100",{"justify-center":t(p),"justify-end":!t(p)}]),onClick:oe(I,["prevent"])},[r(y,{name:t(p)?"Bars3BottomLeftIcon":"Bars3BottomRightIcon",class:"!w-6 !h-6 text-gray-500"},null,8,["name"])],10,po),(o(!0),a(X,null,Z(t(e).menuGroups,l=>(o(),a("div",{key:l,class:"p-0 m-0 mt-2 list-none"},[(o(!0),a(X,null,Z(l.filter(n=>!n.link.includes("super-admin")),n=>(o(),a("span",{key:n},[n.isVisible?(o(),a("div",ho,[!n.group_name||$(n.group_name)?(o(),a("div",fo,[n.link?(o(),T(q,{key:0,title:E(n),to:n.link,class:H([w(n.link)?"text-white border-primary-500 bg-primary-500 hover:text-black":"text-black",n.group_name&&!t(p)?"pl-6":"pl-2","cursor-pointer px-0 hover:bg-primary-50 py-2 group flex items-center w-full border-l-4 border-solid border-transparent text-sm not-italic font-medium"])},{default:k(()=>[t(p)?(o(),T(y,{key:1,name:n.icon,class:H([n.premium&&t(i).selectedCompany.restricted?"text-gray-300":w(n.link)?"text-white group-hover:text-primary-500 ":"text-gray-500 group-hover:text-black","mr-4 shrink-0 h-5 w-5 "])},null,8,["name","class"])):(o(),T(y,{key:0,name:n.icon,class:H([w(n.link)?"text-white group-hover:text-primary-500 ":"text-primary-500 group-hover:text-black","mr-2 shrink-0 h-5 w-5 "])},null,8,["name","class"])),s("span",{class:H(["pt-0.5 w-full",n.premium&&t(i).selectedCompany.restricted?"text-gray-300":"group-hover:text-primary-500"])},C(t(p)?"":E(n)),3),s("div",go,[!n.link&&!t(p)?(o(),T(y,{key:0,classp:"w-5 h-5",name:"ChevronDownIcon",class:H([w(n.link)?"text-primary-500 group-hover:text-primary-500 ":"text-gray-400 group-hover:text-black","mr-4",t(e).currentMenuOpen.includes(n.name)?"rotate-180":"rotate-0","transform transition-transform duration-300 ease-in-out"])},null,8,["class"])):x("",!0)])]),_:2},1032,["title","to","class"])):(o(),a("div",{key:1,onClick:d=>h(n),title:E(n),class:H([w(n.link)?"text-white border-primary-500 bg-primary-500 hover:text-black":"text-black",n.group_name&&!t(p)?"pl-6":"pl-2","cursor-pointer px-0 hover:bg-primary-50 py-2 group flex items-center w-full border-l-4 border-solid border-transparent text-sm not-italic font-medium"])},[t(p)?(o(),T(y,{key:1,name:n.icon,class:H([n.premium&&t(i).selectedCompany.restricted?"text-gray-300":w(n.link)?"text-white group-hover:text-primary-500 ":"text-gray-500 group-hover:text-black","mr-4 shrink-0 h-5 w-5 "])},null,8,["name","class"])):(o(),T(y,{key:0,name:n.icon,class:H([w(n.link)?"text-white group-hover:text-primary-500 ":"text-primary-500 group-hover:text-black","mr-2 shrink-0 h-5 w-5 "])},null,8,["name","class"])),s("span",{class:H(["pt-0.5 w-full",n.premium&&t(i).selectedCompany.restricted?"text-gray-300":"group-hover:text-primary-500"])},C(t(p)?"":E(n)),3),s("div",vo,[!n.link&&!t(p)?(o(),T(y,{key:0,classp:"w-5 h-5",name:"ChevronDownIcon",class:H([w(n.link)?"text-primary-500 group-hover:text-primary-500 ":"text-gray-400 group-hover:text-black","mr-4",t(e).currentMenuOpen.includes(n.name)?"rotate-180":"rotate-0","transform transition-transform duration-300 ease-in-out"])},null,8,["class"])):x("",!0)])],10,_o))])):x("",!0)])):x("",!0)]))),128))]))),128))],2)],64)}}},bo={class:"flex items-center space-x-2"}
1,xo=s("span",null," Vous êtes actuellement en période d'essai. Cliquez ici pour activer votre abonnement. ",-1),wo={__name:"OnboardingBanner",setup(L){const _=de();ve();function e(){window.open(`/admin-plus/customer/onboarding/${_.selectedCompany.unique_hash}`,"_blank")}return(i,R)=>{var p,w;const f=F("BaseIcon");return((p=t(_).selectedCompany)==null?void 0:p.price)==0&&((w=t(_).selectedCompany)==null?void 0:w.free)==0?(o(),a("div",{key:0,class:"bg-yellow-200 border border-yellow-300 text-yellow-800 text-sm flex items-center justify-between px-4 py-2 rounded-b shadow cursor-pointer hover:bg-yellow-200 transition",onClick:e},[s("div",bo,[r(f,{name:"ShieldExclamationIcon"}),xo]),r(f,{name:"ChevronRightIcon"})])):x("",!0)}}},ko={class:"font-medium text-lg text-left"},Co={class:"mt-2 text-sm leading-snug text-gray-500",style:{"max-width":"680px"}},$o=["onSubmit"],Io={class:"text-gray-500 sm:text-sm"},So={class:"text-gray-400 text-xs mt-2 font-light"},Ro={slot:"footer",class:"z-0 flex justify-end mt-4 pt-4 border-t border-gray-200 border-solid border-modal-bg"},Eo={__name:"ExchangeRateBulkUpdate",emits:["update"],setup(L,{emit:_}){const e=Te();je();const i=de(),{t:R,tm:f}=me();let p=P(!1);P(!1);const w={exchange_rate:{required:Be.withMessage(R("validation.required"),_t),decimal:Be.withMessage(R("validation.valid_exchange_rate"),vt)}},$=gt();async function h(){if($.value.$touch(),$.value.$invalid)return!0;p.value=!0;let I=e.bulkCurrencies.map(g=>({id:g.id,exchange_rate:g.exchange_rate})),E=await e.updateBulkExchangeRate({currencies:I});E.data.success&&_("update",E.data.success),p.value=!1}return(I,E)=>{const g=F("BaseInput"),v=F("BaseInputGroup"),y=F("BaseButton"),q=F("BaseCard");return o(),T(q,null,{default:k(()=>[s("h6",ko,C(I.$t("settings.exchange_rate.title")),1),s("p",Co,C(I.$t("settings.exchange_rate.description",{currency:t(i).selectedCompanyCurrency.name})),1),s("form",{action:"",onSubmit:oe(h,["prevent"])},[(o(!0),a(X,null,Z(t(e).bulkCurrencies,(l,n)=>(o(),T(t(yt),{key:n,state:l,rules:w},{default:k(({v:d})=>[r(v,{class:"my-5",label:`${l.code} to ${t(i).selectedCompanyCurrency.code}`,error:d.exchange_rate.$error&&d.exchange_rate.$errors[0].$message,required:""},{default:k(()=>[r(g,{modelValue:l.exchange_rate,"onUpdate:modelValue":M=>l.exchange_rate=M,addon:`1 ${l.code} =`,invalid:d.exchange_rate.$error,onInput:M=>d.exchange_rate.$touch()},{right:k(()=>[s("span",Io,C(t(i).selectedCompanyCurrency.code),1)]),_:2},1032,["modelValue","onUpdate:modelValue","addon","invalid","onInput"]),s("span",So,C(I.$t("settings.exchange_rate.exchange_help_text",{currency:l.code,baseCurrency:t(i).selectedCompanyCurrency.code})),1)]),_:2},1032,["label","error"])]),_:2},1032,["state"]))),128)),s("div",Ro,[r(y,{loading:t(p),variant:"primary",type:"submit"},{default:k(()=>[G(C(I.$t("general.save")),1)]),_:1},8,["loading"])])],40,$o)]),_:1})}}},Mo={__name:"ExchangeRateBulkUpdateModal",setup(L){const _=ye(),e=ee(()=>_.active&&_.componentName==="ExchangeRateBulkUpdateModal");function i(){_.closeModal()}return(R,f)=>{const p=F("BaseModal");return o(),T(p,{show:t(e)},{default:k(()=>[r(Eo,{onUpdate:f[0]||(f[0]=w=>i())})]),_:1},8,["show"])}}},Uo={class:"flex items-center justify-between p-4 bg-gray-100 border-b"},Ao={class:"flex items-center justify-between w-full"},Bo={class:"flex items-center"},To={class:"text-lg font-semibold"},Oo={key:0,class:"flex items-center"},jo={for:"imageUpload",class:"cursor-pointer flex flex-col items-center justify-center w-12 h-12 border-2 border-dashed border-gray-300 rounded hover:bg-gray-50"},No={key:0,class:"w-full h-full rounded relative"},Do=["src"],Vo={key:1,class:"text-2xl text-gray-500 relative"},Lo=s("span",{class:"absolute inset-0 top-6 left-6 text-xl text-gray-400 flex items-center justify-center pointer-events-none"}," + ",-1),Po={key:1,class:"flex items-center"},Fo=["src"],zo={class:"flex items-center"},Go={__name:"RoomManagement",props:{showRoomManagement:{type:Boolean,default:!1},currentUser:{type:String,default:{}}},emits:["close","addOrUpdateRoom"],setup(L,{emit:_}){const e=L,i=_e();ce([()=>i.roomEdit.direct,()=>i.roomEdit.user],([$,h])=>{$&&h&&h.username?i.roomEdit.roomName=`${h.username} & ${e.currentUser.name}`:$||(i.roomEdit.roomName="")},{immediate:!0});function R($){const h=$.target.files[0];h&&h.type.startsWith("image/")?(i.roomEdit.avatar=URL.createObjectURL(h),i.roomEdit.roomImage=h):i.roomEdit.avatar=null}function f(){i.roomEdit.avatar=null,i.roomEdit.roomImage=null}async function p(){var I;if(i.roomEdit.direct){if(!i.roomEdit.user)return}else if(!i.roomEdit.roomName||i.roomEdit.roomName.trim()=="")return;const h=await(i.roomEdit.roomId?i.updateRoom:i.createRoom)(i.roomEdit);_("addOrUpdateRoom",h),((I=i.currentRoom)==null?void 0:I.roomId)==h.roomId&&(i.currentRoom=h),_("close")}async function w($){const h=[e.currentUser.ulid];return(await i.fetchUsersCompany({search:$,limit:15,only_unbound:!0,exept_ulids:h}
1)).data.data.map(g=>({...g}))}return($,h)=>{var v;const I=F("BaseIcon"),E=F("BaseSwitchSection"),g=F("BaseMultiselect");return o(),a("div",Uo,[s("div",Ao,[s("div",Bo,[r(I,{name:"FolderPlusIcon",classp:"h-6 w-6 mr-3"}),s("h2",To,[G(C(t(i).roomEdit.roomId?"Modifier":"Créer")+" une discussion ",1),r(E,{class:"float-left mr-10",modelValue:t(i).roomEdit.direct,"onUpdate:modelValue":h[0]||(h[0]=y=>t(i).roomEdit.direct=y),title:"Discussion directe"},null,8,["modelValue"])])]),t(i).roomEdit.direct?(o(),a("div",Po,[(v=t(i).roomEdit.user)!=null&&v.avatar?(o(),a("img",{key:0,class:"rounded-full h-9 mx-1",src:t(i).roomEdit.user.avatar},null,8,Fo)):x("",!0),s("div",null,[r(g,{class:"px-3 py-2 rounded w-60 border border-gray-300 focus:outline-none focus:ring-0 ml-3 h-12 mr-8",openDirection:"top",modelValue:t(i).roomEdit.user,"onUpdate:modelValue":h[2]||(h[2]=y=>t(i).roomEdit.user=y),object:"",label:"username","value-prop":"_id","track-by":"username",options:w,placeholder:$.$t("expenses.select_a_user"),"can-clear":!1,caret:!1,"can-deselect":!1,searchable:"","filter-results":!0,"resolve-on-load":"",delay:10},null,8,["modelValue","placeholder"])])])):(o(),a("div",Oo,[s("label",jo,[t(i).roomEdit.avatar?(o(),a("div",No,[s("img",{src:t(i).roomEdit.avatar,alt:"Aperçu de l'image",class:"object-cover w-full h-full"},null,8,Do),t(i).roomEdit.avatar?(o(),T(I,{key:0,onClick:oe(f,["prevent"]),name:"XCircleIcon",classp:"h-6 w-6",class:"absolute bottom-8 left-8 text-white bg-red-400 hover:bg-red-500 rounded-full"},null,8,["onClick"])):x("",!0)])):(o(),a("span",Vo,[r(I,{name:"PhotoIcon",classp:"h-6 w-6"}),Lo]))]),s("input",{id:"imageUpload",type:"file",accept:"image/*",onChange:R,class:"hidden"},null,32),Oe(s("input",{"onUpdate:modelValue":h[1]||(h[1]=y=>t(i).roomEdit.roomName=y),type:"text",placeholder:"Nom de la discussion",class:"px-3 py-2 rounded w-60 border border-gray-300 focus:outline-none focus:ring-0 ml-3 h-12"},null,512),[[at,t(i).roomEdit.roomName]])])),s("div",zo,[s("button",{onClick:p,class:"ml-4 px-4 py-2 text-blue-500 bg-white rounded hover:text-blue-600 flex items-center"},[r(I,{name:"PlusCircleIcon",classp:"h-5 w-5",class:"mr-2"}),G(" "+C(t(i).roomEdit.roomId?"Modifier":"Créer"),1)]),s("button",{onClick:h[3]||(h[3]=y=>$.$emit("close")),class:"ml-4 px-4 py-2 bg-red-500 text-white rounded hover:bg-red-600"}," Annuler ")])])])}}},qo={class:"flex items-center justify-between p-4 bg-gray-100 border-b"},Ho={key:0,class:"flex items-center justify-between w-full"},Wo={class:"text-lg font-semibold w-full"},Yo={class:"flex items-center"},Jo={key:1,class:"flex items-center justify-between w-full"},Ko={class:"text-lg font-semibold w-full"},Xo={class:"flex items-center"},Qo={__name:"UserManagement",props:{roomId:{type:String,required:!0},showUserManagement:{type:Boolean,default:!1},isAddingUser:{type:Boolean,default:!1}},emits:["close","addOrUpdateRoom"],setup(L,{emit:_}){const e=L,i=_e(),{t:R}=me();let f=P(null);async function p(){const $=e.isAddingUser?i.addUserToRoom:i.removeUserToRoom;e.isAddingUser||(f.value.id=f.value._id);const h=await $(f.value,e.roomId);i.rooms.findIndex(I=>I.roomId===h.roomId),_("addOrUpdateRoom",h),_("close")}async function w($){var g,v;const h=(v=(g=i.currentRoom)==null?void 0:g.users)==null?void 0:v.map(y=>y._id);return(await i.fetchUsersCompany({search:$,limit:15,exept_ulids:h})).data.data.map(y=>({...y}))}return($,h)=>{const I=F("BaseIcon"),E=F("BaseMultiselect");return o(),a("div",qo,[e.isAddingUser?(o(),a("div",Ho,[r(I,{name:"UsersIcon",classp:"h-6 w-6 mr-3"}),s("h2",Wo,C(e.isAddingUser?t(R)("chatbot.add_user"):t(R)("chatbot.remove_user")),1),r(E,{openDirection:"top",modelValue:t(f),"onUpdate:modelValue":h[0]||(h[0]=g=>Ae(f)?f.value=g:f=g),object:"",label:"username","value-prop":"_id","track-by":"name",options:w,placeholder:$.$t("expenses.select_a_user"),"can-clear":!1,caret:!1,"can-deselect":!1,searchable:""},null,8,["modelValue","placeholder"]),s("div",Yo,[s("button",{onClick:p,class:"ml-4 px-4 py-2 text-blue-500 bg-white rounded hover:text-blue-600 flex items-center"},[r(I,{name:"PlusCircleIcon",classp:"h-5 w-5",class:"mr-2"}),G(" Ajouter ")]),s("button",{onClick:h[1]||(h[1]=g=>$.$emit("close")),class:"ml-4 px-4 py-2 bg-red-500 text-white rounded hover:bg-red-600"}," Annuler ")])])):(o(),a("div",Jo,[r(I,{name:"UsersIcon",classp:"h-6 w-6 mr-3"}),s("h2",Ko,C(e.isAddingUser?t(R)("chatbot.add_user"):t(R)("chatbot.remove_user")),1),r(E,{openDirection:"top",modelValue:t(f),"onUpdate:modelValue":h[2]||(h[2]=g=>Ae(f)?f.value=g:f=g),object:"",label:"username","value-prop":"_id","track-by":"username",options:t(i).currentRoom.users,placeholder:$.$t("expenses.select_a_user"),"can-clear":!1,caret:!1,"can-deselect":!1,searchable:"","filter-results":!0,"resolve-on-load":"",delay:10},null,8,["modelValue","options","placeholder"]),s("div",Xo,[s("button",{onClick:p,class:"ml-4 px-4 py-2 text-red-500 bg-white rounded hover:text-red-600 flex items-center"},[r(I,{name:"XCircleIcon",classp:"h-5 w-5",class:"mr-2"}),G(" Retirer ")]),s("button",{onClick:h[3]||(h[3]=g=>$.$emit("close")),class:"ml-4 px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600"}," Annuler ")])]))])}}};function Zo(L,_){var q;pe();const e=_e();let i=null;const R=[];(q=e.rooms)==null||q.forEach(l=>{f(l)});function f(l){window.Echo&&(window.Echo.leave(`room.${l.roomId}`),window.Echo.join(`room.${l.roomId}`).here(n=>{var M;const d=e.rooms.findIndex(U=>U.roomId==l.roomId);d!==-1&&((M=e.rooms[d].users)==null||M.forEach(U=>{n.find(A=>A.ulid==U._id)&&(U.status={state:"online",lastChanged:new Date().toISOString()})}),w(e.rooms[d]),e.rooms=[...e.rooms])}).joining(n=>{var M;const d=e.rooms.findIndex(U=>U.roomId==l.roomId);d!==-1&&((M=e.rooms[d].users)==null||M.forEach(U=>{n.ulid==U._id&&(U.status={state:"online",lastChanged:new Date().toISOString()})}),w(e.rooms[d]),e.rooms=[...e.rooms])}).leaving(n=>{var M;const d=e.rooms.findIndex(U=>U.roomId==l.roomId);d!==-1&&((M=e.rooms[d].users)==null||M.forEach(U=>{U._id==n.ulid&&(U.status={state:"offline",lastChanged:new Date().toISOString()})}),w(e.rooms[d]),e.rooms=[...e.rooms])}).listenForWhisper("typing",n=>{const d=n.roomId,M=e.rooms.findIndex(U=>U.roomId==d);M!==-1&&(e.rooms[M].typingUsers||(e.rooms[M].typingUsers=[]),e.rooms[M].typingUsers=[...e.rooms[M].typingUsers,n.userId]),setTimeout(function(){e.rooms[M].typingUsers&&(e.rooms[M].typingUsers=[...e.rooms[M].typingUsers.filter(U=>U!=n.userId)])},3e3)}).error(n=>{console.error(n)}),R.push(`room.${l.roomId}`))}function p(l){var M;const n=l.roomId,d=e.rooms.findIndex(U=>U.roomId==n);d!==-1&&(e.rooms.splice(d,1),e.rooms=[...e.rooms]),n==((M=e.currentRoom)==null?void 0:M.roomId)&&(e.currentRoom={},e.roomId=null,e.messages=[])}function w(l){var n;l.roomId==((n=e.currentRoom)==null?void 0:n.roomId)&&(e.currentRoom.users=l.users)}function $(l){E(l.room)}function h(l,n){var U;const d=l.message,M=l.room;if(E(M),((U=e.currentRoom)==null?void 0:U.roomId)===d.room_id){const K=e.messages.findIndex(A=>A._id===d._id);if(K!==-1){const A=e.computeHasSeen(d,n);e.messages[K]={...e.messages[K],...d,seen:A},e.messages=[...e.messages]}}}function I(l,n){var U,K;const d=l.message,M=l.room;if(E(M),((U=e.currentRoom)==null?void 0:U.roomId)===d.room_id)if(d.senderId==n){const A=e.messages.findIndex(u=>u._id===d._id);A!==-1&&(e.messages[A]=d,e.messages=[...e.messages])}else e.messages.findIndex(u=>u._id===d._id)===-1&&(e.messages=[...e.messages,{...d,seen:L.value}],L.value&&e.markMessageAsViewed(d.id,n).catch(u=>console.error("Erreur update users_view:",u)));if(d.senderId!=n&&(((K=e.currentRoom)==null?void 0:K.roomId)!==d.room_id||!L.value)){e.totalUnreadMessages++;const A=e.rooms.findIndex(u=>u.roomId===d.room_id);A!==-1&&e.rooms[A].unreadCount++}}function E(l){var d;const n=e.rooms.findIndex(M=>M.roomId===l.roomId);if(n!==-1){const M=e.rooms[n];if(l.users&&M.users&&(l.users=l.users.map(U=>{const K=M.users.find(A=>A._id==U._id)??null;return K&&K.status?{...U,status:K.status}:U})),l.unreadCount=e.rooms[n].unreadCount,l.direct){const U=l.users.find(K=>K._id!==_.value.ulid);U&&(l.roomName=U.username)}l.type==="support_room"&&(l.roomName=M.roomName),e.rooms[n]=l,e.rooms.splice(n,1),e.rooms.unshift(l),e.rooms=[...e.rooms]}else{if(l.direct){const M=l.users.find(U=>U._id!==_.value.ulid);M&&(l.roomName=M.username)}l.type,e.rooms=[l,...e.rooms],f(l)}((d=e.currentRoom)==null?void 0:d.roomId)==l.roomId&&(e.currentRoom=l)}function g(l){v(),window.Echo&&(i=window.Echo.private(`user.${l}`).listen(".Crater\\Events\\ChatbotRoomUserRemove",n=>{p(n)}).listen(".Crater\\Events\\ChatbotRoomCreatedOrUpdated",n=>{$(n)}).listen(".Crater\\Events\\ChatbotMessageUpdated",n=>{h(n,l)}).listen(".Crater\\Events\\ChatbotMessageSent",n=>{I(n,l)}),i.subscribed(()=>{console.log("✅ private-user."+l)}),i.error(n=>{console.error("❌ private-user",n)}))}function v(){if(!i)return;[".Crater\\Events\\ChatbotRoomUserRemove",".Crater\\Events\\ChatbotRoomCreatedOrUpdated",".Crater\\Events\\ChatbotMessageUpdated",".Crater\\Events\\ChatbotMessageSent"].forEach(n=>i.stopListening(n)),i=null}ce(()=>_.value,l=>{if(l!=null&&l.ulid){const n=String(l.ulid);g(n)}else v()},{immediate:!0});function y(){v(),window.Echo&&R.forEach(l=>{window.Echo.leave(l)})}return{addOrUpdateRoom:E,leaveAllChannels:y}}const en=L=>(Re("data-v-347fae3d"),L=L(),Ee(),L),tn=en(()=>s("span",null,"💬",-1)),sn={key:0,class:"absolute top-0 right-0 -mt-1 -mr-1 flex items-center justify-center w-5 h-5 text-xs font-bold text-white bg-red-500 rounded-full"},on={key:0,class:"chat-dialog"},nn={slot:"room-header-info"},rn={key:0,class:"flex flex-col"},an={class:"font-semibold text-base"},ln={class:"flex items-center"},cn={key:0,class:"mr-2"},dn={key:0,class:"h-3 w-3 rounded-full bg-green-500"},un={key:1,class:"h-3 w-3 rounded-full bg-gray-300"},mn={key:0,class:"text-sm text-gray-500 flex truncate whitespace-nowrap overflow-hidden"},pn={class:"relative h-5 w-5 mr-2"},hn=["src"],fn={key:2,class:"h-2 w-2 rounded-full bg-green-500 absolute -right-1 bottom-0"},gn={key:3,class:"h-2 w-2 rounded-full bg-white border border-gray-900 absolute -right-1 bottom-0"},_n={key:0},vn=["slot"],yn={class:"relative h-12 w-12"},bn=["src"],xn={key:1,class:"rounded-full h-12 w-12 bg-gray-300 flex items-center justify-center"},wn={class:"text-white font-bold text-lg"},kn={key:2,class:"h-3 w-3 rounded-full bg-green-500 absolute -right-1 bottom-0 border border-white"},Cn={class:"flex flex-col justify-between min-w-0"},$n={class:"flex justify-between items-center"},In={class:"font-semibold truncate"},Sn={key:0,class:"bg-blue-500 text-white text-xs rounded-full px-2 py-0.5 ml-2"},Rn={key:0,class:"flex justify-between text-sm text-gray-500 mt-1"},En={class:"truncate"},Mn={key:1,class:"flex justify-between text-sm text-gray-500"},Un={class:"text-xxs text-gray-400 flex-shrink-0"},An=["slot"],Bn=["src"],Tn={key:0},On={key:1},jn={__name:"TheSiteChatbot",props:{isUser:{type:Boolean,required:!1,default:!0}},setup(L){const _=L,e=_e(),i=xt(),R=pe(),{t:f}=me();wt();const p=P(1),w=P(null),$=P(!1),h=P(!1),I=P(!0),E=P(!1),g=P(!1),v=P(!1),y=P(!1),q=P(null),l=P(null),n=ee(()=>_.isUser?R.currentUser:i.currentUser),d=ee(()=>{var m,c;return((c=(m=n.value)==null?void 0:m.ulid)==null?void 0:c.toString())??""});Se(async()=>{await U()});async function M(){!$.value&&!E.value&&await U(),h.value=!0,$.value=!$.value}ce(()=>y.value,()=>{y.value&&(v.value=!1)}),ce(()=>v.value,()=>{e.resetRoomEdit(),v.value&&(y.value=!1)});async function U(){var D;const m=await e.fetchRooms();e.rooms=[...m],((D=e.rooms)==null?void 0:D.length)>0&&(e.roomId=String(e.rooms[0].roomId)),E.value=!0;const{addOrUpdateRoom:c,leaveAllChannels:N}=Zo($,n);q.value=c,l.value=N}const K=ee(()=>{var m,c;return((m=e.currentRoom)==null?void 0:m.creator_id)==((c=n.value)==null?void 0:c.ulid)}),A=ee(()=>{var m,c;return!(((m=e.currentRoom)==null?void 0:m.type)=="news_room"&&!((c=n.value)!=null&&c.is_boss))}),u=ee(()=>{var m;return((m=e.currentRoom)==null?void 0:m.type)!="ia_room"}),j=ee(()=>{var c,N,D,b,W;const m=[];return(c=e.currentRoom)!=null&&c.direct||((N=e.currentRoom)==null?void 0:N.type)=="support_room"||(K.value?(m.pu
1sh({name:"inviteUser",title:f("chatbot.add_user")},{name:"removeUser",title:f("chatbot.remove_user")},{name:"updateRoom",title:f("chatbot.update_room")}),((D=e.currentRoom)==null?void 0:D.type)!="news_room"&&m.push({name:"deleteRoom",title:f("chatbot.delete_room")})):((b=e.currentRoom)==null?void 0:b.type)!="news_room"&&!((W=e.currentRoom)!=null&&W.direct)&&m.push({name:"leaveRoom",title:f("chatbot.leave_room")})),m}),B=ee(()=>{var c,N,D,b;const m=[];if((c=n.value)!=null&&c.is_boss&&((N=e.currentRoom)==null?void 0:N.type)=="news_room")m.push({name:"highlightMessage",title:f("chatbot.highlight_message")});else if(((D=e.currentRoom)==null?void 0:D.type)=="news_room"||((b=e.currentRoom)==null?void 0:b.type)=="ia_room")return m;return m.push({name:"replyMessage",title:"Répondre"},{name:"editMessage",title:"Modifier",onlyMe:!0},{name:"deleteMessage",title:"Supprimer",onlyMe:!0},{name:"selectMessages",title:"Sélectionner"}),m});function S(){v.value=!0}async function J(m){v.value=!0;const c=await e.fetchRoom(m);e.roomEdit=c}async function le(m){var c;await e.deleteRoom(m),e.rooms=e.rooms.filter(N=>N.roomId!=m),e.rooms=[...e.rooms],m==((c=e.currentRoom)==null?void 0:c.roomId)&&(e.currentRoom={},e.roomId=null,e.messages=[])}async function he(m){var c;await e.leaveRoom(m),e.rooms=e.rooms.filter(N=>N.roomId!=m),e.rooms=[...e.rooms],m==((c=e.currentRoom)==null?void 0:c.roomId)&&(e.currentRoom={})}function Q({roomId:m,action:c}){switch(c.name){case"inviteUser":I.value=!0,w.value=m,y.value=!0;break;case"removeUser":I.value=!1,w.value=m,y.value=!0;break;case"updateRoom":J(m);break;case"deleteRoom":le(m);break;case"leaveRoom":he(m);break;default:console.log("Unknown action:",c.name)}}function re(m){e.highlightMessage(m)}function ae({roomId:m,action:c,message:N}){switch(c.name){case"highlightMessage":re(N)}}async function we({room:m,options:c}){if(!m||!(m!=null&&m.roomId))console.log("Room is not defined or does not have a roomId");else{c!=null&&c.reset?(e.currentRoom=m,g.value=!1,p.value=1,e.messages=[]):p.value++;const N=20,D=await e.fetchMessages({room_id:m.roomId,limit:N,page:p.value}),b=D.messages,W=D.unread_count,Y=D.total_unread_count;(b.length==0||b.length<N)&&(g.value=!0),c!=null&&c.reset?e.messages=[...b]:e.messages=[...b,...e.messages];const z=e.rooms.findIndex(O=>O.roomId==(m==null?void 0:m.roomId));z!==-1&&(e.rooms[z].unreadCount=W),e.totalUnreadMessages=Y}}async function Pe({roomId:m,content:c,files:N,replyMessage:D,usersTag:b}){var te,ie,fe;const W=N||[];W.length>0&&W.forEach(V=>{V&&V.localUrl&&(V.url=V.localUrl)});const Y=Date.now().toString(),z={_id:Y,content:c,senderId:String((te=n.value)==null?void 0:te.ulid),username:(ie=n.value)==null?void 0:ie.name,avatar:((fe=n.value)==null?void 0:fe.avatar)||"",timestamp:new Date().toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit"}),date:new Date().toLocaleDateString("fr-FR",{day:"2-digit",month:"long"}),files:W||[],replyMessage:D||null,reply_message_id:(D==null?void 0:D.id)||null,usersTag:b||[],system:!1,saved:!1,distributed:!1,seen:!1,deleted:!1,failure:!1,disableActions:!1,disableReactions:!1,room_id:m};e.messages=[...e.messages,z];let O;try{O=await e.sendMessage(z);const V=e.messages.findIndex(ne=>ne._id===Y);V!==-1&&(e.messages[V]=O,e.messages=[...e.messages])}catch{const ne=e.messages.findIndex(ue=>ue._id===Y);ne!==-1&&(e.messages[ne].failure=!0);return}}async function Fe({roomId:m,messageId:c,reaction:N,remove:D}){const b=String(n.value.ulid);let W={};e.messages=e.messages.map(Y=>{if(Y._id===c){const z=N.unicode,O={...Y.reactions||{}};O[z]?O[z].push(b):O[z]=[b],D?(O[z]=O[z].filter(te=>te!==b),O[z].length===0&&delete O[z]):O[z].includes(b)||O[z].push(b),Y={...Y,reactions:O},W=Y}return Y}),e.messages=[...e.messages];try{const Y=await e.updateReactionMessage(W),z=e.messages.findIndex(O=>O.id===W.id);z!==-1&&(e.messages[z]=Y,e.messages=[...e.messages])}catch{const z=e.messages.findIndex(O=>O.id===W.id);z!==-1&&(e.messages[z].failure=!0);return}}async function ze({roomId:m,messageId:c,newContent:N,files:D,replyMessage:b,usersTag:W}){const Y=D||[];Y.length>0&&Y.forEach(O=>{O&&O.localUrl&&(O.url=O.localUrl)});let z={};e.messages=e.messages.map(O=>(O._id===c&&(O={...O,content:N,files:Y,replyMessage:b,usersTag:W,edited:!0,editTimestamp:new Date().toISOString()},z=O),O)),e.messages=[...e.messages];try{const O=await e.updateMessage(z),te=e.messages.findIndex(ie=>ie.id===z.id);te!==-1&&(e.messages[te]=O,e.messages=[...e.messages])}catch{const te=e.messages.findIndex(ie=>ie.id===z.id);te!==-1&&(e.messages[te].failure=!0);return}}async function Ge({roomId:m,message:c}){let N={};e.messages=e.messages.map(D=>(D._id===c._id&&(D={...D,content:"Ce message a été supprimé",deleted:!0,files:[]},N=D),D)),e.messages=[...e.messages];try{const D=await e.deleteMessage(N.id),b=e.messages.findIndex(W=>W.id===N.id);b!==-1&&(e.messages[b]=D,e.messages=[...e.messages])}catch{const b=e.messages.findIndex(W=>W.id===N.id);b!==-1&&(e.messages[b].failure=!0);return}}function qe({message:m,file:c}){const N=c.file,D=N.localUrl||N.preview;if(D){const b=document.createElement("a");b.href=D,b.download=N.name||"download",b.target="_blank",document.body.appendChild(b),b.click(),document.body.removeChild(b)}}function He({roomId:m,message:c}){const N=n.value;window.Echo.join(`room.${m}`).whisper("typing",{userId:N.ulid,roomId:m,message:c,typing:!0})}ot(()=>{l.value&&l.value()});function We(m){return m?bt(m).format("D MMM HH:mm"):""}return(m,c)=>{const N=F("BaseIcon"),D=F("vue-advanced-chat");return o(),a("div",null,[s("button",{class:"chat-fab fixed z-50 bg-blue-600 hover:bg-blue-700 transition-colors duration-200",onClick:M},[tn,t(e).totalUnreadMessages?(o(),a("span",sn,C(t(e).totalUnreadMessages),1)):x("",!0)]),h.value?Oe((o(),a("div",on,[r(D,{height:"100%","current-user-id":t(d),"room-id":t(e).roomId,"load-first-room":!1,rooms:JSON.stringify(t(e).rooms),"rooms-loaded":E.value,"menu-actions":JSON.stringify(t(j)),onFetchMoreRooms:c[0]||(c[0]=b=>m.handleFetchMoreRooms(b.detail[0])),"show-add-room":_.isUser,onAddRoom:c[1]||(c[1]=b=>S()),"messages-loaded":g.value,messages:JSON.stringify(t(e).messages),onFetchMessages:c[2]||(c[2]=b=>we(b.detail[0])),onSendMessage:c[3]||(c[3]=b=>Pe(b.detail[0])),onSendMessageReaction:c[4]||(c[4]=b=>Fe(b.detail[0])),onEditMessage:c[5]||(c[5]=b=>ze(b.detail[0])),onDeleteMessage:c[6]||(c[6]=b=>Ge(b.detail[0])),onMenuActionHandler:c[7]||(c[7]=b=>Q(b.detail[0])),onMessageActionHandler:c[8]||(c[8]=b=>ae(b.detail[0])),onOpenFile:c[9]||(c[9]=b=>qe(b.detail[0])),"message-actions":JSON.stringify(t(B)),onTypingMessage:c[10]||(c[10]=b=>He(b.detail[0])),onClose:$.value,"show-footer":t(A),"show-files":t(u),"show-audio":!1,"text-messages":JSON.stringify({ROOMS_EMPTY:"Aucune conversation",ROOM_EMPTY:"Aucune conversation sélectionnée",NEW_MESSAGES:"Nouveaux messages",MESSAGE_DELETED:"Ce message a été supprimé",MESSAGES_EMPTY:"Aucun message",CONVERSATION_STARTED:"La conversation a commencée le :",TYPE_MESSAGE:"Tapez votre message",SEARCH:"Rechercher",IS_ONLINE:"est en ligne",LAST_SEEN:"dernière connexion ",IS_TYPING:"est en train de taper...",CANCEL_SELECT_MESSAGE:"Annuler Sélection"})},{default:k(()=>{var b,W,Y,z,O,te,ie,fe;return[s("div",nn,[t(e).currentRoom?(o(),a("div",rn,[s("div",an,[s("div",ln,[(b=t(e).currentRoom)!=null&&b.direct?(o(),a("div",cn,[((z=(Y=(W=t(e).currentRoom)==null?void 0:W.users)==null?void 0:Y.find(V=>{var ne;return V._id!=((ne=t(n))==null?void 0:ne.ulid)}))==null?void 0:z.status.state)=="online"||((O=t(e).currentRoom)==null?void 0:O.type)=="ia_room"?(o(),a("div",dn)):(o(),a("div",un))])):x("",!0),G(" "+C((te=t(e).currentRoom)==null?void 0:te.roomName),1)])]),(ie=t(e).currentRoom)!=null&&ie.direct?x("",!0):(o(),a("div",mn,[(o(!0),a(X,null,Z((fe=t
1(e).currentRoom)==null?void 0:fe.users,(V,ne)=>{var ue;return o(),a("div",{key:V.id,class:"flex"},[s("div",pn,[V.avatar?(o(),a("img",{key:0,class:"rounded-full h-5 mx-1",src:V.avatar},null,8,hn)):(o(),T(N,{key:1,class:"rounded-full h-5 mx-1",name:"UserCircleIcon"})),V.status.state=="online"?(o(),a("div",fn)):(o(),a("div",gn))]),s("div",null,C(V.username),1),ne<((ue=t(e).currentRoom.users)==null?void 0:ue.length)-1?(o(),a("span",_n," ,  ")):x("",!0)])}),128))]))])):x("",!0)]),(o(!0),a(X,null,Z(t(e).rooms,V=>{var ne;return o(),a("div",{key:`item-${V.roomId}`,slot:`room-list-item_${V.roomId}`,class:"grid grid-cols-[auto_1fr] gap-3 p-2 cursor-pointer hover:bg-gray-100 items-start"},[s("div",yn,[V.avatar?(o(),a("img",{key:0,src:V.avatar,class:"rounded-full h-12 w-12"},null,8,bn)):(o(),a("div",xn,[s("span",wn,C(V.roomName[0]),1)])),(ne=V.users)!=null&&ne.some(ue=>ue.status.state==="online")?(o(),a("div",kn)):x("",!0)]),s("div",Cn,[s("div",$n,[s("div",In,C(V.roomName),1),V.unreadCount>0?(o(),a("div",Sn,C(V.unreadCount),1)):x("",!0)]),V.lastMessage?(o(),a("div",Rn,[s("span",En,C(V.lastMessage.content),1)])):x("",!0),V.lastMessage?(o(),a("div",Mn,[s("span",Un,C(We(V.lastMessage.created_at)),1)])):x("",!0)])],8,vn)}),128)),(o(!0),a(X,null,Z(t(e).messages,V=>(o(),a("div",{slot:"message-avatar_"+V._id,key:V._id},[V.avatar_url?(o(),a("img",{key:0,src:V.avatar_url,class:"rounded-full h-8 w-8"},null,8,Bn)):x("",!0)],8,An))),128))]}),_:1},8,["current-user-id","room-id","rooms","rooms-loaded","menu-actions","show-add-room","messages-loaded","messages","message-actions","onClose","show-footer","show-files","text-messages"]),v.value?(o(),a("div",Tn,[r(Go,{onClose:c[11]||(c[11]=b=>v.value=!1),onAddOrUpdateRoom:c[12]||(c[12]=b=>q.value(b)),"show-room-management":v.value,"current-user":t(n)},null,8,["show-room-management","current-user"])])):x("",!0),y.value?(o(),a("div",On,[r(Qo,{onClose:c[13]||(c[13]=b=>y.value=!1),"room-id":w.value,"is-adding-user":I.value,onAddOrUpdateRoom:c[14]||(c[14]=b=>q.value(b)),"show-room-management":y.value},null,8,["room-id","is-adding-user","show-room-management"])])):x("",!0)],512)),[[it,$.value]]):x("",!0)])}}},Nn=Me(jn,[["__scopeId","data-v-347fae3d"]]);const Ue=L=>(Re("data-v-6302a877"),L=L(),Ee(),L),Dn={key:0,class:"fixed top-64 right-0 z-40 w-[460px] h-[calc(100vh-64px)] bg-white border-l shadow-xl"},Vn={class:"flex items-center justify-between p-4 border-b bg-gradient-to-r from-primary-500 to-primary-50"},Ln=Ue(()=>s("h2",{class:"font-semibold text-white"}," Assistant IA ",-1)),Pn={class:"flex flex-col"},Fn={class:"flex-1 overflow-y-auto p-4"},zn={key:0,class:"bg-primary-50 p-3 rounded-xl"},Gn={key:1,class:"bg-primary-50 p-3 rounded-xl"},qn={class:"border-t p-4"},Hn={class:"relative"},Wn=["disabled"],Yn=Ue(()=>s("span",null,"➜",-1)),Jn=[Yn],Kn={class:"p-4 border-b"},Xn=Ue(()=>s("p",{class:"text-sm font-medium text-gray-700 mb-3"}," Exemples ",-1)),Qn={class:"flex flex-wrap gap-2"},Zn=["onClick"],er={__name:"AiAssistantDrawer",setup(L){const _=Le(),e=P(""),i=P(null),R=P(null),f=P(!1),p=P(null),w=[["Nouveau client [SIRET]","Nouveau client "]];async function $(){if(!(!e.value.trim()||f.value)){f.value=!0;try{R.value=`Traitement de : ${e.value}`;const{data:I}=await axios.post("/api/v1/ollama/ask-ia",{prompt:e.value});R.value=I.message,p.value=I.json,e.value="",I.type==="redirect"&&router.replace(I.url)}catch{R.value="Une erreur est survenue."}finally{f.value=!1}}}async function h(I){var E;e.value=I,await Ie(),(E=i.value)==null||E.setCursorToEnd()}return(I,E)=>{const g=F("BaseSpinner"),v=F("BaseTextarea");return o(),T(ge,{name:"assistant"},{default:k(()=>[t(_).isOpen?(o(),a("aside",Dn,[s("div",Vn,[Ln,f.value?(o(),T(g,{key:0,class:"absolute text-primary-500 h-10 w-10 right-16"})):x("",!0),s("button",{onClick:E[0]||(E[0]=y=>{R.value=null,e.value="",t(_).close()})}," ✕ ")]),s("div",Pn,[s("div",Fn,[R.value?(o(),a("div",zn,C(R.value),1)):(o(),a("div",Gn," Je peux créer des clients, devis, factures et vous aider à retrouver des informations. "))]),s("div",qn,[s("div",Hn,[r(v,{ref_key:"textPrompt",ref:i,modelValue:e.value,"onUpdate:modelValue":E[1]||(E[1]=y=>e.value=y),modelModifiers:{trim:!0},placeholder:"Votre demande...",type:"text",rows:"4",onKeydown:lt(oe($,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),s("button",{onClick:$,disabled:f.value,class:"absolute right-2 bottom-2 h-10 w-10 rounded-full bg-primary-500 text-white hover:bg-primary-600 disabled:opacity-50"}
1,Jn,8,Wn)])]),s("div",Kn,[Xn,s("div",Qn,[(o(),a(X,null,Z(w,y=>s("button",{key:y,onClick:q=>h(y[1]),class:"text-xs px-3 py-2 bg-gray-100 rounded-full hover:bg-gray-200"},C(y[0]),9,Zn)),64))])])])])):x("",!0)]),_:1})}}},tr=Me(er,[["__scopeId","data-v-6302a877"]]),sr={key:0,class:"h-full z-50"},Fr={__name:"LayoutBasic",setup(L){const _=be(),e=ve(),i=pe(),R=$e();ye(),me(),Te();const f=de();_e();const p=ee(()=>_.isAppLoaded),w=ee(()=>_.isSidebarShort),$=ee(()=>{const g="YES";return i.currentUserSettings.show_chatbot==="YES"&&g==="YES"}),h="BK5VwNJS4i7wNdclPi-z0kIL8cNljiznCmja3JozVu94Qj5SBK_nAMoi7tgSu0thVFfbxep_OoC4UH4O0-QB0JM";Se(()=>{_.bootstrap().then(g=>{let v=document.body.className.match(/(^|\s)theme-\S+/g)||[];v&&v.length&&(document.body.classList.remove(v[0].trim()),document.body.className+=" theme-"+f.selectedCompanySettings.customer_portal_theme),e.meta.ability&&!i.hasAbilities(e.meta.ability)?i.hasAbilities("dashboard")?R.push({name:"dashboard"}):i.hasAbilities("view-estimate")?R.push({name:"estimates.index"}):i.hasAbilities("view-invoice")?R.push({name:"invoices.index"}):i.hasAbilities("prebiller")?R.push({name:"prebillings.index"}):i.hasAbilities("view-purchase-order")?R.push({name:"purchase-orders.index"}):R.push({name:"account.settings"}):e.meta.isOwner&&!i.currentUser.is_boss&&!i.currentUser.company_group&&R.push({name:"account.settings"}),i.currentUser.is_boss&&I()})});async function I(){if(!("serviceWorker"in navigator)||!("PushManager"in window))return;const g=await navigator.serviceWorker.register("/service-worker.js");let v=await g.pushManager.getSubscription();if(v){console.log("✅ Subscription déjà existante, pas d’appel API");return}console.log("📩 Pas de subscription, création..."),v=await g.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:E(h)});const y={...v.toJSON(),contentEncoding:"aes128gcm"};await Ce.post("/api/v1/push/subscribe",y),console.log("ok...")}function E(g){const v="=".repeat((4-g.length%4)%4),y=(g+v).replace(/\-/g,"+").replace(/_/g,"/"),q=atob(y);return Uint8Array.from([...q].map(l=>l.charCodeAt(0)))}return(g,v)=>{const y=F("router-view"),q=F("BaseGlobalLoader");return t(p)?(o(),a("div",sr,[t($)?(o(),T(Nn,{key:0})):x("",!0),r(ft),r(Qs),r(yo),r(Mo),s("main",{class:H(["z-0 pt-16 pb-16 h-screen overflow-y-auto min-h-0 transition-width duration-300 ease-in-out",{"md:pl-60":!t(w),"xl:pl-60":!t(w),"md:pl-12":t(w),"xl:pl-12":t(w)}])},[(o(),T(cs,{key:g.$route.fullPath})),r(wo),r(y,null,{default:k(({Component:l,route:n})=>[(o(),T(rt,{include:"AdminCalendar"},[(o(),T(nt(l),{key:n.params.id}))],1024))]),_:1})],2),r(tr)])):(o(),T(q,{key:1}))}}};export{Fr 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.