MeetUp/src/components/buttons/notification-button.tsx
Dominik Stahl 511acbca62
Some checks failed
container-scan / Container Scan (pull_request) Failing after 6m2s
docker-build / docker (pull_request) Failing after 7m56s
tests / Tests (pull_request) Failing after 4m25s
feat: add notifications support
2025-06-28 16:10:10 +02:00

35 lines
886 B
TypeScript

import { Button } from '@/components/ui/button';
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuTrigger,
} from '@/components/ui/dropdown-menu';
import { NDot, NotificationDot } from '@/components/misc/notification-dot';
export function NotificationButton({
dotVariant,
icon,
children,
...props
}: {
dotVariant?: NDot;
icon?: React.ReactNode;
children?: React.ReactNode;
} & React.ComponentProps<typeof Button>) {
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button type='button' variant='outline_primary' {...props}>
{icon}
<NotificationDot
dotVariant={dotVariant}
className='absolute ml-[30px] mt-[30px]'
/>
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align='end'>
{children}
</DropdownMenuContent>
</DropdownMenu>
);
}