1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <!-- Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/ -->
- <script setup lang="ts">
- import ActivityMessage from '@shared/components/ActivityMessage/ActivityMessage.vue'
- import type { ActivityMessageMetaObject, Scalars } from '@shared/graphql/types'
- import type { AvatarUser } from '@shared/components/CommonUserAvatar'
- export interface Props {
- itemId: Scalars['ID']
- objectName: string
- typeName: string
- seen: boolean
- metaObject?: Maybe<ActivityMessageMetaObject>
- createdAt: string
- createdBy?: Maybe<AvatarUser>
- }
- defineProps<Props>()
- defineEmits<{
- (e: 'remove', id: Scalars['ID']): void
- (e: 'seen', id: Scalars['ID']): void
- }>()
- </script>
- <template>
- <div class="flex">
- <div class="flex items-center ltr:pr-2 rtl:pl-2">
- <CommonIcon
- name="mobile-delete"
- class="cursor-pointer text-red"
- size="tiny"
- @click="$emit('remove', itemId)"
- />
- </div>
- <div class="flex items-center ltr:pr-2 rtl:pl-2">
- <div
- role="status"
- class="h-3 w-3 rounded-full"
- :class="{ 'bg-blue': !seen }"
- :aria-label="seen ? $t('Notification read') : $t('Unread notification')"
- ></div>
- </div>
- <ActivityMessage
- :type-name="typeName"
- :object-name="objectName"
- :created-at="createdAt"
- :created-by="createdBy"
- :meta-object="metaObject"
- @seen="$emit('seen', itemId)"
- />
- </div>
- </template>
|