|
|
@ -46,7 +46,10 @@ |
|
|
|
> |
|
|
|
<td> |
|
|
|
<span |
|
|
|
v-if="!invite.redeemedAt" |
|
|
|
v-if=" |
|
|
|
!invite.redeemedAt && |
|
|
|
invite.expiresAt > new Date().toISOString() |
|
|
|
" |
|
|
|
@click=" |
|
|
|
copyInviteAndNotify(invite.inviteIdentifier, invite.jwt) |
|
|
|
" |
|
|
@ -57,7 +60,13 @@ |
|
|
|
</span> |
|
|
|
<span |
|
|
|
v-else |
|
|
|
@click="showInvite(invite.inviteIdentifier)" |
|
|
|
@click=" |
|
|
|
showInvite( |
|
|
|
invite.inviteIdentifier, |
|
|
|
!!invite.redeemedAt, |
|
|
|
invite.expiresAt < new Date().toISOString(), |
|
|
|
) |
|
|
|
" |
|
|
|
class="text-center text-slate-500 cursor-pointer" |
|
|
|
:title="inviteLink(invite.jwt)" |
|
|
|
> |
|
|
@ -201,20 +210,26 @@ export default class InviteOneView extends Vue { |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
showInvite(inviteId: string) { |
|
|
|
showInvite(inviteId: string, redeemed: boolean, expired: boolean) { |
|
|
|
let message = `Your clipboard now contains the invite ID ${inviteId}`; |
|
|
|
if (redeemed) { |
|
|
|
message += " (This invite has been used.)"; |
|
|
|
} else if (expired) { |
|
|
|
message += " (This invite has expired.)"; |
|
|
|
} |
|
|
|
useClipboard().copy(inviteId); |
|
|
|
this.$notify( |
|
|
|
{ |
|
|
|
group: "alert", |
|
|
|
type: "success", |
|
|
|
title: "Copied", |
|
|
|
text: `The link has been used, but your clipboard now contains the invite ID ${inviteId}`, |
|
|
|
text: message, |
|
|
|
}, |
|
|
|
5000, |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
lookForErrorAndNotify(error, title, defaultMessage) { |
|
|
|
lookForErrorAndNotify(error, title: string, defaultMessage: string) { |
|
|
|
console.error(title, "-", error); |
|
|
|
let message = defaultMessage; |
|
|
|
if (error.response && error.response.data && error.response.data.error) { |
|
|
|