2bb7802fb9
* abstract base invite banner * WIP banner actions * WIP modify obj * minor fix * invite accept/decline cache mutations * banner accept/decline basically works * new block for accepting workspace invite * WIP wrong account flow * login/registration block changes * add email invite related changes * add new email FE * add email w/ invite works * final adjustments * minor fixes * addressing cr comments * no-FF support * extra workspace ff checks
32 lines
993 B
Vue
32 lines
993 B
Vue
<template>
|
|
<NuxtErrorBoundary @error="onError">
|
|
<WorkspaceInviteBlock v-if="invite" :invite="invite" />
|
|
<ErrorPageGenericUnauthorizedBlock v-else resource-type="workspace" />
|
|
</NuxtErrorBoundary>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { type Optional } from '@speckle/shared'
|
|
import { useQuery } from '@vue/apollo-composable'
|
|
import { workspaceInviteQuery } from '~/lib/workspaces/graphql/queries'
|
|
|
|
const route = useRoute()
|
|
const logger = useLogger()
|
|
|
|
const token = computed(() => route.query.token as Optional<string>)
|
|
const workspaceId = computed(() => route.params.id as Optional<string>)
|
|
const isWorkspacesEnabled = useIsWorkspacesEnabled()
|
|
|
|
const { result } = useQuery(
|
|
workspaceInviteQuery,
|
|
() => ({
|
|
workspaceId: workspaceId.value,
|
|
token: token.value
|
|
}),
|
|
() => ({ enabled: !!(workspaceId.value && isWorkspacesEnabled.value) })
|
|
)
|
|
|
|
const invite = computed(() => result.value?.workspaceInvite)
|
|
|
|
const onError = (err: unknown) => logger.error(err)
|
|
</script>
|