import clsx from 'clsx'; import React from 'react'; import Image from 'next/image'; import MenuItem from '@/components/MenuItem'; import { setAboutDialogVisible } from '@/components/AboutWindow'; import { useLibraryStore } from '@/store/libraryStore'; import { useTranslation } from '@/hooks/useTranslation'; import { isWebAppPlatform } from '@/services/environment'; import { DOWNLOAD_READEST_URL } from '@/services/constants'; import useBooksManager from '../../hooks/useBooksManager'; interface BookMenuProps { menuClassName?: string; setIsDropdownOpen?: (isOpen: boolean) => void; } const BookMenu: React.FC = ({ menuClassName, setIsDropdownOpen }) => { const _ = useTranslation(); const { library } = useLibraryStore(); const { openParallelView } = useBooksManager(); const handleParallelView = (id: string) => { openParallelView(id); setIsDropdownOpen?.(false); }; const handleReloadPage = () => { window.location.reload(); setIsDropdownOpen?.(false); }; const showAboutReadest = () => { setAboutDialogVisible(true); setIsDropdownOpen?.(false); }; const downloadReadest = () => { window.open(DOWNLOAD_READEST_URL, '_blank'); setIsDropdownOpen?.(false); }; const isWebApp = isWebAppPlatform(); return (
    {library.slice(0, 20).map((book) => ( { (e.target as HTMLImageElement).style.display = 'none'; }} /> } label={book.title} onClick={() => handleParallelView(book.hash)} /> ))}

{isWebApp && }
); }; export default BookMenu;