1import{e as z,a as I,b as R,r as i,c as $,g as h,j as e,L as l}from"./index-DlPgDPMS.js";const r={introuvable:"Ce lien dâinvitation nâest pas valide.",deja_traitee:"Cette invitation a déjà été traitée.",expiree:"Cette invitation a expiré. Demandez à lâétablissement de vous en envoyer une nouvelle.",annulee:"Cette invitation a été annulée par lâétablissement.",adresse_differente:"Cette invitation est nominative : elle ne peut être acceptée que depuis lâadresse à laquelle elle a été envoyée."};function V(){const[C]=z(),N=I(),{session:o,loading:d}=R(),a=C.get("token")??"",[t,k]=i.useState(null),[_,x]=i.useState(!0),[p,j]=i.useState(!1),[b,v]=i.useState(null),[c,S]=i.useState(null);$({title:"Invitation à rejoindre une équipe",noindex:!0});const f=i.useCallback(async()=>{if(!a){x(!1);return}const{data:s,error:m}=await h.rpc("equipe_invitation_apercu",{p_token:a});k(m?{trouvee:!1}:s),x(!1)},[a]);i.useEffect(()=>{d||f()},[f,d,o==null?void 0:o.user.id]);async function g(s){j(!0),v(null);const{data:m,error:y}=await h.rpc(s?"equipe_accepter_invitation":"equipe_refuser_invitation",{p_token:a});if(j(!1),y){v("Le serveur nâa pas répondu. Réessayez dans un instant.");return}const n=m;if(!(n!=null&&n.ok)){v(r[(n==null?void 0:n.motif)??"introuvable"]??r.introuvable);return}S(s?"acceptee":"refusee"),s&&n.etablissement&&setTimeout(()=>N(`/pro?etab=${n.etablissement}`),2200)}const u=({children:s})=>e.jsx("div",{className:"tm-invit-page",children:e.jsxs("div",{className:"tm-invit-card",children:[e.jsxs("div",{className:"tm-invit-logo",children:[e.jsx("img",{src:"/assets/img/img-e51fa191567d.png",alt:""}),e.jsxs("div",{children:[e.jsx("b",{children:"Coeur2Ville"}),e.jsx("span",{children:"Invitation dâéquipe"})]})]}),s]})});if(_||d)return e.jsxs(u,{children:[e.jsx("h1",{children:"Vérification de lâinvitationâ¦"}),e.jsx("div",{className:"adm-boot-bar",children:e.jsx("i",{})})]});if(!(t!=null&&t.trouvee))return e.jsxs(u,{children:[e.jsx("h1",{children:"Invitation indisponible"}),e.jsx("p",{children:r.introuvable}),e.jsx(l,{className:"btn btn-ghost",to:"/",children:"Retour à lâaccueil"})]});if(c)return e.jsxs(u,{children:[e.jsx("h1",{children:c==="acceptee"?"Bienvenue dans lâéquipe":"Invitation déclinée"}),e.jsx("p",{children:c==="acceptee"?`Vous faites désormais partie de lâéquipe de ${t.etablissement}, avec le rôle « ${t.role} ». On vous y emmèneâ¦`:"Câest noté : personne ne sera prévenu autrement que par la disparition de la ligne. Vous pouvez fermer cette page."}),c==="refusee"&&e.jsx(l,{className:"btn btn-ghost",to:"/",children:"Retour à lâaccueil"})]});const q=t.expiree||t.statut!=="envoyee";return e.jsxs(u,{children:[e.jsx("h1",{children:q?"Invitation indisponible":`Rejoindre ${t.etablissement} ?`}),q?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:t.expiree?r.expiree:r.deja_traitee}),e.jsx(l,{className:"btn btn-ghost",to:"/",children:"Retour à lâaccueil"})]}):o?t.pour_moi?e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:[e.jsx("b",{children:t.etablissement})," vous propose de rejoindre son équipe avec le rôle « ",e.jsx("b",{children:t.role})," ». Vous pourrez quitter lâéquipe à tout moment, et lâétablissement pourra vous retirer lâaccès."]}),e.jsxs("div",{className:"cs-actions",children:[e.jsx("button",{className:"btn btn-accent",disabled:p,onClick:()=>g(!0),children:p?"Un instantâ¦":"Accepter lâinvitation"}),e.jsx("button",{className:"mod-lnk",disabled:p,onClick:()=>g(!1),children:"Décliner"})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:r.adresse_differente}),e.jsxs("p",{className:"c2v-muted",children:["Vous êtes connecté(e) avec ",e.jsx("b",{children:o.user.email}),". Déconnectez-vous, puis reprenez ce lien depuis la boîte où lâinvitation est arrivée."]}),e.jsx("button",{className:"btn btn-ghost",onClick:()=>h.auth.signOut(),children:"Se déconnecter"})]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:[e.jsx("b",{children:t.etablissement})," vous propose de rejoindre son équipe avec le rôle « ",e.jsx("b",{children:t.role})," ». Connectez-vous â ou créez votre compte â avec lâadresse à laquelle vous avez reçu cette invitation."]}),e.jsxs("div",{className:"cs-actions",children:[e.jsx(l,{className:"btn btn-accent",to:`/connexion?redirect=${encodeURIComponent(`/invitation-equipe?token=${a}`)}`,children:"Se connecter"}),e.jsx(l,{className:"mod-lnk",to:`/inscription?redirect=${encodeURIComponent(`/invitation-equipe?token=${a}`)}`,children:"Créer mon compte"})]})]}),b&&e.jsx("p",{className:"cs-err",children:b})]})}
1export{V 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.