25 lines
581 B
Vue
25 lines
581 B
Vue
<script setup lang="ts">
|
|
import { Avatar, AvatarFallback } from './ui/avatar';
|
|
|
|
defineProps<{
|
|
name: string
|
|
}>()
|
|
|
|
const getInitials = (fullName : string) => {
|
|
const allNames = fullName.trim().split(' ');
|
|
const initials = allNames.reduce((acc, curr, index) => {
|
|
if(index === 0 || index === allNames.length - 1){
|
|
acc = `${acc}${curr.charAt(0).toUpperCase()}`;
|
|
}
|
|
return acc;
|
|
}, '');
|
|
return initials;
|
|
}
|
|
|
|
</script>
|
|
|
|
<template>
|
|
<Avatar>
|
|
<AvatarFallback>{{ getInitials(name) }}</AvatarFallback>
|
|
</Avatar>
|
|
</template>
|