ff6433128a
* Add Dialog * Add options to embed dialog * Min Height of Clipboard Input multiline to 3 lines * Check for visibility * Link to change access of project * Rename to guided mode * Change icon when user clicks copy button * Update Menu styles based on agi feedback * Update graphql.ts * Embed Options as hashState * Auto grow Clipboard Input * embed state and more options * Tidyups * Footer only shows when !embedOptions.isTransparent * Add auto/manual Load * Add Pre setup component * WIP Button Group mobile * Updates around manual load * Viewer Share nav * Add embed dialog to project page * Minor fixes * Check for federated * Responsive Tidyups * Responsive Fixes. Fix console issues * Add Alert to Version Embed * Disable Zoom * GQL updates * Comment Slideshow * GraphQl changes * Fix visibility * Build fix * Revert "Build fix" This reverts commit 0e706cbd9fde78204032bb1ec4421b1742d023ac. * remove unneeded change, revert yarn.lock * Test Commit * Remove commit test * Fix build * Update Tailwind. Add base url env * fix for portal scope issue * useLogger * useLogger * chore(fe2): include NUXT_PUBLIC_BASE_URL in deployment manifests * lazy load optimization * lint fixes * Updates * Re-add guided open Dialog sections * Prevent login popup on embed * Tidy up mobile combined button group * Tidy up embed Dialogs * Small styling issues * Update scrolling in embed dialog * Move selection info when embed * Testing fixes * Discuss in Speckle * Responsive Dialog Changes * Fix bug * WIP Manual Load * Fix nuxt errors * Fix nuxt logger issue * Fix embed dialog overflows * New Dialog layout * Responsive Breakpoint change * Preview Image * Fix bug with dialogSection * Hide selection info on mobile when thread is open * Footer Model Name * Overflow on ClipboardInput * Style fixes * Tidy ups * Responsive updates * Responsive fixes * Update button * Changes from testing * Fix embed height with footer * Fix Dialog Section * Fixes from testing * Move "reset filters" on embed * Small fixes * Updates from CR 1 * CR Comments 2 * Updates from CR * Add deserializeEmbedOptions helper * DialogSection changes * Revert changes in TextArea * Updates from CR * Only check for noscroll in watch * Update useRoute * Comment Slideshow mode * Changes from testing * Fix mobile share button * onMounted warn fixes * Updates from testing * Remove nesting of ManualLoad * Keep Speckle text on mobile * minor cleanup & bugfixes * Add target prop to Logo * navbar flash fix + more cleanup * Fix urls * Footer Logo changes * Remove viewer-transparent from layout * Add Reply in Speckle * Remove Anchored Points from embed * Final changes pre CR * Fix Anchored Points * Update packages/frontend-2/components/project/model-page/dialog/embed/Embed.vue Co-authored-by: Kristaps Fabians Geikins <fabians@speckle.systems> * Fixes from CR * Updates from cr * Changes WIP * Fix for dialog opening * Changes from PR * Updates to check embed in activity * fix(fe2): project settings dialog error * Make Team open section on click of "Manage" * Fixes from merge * Changes from cr * Compare old to new in watch * Fix logo in footer of embed * Fixes from merge * Fix build. Fix lazy load * Updates from Benjamin * Fix transparent bg --------- Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com> Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com> Co-authored-by: Kristaps Fabians Geikins <fabians@speckle.systems>
60 lines
2.3 KiB
Vue
60 lines
2.3 KiB
Vue
<template>
|
|
<div v-if="hasNotifications">
|
|
<Menu as="div" class="flex items-center">
|
|
<MenuButton v-slot="{ open: menuOpen }" as="div">
|
|
<div class="cursor-pointer">
|
|
<span class="sr-only">Open notifications menu</span>
|
|
<div class="relative">
|
|
<div v-if="hasNotifications && !menuOpen" class="scale-75">
|
|
<div
|
|
class="absolute top-1 right-1 w-3 h-3 rounded-full bg-primary animate-ping"
|
|
></div>
|
|
<div class="absolute top-1 right-1 w-3 h-3 rounded-full bg-primary"></div>
|
|
</div>
|
|
|
|
<UserAvatar v-if="!menuOpen" no-bg size="lg" hover-effect>
|
|
<BellIcon class="text-primary sm:text-foreground w-5 h-5" />
|
|
</UserAvatar>
|
|
<UserAvatar v-else size="lg" hover-effect no-bg>
|
|
<XMarkIcon class="text-primary sm:text-foreground w-5 h-5" />
|
|
</UserAvatar>
|
|
</div>
|
|
</div>
|
|
</MenuButton>
|
|
<Transition
|
|
enter-active-class="transition ease-out duration-200"
|
|
enter-from-class="transform opacity-0 scale-95"
|
|
enter-to-class="transform opacity-100 scale-100"
|
|
leave-active-class="transition ease-in duration-75"
|
|
leave-from-class="transform opacity-100 scale-100"
|
|
leave-to-class="transform opacity-0 scale-95"
|
|
>
|
|
<MenuItems
|
|
class="absolute z-50 right-0 md:right-16 top-14 sm:top-16 w-full sm:w-64 origin-top-right bg-foundation-2 outline outline-2 outline-primary-muted rounded-md shadow-lg overflow-hidden"
|
|
>
|
|
<div class="p-2 text-sm font-bold bg-gray-50 dark:bg-foundation mb-2">
|
|
Notifications
|
|
</div>
|
|
<!-- <div class="p-2 text-sm">TODO: project invites</div> -->
|
|
<MenuItem>
|
|
<AuthVerificationReminderMenuNotice />
|
|
</MenuItem>
|
|
</MenuItems>
|
|
</Transition>
|
|
</Menu>
|
|
</div>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue'
|
|
import { XMarkIcon, BellIcon } from '@heroicons/vue/24/outline'
|
|
import { useActiveUser } from '~~/lib/auth/composables/activeUser'
|
|
|
|
const { activeUser } = useActiveUser()
|
|
|
|
const hasNotifications = computed(() => {
|
|
if (!activeUser.value) return false
|
|
if (!activeUser.value?.verified) return true
|
|
return false
|
|
})
|
|
</script>
|