mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1022 B
40 lines
1022 B
1 year ago
|
<script setup lang="ts">
|
||
|
import type { ProjectEventType } from 'nocodb-sdk'
|
||
|
import { AppEvents } from 'nocodb-sdk'
|
||
|
import { computed, toRef, useGlobal } from '#imports'
|
||
|
|
||
|
const props = defineProps<{
|
||
|
item: ProjectEventType
|
||
|
}>()
|
||
|
|
||
|
const item = toRef(props, 'item')
|
||
|
|
||
|
const { navigateToProject } = useGlobal()
|
||
|
|
||
|
const action = computed(() => {
|
||
|
switch (item.value.type) {
|
||
|
case AppEvents.PROJECT_CREATE:
|
||
|
return 'created'
|
||
|
case AppEvents.PROJECT_UPDATE:
|
||
|
return 'updated'
|
||
|
case AppEvents.PROJECT_DELETE:
|
||
|
return 'deleted'
|
||
|
}
|
||
|
})
|
||
|
|
||
|
const onClick = () => {
|
||
|
if (item.value.type === AppEvents.PROJECT_DELETE) return
|
||
|
navigateToProject({ projectId: item.value.body.id })
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<template>
|
||
|
<NotificationItemWrapper :item="item" @click="onClick">
|
||
|
<div class="text-xs gap-2">
|
||
|
Project
|
||
|
<GeneralProjectIcon style="vertical-align: middle" :type="item.body.type" /> <strong>{{ item.body.title }}</strong>
|
||
|
{{ action }} successfully
|
||
|
</div>
|
||
|
</NotificationItemWrapper>
|
||
|
</template>
|