import { BellOff, MoreVertical } from 'lucide-react'; import type { MouseEvent } from 'react'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import type { useStackMuteActions, useLabelMuteActions, useNodeMuteActions } from '@/hooks/useMuteRuleActions'; type StackMuteActions = ReturnType; type LabelMuteActions = ReturnType; type NodeMuteActions = ReturnType; export function StackMuteSubmenu({ actions }: { actions: StackMuteActions }) { if (!actions.canMute) return null; return ( Mute Mute notifications for this stack Mute deploy success noise Mute monitor alerts for this stack Manage stack mute rules ); } export function LabelMuteSubmenu({ actions }: { actions: LabelMuteActions }) { if (!actions.canMute) return null; return ( Mute Mute notifications for this label Mute external alerts for this label Mute low-priority stack alerts Manage label mute rules ); } export function NodeMuteSubmenu({ actions }: { actions: NodeMuteActions }) { if (!actions.canMute) return null; return ( Mute Mute node notifications Mute update notifications for this node Mute monitor alerts on this node Manage node mute rules ); } export function LabelGroupMuteKebab({ actions, }: { actions: LabelMuteActions; }) { if (!actions.canMute) return null; return ( e.stopPropagation()}> Mute notifications for this label Mute external alerts for this label Mute low-priority stack alerts Manage label mute rules ); } export function ActivityMuteKebab({ actions }: { actions: StackMuteActions }) { if (!actions.canMute) return null; return ( Mute notifications for this stack Mute deploy success noise Mute monitor alerts for this stack Manage stack mute rules ); }