Fix: Embed option fixes (#5562)
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
<PortalTarget name="primary-actions"></PortalTarget>
|
||||
</ClientOnly>
|
||||
<HeaderNavNotifications v-if="isLoggedIn" />
|
||||
<div v-if="!hideUserNav" class="flex justify-end gap-x-2">
|
||||
<div v-if="!hideUserNav" class="flex justify-end items-center gap-x-2">
|
||||
<FormButton
|
||||
v-if="!activeUser"
|
||||
:to="loginUrl.fullPath"
|
||||
|
||||
@@ -95,12 +95,14 @@
|
||||
<span
|
||||
v-if="
|
||||
!canEditEmbedOptions?.authorized &&
|
||||
canEditEmbedOptions?.code === 'WorkspaceNoFeatureAccess'
|
||||
canEditEmbedOptions?.code ===
|
||||
'WorkspacePlanNoFeatureAccessError'
|
||||
"
|
||||
class="text-body-2xs text-foreground-2"
|
||||
>
|
||||
This feature is only available on the business plan
|
||||
<NuxtLink
|
||||
v-if="isAdmin"
|
||||
:to="settingsWorkspaceRoutes.billing.route(workspaceSlug)"
|
||||
class="underline"
|
||||
>
|
||||
@@ -113,8 +115,9 @@
|
||||
>
|
||||
Tip: You can also hide the logo for all embeds in
|
||||
<NuxtLink
|
||||
:to="settingsWorkspaceRoutes.billing.route(workspaceSlug)"
|
||||
:to="settingsWorkspaceRoutes.general.route(workspaceSlug)"
|
||||
class="underline"
|
||||
target="_blank"
|
||||
>
|
||||
workspace settings.
|
||||
</NuxtLink>
|
||||
@@ -162,7 +165,7 @@
|
||||
<script setup lang="ts">
|
||||
import type { ProjectsModelPageEmbed_ProjectFragment } from '~~/lib/common/generated/gql/graphql'
|
||||
import { useClipboard } from '~~/composables/browser'
|
||||
import { SpeckleViewer } from '@speckle/shared'
|
||||
import { SpeckleViewer, Roles } from '@speckle/shared'
|
||||
import { graphql } from '~~/lib/common/generated/gql'
|
||||
import type { LayoutDialogButton } from '@speckle/ui-components'
|
||||
import { settingsWorkspaceRoutes } from '~/lib/common/helpers/route'
|
||||
@@ -185,6 +188,7 @@ graphql(`
|
||||
workspace {
|
||||
id
|
||||
slug
|
||||
role
|
||||
embedOptions {
|
||||
hideSpeckleBranding
|
||||
}
|
||||
@@ -225,6 +229,8 @@ const manuallyLoadModel = ref(false)
|
||||
const hideSpeckleBranding = ref(false)
|
||||
const embedToken = ref<string | null>(null)
|
||||
|
||||
const isAdmin = computed(() => props.project.workspace?.role === Roles.Workspace.Admin)
|
||||
|
||||
const routeModelId = computed(() => route.params.modelId as string)
|
||||
|
||||
const parsedResources = computed(() =>
|
||||
|
||||
@@ -127,11 +127,10 @@ graphql(`
|
||||
createdAt
|
||||
name
|
||||
visibility
|
||||
workspace {
|
||||
limitedWorkspace {
|
||||
id
|
||||
slug
|
||||
name
|
||||
role
|
||||
}
|
||||
embedOptions {
|
||||
hideSpeckleBranding
|
||||
@@ -239,7 +238,6 @@ const canEditEmbedOptions = computed(() => {
|
||||
})
|
||||
|
||||
const hideSpeckleLogo = computed(() => {
|
||||
if (!project.value?.workspace) return true
|
||||
if (!canEditEmbedOptions.value) return false
|
||||
if (project.value?.embedOptions?.hideSpeckleBranding) return true
|
||||
else return hideSpeckleBranding.value
|
||||
|
||||
@@ -85,7 +85,7 @@ type Documents = {
|
||||
"\n fragment ProjectModelPageDialogDeleteVersion on Version {\n id\n message\n }\n": typeof types.ProjectModelPageDialogDeleteVersionFragmentDoc,
|
||||
"\n fragment ProjectModelPageDialogEditMessageVersion on Version {\n id\n message\n }\n": typeof types.ProjectModelPageDialogEditMessageVersionFragmentDoc,
|
||||
"\n fragment ProjectModelPageDialogMoveToVersion on Version {\n id\n message\n }\n": typeof types.ProjectModelPageDialogMoveToVersionFragmentDoc,
|
||||
"\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n": typeof types.ProjectsModelPageEmbed_ProjectFragmentDoc,
|
||||
"\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n role\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n": typeof types.ProjectsModelPageEmbed_ProjectFragmentDoc,
|
||||
"\n fragment ProjectModelPageVersionsCard_Project on Project {\n id\n workspace {\n id\n slug\n }\n ...ViewerResourcesLimitAlert_Project\n }\n": typeof types.ProjectModelPageVersionsCard_ProjectFragmentDoc,
|
||||
"\n fragment ProjectModelPageVersionsCardVersion on Version {\n id\n message\n authorUser {\n ...LimitedUserAvatar\n }\n createdAt\n previewUrl\n referencedObject\n sourceApplication\n commentThreadCount: commentThreads(limit: 0) {\n totalCount\n }\n ...ProjectModelPageDialogDeleteVersion\n ...ProjectModelPageDialogMoveToVersion\n automationsStatus {\n ...AutomateRunsTriggerStatus_TriggeredAutomationsStatus\n }\n permissions {\n canUpdate {\n ...FullPermissionCheckResult\n }\n }\n }\n": typeof types.ProjectModelPageVersionsCardVersionFragmentDoc,
|
||||
"\n fragment ProjectModelsAdd_Project on Project {\n id\n workspace {\n name\n slug\n role\n plan {\n name\n }\n }\n ...UseCanCreateModel_Project\n ...WorkspaceMoveProject_Project\n }\n": typeof types.ProjectModelsAdd_ProjectFragmentDoc,
|
||||
@@ -172,7 +172,7 @@ type Documents = {
|
||||
"\n fragment SettingsWorkspacesSecurityDomainRemoveDialog_Workspace on Workspace {\n id\n domains {\n ...SettingsWorkspacesSecurityDomainRemoveDialog_WorkspaceDomain\n }\n }\n": typeof types.SettingsWorkspacesSecurityDomainRemoveDialog_WorkspaceFragmentDoc,
|
||||
"\n fragment SettingsWorkspacesSecurityWorkspaceCreation_Workspace on Workspace {\n id\n slug\n role\n isExclusive\n hasAccessToExclusiveMembership: hasAccessToFeature(featureName: exclusiveMembership)\n permissions {\n canMakeWorkspaceExclusive {\n authorized\n message\n }\n }\n }\n": typeof types.SettingsWorkspacesSecurityWorkspaceCreation_WorkspaceFragmentDoc,
|
||||
"\n fragment SettingsWorkspacesSecuritySsoWrapper_Workspace on Workspace {\n id\n role\n slug\n sso {\n provider {\n id\n name\n clientId\n issuerUrl\n }\n }\n hasAccessToSSO: hasAccessToFeature(featureName: oidcSso)\n }\n": typeof types.SettingsWorkspacesSecuritySsoWrapper_WorkspaceFragmentDoc,
|
||||
"\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n workspace {\n id\n slug\n name\n role\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n": typeof types.ModelPageProjectFragmentDoc,
|
||||
"\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n limitedWorkspace {\n id\n slug\n name\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n": typeof types.ModelPageProjectFragmentDoc,
|
||||
"\n fragment ViewerCommentThreadData on Comment {\n id\n permissions {\n canArchive {\n ...FullPermissionCheckResult\n }\n }\n }\n": typeof types.ViewerCommentThreadDataFragmentDoc,
|
||||
"\n fragment ThreadCommentAttachment on Comment {\n text {\n attachments {\n id\n fileName\n fileType\n fileSize\n }\n }\n }\n": typeof types.ThreadCommentAttachmentFragmentDoc,
|
||||
"\n fragment ViewerCommentsListItem on Comment {\n id\n rawText\n archived\n author {\n ...LimitedUserAvatar\n }\n createdAt\n viewedAt\n replies {\n totalCount\n cursor\n items {\n ...ViewerCommentsReplyItem\n }\n }\n replyAuthors(limit: 4) {\n totalCount\n items {\n ...FormUsersSelectItem\n }\n }\n resources {\n resourceId\n resourceType\n }\n }\n": typeof types.ViewerCommentsListItemFragmentDoc,
|
||||
@@ -620,7 +620,7 @@ const documents: Documents = {
|
||||
"\n fragment ProjectModelPageDialogDeleteVersion on Version {\n id\n message\n }\n": types.ProjectModelPageDialogDeleteVersionFragmentDoc,
|
||||
"\n fragment ProjectModelPageDialogEditMessageVersion on Version {\n id\n message\n }\n": types.ProjectModelPageDialogEditMessageVersionFragmentDoc,
|
||||
"\n fragment ProjectModelPageDialogMoveToVersion on Version {\n id\n message\n }\n": types.ProjectModelPageDialogMoveToVersionFragmentDoc,
|
||||
"\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n": types.ProjectsModelPageEmbed_ProjectFragmentDoc,
|
||||
"\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n role\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n": types.ProjectsModelPageEmbed_ProjectFragmentDoc,
|
||||
"\n fragment ProjectModelPageVersionsCard_Project on Project {\n id\n workspace {\n id\n slug\n }\n ...ViewerResourcesLimitAlert_Project\n }\n": types.ProjectModelPageVersionsCard_ProjectFragmentDoc,
|
||||
"\n fragment ProjectModelPageVersionsCardVersion on Version {\n id\n message\n authorUser {\n ...LimitedUserAvatar\n }\n createdAt\n previewUrl\n referencedObject\n sourceApplication\n commentThreadCount: commentThreads(limit: 0) {\n totalCount\n }\n ...ProjectModelPageDialogDeleteVersion\n ...ProjectModelPageDialogMoveToVersion\n automationsStatus {\n ...AutomateRunsTriggerStatus_TriggeredAutomationsStatus\n }\n permissions {\n canUpdate {\n ...FullPermissionCheckResult\n }\n }\n }\n": types.ProjectModelPageVersionsCardVersionFragmentDoc,
|
||||
"\n fragment ProjectModelsAdd_Project on Project {\n id\n workspace {\n name\n slug\n role\n plan {\n name\n }\n }\n ...UseCanCreateModel_Project\n ...WorkspaceMoveProject_Project\n }\n": types.ProjectModelsAdd_ProjectFragmentDoc,
|
||||
@@ -707,7 +707,7 @@ const documents: Documents = {
|
||||
"\n fragment SettingsWorkspacesSecurityDomainRemoveDialog_Workspace on Workspace {\n id\n domains {\n ...SettingsWorkspacesSecurityDomainRemoveDialog_WorkspaceDomain\n }\n }\n": types.SettingsWorkspacesSecurityDomainRemoveDialog_WorkspaceFragmentDoc,
|
||||
"\n fragment SettingsWorkspacesSecurityWorkspaceCreation_Workspace on Workspace {\n id\n slug\n role\n isExclusive\n hasAccessToExclusiveMembership: hasAccessToFeature(featureName: exclusiveMembership)\n permissions {\n canMakeWorkspaceExclusive {\n authorized\n message\n }\n }\n }\n": types.SettingsWorkspacesSecurityWorkspaceCreation_WorkspaceFragmentDoc,
|
||||
"\n fragment SettingsWorkspacesSecuritySsoWrapper_Workspace on Workspace {\n id\n role\n slug\n sso {\n provider {\n id\n name\n clientId\n issuerUrl\n }\n }\n hasAccessToSSO: hasAccessToFeature(featureName: oidcSso)\n }\n": types.SettingsWorkspacesSecuritySsoWrapper_WorkspaceFragmentDoc,
|
||||
"\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n workspace {\n id\n slug\n name\n role\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n": types.ModelPageProjectFragmentDoc,
|
||||
"\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n limitedWorkspace {\n id\n slug\n name\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n": types.ModelPageProjectFragmentDoc,
|
||||
"\n fragment ViewerCommentThreadData on Comment {\n id\n permissions {\n canArchive {\n ...FullPermissionCheckResult\n }\n }\n }\n": types.ViewerCommentThreadDataFragmentDoc,
|
||||
"\n fragment ThreadCommentAttachment on Comment {\n text {\n attachments {\n id\n fileName\n fileType\n fileSize\n }\n }\n }\n": types.ThreadCommentAttachmentFragmentDoc,
|
||||
"\n fragment ViewerCommentsListItem on Comment {\n id\n rawText\n archived\n author {\n ...LimitedUserAvatar\n }\n createdAt\n viewedAt\n replies {\n totalCount\n cursor\n items {\n ...ViewerCommentsReplyItem\n }\n }\n replyAuthors(limit: 4) {\n totalCount\n items {\n ...FormUsersSelectItem\n }\n }\n resources {\n resourceId\n resourceType\n }\n }\n": types.ViewerCommentsListItemFragmentDoc,
|
||||
@@ -1385,7 +1385,7 @@ export function graphql(source: "\n fragment ProjectModelPageDialogMoveToVersio
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
export function graphql(source: "\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n"): (typeof documents)["\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n"];
|
||||
export function graphql(source: "\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n role\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n"): (typeof documents)["\n fragment ProjectsModelPageEmbed_Project on Project {\n id\n visibility\n permissions {\n canCreateEmbedTokens {\n ...FullPermissionCheckResult\n }\n }\n workspace {\n id\n slug\n role\n embedOptions {\n hideSpeckleBranding\n }\n permissions {\n canEditEmbedOptions {\n ...FullPermissionCheckResult\n }\n }\n }\n }\n"];
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
@@ -1733,7 +1733,7 @@ export function graphql(source: "\n fragment SettingsWorkspacesSecuritySsoWrapp
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
export function graphql(source: "\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n workspace {\n id\n slug\n name\n role\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n"): (typeof documents)["\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n workspace {\n id\n slug\n name\n role\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n"];
|
||||
export function graphql(source: "\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n limitedWorkspace {\n id\n slug\n name\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n"): (typeof documents)["\n fragment ModelPageProject on Project {\n id\n createdAt\n name\n visibility\n limitedWorkspace {\n id\n slug\n name\n }\n embedOptions {\n hideSpeckleBranding\n }\n hasAccessToFeature(featureName: hideSpeckleBranding)\n ...ViewerLimitsDialog_Project\n }\n"];
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user