Fix/library title size info initial render flickering (#350)

* Rename variable

* Hide size tag until tabs data was loaded

The wrong loading state (mangas) was being used to check if the size tag can be shown.
This commit is contained in:
schroda
2023-06-05 01:24:56 +02:00
committed by GitHub
parent 00e403ce09
commit 1ec6d77598

View File

@@ -35,7 +35,7 @@ export default function Library() {
const { options } = useLibraryOptionsContext();
const [lastLibraryUpdate, setLastLibraryUpdate] = useState(Date.now());
const { data: tabsData, error: tabsError, isLoading } = requestManager.useGetCategories();
const { data: tabsData, error: tabsError, isLoading: areCategoriesLoading } = requestManager.useGetCategories();
const tabs = tabsData ?? [];
const librarySize = useMemo(() => tabs.map((tab) => tab.size).reduce((prev, curr) => prev + curr, 0), [tabs]);
@@ -55,7 +55,7 @@ export default function Library() {
const navBarTitle = (
<TitleWithSizeTag>
{title}
{mangaLoading || !options.showTabSize ? null : <TitleSizeTag label={librarySize} />}
{areCategoriesLoading || !options.showTabSize ? null : <TitleSizeTag label={librarySize} />}
</TitleWithSizeTag>
);
setTitle(navBarTitle, title);
@@ -70,7 +70,7 @@ export default function Library() {
setTitle('');
setAction(null);
};
}, [t, librarySize, mangaLoading, options]);
}, [t, librarySize, areCategoriesLoading, options]);
const handleTabChange = (newTab: number) => {
setTabSearchParam(newTab === 0 ? undefined : newTab);
@@ -85,7 +85,7 @@ export default function Library() {
);
}
if (isLoading) {
if (areCategoriesLoading) {
return <LoadingPlaceholder />;
}