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.
39 lines
1022 B
39 lines
1022 B
<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>
|
|
|