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.
|
|
|
<script lang="ts" setup>
|
|
|
|
import { Icon as IcIcon } from '@iconify/vue'
|
|
|
|
import type { TableType } from 'nocodb-sdk'
|
|
|
|
import { toRef, viewIcons } from '#imports'
|
|
|
|
|
|
|
|
const props = defineProps<{
|
|
|
|
meta: TableType
|
|
|
|
}>()
|
|
|
|
|
|
|
|
const viewMeta = toRef(props, 'meta')
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<IcIcon
|
|
|
|
v-if="viewMeta?.meta?.icon"
|
|
|
|
:data-testid="`nc-icon-${viewMeta?.meta?.icon}`"
|
|
|
|
class="text-[16px]"
|
|
|
|
:icon="viewMeta?.meta?.icon"
|
|
|
|
/>
|
|
|
|
<component
|
|
|
|
:is="viewIcons[viewMeta.type]?.icon"
|
|
|
|
v-else
|
|
|
|
class="nc-view-icon group-hover"
|
|
|
|
:style="{ color: viewIcons[viewMeta.type]?.color }"
|
|
|
|
/>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<style scoped></style>
|