mirror of
https://github.com/nocodb/nocodb.git
synced 2026-05-03 07:57:00 +00:00
* feat: notifications wip * feat: wip * feat: longpoll and notifications.controller.ts * feat: longpoll and notifications.controller.ts * feat: enable email notifications * fix: notification styles and list * fix: update swagger feat: connect poller to frontend * fix: minor ui corrections * feat: move notifications to ee feat: scroll to commentId fix: polling fail on network error fix: unreadcount not updating fix: add workspace to comment mention event * fix: pubsub for notifications * fix: warning maxListeners * fix: update ui * fix: minor fixes * chore: move pub-sub to redis folder * fix: update ui and schema feat: optimistic comment update and create * fix: row empty during inital load causing row not loading * fix: build * fix: some updated * fix: minor ui corrections * fix: manage local state manually for interactivity * fix: remove prev notifcation data * fix: review comments * fix: code rabbit comments * fix: code rabbit comments * feat: delete notifications * fix: code rabbit comments * fix: row RowMeta manipulation fix: overflow notifications * fix: invalid offset * fix: updated widths * fix: tests * fix: playwright * feat: resolved by comments * feat: update layout * fix: wait 5 seconds before polling start, after polling starts, reload the notifications * fix: bug fixes * fix: disable long polling for playwright * fix: update migration * fix: lint * fix: code rabbit comments * fix: resolve tooltip * feat: resolve ee * fix: build failing * fix: review comments * fix: dependency synx * fix: update notification style
27 lines
837 B
Vue
27 lines
837 B
Vue
<script setup lang="ts">
|
|
import { AppEvents } from 'nocodb-sdk'
|
|
import type { NotificationType } from 'nocodb-sdk'
|
|
|
|
const props = defineProps<{
|
|
item: NotificationType
|
|
}>()
|
|
|
|
const item = toRef(props, 'item')
|
|
|
|
const notificationStore = useNotification()
|
|
|
|
const { toggleRead } = notificationStore
|
|
</script>
|
|
|
|
<template>
|
|
<div class="select-none" @click="toggleRead(item, item.is_read)">
|
|
<NotificationItemWelcome v-if="item.type === AppEvents.WELCOME" :item="item" />
|
|
<NotificationItemProjectInvite v-else-if="item.type === AppEvents.PROJECT_INVITE" :item="item" />
|
|
<NotificationItemWorkspaceInvite v-else-if="item.type === AppEvents.WORKSPACE_INVITE" :item="item" />
|
|
<NotificationItemMentionEvent v-else-if="['mention'].includes(item.type)" :item="item" />
|
|
<span v-else />
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped></style>
|