1import{j as M,S as A,u as F,U as N,aq as B,V as S,K as q,l as p,p as e,n as i,m as c,X as s,M as _,a0 as T,W as O,o as m,ah as V,a1 as x,a2 as $,a3 as E}from"./DjYyup6L.js";const P={class:"flex min-h-screen items-center justify-center bg-gray-50 px-4 py-12 sm:px-6 lg:px-8"},R={class:"w-full max-w-md space-y-8"},U={key:0,class:"text-center"},H={class:"mt-2 text-sm text-gray-600"},W={key:1,class:"rounded-lg border border-red-200 bg-red-50 p-6 text-center"},X={class:"mt-4 text-xl font-semibold text-gray-900"},J={class:"mt-2 text-sm text-gray-600"},K={key:2,class:"rounded-lg border border-gray-200 bg-white p-8 shadow-sm"},L={class:"text-center"},G={class:"mt-4 text-2xl font-bold text-gray-900"},Q={class:"mt-6 space-y-4"},Y={class:"rounded-lg bg-gray-50 p-4"},Z={class:"text-sm font-medium text-gray-500"},tt={class:"mt-1 text-lg font-semibold text-gray-900"},et={class:"rounded-lg bg-gray-50 p-4"},it={class:"text-sm font-medium text-gray-500"},st={class:"mt-1 text-base font-medium text-gray-900"},at={class:"rounded-lg bg-gray-50 p-4"},nt={class:"text-sm font-medium text-gray-500"},ot={class:"mt-1 text-base font-medium text-gray-900"},rt={class:"rounded-lg bg-gray-50 p-4"},ct={class:"text-sm font-medium text-gray-500"},lt={class:"mt-1 text-base font-medium text-gray-900"},dt={class:"rounded-lg border border-yellow-200 bg-yellow-50 p-4"},gt={class:"flex"},pt={class:"ml-3"},mt={class:"text-sm text-yellow-800"},ut={class:"mt-6 flex gap-3"},yt=M({__name:"join-existing",async setup(_t){let g,v;const{$http:y,$logger:u}=A(),{t}=F(),h=N(),{reloadForOrganizationChange:j}=B(),l=S().query.token,d=$(!1);function k(r){return y("/api/v1/invitations/verify-existing-user",{query:{token:r}})}function w(){return y("/api/v1/invitations/accept-existing-user",{method:"POST",body:{token:l}})}const{data:o,status:z,error:D}=([g,v]=q(()=>O(()=>k(l),"$WD5cCcs_XJ")),g=await g,v(),g),C={owner:t("common.owner"),admin:t("common.admin"),member:t("common.member")};async function I(){try{d.value=!0,u.info("user attempts to accept existing user invitation",{token:l,email:o.value?.invitation?.invitedEmail});const r=await w();u.info("user successfully accepted existing user invitation",{token:l,organizationId:r.organizationId}),await j(),E().add({icon:"i-lucide-check-circle",color:"emerald",title:t("pages.joinExisting.joinSuccessful"),description:t("pages.joinExisting.joinSuccessfulDescription",{organization:o.value?.organization?.title||""})}),await h.push(`/dashboard?slug=${r.organizationSlug}`)}catch(r){u.error("user failed to accept existing user invitation",r,{token:l,email:o.value?.invitation?.invitedEmail});const b=r?.response?._data?.errorCode||r?.data?.errorCode;let a=t("pages.joinExisting.acceptFailed"),n=t("pages.joinExisting.acceptFailedDescription");switch(b){case"invitation_not_found":a=t("pages.joinExisting.invitationNotFound"),n=t("pages.joinExisting.invitationNotFoundDescription");break;case"invitation_expired":a=t("pages.joinExisting.invitationExpired"),n=t("pages.joinExisting.invitationExpiredDescription");break;case"invitation_already_processed":a=t("pages.joinExisting.invitationAlreadyProcessed"),n=t("pages.joinExisting.invitationAlreadyProcessedDescription");break;case"user_has_multiple_organizations":a=t("pages.joinExisting.userHasMultipleOrganizations"),n=t("pages.joinExisting.userHasMultipleOrganizationsDescription");break;case"already_member":a=t("pages.joinExisting.alreadyMember"),n=t("pages.joinExisting.alreadyMemberDescription");break;case"invitation_email_mismatch":a=t("pages.joinExisting.emailMismatch"),n=t("pages.joinExisting.emailMismatchDescription");break}E().add({icon:"i-lucide-alert-circle",color:"red",title:a,description:n}),d.value=!1}}function f(){h.push("/dashboard")}return(r,b)=>{const a=V,n=T;return m(),p("div",P,[e("div",R,[i(z)==="pending"?(m(),p("div",U,[c(a,{name:"i-lucide-loader-2",class:"mx-auto size-8 animate-spin text-primary-500"}),e("p",H,s(i(t)("pages.joinExisting.verifying")),1)])):i(D)||!i(o)?(m(),p("div",W,[c(a,{name:"i-lucide-alert-circle",class:"mx-auto size-12 text-red-600"}
1),e("h2",X,s(i(t)("pages.joinExisting.invalidInvitation")),1),e("p",J,s(i(t)("pages.joinExisting.invalidInvitationDescription")),1),c(n,{class:"mt-4",onClick:f},{default:_(()=>[x(s(i(t)("paymentError.goToDashboard")),1)]),_:1})])):(m(),p("div",K,[e("div",L,[c(a,{name:"i-lucide-mail",class:"mx-auto size-12 text-primary-500"}),e("h2",G,s(i(t)("pages.joinExisting.title")),1)]),e("div",Q,[e("div",Y,[e("p",Z,s(i(t)("pages.joinExisting.organizationName")),1),e("p",tt,s(i(o).organization.title),1)]),e("div",et,[e("p",it,s(i(t)("pages.joinExisting.invitedBy")),1),e("p",st,s(i(o).inviter.email),1)]),e("div",at,[e("p",nt,s(i(t)("pages.joinExisting.invitedEmail")),1),e("p",ot,s(i(o).invitation.invitedEmail),1)]),e("div",rt,[e("p",ct,s(i(t)("pages.joinExisting.yourRole")),1),e("p",lt,s(C[i(o).invitation.role]||i(o).invitation.role),1)]),e("div",dt,[e("div",gt,[c(a,{name:"i-lucide-alert-triangle",class:"size-5 text-yellow-600"}),e("div",pt,[e("p",mt,s(i(t)("pages.joinExisting.warningMessage")),1)])])])]),e("div",ut,[c(n,{color:"gray",variant:"outline",class:"flex-1",disabled:i(d),onClick:f},{default:_(()=>[x(s(i(t)("common.cancel")),1)]),_:1},8,["disabled"]),c(n,{class:"flex-1",loading:i(d),disabled:i(d),onClick:I},{default:_(()=>[x(s(i(t)("pages.joinExisting.acceptButton")),1)]),_:1},8,["loading","disabled"])])]))])])}}});export{yt 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.