import { PlusIcon } from 'lucide-react'
import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger
} from '@/components/ui/dropdown-menu'
const avatars = [
{
src: 'https://cdn.21st.dev/assets/mirror/2f/2fcafa6e39ea7272850e186aa5d39db75cba438a6a1194b908bc5a1385dd41bf.png',
fallback: 'OS',
name: 'Olivia Sparks'
},
{
src: 'https://cdn.21st.dev/assets/mirror/79/79d0a07346424d3ca0fd8850624b410cf9c115262b36426ef875f6dfda226242.png',
fallback: 'HL',
name: 'Howard Lloyd'
},
{
src: 'https://cdn.21st.dev/assets/mirror/ec/ec81be4cc810190ce4d240fcc57295965c5cebaa8751558595ade91eb62c09a4.png',
fallback: 'HR',
name: 'Hallie Richards'
},
{
src: 'https://cdn.21st.dev/assets/mirror/7c/7ceb72f7fcb0798a3d72f071c2bfe1251de0d16007bc9ad20f246dde57d5d092.png',
fallback: 'JW',
name: 'Jenny Wilson'
},
{
src: 'https://cdn.21st.dev/assets/mirror/03/03a7fd80e48b0c266374a64bc634dbbb85582fd0dd77c1a27ecff4bb5406ff81.png',
fallback: 'DR',
name: 'Darlene Robertson'
},
{
src: 'https://cdn.21st.dev/assets/mirror/ae/ae6a92c60e520aa6a3fe089f29762926b8851effbc1d39107437dae04aa88ae3.png',
fallback: 'LA',
name: 'Leslie Alexander'
}
]
const AvatarGroupDropdownDemo = () => {
return (
<div className='flex -space-x-2'>
{avatars.slice(0, 3).map((avatar, index) => (
<Avatar key={index} className='ring-background ring-2'>
<AvatarImage src={avatar.src} alt={avatar.name} />
<AvatarFallback className='text-xs'>{avatar.fallback}</AvatarFallback>
</Avatar>
))}
<DropdownMenu>
<DropdownMenuTrigger asChild>
<button className='bg-muted has-focus-visible:ring-ring/50 ring-background flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-full ring-2'>
<PlusIcon className='size-4' />
<span className='sr-only'>Add</span>
</button>
</DropdownMenuTrigger>
<DropdownMenuContent>
{avatars.slice(3).map((avatar, index) => (
<DropdownMenuItem key={index}>
<Avatar>
<AvatarImage src={avatar.src} alt={avatar.name} />
<AvatarFallback className='text-xs'>{avatar.fallback}</AvatarFallback>
</Avatar>
<span>{avatar.name}</span>
</DropdownMenuItem>
))}
</DropdownMenuContent>
</DropdownMenu>
</div>
)
}
export default AvatarGroupDropdownDemo