Files
speckle-server/packages/frontend-2/components/projects/HiddenProjectWarning.vue
T
Gergő Jedlicska c68090a041 feat(projects): filter projects, that are not available under sso (#3585)
* feat(projects): filter projects, that are not available under sso

* feat(fe2): add SSO authentication warning banner

* Use specific fragment types

* fix(streams): stream load behavior should match old implementation

* Add user id to ProjectsHiddenProjectWarning_User fragment

* GQL gen

* Copy update

* fix(streams): admin override logic

* chore: gqlcodegen

* Update fragment name

---------

Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
2024-12-03 11:51:27 +01:00

55 lines
1.4 KiB
Vue

<template>
<CommonCard class="mb-4 bg-foundation text-body-xs !py-4">
<p class="text-foreground">
<span class="font-medium">
{{ hiddenItemCount }} project{{ hiddenItemCount === 1 ? '' : 's' }}
{{ hiddenItemCount === 1 ? 'is' : 'are' }} hidden
</span>
in SSO-protected workspaces. To view {{ hiddenItemCount === 1 ? 'it' : 'them' }},
authenticate with:
</p>
<div class="flex gap-2 mt-2">
<FormButton
v-for="session in user.expiredSsoSessions"
:key="session.id"
size="sm"
:to="workspaceSsoRoute(session.slug)"
color="outline"
>
<div class="flex items-center gap-1">
<WorkspaceAvatar
size="2xs"
:default-logo-index="session.defaultLogoIndex"
:logo="session.logo"
/>
{{ session.name }}
</div>
</FormButton>
</div>
</CommonCard>
</template>
<script setup lang="ts">
import { graphql } from '~~/lib/common/generated/gql'
import type { ProjectsHiddenProjectWarning_UserFragment } from '~~/lib/common/generated/gql/graphql'
import { workspaceSsoRoute } from '~/lib/common/helpers/route'
graphql(`
fragment ProjectsHiddenProjectWarning_User on User {
id
expiredSsoSessions {
id
slug
name
logo
defaultLogoIndex
}
}
`)
defineProps<{
hiddenItemCount: number
user: ProjectsHiddenProjectWarning_UserFragment
}>()
</script>