diff --git a/src/App.tsx b/src/App.tsx
index 36ae87ee..e6c52dfa 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -158,7 +158,7 @@ export default function App() {
-
+
diff --git a/src/components/navbar/DefaultNavBar.tsx b/src/components/navbar/DefaultNavBar.tsx
index e7448750..f30b0195 100644
--- a/src/components/navbar/DefaultNavBar.tsx
+++ b/src/components/navbar/DefaultNavBar.tsx
@@ -105,6 +105,7 @@ export default function DefaultNavBar() {
{
!navbarItems.some(({ path }) => path === history.location.pathname)
+ && !history.location.pathname.startsWith('/library')
&& (
();
const [tabs, setTabs] = useState();
const [tabNum, setTabNum] = useState(0);
+ const history = useHistory();
// a hack so MangaGrid doesn't stop working. I won't change it in case
// if I do manga pagination for library..
const [lastPageNum, setLastPageNum] = useState(1);
const handleTabChange = (newTab: number) => {
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
+ history.location.search === ''
+ ? history.replace(`/library/${newTab}`)
+ : history.replace(`/library/${newTab}/${history.location.search}`);
setTabNum(newTab);
};
@@ -54,10 +61,17 @@ export default function Library() {
mangas: [] as IManga[],
isFetched: false,
}));
-
setTabs(categoryTabs);
if (categoryTabs.length > 0) {
- setTabNum(categoryTabs[0].category.order);
+ setTabNum(() => {
+ if (tabParamNumber !== undefined
+ && !Number.isNaN(tabParamNumber)
+ && !!categories.find((cat) => cat.order === Number(tabParamNumber))) {
+ return Number(tabParamNumber);
+ }
+ history.replace('/library');
+ return categoryTabs[0].category.order;
+ });
}
});
}, []);