1import{_ as B}from"./DjN9l1cb.js";import{n as N,K as j,ar as E,aq as I,aE as K,p as r,v as t,A as i,W as v,as as Q,at as $,aC as m,aD as c,s as a,F as x,B as f,aH as D,x as p,z as b,r as M,C as z,aL as Z}from"./ZJxFyJEr.js";import{u as F}from"./B7x7V2ci.js";import{u as G}from"./DxKzUyoG.js";import{u as L}from"./Dim-1E5q.js";import{u as R}from"./Bsd1a4XJ.js";import"./DMwcDcTt.js";import"./DkFQ-nDp.js";const H={class:"max-w-4xl"},P={class:"mb-8"},W={class:"space-y-4"},J={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},O={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"},X=["value"],Y={class:"text-sm text-slate-700"},ee={class:"space-y-4"},te={class:"flex items-center justify-between"},se={class:"font-medium text-slate-800"},oe=["onClick"],le=["onUpdate:modelValue","onInput"],ne={key:0,class:"mt-2 border border-slate-300 rounded-lg bg-white shadow-lg max-h-60 overflow-y-auto"},ie=["onClick"],re={key:1,class:"text-sm text-green-600 mt-2"},ae=["onUpdate:modelValue"],ue={key:0,class:"text-center py-8 text-slate-500"},de={class:"flex items-center justify-end space-x-4 pt-6 border-t"},me=["disabled"],ce={key:0},pe={key:1},Ve=N({__name:"nouveau",setup(ge){const w=F(),{searchAddress:C}=G(),{getGeohash:V}=L(),{activites:_}=R(),s=K({nomCommercial:"",email:"",tel:"",siret:"",activites:[],zones:[]}),g=M(!1),y=z(()=>s.nomCommercial&&s.email&&s.tel&&s.siret.length===14&&s.activites.length>0&&s.zones.length>0&&s.zones.every(l=>l.ville&&l.lat&&l.lng)),h=()=>{s.zones.push({villeQuery:"",ville:"",cp:"",lat:0,lng:0,rayonKm:100,suggestions:[]})},A=l=>{s.zones.splice(l,1)};let k;const T=l=>{const e=s.zones[l];clearTimeout(k),k=setTimeout(async()=>{e.villeQuery.length>=3?e.suggestions=await C(e.villeQuery):e.suggestions=[]},300)},S=(l,e)=>{const n=s.zones[l];n.ville=e.properties.city,n.cp=e.properties.postcode,n.lng=e.geometry.coordinates[0],n.lat=e.geometry.coordinates[1],n.villeQuery=e.properties.label,n.suggestions=[],console.log("ðºï¸ Ville sélectionnée:",{ville:n.ville,cp:n.cp,lat:n.lat,lng:n.lng})},U=async()=>{if(y.value){g.value=!0;try{const l=s.zones.map(n=>({ville:n.ville,cp:n.cp,geopoint:new Z(n.lat,n.lng),geohash:V(n.lat,n.lng,5),rayonKm:n.rayonKm}));console.log("ð Création artisan avec données:",{nomCommercial:s.nomCommercial,email:s.email,tel:s.tel,siret:s.siret,activites:s.activites,zones:l});const e=await w.createArtisan({nomCommercial:s.nomCommercial,email:s.email,tel:s.tel,siret:s.siret,activites:s.activites,zones:l});console.log("â
Artisan créé avec ID:",e),await v("/admin/artisans")}catch(l){console.error("â Erreur création artisan:",l),alert(`Erreur lors de la création de l'artisan: ${l.message||l}`)}finally{g.value=!1}}};return j(()=>{h()}),(l,e)=>{const n=B;return r(),E(n,{name:"admin"},{default:I(()=>[t("div",H,[t("div",P,[t("button",{onClick:e[0]||(e[0]=o=>("navigateTo"in l?l.navigateTo:i(v))("/admin/artisans")),class:"text-indigo-600 hover:text-indigo-800 font-medium mb-2 flex items-center"},[...e[7]||(e[7]=[t("svg",{class:"w-5 h-5 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1),Q(" Retour aux partenaires ",-1)])]),e[8]||(e[8]=t("h1",{class:"text-3xl font-bold text-slate-800"},"Nouveau partenaire",-1))]),t("form",{onSubmit:$(U,["prevent"]),class:"bg-white rounded-lg shadow p-6 space-y-6"},[t("div",W,[e[15]||(e[15]=t("h2",{class:"text-xl font-bold text-slate-800"},"Informations générales",-1)),t("div",null,[e[9]||(e[9]=t("label",{class:"block text-sm font-medium text-slate-700 mb-2"},"Nom commercial *",-1)),m(t("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>i(s).nomCommercial=o),type:"text",required:"",class:"w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-transparent outline-none"},null,512),[[c,i(s).nomCommercial]])]),t("div",J,[t("div",null,[e[10]||(e[10]=t("label",{class:"block text-sm font-medium text-slate-700 mb-2"},"Email *",-1)),m(t("input",{"onUpdate:modelValue":e[2]||(e[2]=o=>i(s).email=o),type:"email",required:"",class:"w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-transparent outline-none"},null,512),[[c,i(s).email]])]),t("div",null,[e[11]||(e[11]=t("label",{class:"block text-sm font-medium text-slate-700 mb-2"},"Téléphone *",-1)),m(t("input",{"onUpdate:modelValue":e[3]||(e[3]=o=>i(s).tel=o),type:"tel",required:"",class:"w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-transparent outline-none"},null,512),[[c,i(s).tel]])])]),t("div",null,[e[12]||(e[12]=t("label",{class:"block text-sm font-medium text-slate-700 mb-2"}
1,"SIRET (14 chiffres) *",-1)),m(t("input",{"onUpdate:modelValue":e[4]||(e[4]=o=>i(s).siret=o),type:"text",required:"",pattern:"[0-9]{14}",maxlength:"14",class:"w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-transparent outline-none"},null,512),[[c,i(s).siret]])]),t("div",null,[e[13]||(e[13]=t("label",{class:"block text-sm font-medium text-slate-700 mb-2"},"Activités *",-1)),e[14]||(e[14]=t("p",{class:"text-xs text-slate-500 mb-2"}," Sélectionnez tous les métiers que le partenaire exerce. ",-1)),t("div",O,[(r(!0),a(x,null,f(i(_),o=>(r(),a("label",{key:o.value,class:"flex items-center gap-2 px-3 py-2 border border-slate-200 rounded-lg cursor-pointer hover:bg-slate-50"},[m(t("input",{"onUpdate:modelValue":e[5]||(e[5]=d=>i(s).activites=d),type:"checkbox",value:o.value,class:"w-4 h-4 text-indigo-600 border-slate-300 rounded focus:ring-indigo-500"},null,8,X),[[D,i(s).activites]]),t("span",Y,p(o.label),1)]))),128))])])]),t("div",ee,[t("div",{class:"flex items-center justify-between"},[e[16]||(e[16]=t("h2",{class:"text-xl font-bold text-slate-800"},"Zones d'activité",-1)),t("button",{type:"button",onClick:h,class:"bg-indigo-600 hover:bg-indigo-700 text-white px-4 py-2 rounded-lg transition text-sm"}," + Ajouter une zone ")]),(r(!0),a(x,null,f(i(s).zones,(o,d)=>(r(),a("div",{key:d,class:"border border-slate-200 rounded-lg p-4 space-y-4"},[t("div",te,[t("h3",se,"Zone "+p(d+1),1),i(s).zones.length>1?(r(),a("button",{key:0,type:"button",onClick:u=>A(d),class:"text-red-600 hover:text-red-800 text-sm"}," Supprimer ",8,oe)):b("",!0)]),t("div",null,[e[17]||(e[17]=t("label",{class:"block text-sm font-medium text-slate-700 mb-2"},"Ville (recherche BAN)",-1)),m(t("input",{"onUpdate:modelValue":u=>o.villeQuery=u,onInput:u=>T(d),type:"text",placeholder:"Commencez à taper une ville...",class:"w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-transparent outline-none"},null,40,le),[[c,o.villeQuery]]),o.suggestions&&o.suggestions.length>0?(r(),a("div",ne,[(r(!0),a(x,null,f(o.suggestions,(u,q)=>(r(),a("button",{key:q,type:"button",onClick:be=>S(d,u),class:"w-full text-left px-4 py-2 hover:bg-slate-50 transition"},p(u.properties.label),9,ie))),128))])):b("",!0),o.ville?(r(),a("p",re," Ville sélectionnée : "+p(o.ville)+" ("+p(o.cp)+") ",1)):b("",!0)]),t("div",null,[e[18]||(e[18]=t("label",{class:"block text-sm font-medium text-slate-700 mb-2"},"Rayon d'activité (km)",-1)),m(t("input",{"onUpdate:modelValue":u=>o.rayonKm=u,type:"number",min:"1",max:"200",class:"w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-transparent outline-none"},null,8,ae),[[c,o.rayonKm,void 0,{number:!0}]])])]))),128)),i(s).zones.length===0?(r(),a("div",ue,` Aucune zone d'activité. Cliquez sur "Ajouter une zone" pour commencer. `)):b("",!0)]),t("div",de,[t("button",{type:"button",onClick:e[6]||(e[6]=o=>("navigateTo"in l?l.navigateTo:i(v))("/admin/artisans")),class:"px-6 py-2 border border-slate-300 text-slate-700 rounded-lg hover:bg-slate-50 transition"}," Annuler "),t("button",{type:"submit",disabled:i(g)||!i(y),class:"px-6 py-2 bg-indigo-600 hover:bg-indigo-700 text-white rounded-lg transition disabled:opacity-50 disabled:cursor-not-allowed"},[i(g)?(r(),a("span",ce,"Création en cours...")):(r(),a("span",pe,"Créer le partenaire"))],8,me)])],32)])]),_:1})}}});
1export{Ve 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.