@accounter/client
Version:
Accounter client application
1 lines • 2.84 kB
JavaScript
import{Cu as e,Du as t,Id as n,Td as r,Wl as i,_i as a,bd as o,jd as s,kl as c,na as l,vi as u,wd as d}from"./index-CSYTUOOk.js";var f=n(s(),1),p=`acceptInvitation`,m=()=>{let[{fetching:e,error:t},n]=c(l);return{fetching:e,error:t,acceptInvitation:(0,f.useCallback)(async e=>{let t=`Error accepting invitation`,r=p;u.loading(`Accepting invitation`,{id:r});try{let i=a(await n({token:e}),t,r);if(i)return u.success(`Success`,{id:r,description:`Invitation accepted successfully`}),i.acceptInvitation}catch(e){console.error(t,e),u.error(`Error`,{id:r,description:t,duration:1e4,closeButton:!0})}},[n])}},h=e();function g(){let{token:e}=r(),{isAuthenticated:n,isLoading:a,loginWithRedirect:s}=o(),c=d(),{fetching:l,error:u,acceptInvitation:f}=m();return e?a?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-screen`,children:(0,h.jsxs)(`div`,{className:`text-center max-w-sm space-y-4`,children:[(0,h.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Loading invitation...`}),(0,h.jsx)(`p`,{className:`text-muted-foreground`,children:`Please wait while we check your authentication status.`})]})}):n?(0,h.jsx)(`div`,{className:`flex items-center justify-center h-screen`,children:(0,h.jsxs)(`div`,{className:`text-center max-w-sm space-y-4`,children:[(0,h.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Accept Invitation`}),u&&(0,h.jsx)(`p`,{className:`text-destructive`,children:u.graphQLErrors?.[0]?.message===`TOKEN_EXPIRED`?`This invitation link has expired. Please request a new one.`:u.graphQLErrors?.[0]?.message??`An error occurred`}),(0,h.jsx)(i,{onClick:async()=>{(await f(e))?.success&&c(t.HOME,{replace:!0})},disabled:l,children:l?`Accepting...`:`Accept Invitation`})]})}):(0,h.jsx)(`div`,{className:`flex items-center justify-center h-screen`,children:(0,h.jsxs)(`div`,{className:`text-center max-w-sm space-y-4`,children:[(0,h.jsx)(`h1`,{className:`text-2xl font-bold`,children:`You've been invited!`}),(0,h.jsx)(`p`,{className:`text-muted-foreground`,children:`Please log in or create an account to accept this invitation.`}),(0,h.jsx)(i,{onClick:()=>{let n=t.ACCEPT_INVITATION(e);return sessionStorage.setItem(`auth:returnTo`,n),sessionStorage.setItem(`auth:invitationReturnTo`,n),s({authorizationParams:{audience:void 0,scope:`openid profile email offline_access`,redirect_uri:`${window.location.origin}${t.AUTH_CALLBACK}`},appState:{returnTo:n}})},children:`Login / Create Account`})]})}):(0,h.jsx)(`div`,{className:`flex items-center justify-center h-screen`,children:(0,h.jsxs)(`div`,{className:`text-center max-w-sm space-y-4`,children:[(0,h.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Invalid invitation link`}),(0,h.jsx)(`p`,{className:`text-muted-foreground`,children:`This invitation link is incomplete. Please use the full link from your email.`})]})})}export{g as AcceptInvitationPage};