Share token link generation

This commit is contained in:
Max Goodhart
2025-06-15 03:56:10 +00:00
parent d8fe12ceb9
commit a0083ae093
3 changed files with 23 additions and 2 deletions

View File

@@ -11,6 +11,7 @@ import {
type AuthTokenInfo,
type ControlCommandMessage,
type ControlUpdateMessage,
inviteLink,
roleCan,
stateDiff,
type StreamwallRole,
@@ -456,7 +457,11 @@ async function initialInviteCodes({
)
console.log(
'🔑 Admin invite:',
`${baseURL}/invite/${adminToken.tokenId}?token=${adminToken.secret}`,
inviteLink({
baseURL,
tokenId: adminToken.tokenId,
secret: adminToken.secret,
}),
)
}

View File

@@ -25,6 +25,7 @@ import {
ControlCommand,
idColor,
idxInBox,
inviteLink,
LocalStreamData,
roleCan,
StreamData,
@@ -804,7 +805,10 @@ export function ControlUI({
<StyledNewInviteBox>
Invite link created:{' '}
<a
href={`/invite/${newInvite.tokenId}?token=${newInvite.secret}`}
href={inviteLink({
tokenId: newInvite.tokenId,
secret: newInvite.secret,
})}
onClick={preventLinkClick}
>
"{newInvite.name}"

View File

@@ -47,3 +47,15 @@ export function roleCan(role: StreamwallRole | null, action: StreamwallAction) {
return false
}
export function inviteLink({
baseURL = '',
tokenId,
secret,
}: {
baseURL?: string
tokenId: string
secret: string
}) {
return `${baseURL}/invite/${tokenId}?token=${secret}`
}