Token: {link.token.slice(0, 6)}...{link.token.slice(-4)}
{(() => {
const showRevive = link.revokedAt || vm.isInviteExpired(link.expiresAt) || (link.singleUse && link.usedAt);
const showRevoke = !showRevive && !link.revokedAt && !(link.singleUse && link.usedAt) && !vm.isInviteExpired(link.expiresAt);
const options = [
{
value: "COPY",
label: "Copy link",
className: "btn-outline-accent",
disabled: vm.localJoinPolicy === "NOT_ACCEPTING",
onClick: () => vm.handleCopyInvite(link.token)
},
...(showRevive
? [{
value: "REVIVE",
label: "Revive",
className: "btn-outline-accent",
disabled: vm.localJoinPolicy === "NOT_ACCEPTING",
onClick: () => vm.reviveInvite(link.id, vm.inviteTtlDays)
}]
: showRevoke
? [{
value: "REVOKE",
label: "Revoke",
className: "border border-red-400/60 bg-red-500/10 text-red-200",
onClick: () => vm.revokeInvite(link.id)
}]
: []),
{
value: "DELETE",
label: "Delete",
className: "border border-red-400/60 bg-red-500/10 text-red-200",
onClick: () => vm.setConfirmDeleteInvite({ id: link.id, token: link.token })
}
];
return (
);
})()}