import { useScreenSize } from '@/providers/ScreenSizeProvider' import { Ellipsis } from 'lucide-react' import { Event } from 'nostr-tools' import { useState } from 'react' import { DesktopMenu } from './DesktopMenu' import { MobileMenu } from './MobileMenu' import RawEventDialog from './RawEventDialog' import ReportDialog from './ReportDialog' import { SubMenuAction, useMenuActions } from './useMenuActions' export default function NoteOptions({ event, className }: { event: Event; className?: string }) { const { isSmallScreen } = useScreenSize() const [isRawEventDialogOpen, setIsRawEventDialogOpen] = useState(false) const [isReportDialogOpen, setIsReportDialogOpen] = useState(false) const [isDrawerOpen, setIsDrawerOpen] = useState(false) const [showSubMenu, setShowSubMenu] = useState(false) const [activeSubMenu, setActiveSubMenu] = useState([]) const [subMenuTitle, setSubMenuTitle] = useState('') const closeDrawer = () => { setIsDrawerOpen(false) setShowSubMenu(false) } const goBackToMainMenu = () => { setShowSubMenu(false) } const showSubMenuActions = (subMenu: SubMenuAction[], title: string) => { setActiveSubMenu(subMenu) setSubMenuTitle(title) setShowSubMenu(true) } const menuActions = useMenuActions({ event, closeDrawer, showSubMenuActions, setIsRawEventDialogOpen, setIsReportDialogOpen, isSmallScreen }) const trigger = ( ) return (
e.stopPropagation()}> {isSmallScreen ? ( ) : ( )} setIsRawEventDialogOpen(false)} /> setIsReportDialogOpen(false)} />
) }