diff --git a/src/screens/Library.tsx b/src/screens/Library.tsx index 1283d190..d66004dd 100644 --- a/src/screens/Library.tsx +++ b/src/screens/Library.tsx @@ -95,6 +95,27 @@ export function Library() { [selectedItemIds.length, mangas], ); + const selectionFab = useMemo(() => { + if (!isSelectModeActive) { + return null; + } + + return ( + + {(handleClose, setHideMenu) => ( + { + handleClose(); + setIsSelectModeActive(selectionModeState); + }} + setHideMenu={setHideMenu} + /> + )} + + ); + }, [isSelectModeActive, selectedMangas]); + const { setTitle, setAction } = useContext(NavBarContext); useEffect(() => { const title = t('library.title'); @@ -172,76 +193,60 @@ export function Library() { if (tabs.length === 1) { return ( - + <> + + {selectionFab} + ); } return ( - <> - - handleTabChange(newTab)} - tabsCount={tabs.length} - > - {tabs.map((tab) => ( - - {tab.name} - {options.showTabSize ? : null} - - } - value={tab.order} - /> - ))} - + + handleTabChange(newTab)} tabsCount={tabs.length}> {tabs.map((tab) => ( - - {tab === activeTab && - (mangaError ? ( - - ) : ( - - ))} - + + {tab.name} + {options.showTabSize ? : null} + + } + value={tab.order} + /> ))} - - {isSelectModeActive && ( - - {(handleClose, setHideMenu) => ( - { - handleClose(); - setIsSelectModeActive(selectionModeState); - }} - setHideMenu={setHideMenu} - /> - )} - - )} - + + {tabs.map((tab) => ( + + {tab === activeTab && + (mangaError ? ( + + ) : ( + + ))} + + ))} + {selectionFab} + ); }