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}
+
);
}