PageSourceSearch

https://app.contentpulse.io/assets/AcceptInvitationPage-Da56J4Be.js

js contentpulse.io collected 2026-10-02 00:37:00 UTC 5,875 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-query-BwGqmGsL.js";import{c as Y,d as Z,u as ee,r as n,L as f}from"./vendor-react-B1KKw-FF.js";import{u as te,B as ae,L as se,G as ie,g as m,d as j,l as x,b as u,F as _,P as F,e as ne}from"./index-D3EnJqUf.js";import{u as re,a as oe,b as le}from"./useTeam-DVS0DdGg.js";import{u as ce,C as de}from"./useConfirm-eGiDFI6D.js";import{u as me}from"./vendor-i18n-Co_UukXd.js";import"./vendor-axios-DEWho_Gc.js";function je(){const{t}=me("auth"),b=Y(),[I]=Z(),o=I.get("token")??"",w=ee(),{user:v,isAuthenticated:N,isLoading:B,registerViaInvitation:D,refreshUser:T}=te(),{data:h,isLoading:$,isError:q,error:G}=re(o),y=oe(),p=le(),{confirm:M,dialogProps:R}=ce(),[k,z]=n.useState(""),[C,J]=n.useState(""),[L,O]=n.useState(""),[P,A]=n.useState({}),[d,r]=n.useState(""),[U,S]=n.useState(!1),[V,H]=n.useState(!1),a=h==null?void 0:h.data,K=async s=>{if(s.preventDefault(),!!a){r(""),A({}),S(!0);try{await D({name:k.trim(),email:a.email,password:C,password_confirmation:L,invitation_token:o}),b("/",{replace:!0})}catch(i){const l=ne(i);Object.keys(l).length?A(l):r(m(i,t("invitation.errors.register")))}finally{S(!1)}}},Q=async()=>{r("");try{await y.mutateAsync(o),await T(),b("/",{replace:!0})}catch(s){r(m(s,t("invitation.errors.accept")))}},W=async()=>{if(!(!a||!await M({title:t("invitation.declineTitle"),message:t("invitation.declineConfirm",{tenant:a.tenant_name}),confirmLabel:t("invitation.decline"),cancelLabel:t("invitation.declineCancel"),variant:"danger"}))){r("");try{await p.mutateAsync(o),H(!0)}catch(i){r(m(i,t("invitation.errors.decline")))}}},g=e.jsx("button",{type:"button",onClick:W,disabled:p.isPending,className:"w-full text-center text-sm text-slate-500 dark:text-slate-400 hover:text-rose-500 dark:hover:text-rose-400 transition-colors disabled:opacity-50",children:p.isPending?t("invitation.declining"):t("invitation.decline")}),X=()=>{var i,l,E;if(!o)return e.jsx("p",{className:"text-sm text-rose-500 dark:text-rose-400",children:t("invitation.invalid")});if(V)return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:t("invitation.declined")}),e.jsx(f,{to:"/login",className:"text-sm text-violet-500 dark:text-violet-400 hover:underline",children:t("invitation.goToLogin")})]});if($||B)return e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx("div",{className:"h-6 w-6 animate-spin rounded-full border-2 border-violet-500 border-t-transparent"})});if(q||!a)return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-rose-500 dark:text-rose-400",children:m(G,t("invitation.invalid"))}),e.jsx(f,{to:"/login",className:"text-sm text-violet-500 dark:text-violet-400 hover:underline",children:t("invitation.goToLogin")})]});const s=e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:t("invitation.intro",{tenant:a.tenant_name,role:t(`invitation.roles.${a.role}`),email:a.email})});return N&&((i=v==null?void 0:v.email)==null?void 0:i.toLowerCase())===a.email.toLowerCase()?e.jsxs("div",{className:"space-y-4",children:[s,d&&e.jsx("div",{className:"rounded-lg bg-rose-500/10 border border-rose-500/20 px-4 py-3 text-sm text-rose-500 dark:text-rose-400",children:d}),e.jsx(j,{type:"button",loading:y.isPending,onClick:Q,className:"w-full",children:t("invitation.accept",{tenant:a.tenant_name})}),g]}):N?e.jsxs("div",{className:"space-y-4",children:[s,e.jsx("p",{className:"text-sm text-amber-600 dark:text-amber-400",children:t("invitation.wrongAccount",{email:a.email})})]}):a.user_exists?e.jsxs("div",{className:"space-y-4",children:[s,e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:t("invitation.loginToAccept")}),e.jsx(f,{to:"/login",state:{from:`${w.pathname}${w.search}`},children:e.jsx(j,{type:"button",className:"w-full",children:t("invitation.signIn")})}),g]}):e.jsxs("form",{onSubmit:K,className:"space-y-4",children:[s,d&&e.jsx("div",{className:"rounded-lg bg-rose-500/10 border border-rose-500/20 px-4 py-3 text-sm text-rose-500 dark:text-rose-400",children:d}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"email",className:x,children:t("invitation.email")}),e.jsx("input",{id:"email",type:"email",value:a.email,disabled:!0,className:`${u} opacity-60`})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"name",className:x,children:t("invitation.name")}
1),e.jsx("input",{id:"name",type:"text",autoComplete:"name",value:k,onChange:c=>z(c.target.value),required:!0,className:u,placeholder:t("invitation.namePlaceholder")}),e.jsx(_,{message:(l=P.name)==null?void 0:l[0]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"password",className:x,children:t("invitation.password")}),e.jsx(F,{id:"password",autoComplete:"new-password",value:C,onChange:c=>J(c.target.value),required:!0,className:u,placeholder:t("invitation.passwordPlaceholder")}),e.jsx(_,{message:(E=P.password)==null?void 0:E[0]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"password_confirmation",className:x,children:t("invitation.confirm")}),e.jsx(F,{id:"password_confirmation",autoComplete:"new-password",value:L,onChange:c=>O(c.target.value),required:!0,className:u,placeholder:t("invitation.confirmPlaceholder")})]}),e.jsx(j,{type:"submit",loading:U,className:"w-full",children:t("invitation.createAndJoin",{tenant:a.tenant_name})}),g]})};return e.jsxs("div",{className:"min-h-screen flex items-center justify-center px-4 py-8 bg-blobs",children:[e.jsxs("div",{className:"w-full max-w-md",children:[e.jsxs("div",{className:"mb-6 flex items-center justify-between gap-4",children:[e.jsx(ae,{size:"sm",withBackArrow:!0}),e.jsx(se,{})]}),e.jsxs(ie,{padding:"lg",children:[e.jsx("div",{className:"mb-5",children:e.jsx("h2",{className:"text-xl font-bold text-slate-900 dark:text-white",children:t("invitation.heading")})}),X()]})]}),e.jsx(de,{...R})]})}export{je 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.