PageSourceSearch

https://le-barreaumetre.fr/assets/VotePage-BX6t6Jcl.js

js le-barreaumetre.fr collected 2026-10-04 20:34:27 UTC 65,715 bytes, 26 lines download raw bytes

1import{j as e}from"./vendor-radix-BgQ1tEw6.js";import{r as n,u as Be,L as _e,k as Oe}from"./vendor-react-DXpIY7U8.js";import{m as q,C as he,w as Fe,a as Re,B as E,A as qe,D as te,e as fe,x as ge,f as be,g as je,h as ve,j as Ne,I as B,c as ue,y as ye,T as Ue,s as xe,M as We,z as Ge,E as Ye,F as Je,G as ke,H as ze,J as Ke}from"./index-DjWeVXQh.js";import{u as He,b as Qe,c as Se,d as Xe,e as Ze,g as et,a as tt,h as st}from"./actions-Bb3mMmsA.js";import{customToast as I}from"./custom-toast-C_qedqQr.js";import{r as G,$ as at,a0 as rt,a1 as nt,y as lt,a2 as it,z as ot,l as ct,h as mt,V as oe,a3 as K,T as dt,X as Ce,a4 as Ve,m as Ee,a5 as Ae,a6 as Ie,J as ut,S as xt,a7 as pt,e as ht,p as ft,q as gt,g as bt,s as jt}from"./vendor-utils-C1PKCXFi.js";import{A as Te}from"./animated-counter-DHF2hKyC.js";import{u as Me}from"./useContributionsCount-B4CjPtCg.js";import{C as vt}from"./ContributorBadge-CgQd0zXR.js";import{S as Q,a as X,b as Z,c as ee,d as Y}from"./select-DhXvdyiI.js";import{l as Pe}from"./app-BwwgxGmm.js";import{g as we,G as ne,a as Nt,s as $e}from"./constants.structure-config-BpDh2bXB.js";import{B as yt}from"./badge-t1Mm-JRA.js";import{C as St}from"./checkbox-0CHXcTvc.js";import{S as Ct}from"./SEO-B2m7ZdS4.js";import{g as Et,a as wt}from"./firm-logo-utils-CShPIu-B.js";import"./vendor-supabase-DoLSl-Em.js";import"./firm-utils-BjUfpR4x.js";var pe=(t=>(t.Stagiaire="stagiaire",t.EleveAvocat="eleve-avocat",t.Collaborateur1a4="collaborateur-1-4-ans",t.Collaborateur5a10="collaborateur-5-10-ans",t.Collaborateur11a20="collaborateur-11-20-ans",t.Collaborateur20Plus="collaborateur-20+-ans",t.Associe
1="associe",t.AvocatSalarie="avocat-salarie",t.Juriste="juriste",t.FonctionSupport="fonction-support",t.Autre="autre",t))(pe||{});const _t=["< 30k","30-45k","45-60k","60-80k","80-100k","100-130k","130k+"],kt=["< 800€","800-1200€","1200-1600€","1600-2000€","2000€+"];function zt(t){return t===pe.Stagiaire||t===pe.EleveAvocat?{ranges:kt,label:"Gratification mensuelle brute"}:{ranges:_t,label:"Rémunération annuelle brute"}}function At({reviewId:t,reviewFirmId:a,reviewRole:r,onComplete:x}){const[m,d]=n.useState(null),[i,y]=n.useState(!1),[w,C]=n.useState(""),[N,c]=n.useState(null),[g,u]=n.useState([]),[s,f]=n.useState(!1),[j,S]=n.useState(!1),[D,V]=n.useState(!1),[o,p]=n.useState(""),{ranges:l,label:P}=zt(r),$=async()=>{if(s)return;const v=await Se();v.success&&(u(v.data),f(!0))},se=()=>{const v=!i;y(v),v&&$()},J=async()=>{if(m){S(!0);try{t&&await He(t,m),i&&w&&N&&await Qe(w,r||"unknown",N),localStorage.setItem("hasContributedSalary","true"),V(!0),I({title:"Merci !",description:"Votre contribution aide la communauté.",variant:"success"}),setTimeout(x,1500)}catch{I({title:"Erreur",description:"Impossible de sauvegarder.",variant:"error"})}finally{S(!1)}}},H=g.filter(v=>v.id!==a).filter(v=>!o||v.name.toLowerCase().includes(o.toLowerCase())).slice(0,8);return D?e.jsxs(q.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"flex items-center justify-center gap-2 py-4 text-primary font-medium",children:[e.jsx(G,{className:"h-5 w-5"})," Contribution enregistrée !"]}):e.jsx(q.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.5},children:e.jsxs(he,{className:"border-primary/20 bg-primary/5",children:[e.jsxs(Fe,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-semibold text-foreground",children:[e.jsx(at,{className:"h-4 w-4 text-primary"}),"Une dernière info pour aider les talents ?"]}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[P," — 100% anonyme, jamais affiché individuellement"]})]}),e.jsxs(Re,{className:"space-y-4",children:[e.jsx("div",{className:"flex flex-wrap gap-2",children:l.map(v=>e.jsx(E,{type:"button",variant:m===v?"default":"outline",size:"sm",onClick:()=>d(v),className:"text-xs",children:v},v))}),e.jsxs("button",{type:"button",onClick:se,className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[i?e.jsx(rt,{className:"h-3 w-3"}):e.jsx(nt,{className:"h-3 w-3"}),"Vous êtes actuellement dans un autre cabinet ?"]}),i&&e.jsxs(q.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},className:"space-y-3 pl-2 border-l-2 border-primary/20",children:[e.jsxs("div",{children:[e.jsx("input",{type:"text",placeholder:"Rechercher un cabinet...",value:o,onChange:v=>p(v.target.value),className:"w-full px-3 py-2 text-sm border rounded-md bg-background border-input"}),o&&H.length>0&&e.jsx("div",{className:"mt-1 max-h-32 overflow-y-auto border rounded-md bg-popover",children:H.map(v=>e.jsx("button",{type:"button",onClick:()=>{C(v.id),p(v.name)},className:`w-full text-left px-3 py-1.5 text-sm hover:bg-accent ${w===v.id?"bg-accent font-medium":""}`,children:v.name},v.id))})]}),w&&e.jsx("div",{className:"flex flex-wrap gap-2",children:l.map(v=>e.jsx(E,{type:"button",variant:N===v?"default":"outline",size:"sm",onClick:()=>c(v),className:"text-xs",children:v},`other-${v}`))})]}),e.jsxs("div",{className:"flex gap-2 justify-end pt-2",children:[e.jsx(E,{type:"button",variant:"ghost",size:"sm",onClick:x,children:"Passer"}),e.jsx(E,{type:"button",size:"sm",disabled:!m||j,onClick:J,children:j?"Envoi...":"Contribuer"})]})]})]})})}function It({index:t}){const a=["hsl(var(--primary))","hsl(var(--primary) / 0.7)","#facc15","#fb923c","#34d399","#60a5fa","#a78bfa"],r=a[t%a.length],x=Math.random()*100,m=Math.random()*2,d=2.5+Math.random()*2,i=6+Math.random()*8,y=Math.random()*360;return e.jsx(q.div,{className:"absolute top-0 rounded-sm",style:{left:`${x}%`,width:i,height:i*.6,backgroundColor:r,rotate:`${y}deg`},initial:{y:-20,opacity:1},animate:{y:"100vh",rotate:`${y+720}deg`,opacity:[1,1,0]},transition:{duration:d,delay:m,ease:"easeIn"}})}function Tt({onContinue:t,reviewId:a,reviewFirmId:r,reviewRole:x}
1){const m=Be(),{count:d}=Me(),[i,y]=n.useState(!1);n.useEffect(()=>{const g=setTimeout(()=>y(!0),400);return()=>clearTimeout(g)},[]),n.useEffect(()=>{const g=setTimeout(()=>{t()},15e3);return()=>clearTimeout(g)},[t]);const w="Je viens de partager mon expérience en cabinet sur le Barreau-mètre 🎯 Aidez les futurs talents à faire le bon choix !",C=`https://${te}/vote`,N=()=>{window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(C)}`,"_blank")},c=()=>{window.open(`https://wa.me/?text=${encodeURIComponent(w+" "+C)}`,"_blank")};return e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm",children:[e.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:Array.from({length:50}).map((g,u)=>e.jsx(It,{index:u},u))}),e.jsx(qe,{children:i&&e.jsxs(q.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},transition:{type:"spring",damping:20,stiffness:100},className:"relative z-10 max-w-lg mx-auto px-6 text-center space-y-8",children:[e.jsx(q.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.2,type:"spring",stiffness:200},className:"mx-auto w-20 h-20 rounded-full bg-primary/10 flex items-center justify-center",children:e.jsx(lt,{className:"h-10 w-10 text-primary"})}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground",children:"Bravo ! 🎉"}),d>0&&d%1e3===0?e.jsxs("p",{className:"text-lg text-muted-foreground",children:["🏆 Incroyable, vous êtes le"," ",e.jsx("span",{className:"text-primary font-bold",children:e.jsx(Te,{value:d,duration:1.5})}),"ème contributeur !"]}):e.jsxs("p",{className:"text-lg text-muted-foreground",children:["Vous rejoignez une communauté de"," ",e.jsx("span",{className:"text-primary font-bold",children:e.jsx(Te,{value:d,duration:1.5})})," ","contributeurs"]})]}),e.jsx("div",{className:"flex justify-center",children:e.jsx(vt,{})}),e.jsx(q.p,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.6},className:"text-muted-foreground",children:"Votre avis aide des milliers de talents à trouver la structure qui leur correspond vraiment."}),r&&e.jsx(At,{reviewId:a,reviewFirmId:r,reviewRole:x,onComplete:()=>{}}),e.jsxs(q.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.8},className:"space-y-3",children:[e.jsxs("p",{className:"text-sm font-medium text-muted-foreground",children:[e.jsx(it,{className:"inline h-4 w-4 mr-1"}),"Partagez pour multiplier l'impact"]}),e.jsxs("div",{className:"flex gap-3 justify-center",children:[e.jsxs(E,{onClick:N,variant:"outline",className:"gap-2",children:[e.jsx(ot,{className:"h-4 w-4"}),"LinkedIn"]}),e.jsxs(E,{onClick:c,variant:"outline",className:"gap-2",children:[e.jsx(ct,{className:"h-4 w-4"}),"WhatsApp"]})]})]}),e.jsxs(q.div,{initial:{opacity:0}
1,animate:{opacity:1},transition:{delay:1},children:[e.jsxs(E,{size:"lg",onClick:()=>m("/classement"),className:"gap-2 font-bold",children:[e.jsx(mt,{className:"h-5 w-5"}),"Accéder au classement"]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Redirection automatique dans quelques secondes..."})]})]})})]})}const ce=t=>t.trim().toLowerCase().replace(/æ/g,"ae").replace(/œ/g,"oe").replace(/ß/g,"ss").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s*\(.*\)\s*$/g,"").replace(/\s*-\s*[^-]*$/g,"").replace(/^cabinet\s*/gi,"").replace(/\s*avocats?\s*$/gi,"").replace(/s$/i,"").replace(/[^a-z0-9]/g,""),Dt=(t,a)=>{if(t===a)return 100;if(t.startsWith(a)||a.startsWith(t)){const d=Math.min(t.length,a.length),i=Math.max(t.length,a.length);return Math.round(d/i*95)}if(t.includes(a)||a.includes(t)){const d=Math.min(t.length,a.length),i=Math.max(t.length,a.length);return Math.round(d/i*85)}const r=t.match(/[a-z]+/g)||[],x=a.match(/[a-z]+/g)||[],m=r.filter(d=>x.some(i=>i.includes(d)||d.includes(i)));return m.length>0&&r.length>0&&x.length>0?Math.round(m.length/Math.max(r.length,x.length)*75):0},Lt=(t,a)=>{if(!t.trim())return[];const r=ce(t);return r.length<3?[]:a.map(m=>{const d=ce(m.name),i=Dt(r,d);return{firm:m,score:i}}).filter(({score:m})=>m>=70).sort((m,d)=>d.score-m.score).map(m=>m.firm)};function Bt({firms:t,loadingFirm:a,review:r,updateReview:x,errors:m,firmRefreshKey:d,setFirmRefreshKey:i,triggerAddDialog:y}){const[w,C]=n.useState(!1);n.useEffect(()=>{y&&y>0&&C(!0)},[y]);const[N,c]=n.useState(""),[g,u]=n.useState(!0),[s,f]=n.useState(""),[j,S]=n.useState([]),[D,V]=n.useState(!1),[o,p]=n.useState(null),l=n.useMemo(()=>Lt(N,t),[N,t]);n.useEffect(()=>{p(null)},[N,j]);const P=h=>{h&&!j.includes(h)&&S([...j,h])},$=h=>{S(j.filter((z,T)=>T!==h))},se=h=>{x("cabinet",h),C(!1),c(""),S([]),p(null)},J=async()=>{if(!g&&s.length>150){p("Le nom du département ne doit pas dépasser 150 caractères.");return}if(!g&&s.trim()===""){p("Veuillez saisir un nom de département.");return}if(!N.trim()){p("Veuillez entrer un nom de cabinet.");return}const h=ce(N),z=t.find(T=>ce(T.name)===h);if(z){p(`Un cabinet similaire existe déjà : "${z.name}". Veuillez le sélectionner.`);return}if(j.every(T=>!T.trim())){p("Veuillez sélectionner au moins un domaine.");return}try{const T=await Xe(N.trim(),g,s,j.filter(de=>de.trim()));T.success?(i(d+1),c(""),u(!0),S([]),p(null),C(!1),V(!0),x("cabinet",T.id),T.departmentId&&x("department",T.departmentId),I({title:"Succès",description:"Cabinet ajouté avec succès.",variant:"success"})):I({title:"Erreur",description:T.error,variant:"error"})}catch(T){I({title:"Erreur",description:T instanceof Error?T.message:"Une erreur inattendue s'est produite.",variant:"error"})}},H=t.find(h=>h.id===r.cabinet),v=we(H?.structure_type),U=!!r.cabinet,ae=U?v.labels.entity:ne.entity;return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"cabinet",className:"text-sm font-medium flex gap-2 items-center",children:[`${ae} ${ne.helpText} `,e.jsx("span",{className:"text-primary",children:"*"}),a?e.jsx(oe,{className:"h-4 w-4 animate-spin"}):null]}),e.jsxs("div",{className:"flex gap-2",children:[a?e.jsxs("div",{id:"cabinet",className:`flex items-center w-full h-9 rounded-md border border-input bg-transparent px-3 py-2 text-sm text-muted-foreground ${m.cabinet?"border-destructive":""}`,children:[e.jsx(oe,{className:"h-4 w-4 animate-spin mr-2"})," Chargement…"]}):e.jsxs(Q,{searchable:!0,value:r.cabinet&&t.some(h=>h.id===r.cabinet)?r.cabinet:void 0,onValueChange:h=>D?V(!1):x("cabinet",h),children:[e.jsx(X,{id:"cabinet",className:`${m.cabinet?"border-destructive":""} cursor-pointer w-full`,children:e.jsx(Z,{placeholder:ne.selectPlaceholder})}),e.jsx(ee,{className:"w-full",children:t.map(h=>e.jsx(Y,{value:h.id,children:h.name},h.id))})]},`firm-select-${t.length}`),e.jsxs(fe,{open:w,onOpenChange:C,children:[e.jsx(ge,{asChild:!0,children:e.jsx(E,{variant:"outline",size:"icon",className:"shrink-0",children:e.jsx(K,{className:"h-4 w-4"})})}),e.jsxs(be,{className:"bg-white overflow-clip",children:[e.jsxs(je,{children:[e.jsx(ve,{children:U?v.labels.addNew:ne.addNew}),e.jsx(Ne,{children:"Remplissez les informations pour ajouter une nouvelle structure."})]}),e.jsxs("div",{className:"py-4 flex gap-4 flex-col items-center w-full max-h-[60vh] overflow-y-auto",children:[e.jsxs("div",{className:"w-full",children:[e.jsxs("label",{htmlFor:"cabinet",className:"text-sm font-medium flex gap-2 items-center mb-2",children:["Nom de la structure ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(B,{placeholder:"Insérez le nom",value:N,onChange:h=>c(h.target.value),className:"placeholder:text-sm cursor-pointer"})]}),l.length>0&&e.jsxs("div",{className:"w-full bg-amber-50 border border-amber-200 rounded-md p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-amber-800 font-medium text-sm mb-2",children:[e.jsx(dt,{className:"h-4 w-4"}),"Cabinet(s) similaire(s) trouvé(s)"]}),e.jsx("ul",{className:"space-y-2",children:l.slice(0,5).map(h=>e.jsxs("li",{className:"flex items-center justify-between bg-white rounded px-2 py-1.5",children:[e.jsx("span",{className:"text-sm text-foreground",children:h.name}),e.jsx(E,{size:"sm",variant:"outline",className:"h-7 text-xs",onClick:()=>se(h.id),children:"Sélectionner"})]}
1,h.id))}),e.jsx("p",{className:"text-xs text-amber-600 mt-2",children:"Si votre cabinet est différent, vous pouvez continuer la création ci-dessous."})]}),e.jsxs("div",{className:"w-full",children:[e.jsxs("label",{htmlFor:"cabinet",className:"text-sm font-medium flex gap-2 items-center mb-2",children:["Type de cabinet ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsxs("div",{className:"bg-primary/20 w-full h-fit p-1 flex flex-row gap-1 rounded-md",children:[e.jsx("div",{onClick:()=>u(!0),className:ue("flex-1 bg-transparent border border-primary/30 rounded-sm px-2 py-1.5 text-center text-foreground/80 cursor-pointer",{"bg-primary text-white":g}),children:"Spécialisé"}),e.jsx("div",{onClick:()=>u(!1),className:ue("flex-1 bg-transparent border border-primary/30 rounded-sm px-2 py-1.5 text-center text-foreground/80 cursor-pointer",{"bg-primary text-white":!g}),children:"Pluridisciplinaire"})]})]}),!g&&e.jsxs("div",{className:"w-full",children:[e.jsxs("label",{htmlFor:"departement",className:"text-sm font-medium flex gap-2 items-center mb-2",children:["Nom du département"," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx(B,{maxLength:150,placeholder:"Entrez le nom du département",value:s,onChange:h=>f(h.target.value)})]}),e.jsxs("div",{className:"w-full",children:[e.jsxs("label",{htmlFor:"cabinet",className:"text-sm font-medium flex gap-2 items-center",children:[g?"Domaine(s) du cabinet":"Domaine(s) du département"," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsxs(Q,{value:"",onValueChange:P,searchable:!0,children:[e.jsx(X,{id:"domains",className:"w-full my-2",children:e.jsx(Z,{placeholder:"Ajoutez un domaine"})}),e.jsx(ee,{className:"max-h-[300px] max-w-min overflow-hidden",children:Pe.map((h,z)=>e.jsx(Y,{value:h,children:h},z))})]}),e.jsxs("div",{className:"flex gap-2 mt-2 mb-3",children:[e.jsx(B,{placeholder:"Ajouter un domaine personnalisé",onKeyDown:h=>{if(h.key==="Enter"){h.preventDefault();const z=h.currentTarget;z.value.trim()&&(P(z.value.trim()),z.value="")}},className:"flex-1"}),e.jsx(E,{type:"button",variant:"outline",size:"icon",onClick:h=>{const z=h.currentTarget.previousElementSibling;z?.value.trim()&&(P(z.value.trim()),z.value="")},children:e.jsx(K,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"max-h-[200px] overflow-y-auto",children:j.map((h,z)=>e.jsxs("div",{className:"flex gap-2 items-center mb-2 w-full",children:[e.jsx(B,{placeholder:"Ex: Droit pénal",disabled:!0,className:"disabled:opacity-100 w-full text-sm",value:h}),e.jsx(E,{variant:"ghost",size:"icon",onClick:()=>$(z),children:e.jsx(Ce,{className:"h-4 w-4"})})]},z))})]}),o?e.jsx("p",{className:"text-sm text-red-500",children:o}):null]}),e.jsxs(ye,{children:[e.jsx(E,{variant:"outline",onClick:()=>C(!1),children:"Annuler"}),e.jsx(E,{onClick:async()=>{J()},children:"Ajouter"})]})]})]})]}),m.cabinet?e.jsx("p",{className:"text-sm text-red-500",children:m.cabinet}):null]})}function Ft({departments:t,loadingDepartment:a,review:r,updateReview:x,errors:m,departmentRefreshKey:d,setDepartmentRefreshKey:i}){const[y,w]=n.useState(!1),[C,N]=n.useState(""),[c,g]=n.useState([]),[u,s]=n.useState(!1),[f,j]=n.useState(null);n.useEffect(()=>{j(null)},[C,c]);const S=o=>{o&&!c.includes(o)&&g([...c,o])},D=o=>{g(c.filter((p,l)=>l!==o))},V=async()=>{if(C.length>150){j("Le nom du département ne doit pas dépasser 150 caractères.");return}if(C.trim()===""){j("Veuillez saisir un nom de département.");return}const o=C.trim().toLowerCase();if(t.find(l=>
1l.name?.trim().toLowerCase()===o)){j("Un département avec ce nom existe déjà pour ce cabinet.");return}if(c.every(l=>!l.trim())){j("Veuillez sélectionner au moins un domaine.");return}if(!r.cabinet){j("Veuillez sélectionner un cabinet.");return}try{const l=await Ze(r.cabinet,C,c.filter(P=>P.trim()));l.success?(i(d+1),N(""),g([]),j(null),w(!1),s(!0),x("department",l.id),I({title:"Succès",description:"Département ajouté avec succès.",variant:"success"})):I({title:"Erreur",description:l.error,variant:"error"})}catch(l){I({title:"Erreur",description:l instanceof Error?l.message:"Une erreur inattendue s'est produite.",variant:"error"})}};return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"departement",className:"text-sm font-medium flex gap-2 items-center",children:["Département ",e.jsx("span",{className:"text-primary",children:"*"}),a?e.jsx(oe,{className:"h-4 w-4 animate-spin"}):null]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(Q,{value:r.department,onValueChange:o=>u?s(!1):x("department",o),disabled:a,children:[e.jsx(X,{id:"department",className:`${m.department?"border-red-500":""} cursor-pointer w-full`,children:e.jsx(Z,{placeholder:"Sélectionnez un département",children:r.department&&t.find(o=>o.id===r.department)?.name||t.find(o=>o.id===r.department)?.domain.join(", ")||"Sélectionnez un département"})}),e.jsx(ee,{className:"max-w-min",children:t.map(o=>e.jsx(Y,{value:o.id,className:"whitespace-break-spaces ",children:e.jsx("p",{className:"flex flex-col",children:o.name??o.domain.join(", ")})},o.id))})]}),e.jsxs(fe,{open:y,onOpenChange:w,children:[e.jsx(ge,{asChild:!0,children:e.jsx(E,{variant:"outline",size:"icon",className:"shrink-0",children:e.jsx(K,{className:"h-4 w-4"})})}),e.jsxs(be,{className:"bg-white overflow-clip",children:[e.jsxs(je,{children:[e.jsx(ve,{children:"Ajouter un nouveau département"}),e.jsx(Ne,{children:"Ajoutez un département à ce cabinet en précisant ses domaines d'activité."})]}),e.jsxs("div",{className:"py-4 flex gap-4 flex-col items-center w-full",children:[e.jsxs("div",{className:"w-full",children:[e.jsxs("label",{htmlFor:"departement",className:"text-sm font-medium flex gap-2 items-center mb-2",children:["Nom du département"," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx(B,{maxLength:150,placeholder:"Entrez le nom du département",value:C,onChange:o=>N(o.target.value)})]}),e.jsxs("div",{className:"w-full",children:[e.jsxs("label",{htmlFor:"departement",className:"text-sm font-medium flex gap-2 items-center",children:["Domaine(s) du département"," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsxs(Q,{value:"",onValueChange:S,searchable:!0,children:[e.jsx(X,{id:"domains",className:"w-full my-2",children:e.jsx(Z,{placeholder:"Ajoutez un domaine"})}),e.jsx(ee,{className:"max-h-[300px] max-w-min overflow-hidden",children:Pe.map((o,p)=>e.jsx(Y,{value:o,children:o},p))})]}),e.jsxs("div",{className:"flex gap-2 mt-2 mb-3",children:[e.jsx(B,{placeholder:"Ajouter un domaine personnalisé",onKeyDown:o=>{if(o.key==="Enter"){o.preventDefault();const p=o.currentTarget;p.value.trim()&&(S(p.value.trim()),p.value="")}},className:"flex-1"}),e.jsx(E,{type:"button",variant:"outline",size:"icon",onClick:o=>{const p=o.currentTarget.previousElementSibling;p?.value.trim()&&(S(p.value.trim()),p.value="")},children:e.jsx(K,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"max-h-[200px] overflow-y-auto",children:c.map((o,p)=>e.jsxs("div",{className:"flex gap-2 items-center mb-2 w-full",children:[e.jsx(B,{placeholder:"Ex: Droit pénal",disabled:!0,className:"disabled:opacity-100 w-full text-sm",value:o}),e.jsx(E,{variant:"ghost",size:"icon",onClick:()=>D(p),children:e.jsx(Ce,{className:"h-4 w-4"})})]},p))})]}),f?e.jsx("p",{className:"text-sm text-red-500",children:f}):null]}),e.jsxs(ye,{children:[e.jsx(E,{variant:"outline",onClick:()=>w(!1),children:"Annuler"}),e.jsx(E,{onClick:async()=>{V()},children:"Ajouter"})]})]})]})]}),m.department?e.jsx("p",{className:"text-sm text-red-500",children:m.department}):null]})}function Rt({review:t,updateReview:a,errors:r,triggerAddFirm:x}){const[m,d]=n.useState([]),[i,y]=n.useState(!0),[w,C]=n.useState([]),[N,c]=n.useState(!0),[g,u]=n.useState(0),[s,f]=n.useState(0),S=n.useMemo(()=>m.find(o=>o.id===t.cabinet),[m,t.cabinet])?.structure_type||"law_firm",D=we(S);n.useEffect(()=>{async function o(){y(!0);try{const p=await Se();p.success?d(p.data):I({title:"Erreur",description:"Une erreur s'est produite. Veuillez rafraîchir la page.",variant:"error"})}catch(p){I({title:"Erreur",description:p instanceof Error?p.message:"Une erreur inattendue s'est produite.",variant:"error"})}finally{y(!1)}}o()},[g]),n.useEffect(()=>{async function o(){c(!0);try{const p=await et(t.cabinet);p.success?(C(p.data),t.role==="fonction-support"?a("department",void 0):p.data.length===0?a("department","none"):t.department&&!p.data.find(l=>l.id===t.department)&&a("department",void 0)):(a("department",void 0),I({title:"Erreur",description:"Une erreur s'est produite. Veuillez rafraîchir la page.",variant:"error"}))}catch(p){a("department",void 0),I({title:"Erreur",description:p instanceof Error?p.message:"Une erreur inattendue s'est produite.",variant:"error"})}finally{c(!1)}}t.cabinet&&t.cabinet!==""&&o(),D.showBillingPressure||(a("billingPressure",void 0),a("personalClients",void 0))},[t.cabinet,t.role,s,D.showBillingPressure]),n.useEffect(()=>{t.role&&(D.roles.some(p=>p.value===t.role)||a("role",void 0))},[S]);const V=D.showDepartments&&t.role!=="fonction-support"&&!i&&m.length!==0&&w.length!==0&&t.cabinet!==void 0&&t.cabinet!=="";return e.jsxs("div",{className:"space-y-6",children:[e.jsx(Bt,{firms:m,loadingFirm:i,review:t,updateReview:a,errors:r,firmRefreshKey:g,setFirmRefreshKey:u,triggerAddDialog:x}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"role",className:"text-sm font-medium",children:["Fonction occupée durant cette expérience ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsxs(Q,{value:t.role||"",onValueChange:o=>{a("role",o)},children:[e.jsx(X,{id:"role",className:`${r.role?"border-red-500":""} cursor-pointer w-full`,children:e.jsx(Z,{placeholder:"Sélectionnez votre fonction"})}),e.jsx(ee,{children:D.roles.map(o=>e.jsx(Y,{value:o.value,children:o.label},o.value))})]}),r.role&&e.jsx("p",{className:"text-sm text-red-500",children:r.role})]}),V&&e.jsx(Ft,{departments:w,loadingDepartment:N,review:t,updateReview:a,errors:r,departmentRefreshKey:s,setDepartmentRefreshKey:f})]})}const Vt=["","Très insuffisant","Insuffisant","Correct","Très bien","Excellent"];function W({label:t,description:a,value:r,onChange:x,error:m}){return e.jsxs("div",{className:"space-y-2 py-3 border-b border-border/40 last:border-b-0",children:[e.jsxs("label",{className:"text-sm font-medium block",children:[t," ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[e.jsx(Ve,{className:"inline size-3.5 mr-1 align-text-top text-foreground
1/50"}),a]}),e.jsxs("div",{className:"flex items-center gap-1 sm:gap-2 pt-1",children:[[1,2,3,4,5].map(d=>e.jsx("button",{type:"button","aria-label":`Note ${d} sur 5`,onClick:()=>x(d),className:"p-2 -m-1 rounded-md hover:bg-primary/5 active:scale-95 transition-all touch-manipulation",children:e.jsx(Ee,{size:36,className:`${d<=r?"fill-yellow-400 text-yellow-400":"text-gray-300"} transition-colors`})},d)),r>0&&e.jsx("span",{className:"ml-2 text-xs font-medium text-primary animate-fade-in",children:Vt[r]})]}),m&&e.jsx("p",{className:"text-sm text-red-500",children:m})]})}function Mt({review:t,updateReview:a,errors:r,structureType:x}){const m=Nt(x),d=n.useMemo(()=>[t.cultureRating,t.compensationRating,t.prideRating,t.trainingRating,t.wellbeingRating,t.managementRating,t.atmosphereRating,t.workLifeBalanceRating].filter(y=>y>0).length,[t]);return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"Évaluez votre expérience"}),e.jsxs("p",{className:"text-sm text-muted-foreground mt-1",children:["Touchez les étoiles pour noter — ",d,"/8 critères notés"]}),e.jsx("div",{className:"w-full max-w-xs mx-auto bg-muted h-1.5 mt-3 rounded-full",children:e.jsx("div",{className:"bg-primary h-1.5 rounded-full transition-all duration-300",style:{width:`${d/8*100}%`}})}),d>=4&&d<8&&e.jsxs("p",{className:"text-xs text-primary font-medium mt-2 animate-fade-in",children:["Génial, plus que ",8-d," ! 💪"]}),d===8&&e.jsx("p",{className:"text-xs text-green-600 font-medium mt-2 animate-fade-in",children:"Bravo, étape terminée ✨"})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"border border-border rounded-xl overflow-hidden bg-card",children:[e.jsxs("div",{className:"w-full bg-primary/10 text-center py-2.5 text-sm font-medium",children:["🏛️ ",m]}),e.jsxs("div",{className:"px-4 pb-2",children:[e.jsx(W,{label:"Culture & valeurs",description:"Alignement des valeurs avec celles des collaborateurs.",value:t.cultureRating,onChange:i=>a("cultureRating",i),error:r.cultureRating}),e.jsx(W,{label:"Rémunération & avantages",description:"Rémunération par rapport au marché.",value:t.compensationRating,onChange:i=>a("compensationRating",i),error:r.compensationRating}),e.jsx(W,{label:"Fierté & appartenance",description:"Sentiment de fierté à y travailler.",value:t.prideRating,onChange:i=>a("prideRating",i),error:r.prideRating}),e.jsx(W,{label:"Formation & évolution",description:"Qualité de la formation, mentorat et carrière.",value:t.trainingRating,onChange:i=>a("trainingRating",i),error:r.trainingRating})]})]}),e.jsxs("div",{className:"border border-border rounded-xl overflow-hidden bg-card",children:[e.jsx("div",{className:"w-full bg-primary/10 text-center py-2.5 text-sm font-medium",children:t.role!=="fonction-support"&&t.department!=="none"?"👥 Critères liés au département":"👥 Critères liés à l'équipe"}),e.jsxs("div",{className:"px-4 pb-2",children:[e.jsx(W,{label:"Bien-être",description:"Efforts pour le bien-être des collaborateurs.",value:t.wellbeingRating,onChange:i=>a("wellbeingRating",i),error:r.wellbeingRating}),e.jsx(W,{label:"Encadrement & management",description:"Qualité du leadership et de la communication.",value:t.managementRating,onChange:i=>a("managementRating",i),error:r.managementRating}),e.jsx(W,{label:"Ambiance & bienveillance",description:"Ambiance, respect et relations entre collègues.",value:t.atmosphereRating,onChange:i=>a("atmosphereRating",i),error:r.atmosphereRating}),e.jsx(W,{label:"Équilibre vie pro / perso",description:"Capacité à favoriser cet équilibre.",value:t.workLifeBalanceRating,onChange:i=>a("workLifeBalanceRating",i),error:r.workLifeBalanceRating})]})]})]})]})}const Pt=[{value:"libre",label:"Libre"},{value:"occasionnel",label:"Occasionnel"},{value:"mal-vu",label:"Mal vu"},{value:"interdit",label:"Interdit"}],$t=[{value:"0",label:"0 jour"},{value:"1",label:"1 jour"},{value:"2",label:"2 jours"},{value:"+2",label:"+2 jours"}],Ot=[{value:"fort",label:"Fort"},{value:"raisonnable",label:"Raisonnable"},{value:"ne-sais-pas",label:"Je ne sais pas"}],qt=[{value:"tres-forte",label:"Très forte"},{value:"forte",label:"Forte"},{value:"moderee",label:"Modérée"},{value:"legere",label:"Légère"},{value:"aucune",label:"Aucune"}],Ut=[{value:"oui",label:"Oui"},{value:"tolere",label:"Toléré"},{value:"decourage",label:"Découragé"},{value:"interdit",label:"Interdit"}],Wt=[{value:"restauration",label:"🍽️ Restauration / repas pris en charge"},{value:"taxi",label:"🚕 Taxis après une certaine heure"},{value:"sport",label:"🏋️ Salle / cours de sport"},{value:"pressing",label:"👔 Service de pressing"},{value:"teambuilding",label:"🌴 Team building / offsite"},{value:"parentalite",label:"👶 Politique parentalité"},{value:"formation",label:"🎓 Politique de formation"},{value:"autre",label:"✨ Autre"},{value:"aucun",label:"🚫 Aucun"}],Gt=[{value:"0-2-semaines",label:"0-2 semaines"},{value:"2-4-semaines",label:"2-4 semaines"},{value:"1-2-mois",label:"1-2 mois"},{value:"2-4-mois",label:"2-4 mois"},{value:"4-6-mois",label:"4-6 mois"},{value:"+6-mois",label:"+6 mois"}],Yt={emerald:{base:"border-emerald-300 bg-emerald-50 text-emerald-700 hover:border-emerald-400 hover:bg-emerald-100",selected:"border-emerald-500 bg-emerald-500 text-white shadow-lg shadow-emerald-500/30 ring-2 ring-emerald-500/30 ring-offset-2"},red:{base:"border-red-300 bg-red-50 text-red-700 hover:border-red-400 hover:bg-red-100",selected:"border-red-500 bg-red-500 text-white shadow-lg shadow-red-500/30 ring-2 ring-red-500/30 ring-offset-2"},amber:{base:"border-amber-300 bg-amber-50 text-amber-700 hover:border-amber-400 hover:bg-amber-100",selected:"border-amber-500 bg-amber-500 text-white shadow-lg shadow-amber-500/30 ring-2 ring-amber-500/30 ring-offset-2"}};
1function De({options:t,value:a,onChange:r}){return e.jsx("div",{className:"mt-3 mx-auto max-w-md grid gap-3",style:{gridTemplateColumns:`repeat(${t.length}, minmax(0, 1fr))`},children:t.map(x=>{const m=a===x.value,d=Yt[x.color],i=x.icon;return e.jsxs("button",{type:"button",onClick:()=>r(x.value),className:`
2              flex flex-col items-center justify-center gap-1.5 rounded-xl border-2 px-3 py-4
3              font-semibold transition-all duration-200 hover:scale-[1.03] active:scale-[0.98]
4              ${m?d.selected:d.base}
5            `,children:[e.jsx(i,{size:26,className:"shrink-0"}),e.jsx("span",{className:"text-base",children:x.label})]},String(x.value))})})}const le=({icon:t,title:a,children:r})=>e.jsxs("section",{className:"border border-border rounded-xl bg-card overflow-hidden",children:[e.jsxs("header",{className:"bg-primary/10 px-4 py-2.5 flex items-center gap-2",children:[e.jsx("span",{className:"text-base","aria-hidden":!0,children:t}),e.jsx("h4",{className:"text-sm font-semibold",children:a})]}),e.jsx("div",{className:"p-4 space-y-5",children:r})]});function Jt({review:t,updateReview:a,errors:r,structureType:x}){const[m,d]=n.useState(""),i=$e(x,t.role),w=we(x).labels.entity.toLowerCase(),C=s=>{const f=t.benefits||[];if(s==="aucun")a("benefits",["aucun"]),a("customBenefits",[]);else{const j=f.filter(S=>S!=="aucun");if(j.includes(s)){const S=j.filter(D=>D!==s);a("benefits",S),s==="autre"&&a("customBenefits",[])}else a("benefits",[...j,s])}},N=()=>{const s=m.trim(),f=t.customBenefits||[];s.length>=2&&!f.includes(s)&&f.length<5&&(a("customBenefits",[...f,s]),d(""))},c=s=>{const f=t.customBenefits||[];a("customBenefits",f.filter(j=>j!==s))},g=(t.customBenefits||[]).length<5,u=(s,f)=>e.jsx("div",{className:"flex gap-1",children:[1,2,3,4,5].map(j=>e.jsx("button",{type:"button",onClick:()=>f(j),className:"p-1 hover:scale-110 transition-transform",children:e.jsx(Ee,{size:24,className:`transition-colors ${(s||0)>=j?"fill-primary text-primary":"text-muted-foreground/30"}`})},j))});return e.jsxs("div",{className:"space-y-5 my-2",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("h3",{className:"text-lg font-semibold",children:"Vie quotidienne et conditions"}),e.jsx("p",{className:"text-xs text-primary font-medium mt-1 animate-fade-in",children:"Vous y êtes presque 🎯 Dernière ligne droite !"})]}),e.jsxs(le,{icon:"🏠",title:"Conditions de travail",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium",children:["Politique de télétravail ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:Pt.map(s=>e.jsxs("div",{className:`
6                inline-flex items-center rounded-lg border-2 px-4 py-2 cursor-pointer transition-all
7                ${t.remoteWork===s.value?"border-primary bg-primary/5":"border-muted hover:border-muted-foreground/50"}
8              `,onClick:()=>
8a("remoteWork",s.value),children:[e.jsx("span",{className:"text-sm font-medium",children:s.label}),t.remoteWork===s.value&&e.jsx(G,{size:16,className:"ml-2 -mr-1 text-primary"})]},s.value))}),r.remoteWork&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2",children:r.remoteWork})]}),t.remoteWork&&t.remoteWork!=="interdit"&&e.jsxs("div",{className:"ml-4 border-l-2 border-primary/20 pl-4",children:[e.jsx("label",{className:"text-sm font-medium",children:"Nombre de jours par semaine"}),e.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:$t.map(s=>e.jsxs("div",{className:`
9                  inline-flex items-center rounded-lg border-2 px-4 py-2 cursor-pointer transition-all
10                  ${t.remoteWorkDays===s.value?"border-primary bg-primary/5":"border-muted hover:border-muted-foreground/50"}
11                `,onClick:()=>a("remoteWorkDays",s.value),children:[e.jsx("span",{className:"text-sm font-medium",children:s.label}),t.remoteWorkDays===s.value&&e.jsx(G,{size:16,className:"ml-2 -mr-1 text-primary"})]},s.value))})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium",children:["Turnover ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:Ot.map(s=>e.jsxs("div",{className:`
12                inline-flex items-center rounded-lg border-2 px-4 py-2 cursor-pointer transition-all
13                ${t.turnover===s.value?"border-primary bg-primary/5":"border-muted hover:border-muted-foreground/50"}
14              `,onClick:()=>a("turnover",s.value),children:[e.jsx("span",{className:"text-sm font-medium",children:s.label}),t.turnover===s.value&&e.jsx(G,{size:16,className:"ml-2 -mr-1 text-primary"})]},s.value))})]})]}),e.jsxs(le,{icon:"💰",title:"Rémunération (optionnel mais précieux 🙏)",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium",children:t.role==="stagiaire"||t.role==="eleve-avocat"?"Gratification mensuelle brute (EUR)":t.role?.includes("collaborateur")?"Rétrocession annuelle HT (EUR)":"Salaire annuel brut (EUR)"}),e.jsx(B,{type:"number",min:0,max:t.role==="stagiaire"||t.role==="eleve-avocat"?1e4:5e5,step:1,placeholder:t.role==="stagiaire"||t.role==="eleve-avocat"?"Ex : 1500":"Ex : 65000",value:t.salaryAmount??"",onChange:s=>a("salaryAmount",s.target.value?parseInt(s.target.value):void 0),className:"mt-2 max-w-[200px]"}),r.salaryAmount&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2",children:r.salaryAmount})]}),(t.role?.includes("collaborateur")||t.role==="avocat-salarie")&&e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium",children:"Objectif d'heures facturables / an"}),e.jsx(B,{type:"number",min:0,max:4e3,step:1,placeholder:"Ex : 1800",value:t.billableHoursTarget??"",onChange:s=>a("billableHoursTarget",s.target.value?parseInt(s.target.value):void 0),className:"mt-2 max-w-[200px]"}),r.billableHoursTarget&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2",children:r.billableHoursTarget})]}),i&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium",children:["Pression facturation ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:qt.map(s=>e.jsxs("div",{className:`
15                    inline-flex items-center rounded-lg border-2 px-4 py-2 cursor-pointer transition-all
16                    ${t.billingPressure===s.value?"border-primary bg-primary/5":"border-muted hover:border-muted-foreground/50"}
17                  `,onClick:()=>a("billingPressure",s.value),children:[e.jsx("span",{className:"text-sm font-medium",children:s.label}),t.billingPressure===s.value&&e.jsx(G,{size:16,className:"ml-2 -mr-1 text-primary"})]},s.value))}),r.billingPressure&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2",children:r.billingPressure})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium",children:["Clientèle personnelle autorisée ? ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:Ut.map(s=>e.jsxs("div",{className:`
18                    inline-flex items-center rounded-lg border-2 px-4 py-2 cursor-pointer transition-all
19                    ${t.personalClients===s.value?"border-primary bg-primary/5":"border-muted hover:border-muted-foreground
19/50"}
20                  `,onClick:()=>a("personalClients",s.value),children:[e.jsx("span",{className:"text-sm font-medium",children:s.label}),t.personalClients===s.value&&e.jsx(G,{size:16,className:"ml-2 -mr-1 text-primary"})]},s.value))}),r.personalClients&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2",children:r.personalClients})]})]})]}),e.jsxs(le,{icon:"⚖️",title:"Équilibre vie pro / perso & avantages",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium block text-center",children:["Mise en place d'actions concrètes pour préserver l'équilibre vie pro / vie perso ? ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx(De,{value:t.workLifeBalanceActions,onChange:s=>a("workLifeBalanceActions",s),options:[{value:!0,label:"Oui",icon:Ae,color:"emerald"},{value:!1,label:"Non",icon:Ie,color:"red"}]}),r.workLifeBalanceActions&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2 text-center",children:r.workLifeBalanceActions})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium",children:["Avantages proposés ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1 mb-3",children:"Sélectionnez tous les avantages qui s'appliquent"}),e.jsx("div",{className:"flex flex-wrap gap-3",children:Wt.map(s=>{const f=(t.benefits||[]).includes(s.value);return e.jsxs("div",{className:`
21                  inline-flex items-center rounded-lg border-2 px-4 py-2 cursor-pointer transition-all
22                  ${f?"border-primary bg-primary/5":"border-muted hover:border-muted-foreground/50"}
23                `,onClick:()=>C(s.value),children:[e.jsx("span",{className:"text-sm font-medium",children:s.label}),f&&e.jsx(G,{size:16,className:"ml-2 -mr-1 text-primary"})]},s.value)})}),r.benefits&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2",children:r.benefits}),(t.benefits||[]).includes("autre")&&e.jsxs("div",{className:"mt-3 space-y-3",children:[(t.customBenefits||[]).length>0&&e.jsx("div",{className:"flex flex-wrap gap-2",children:t.customBenefits?.map((s,f)=>e.jsxs(yt,{variant:"secondary",className:"gap-1 pr-1 py-1",children:[s,e.jsx("button",{type:"button",onClick:()=>c(s),className:"ml-1 rounded-full hover:bg-muted-foreground/20 p-0.5",children:e.jsx(Ce,{size:14})})]},f))}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(B,{placeholder:"Tapez un avantage puis Entrée (ex: Café illimité)",value:m,onChange:s=>d(s.target.value),onKeyDown:s=>{s.key==="Enter"&&(s.preventDefault(),N())},className:"max-w-md",maxLength:50,disabled:!g}),e.jsx(E,{type:"button",variant:"outline",size:"sm",onClick:N,disabled:m.trim().length<2||!g,children:e.jsx(K,{size:16})})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:g?`Appuyez sur Entrée ou cliquez sur + pour ajouter (${5-(t.customBenefits||[]).length} restant(s))`:"Limite de 5 avantages personnalisés atteinte"})]}),r.customBenefits&&e.jsx("p",{className:"text-sm text-red-500 mt-1",children:r.customBenefits})]})]}),e.jsxs(le,{icon:"🎯",title:"Recrutement & recommandation",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("h5",{className:"text-sm font-medium text-muted-foreground",children:"Processus de recrutement (optionnel)"}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium",children:"Nombre d'entretiens"}),e.jsx(B,{type:"number",min:1,max:20,placeholder:"Ex: 3",value:t.recruitmentInterviewCount||"",onChange:s=>a("recruitmentInterviewCount",s.target.value?parseInt(s.target.value):void 0),className:"mt-2 max-w-[120px]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium",children:"Durée du processus"}),e.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:Gt.map(s=>e.jsxs("div",{className:`
24                  inline-flex items-center rounded-lg border-2 px-4 py-2 cursor-pointer transition-all
25                  ${t.recruitmentDuration===s.value?"border-primary bg-primary/5":"border-muted hover:border-muted-foreground/50"}
26                `,onClick:()=>
26a("recruitmentDuration",s.value),children:[e.jsx("span",{className:"text-sm font-medium",children:s.label}),t.recruitmentDuration===s.value&&e.jsx(G,{size:16,className:"ml-2 -mr-1 text-primary"})]},s.value))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium",children:"Évaluation du processus"}),e.jsx("div",{className:"mt-2",children:u(t.recruitmentRating,s=>a("recruitmentRating",s))})]})]}),e.jsxs("div",{className:"pt-4 border-t border-border/40",children:[e.jsxs("label",{className:"text-sm font-medium block text-center",children:["Recommanderiez-vous ",w==="cabinet"?"ce cabinet":`cette ${w}`," ? ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx(De,{value:t.wouldRecommend,onChange:s=>a("wouldRecommend",s),options:[{value:"oui",label:"Oui",icon:Ae,color:"emerald"},{value:"non",label:"Non",icon:Ie,color:"red"}]}),r.wouldRecommend&&e.jsx("p",{className:"text-sm text-red-500 mb-2 mt-2 text-center",children:r.wouldRecommend})]})]})]})}const ie=["Paris","Marseille","Lyon","Toulouse","Nice","Nantes","Montpellier","Strasbourg","Bordeaux","Lille","Agen","Aix-en-Provence","Ajaccio","Albertville","Albi","Alençon","Alès","Amiens","Angers","Angoulême","Annecy","Antony","Arras","Auch","Aurillac","Auxerre","Avesnes-sur-Helpe","Avignon","Bagnolet","Bar-le-Duc","Bastia","Bayonne","Beauvais","Belfort","Bergerac-Sarlat","Besançon","Blois","Bobigny","Bonneville","Boulogne-sur-Mer","Bourges","Bourgoin-Jallieu","Brest","Briey","Brive","Béthune","Béziers","Caen","Cahors","Cambrai","Carcassonne","Carpentras","Castres","Cayenne","Chalon-sur-Saône","Chambéry","Charleville-Mézières","Chartres","Chaumont","Chessy","Cherbourg","Châlons-en-Champagne","Châteauroux","Clermont-Ferrand","Colmar","Compiègne","Corbeil‑Essonnes","Courbevoie","Coutances-Avranches","Créteil","Cusset","Dax","Dieppe","Digne-les-Bains","Dijon","Douai","Draguignan","Dunkerque","Épinal","Évreux","Évry","Foix","Fontainebleau","Fort-de-France","Gap","Grasse","Grenoble","Guéret","La Roche-sur-Yon","La Rochelle","Laon","La Défense","Laval","Le Havre","Le Mans","Le Puy-en-Velay","Les Sables-d'Olonne","Libourne","Limoges","Lisieux","Lons-le-Saunier","Lorient","Luxembourg","Mamoudzou","Marquette-lez-Lille","Meaux","Melun","Mende","Metz","Mont-de-Marsan","Montargis","Montbéliard","Montigny‑le‑Bretonneux","Montluçon","Monrouge","Moulins","Mulhouse","Mâcon","Nancy","Nanterre","Narbonne","Noisy-le-Grand","Neuilly s/ Seine","Nevers","Niort","Nouméa","Nîmes","Orléans","Papeete","Pau","Périgueux","Perpignan","Pointe-à-Pitre","Poitiers","Pontoise","Privas","Roissy-en-France","Rueil-Malamison","Puteaux","Quimper","Reims","Rennes","Roanne","Rodez","Rouen","Saint-Brieuc","Saint-Gaudens","Saint-Malo","Saint-Nazaire","Saint-Omer","Saint-Pierre","Saint-Quentin","Saint-Étienne","Saintes","Sarreguemines","Saumur","Saverne","Senlis","Sens","Soissons","Suresnes","Tarascon","Tarbes","Tarn-et-Garonne","Thionville","Thonon-les-Bains","Torcy","Toulon","Tours","Troyes","Tulle-Ussel","Valbonne","Valenciennes","Vannes","Versailles","Vesoul","Vienne","Vincennes","Villefranche-sur-Saône"];function Kt({review:t,updateReview:a,errors:r,firmCities:x=[]}){const[m,d]=n.useState(!1),[i,y]=n.useState(""),[w,C]=n.useState({}),N=s=>C(f=>f[s]?f:{...f,[s]:!0}),c=s=>!!r[s]||w[s]&&r[s],g=n.useMemo(()=>Array.from(new Set(x.filter(s=>s&&s.trim()))).slice(0,6),[x]),u=t.newsletter;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"experienceSummary",className:"text-sm font-medium",children:["Résumez votre expérience ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Mettez l'accent sur les aspects positifs et les opportunités d'amélioration. Quelques phrases suffisent — 100 caractères minimum."}),e.jsx(Ue,{id:"experienceSummary",name:"experienceSummary",placeholder:"Merci de partager votre avis en respectant les règles de courtoisie et la loi. Évitez toute accusation nominative ou propos diffamatoire : privilégiez un retour factuel et constructif, utile à la communauté et aux recruteurs juridiques, leur permettant de s'améliorer.",className:`min-h-[150px] placeholder:text-sm ${c("experienceSummary")?"border-red-500":""}`,value:t.experienceSummary,onChange:s=>a("experienceSummary",s.target.value),onBlur:()=>N("experienceSummary")}
26),e.jsxs("p",{className:"text-sm text-muted-foreground flex items-center",children:[e.jsx(Ve,{className:"inline h-4 w-4 min-w-4 mr-1"}),"Les propos diffamatoires seront modérés."]}),c("experienceSummary")&&e.jsx("p",{className:"text-sm text-red-500",children:r.experienceSummary})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"city",className:"text-sm font-medium",children:["Ville de l'expérience ",e.jsx("span",{className:"text-primary",children:"*"})]}),g.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-2 mb-1",children:[e.jsxs("span",{className:"text-xs text-muted-foreground inline-flex items-center gap-1",children:[e.jsx(ut,{className:"h-3.5 w-3.5"})," Villes connues de ce cabinet :"]}),g.map(s=>{const f=t.city===s;return e.jsx("button",{type:"button",onClick:()=>{a("city",s),N("city")},className:`text-xs rounded-full border px-3 py-1 transition-colors ${f?"border-primary bg-primary text-primary-foreground":"border-border bg-background hover:border-primary hover:text-primary"}`,children:s},s)})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(Q,{searchable:!0,value:t.city||"",onValueChange:s=>{s&&(a("city",s),N("city"))},children:[e.jsx(X,{id:"city",className:`${c("city")?"border-red-500":""} cursor-pointer w-full`,children:e.jsx(Z,{placeholder:"Sélectionnez une ville",children:t.city||"Sélectionnez une ville"})}),e.jsxs(ee,{className:"w-[200px] max-h-[300px]",children:[i.trim()!==""&&!ie.includes(i)?e.jsx(Y,{value:i,className:"w-[192px] px-1",children:i}):t.city.trim()!==""&&!ie.includes(t.city)?e.jsx(Y,{value:t.city,className:"w-[192px] px-1",children:t.city}):null,ie.map((s,f)=>e.jsx(Y,{value:s,className:"w-[192px] px-1",children:s},f))]})]}),e.jsxs(fe,{open:m,onOpenChange:d,children:[e.jsx(ge,{asChild:!0,children:e.jsx(E,{type:"button",variant:"outline",size:"icon",className:"shrink-0",children:e.jsx(K,{className:"h-4 w-4"})})}),e.jsxs(be,{className:"bg-white",children:[e.jsxs(je,{children:[e.jsx(ve,{children:"Ajouter une nouvelle ville"}),e.jsx(Ne,{children:"Si votre ville n'est pas dans la liste, vous pouvez l'ajouter manuellement."})]}),e.jsx("div",{className:"py-4",children:e.jsx(B,{placeholder:"Nom de la ville",value:i,onChange:s=>y(s.target.value)})}),e.jsxs(ye,{children:[e.jsx(E,{type:"button",variant:"outline",onClick:()=>d(!1),children:"Annuler"}),e.jsx(E,{type:"button",onClick:()=>{const s=i.trim();if(!s){I({title:"Erreur",description:"Veuillez entrer un nom de ville.",variant:"error"});return}const f=s.toLowerCase();if(ie.some(S=>S.toLowerCase()===f)){I({title:"Erreur",description:"Cette ville existe déjà dans la liste.",variant:"error"});return}a("city",s),N("city"),d(!1),y(""),I({title:"Succès",description:"Ville ajoutée avec succès.",variant:"success"})},children:"Ajouter"})]})]})]})]}),c("city")&&e.jsx("p",{className:"text-sm text-red-500",children:r.city})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"startYear",className:"text-sm font-medium",children:["Année de début d'expérience ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"À partir de 2010 : nous ne publions que des expériences récentes, pour refléter la réalité actuelle de la structure."}),e.jsx(B,{id:"startYear",type:"number",placeholder:"Ex: 2018",value:t.startYear,onChange:s=>a("startYear",s.target.value),onBlur:()=>N("startYear"),className:`${c("startYear")?"border-red-500":""} placeholder:text-sm cursor-pointer`}),c("startYear")&&e.jsx("p",{className:"text-sm text-red-500",children:r.startYear})]}),e.jsxs("div",{className:"flex flex-row items-start gap-3 rounded-lg border border-border bg-muted/30 p-3",children:[e.jsx(St,{id:"newsletter",name:"newsletter",className:"cursor-pointer mt-1",checked:t.newsletter,onCheckedChange:s=>a("newsletter",s===!0)}),e.jsxs("div",{className:"leading-none",children:[e.jsx("label",{htmlFor:"newsletter",className:"text-sm font-medium cursor-pointer",children:"S'inscrire à la newsletter (optionnel)"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Recevez les nouveautés du marché juridique. Cochez pour ajouter votre email — votre avis reste anonyme dans tous les cas."})]})]}),u&&e.jsxs("div",{className:"space-y-2 animate-fade-in",children:[e.jsxs("label",{htmlFor:"email",className:"text-sm font-medium",children:["Votre email ",e.jsx("span",{className:"text-primary",children:"*"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Confidentiel : utilisé uniquement pour la newsletter. Votre avis reste 100 % anonyme."}),e.jsx(B,{id:"email",name:"email",autoComplete:"email",placeholder:"[email protected]",className:`${c("email")?"border-red-500":""} placeholder:text-sm`,value:t.email,onChange:s=>a("email",s.target.value),onBlur:()=>N("email")}),c("email")&&e.jsx("p",{className:"text-sm text-red-500",children:r.email})]}),e.jsxs("p",{className:"text-xs text-muted-foreground text-center pt-4 border-t",children:["En soumettant ce formulaire, vous confirmez avoir lu et accepté nos"," ",e.jsx(_e,{to:"/conditions",className:"text-primary hover:underline",children:"Conditions Générales d'Utilisation"})," ","et notre"," ",e.jsx(_e,{to:"/politique-confidentialite",className:"text-primary hover:underline",children:"Politique de confidentialité"}),"."]})]})}const Le="vote_funnel_session_id",me="vote_funnel_sent_events";function Ht(){let t=sessionStorage.getItem(Le);return t||(t=`${Date.now()}-${Math.random().toString(36).slice(2,10)}`,sessionStorage.setItem(Le,t),sessionStorage.setItem(me,"[]")),t}function Qt(t){try{return JSON.parse(sessionStorage.getItem(me)||"[]").includes(t)}catch{return!1}}function Xt(t){try{const a=JSON.parse(sessionStorage.getItem(me)||"[]");a.push(t),sessionStorage.setItem(me,JSON.stringify(a))}catch{}}async function M(t,a,r){if(typeof window>"u"||Qt(t))return;const x=Ht();Xt(t);try{await xe.from("vote_funnel_events").insert([{session_id:x,event_name:t,step_number:a??null,metadata:r??{}}])}catch(m){console.warn("[funnel] tracking failed",m)}}const R={PAGE_VIEW:"vote_page_view",STEP_1_VIEW:"vote_step_1_view",STEP_2_VIEW:"vote_step_2_view",STEP_3_VIEW:"vote_step_3_view",STEP_4_VIEW:"vote_step_4_view",FIRM_SELECTED:"vote_firm_selected",ROLE_SELECTED:"vote_role_selected",STEP_1_NEXT_INVALID:"vote_step_1_next_click_invali
26d",ADD_FIRM_CLICKED:"vote_add_firm_clicked",SUBMIT_ATTEMPT:"vote_submit_attempt",SUBMIT_SUCCESS:"vote_submit_success",SUBMIT_ERROR:"vote_submit_error"};function Zt({selectedFirmId:t,onSelect:a,onSkip:r}){const[x,m]=n.useState([]),[d,i]=n.useState(!0),[y,w]=n.useState("");n.useEffect(()=>{tt().then(u=>{u.success&&m(u.data),i(!1)})},[]);const C=n.useMemo(()=>[...x].filter(u=>u.reviewCount>=We).sort((u,s)=>s.reviewCount-u.reviewCount).slice(0,6),[x]),N=n.useMemo(()=>{if(!y.trim())return[];const u=y.toLowerCase();return x.filter(s=>s.name.toLowerCase().includes(u)).slice(0,8)},[x,y]),c=u=>{a(u),setTimeout(()=>{const s=document.getElementById("vote-form-card");s&&s.scrollIntoView({behavior:"smooth",block:"start"})},100)},g=y.trim()?N:C;return e.jsxs(he,{className:"relative z-10 w-full max-w-3xl mx-auto p-5 md:p-6 mb-6",children:[e.jsxs("div",{className:"text-center mb-4",children:[e.jsx("h2",{className:"text-lg md:text-xl font-semibold text-foreground",children:"Pour quel cabinet souhaitez-vous laisser un avis ?"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Sélectionnez un cabinet ci-dessous pour démarrer."})]}),e.jsxs("div",{className:"relative mb-4",children:[e.jsx(xt,{className:"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(B,{placeholder:"Rechercher votre cabinet...",className:"pl-9",value:y,onChange:u=>w(u.target.value)})]}),!y.trim()&&e.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-medium mb-3",children:"Les 6 cabinets les plus notés"}),d?e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:[...Array(6)].map((u,s)=>e.jsx("div",{className:"h-24 rounded-lg bg-muted animate-pulse"},s))}):g.length===0?e.jsx("p",{className:"text-sm text-muted-foreground text-center py-6",children:"Aucun cabinet trouvé. Vous pouvez l'ajouter dans le formulaire ci-dessous."}):e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:g.map(u=>{const s=u.id===t,f=u._employerScore??u.note;return e.jsxs("button",{type:"button",onClick:()=>c(u.id),className:ue("group relative flex flex-col items-center gap-2 p-3 rounded-lg border-2 transition-all text-left","hover:border-primary hover:shadow-md hover:-translate-y-0.5",s?"border-primary bg-primary/5 shadow-md":"border-border bg-background"),children:[e.jsx("div",{className:"w-14 h-14 rounded-md flex items-center justify-center overflow-hidden bg-white border border-border shrink-0","aria-hidden":"true",children:u.logoUrl?e.jsx("img",{src:u.logoUrl,alt:`Logo ${u.name}`,className:"w-full h-full object-contain p-1",loading:"lazy"}):e.jsx("div",{className:"w-full h-full flex items-center justify-center text-white font-bold text-sm",style:{background:wt(u.name)},children:Et(u.name)})}),e.jsxs("div",{className:"w-full text-center",children:[e.jsx("p",{className:"text-sm font-medium text-foreground line-clamp-2 leading-tight",children:u.name}),e.jsxs("div",{className:"flex items-center justify-center gap-1 mt-1",children:[e.jsx(Ee,{className:"h-3 w-3 fill-primary text-primary"}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[f.toFixed(1)," · ",u.reviewCount," avis"]})]})]})]},u.id)})}),e.jsx("div",{className:"mt-5 pt-4 border-t text-center",children:e.jsxs("button",{type:"button",onClick:r,className:"text-sm text-muted-foreground hover:text-primary transition-colors inline-flex items-center gap-1",children:["Ajouter mon cabinet",e.jsx(K,{className:"h-3.5 w-3.5"})]})})]})}function bs(){const t=Be(),[a]=Oe(),r=a.get("redirect"),x=a.get("firmId")||"",{user:m}=Ge(),[d,i]=n.useState(!1),[y,w]=n.useState(!1),[C,N]=n.useState(),[c,g]=n.useState(1),[u,s]=n.useState({}),{count:f}=Me(),[j,S]=n.useState(null),[D,V]=n.useState(0),[o,p]=n.useState([]),[l,P]=n.useState({role:void 0,cabinet:x,department:void 0,city:"",startYear:"",cultureRating:0,compensationRating:0,prideRating:0,wellbeingRating:0,managementRating:0,atmosphereRating:0,workLifeBalanceRating:0,trainingRating:0,remoteWork:void 0,remoteWorkDays:void 0,turnover:void 0,salaryAmount:void 0,billableHoursTarget:void 0,billingPressure:void 0,personalClients:void 0,workLifeBalanceActions:void 0,benefits:[],recruitmentInterviewCount:void 0,recruitmentDuration:void 0,recruitmentRating:void 0,wouldRecommend:void 0,experienceSummary:"",email:"",newsletter:!1}),$=4;n.useEffect(()=>{Se().then(b=>{b.success&&p(b.data)})},[]);const J=n.useMemo(()=>o.find(b=>b.id===l.cabinet),[o,l.cabinet])?.structure_type||"law_firm",[H,v]=n.useState([]);n.useEffect(()=>{if(!l.cabinet){v([]);return}let b=!1;return(async()=>{const{data:k}=await xe.from("firm").select("cities").eq("id",l.cabinet).maybeSingle(),{data:F}=await xe.from("public_reviews").select("city").eq("id_firm",l.cabinet).not("city","is",null).limit(500);if(b)return;const O=new Set;
26(k?.cities||[]).forEach(A=>A&&O.add(A.trim())),(F||[]).forEach(A=>A.city&&O.add(String(A.city).trim())),v(Array.from(O))})(),()=>{b=!0}},[l.cabinet]),n.useEffect(()=>{M(R.PAGE_VIEW),M(R.STEP_1_VIEW,1)},[]),n.useEffect(()=>{window.scrollTo({top:0,behavior:"smooth"}),s({}),S(null);const b={1:R.STEP_1_VIEW,2:R.STEP_2_VIEW,3:R.STEP_3_VIEW,4:R.STEP_4_VIEW};b[c]&&M(b[c],c)},[c]);const U=(b,k)=>{P(F=>({...F,[b]:k})),u[b]&&s(F=>{const O={...F};return delete O[b],O}),b==="cabinet"&&k?M(R.FIRM_SELECTED,1):b==="role"&&k&&M(R.ROLE_SELECTED,1)},ae=b=>{const k=$e(J,l.role),O={1:l.role==="fonction-support"?["role","cabinet"]:["role","cabinet","department"],2:["cultureRating","compensationRating","prideRating","wellbeingRating","managementRating","atmosphereRating","workLifeBalanceRating","trainingRating"],3:k?["remoteWork","turnover","billingPressure","personalClients","workLifeBalanceActions","benefits"]:["remoteWork","turnover","workLifeBalanceActions","benefits"],4:l.newsletter?["experienceSummary","email","city","startYear"]:["experienceSummary","city","startYear"]}[b],A={};let L=!0;return O.forEach(_=>{if(_==="startYear"){const re=Number.parseInt(l[_]);isNaN(re)||re>new Date().getFullYear()?(A[_]="Veuillez entrer une année valide",L=!1):re<2010&&(A[_]="Nous ne recueillons que les expériences débutées depuis 2010, pour refléter la réalité actuelle des structures.",L=!1)}else _==="email"?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(l[_])||(A[_]="Veuillez entrer une adresse email valide",L=!1):_==="experienceSummary"&&l[_].length<100?(A[_]="Votre avis doit contenir au moins 100 caractères",L=!1):_==="benefits"?((!l.benefits||l.benefits.length===0)&&(A[_]="Veuillez sélectionner au moins un avantage",L=!1),l.benefits?.includes("autre")&&(!l.customBenefits||l.customBenefits.length===0)&&(A.customBenefits="Veuillez ajouter au moins un avantage personnalisé",L=!1)):_==="workLifeBalanceActions"?l.workLifeBalanceActions===void 0&&(A[_]="Ce champ est requis",L=!1):_!=="newsletter"&&(!l[_]||typeof l[_]=="string"&&l[_].trim()==="")&&(A[_]="Ce champ est requis",L=!1)}),s(A),L},h=()=>{if(ae(c))c<$&&g(c+1);else if(c===1){try{const k=JSON.parse(sessionStorage.getItem("vote_funnel_sent_events")||"[]").filter(F=>F!==R.STEP_1_NEXT_INVALID);sessionStorage.setItem("vote_funnel_sent_events",JSON.stringify(k))}catch{}M(R.STEP_1_NEXT_INVALID,1,{has_cabinet:!!l.cabinet,has_role:!!l.role,has_department:!!l.department})}},z=()=>{c>1&&g(c-1)},T=async b=>{if(b.preventDefault(),S(null),M(R.SUBMIT_ATTEMPT,4),console.log("🚀 Soumission du formulaire déclenchée"),console.log("📝 Review:",l),console.log("✅ canSubmitReview:",ke()),!ke()){console.log("❌ Limite de soumissions atteinte");const k="Vous avez atteint la limite de 3 avis. Merci pour vos contributions !";S(k),I({title:"Limite atteinte",description:k,variant:"error"});return}if(ae(c)){console.log("✅ Validation réussie pour l'étape",c),i(!0);try{const k=JSON.parse(localStorage.getItem("submittedElementIds")||"[]"),F=l.cabinet+l.department;if(k.filter(_=>_===F).length>=ze){const _=`Vous avez atteint la limite de ${ze} soumission(s) pour ce ${l.department&&l.department!=="none"?"département":"cabinet"}.`;throw S(_),new Error(_)}const A=l.email&&l.email.trim()?l:{...l,email:`anonyme+${crypto.randomUUID()}@barreau-metre.fr`},L=await st(A);if(L.success)Ke(),k.push(F),localStorage.setItem("submittedElementIds",JSON.stringify(k)),N(L.reviewId),w(!0),M(R.SUBMIT_SUCCESS,4);else throw S(L.error||"Une erreur s'est produite"),M(R.SUBMIT_ERROR,4,{error:L.error}),new Error(L.error)}catch(k){const F=k instanceof Error?k.message:"Une erreur inattendue s'est produite.";S(F),I({title:"Erreur",description:F,variant:"error"})}finally{i(!1)}}else console.log("❌ Validation échouée:",u),S("Certains champs sont incomplets : corrigez les zones en rouge ci-dessus (avis ≥ 100 caractères, ville, année de début depuis 2010).")},de={"@context":"https://schema.org","@type":"CollectionPage",name:"Noter mon cabinet | Barreau-mètre",description:"Partagez anonymement votre expérience en cabinet d'avocats et aidez les futurs talents à faire le bon choix.",url:`https://${te}/vote`};return e.jsxs(e.Fragment,{children:[e.jsx(Ct,{title:"Déposer un Avis Anonyme sur Votre Cabinet d'Avocats",description:"Notez anonymement votre expérience en cabinet d'avocats : stage, collaboration, vie professionnelle. Aidez les futurs talents à faire le bon choix et améliorez le secteur juridique.",keywords:"avis cabinet avocat, noter cabinet avocat, témoignage stage avocat, avis collaborateur avocat, expérience cabinet juridique",canonical:`https://${te}/vote`,breadcrumbs:[{name:"Accueil",url:`https://${te}`},{name:"Déposer un avis",url:`https://${te}/vote`}],structuredData:de}),y&&e.jsx(Tt,{onContinue:()=>{if(m)t(r||"/classement?share=true");else{const b=r?`/inscription-candidat?redirect=${encodeURIComponent(r)}`:"/inscription-candidat?redirect=/classement";t(b)}},reviewId:C,reviewFirmId:l.cabinet,reviewRole:l.role}),e.jsxs("div",{className:"relative pt-1 md:pt-6 pb-40 px-2 overflow-hidden",children:[e.jsx("div",{className:"absolute z-0 -top-30 inset-0 h-[800px] bg-[radial-gradient(ellipse_at_center,_var(--primary)_0%,rgba(251,191,36,0)_70%)] opacity-20"}),e.jsx("h1",{className:"sr-only",children:"Noter mon cabinet - Formulaire d'évaluation anonyme"}),!x&&e.jsx(Zt,{selectedFirmId:l.cabinet,onSelect:b=>U("cabinet",b),onSkip:()=>{M(R.ADD_FIRM_CLICKED),V(b=>b+1),setTimeout(()=>{const b=document.getElementById("vote-form-card");b&&b.scrollIntoView({behavior:"smooth",block:"start"})},50)}}),e.jsxs(he,{id:"vote-form-card",className:"relative z-10 w-full max-w-3xl mx-auto",children:[e.jsxs(Fe,{className:"space-y-2 py-3",children:[e.jsxs(Ye,{className:"text-center text-xs",children:["Étape ",c," sur ",$]}),e.jsx("div",{className:"w-full bg-gray-200 h-1.5 rounded-full",children:e.jsx("div",{className:"bg-primary h-1.5 rounded-full transition-all duration-300 ease-in-out",style:{width:`${c/$*100}%`}})})]}),e.jsxs("form",{onSubmit:T,onKeyDown:b=>{const k=b.target;b.key==="Enter"&&c<$&&k.tagName!=="TEXTAREA"&&b.preventDefault()},children:[e.jsxs(Re,{children:[c===1&&e.jsx(Rt,{review:l,updateReview:U,errors:u,triggerAddFirm:D}),c===2&&e.jsx(Mt,{review:l,updateReview:U,errors:u,structureType:J}),c===3&&e.jsx(Jt,{review:l,updateReview:U,errors:u,structureType:J}),c===4&&e.jsx(Kt,{review:l,updateReview:U,errors:u,firmCities:H})]}),e.jsxs(Je,{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex justify-between w-full",children:[c>1?e.jsxs(E,{type:"button",variant:"outline",onClick:z,disabled:c===1,children:[e.jsx(pt,{className:"mr-2 h-4 w-4"})," Précédent"]}):e.jsx("div",{}),c<$?e.jsxs(E,{type:"button",onClick:h,children:["Suivant ",e.jsx(ht,{className:"ml-2 h-4 w-4"})]}):e.jsxs(E,{type:"submit",disabled:d,children:[d?e.jsx(oe,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(ft,{className:"mr-2 h-4 w-4"}),"Soumettre"]})]}),j&&e.jsx("p",{className:"text-sm text-destructive w-full text-center",children:j})]})]})]}),e.jsxs("section",{className:"relative z-10 w-full max-w-3xl mx-auto mt-6 text-center space-y-2",children:[e.jsx("h2",{className:"text-base md:text-lg font-semibold tracking-tight",children:"Construisons un droit plus humain ✨"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Votre témoignage anonyme aide des milliers de candidats à choisir leur cabinet en toute transparence."}),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-1.5 text-xs pt-1",children:[e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-primary/10 px-2 py-0.5 font-medium text-primary",children:[e.jsx(gt,{className:"h-3 w-3"}
26),f.toLocaleString("fr-FR"),"+ contributions"]}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-500/10 px-2 py-0.5 font-medium text-emerald-700",children:[e.jsx(bt,{className:"h-3 w-3"}),"100 % anonyme"]}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-500/10 px-2 py-0.5 font-medium text-amber-700",children:[e.jsx(jt,{className:"h-3 w-3"}),"~3 min"]})]})]})]})]})}export{bs 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.