From 2cfbaf81486e8300154b443226d57dd90257c72a Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Tue, 21 Jan 2025 20:34:17 +0100 Subject: [PATCH] Use "useNavBarContext" hook everywhere --- src/modules/backup/screens/Backup.tsx | 6 +++--- src/modules/browse/screens/Browse.tsx | 6 +++--- src/modules/browse/screens/BrowseSettings.tsx | 6 +++--- src/modules/category/screens/CategorySettings.tsx | 6 +++--- src/modules/device/screens/DeviceSetting.tsx | 4 ++-- src/modules/downloads/screens/DownloadQueue.tsx | 6 +++--- src/modules/downloads/screens/DownloadSettings.tsx | 6 +++--- src/modules/extension/screens/Extensions.tsx | 6 +++--- src/modules/global-search/screens/SearchAll.tsx | 6 +++--- src/modules/library/screens/Library.tsx | 6 +++--- src/modules/library/screens/LibraryDuplicates.tsx | 6 +++--- src/modules/library/screens/LibrarySettings.tsx | 6 +++--- src/modules/manga/screens/Manga.tsx | 6 +++--- src/modules/migration/screens/Migrate.tsx | 6 +++--- src/modules/navigation-bar/components/DefaultNavBar.tsx | 6 +++--- src/modules/settings/screens/About.tsx | 6 +++--- src/modules/settings/screens/Appearance.tsx | 4 ++-- src/modules/settings/screens/ServerSettings.tsx | 6 +++--- src/modules/settings/screens/Settings.tsx | 6 +++--- src/modules/settings/screens/WebUISettings.tsx | 6 +++--- src/modules/source/screens/SourceConfigure.tsx | 6 +++--- src/modules/source/screens/SourceMangas.tsx | 6 +++--- src/modules/source/screens/Sources.tsx | 6 +++--- src/modules/tracker/screens/TrackingSettings.tsx | 7 +++---- src/modules/updates/screens/Updates.tsx | 6 +++--- 25 files changed, 73 insertions(+), 74 deletions(-) diff --git a/src/modules/backup/screens/Backup.tsx b/src/modules/backup/screens/Backup.tsx index 7893a767..631629e1 100644 --- a/src/modules/backup/screens/Backup.tsx +++ b/src/modules/backup/screens/Backup.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useContext, useEffect, useLayoutEffect, useState } from 'react'; +import { useEffect, useLayoutEffect, useState } from 'react'; import List from '@mui/material/List'; import ListItemText from '@mui/material/ListItemText'; import { fromEvent } from 'file-selector'; @@ -25,7 +25,6 @@ import { Link } from 'react-router-dom'; import Stack from '@mui/material/Stack'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { BackupRestoreState, ValidateBackupQuery } from '@/lib/graphql/generated/graphql.ts'; import { Progress } from '@/modules/core/components/Progress.tsx'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; @@ -37,6 +36,7 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { ServerSettings } from '@/modules/settings/Settings.types.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; type BackupSettingsType = Pick; @@ -59,7 +59,7 @@ let backupRestoreId: string | undefined; export function Backup() { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.backup.title')); setAction(null); diff --git a/src/modules/browse/screens/Browse.tsx b/src/modules/browse/screens/Browse.tsx index 12f5503d..619795c2 100644 --- a/src/modules/browse/screens/Browse.tsx +++ b/src/modules/browse/screens/Browse.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useCallback, useContext, useLayoutEffect, useRef, useState } from 'react'; +import { useCallback, useLayoutEffect, useRef, useState } from 'react'; import Tab from '@mui/material/Tab'; import { useTranslation } from 'react-i18next'; import { StringParam, useQueryParam } from 'use-query-params'; @@ -16,8 +16,8 @@ import { TabPanel } from '@/modules/core/components/tabs/TabPanel.tsx'; import { TabsWrapper } from '@/modules/core/components/tabs/TabsWrapper.tsx'; import { TabsMenu } from '@/modules/core/components/tabs/TabsMenu.tsx'; import { Migration } from '@/modules/migration/screens/Migration.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { useResizeObserver } from '@/modules/core/hooks/useResizeObserver.tsx'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; enum Tabs { SOURCE = 'source', @@ -27,7 +27,7 @@ enum Tabs { export function Browse() { const { t } = useTranslation(); - const { setTitle } = useContext(NavBarContext); + const { setTitle } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('global.label.browse')); diff --git a/src/modules/browse/screens/BrowseSettings.tsx b/src/modules/browse/screens/BrowseSettings.tsx index 21a9b974..6d20d8ec 100644 --- a/src/modules/browse/screens/BrowseSettings.tsx +++ b/src/modules/browse/screens/BrowseSettings.tsx @@ -7,12 +7,11 @@ */ import { Trans, useTranslation } from 'react-i18next'; -import { useContext, useLayoutEffect } from 'react'; +import { useLayoutEffect } from 'react'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { MutableListSetting } from '@/modules/core/components/settings/MutableListSetting.tsx'; @@ -29,6 +28,7 @@ import { makeToast } from '@/modules/core/utils/Toast.ts'; import { MetadataBrowseSettings } from '@/modules/browse/Browse.types.ts'; import { ServerSettings as GqlServerSettings } from '@/modules/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; type ExtensionsSettings = Pick; @@ -40,7 +40,7 @@ const extractBrowseSettings = (settings: GqlServerSettings): ExtensionsSettings export const BrowseSettings = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.browse.title')); diff --git a/src/modules/category/screens/CategorySettings.tsx b/src/modules/category/screens/CategorySettings.tsx index 5b4d5b05..9954dbdd 100644 --- a/src/modules/category/screens/CategorySettings.tsx +++ b/src/modules/category/screens/CategorySettings.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useContext, useLayoutEffect, useMemo, useState } from 'react'; +import { useLayoutEffect, useMemo, useState } from 'react'; import { DragDropContext, Draggable, DropResult } from 'react-beautiful-dnd'; import { useTheme } from '@mui/material/styles'; import Fab from '@mui/material/Fab'; @@ -24,7 +24,6 @@ import Box from '@mui/material/Box'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { StrictModeDroppable } from '@/modules/core/components/StrictModeDroppable.tsx'; import { DEFAULT_FULL_FAB_HEIGHT } from '@/modules/core/components/buttons/StyledFab.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; @@ -33,11 +32,12 @@ import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts' import { CategorySettingsCard } from '@/modules/category/components/CategorySettingsCard.tsx'; import { CategoryIdInfo } from '@/modules/category/Category.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export function CategorySettings() { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('category.title.category_other')); setAction(null); diff --git a/src/modules/device/screens/DeviceSetting.tsx b/src/modules/device/screens/DeviceSetting.tsx index 4ba127f6..3159b875 100644 --- a/src/modules/device/screens/DeviceSetting.tsx +++ b/src/modules/device/screens/DeviceSetting.tsx @@ -18,7 +18,6 @@ import { } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { MutableListSetting } from '@/modules/core/components/settings/MutableListSetting.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { DeviceContext } from '@/modules/device/contexts/DeviceContext.tsx'; import { Select } from '@/modules/core/components/inputs/Select.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; @@ -27,10 +26,11 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { DEFAULT_DEVICE } from '@/modules/device/services/Device.ts'; import { MetadataServerSettingKeys, MetadataServerSettings } from '@/modules/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export const DeviceSetting = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.device.title.settings')); diff --git a/src/modules/downloads/screens/DownloadQueue.tsx b/src/modules/downloads/screens/DownloadQueue.tsx index 5d97b771..5a5f144f 100644 --- a/src/modules/downloads/screens/DownloadQueue.tsx +++ b/src/modules/downloads/screens/DownloadQueue.tsx @@ -16,7 +16,7 @@ import Stack from '@mui/material/Stack'; import Box, { BoxProps } from '@mui/material/Box'; import Tooltip from '@mui/material/Tooltip'; import IconButton from '@mui/material/IconButton'; -import React, { memo, useCallback, useContext, useEffect, useLayoutEffect } from 'react'; +import React, { memo, useCallback, useEffect, useLayoutEffect } from 'react'; import { DragDropContext, Draggable, DraggableProvided, DropResult } from 'react-beautiful-dnd'; import Typography from '@mui/material/Typography'; import { Link } from 'react-router-dom'; @@ -30,13 +30,13 @@ import { StrictModeDroppable } from '@/modules/core/components/StrictModeDroppab import { makeToast } from '@/modules/core/utils/Toast.ts'; import { DownloadStateIndicator } from '@/modules/core/components/DownloadStateIndicator.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { ChapterDownloadStatus, ChapterIdInfo } from '@/modules/chapter/services/Chapters.ts'; import { DownloaderState, DownloadState } from '@/lib/graphql/generated/graphql.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; const HeightPreservingItem = ({ children, ...props }: BoxProps) => ( // the height is necessary to prevent the item container from collapsing, which confuses Virtuoso measurements @@ -143,7 +143,7 @@ export const DownloadQueue: React.FC = () => { const status = downloaderData?.state ?? 'STARTED'; const isQueueEmpty = !queue.length; - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); const clearQueue = async () => { try { diff --git a/src/modules/downloads/screens/DownloadSettings.tsx b/src/modules/downloads/screens/DownloadSettings.tsx index a0c5b4bf..e7e37728 100644 --- a/src/modules/downloads/screens/DownloadSettings.tsx +++ b/src/modules/downloads/screens/DownloadSettings.tsx @@ -7,14 +7,13 @@ */ import { useTranslation } from 'react-i18next'; -import { useContext, useLayoutEffect } from 'react'; +import { useLayoutEffect } from 'react'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { DownloadAheadSetting } from '@/modules/downloads/components/DownloadAheadSetting.tsx'; import { @@ -33,6 +32,7 @@ import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts' import { MetadataDownloadSettings } from '@/modules/downloads/Downloads.types.ts'; import { ServerSettings } from '@/modules/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; type DownloadSettingsType = Pick< ServerSettings, @@ -55,7 +55,7 @@ const extractDownloadSettings = (settings: ServerSettings): DownloadSettingsType export const DownloadSettings = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('download.settings.title')); diff --git a/src/modules/extension/screens/Extensions.tsx b/src/modules/extension/screens/Extensions.tsx index 9ce656a3..c33eb059 100644 --- a/src/modules/extension/screens/Extensions.tsx +++ b/src/modules/extension/screens/Extensions.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; +import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; import { fromEvent } from 'file-selector'; import IconButton from '@mui/material/IconButton'; import AddIcon from '@mui/icons-material/Add'; @@ -25,7 +25,6 @@ import { LoadingPlaceholder } from '@/modules/core/components/placeholder/Loadin import { makeToast } from '@/modules/core/utils/Toast.ts'; import { LangSelect } from '@/modules/core/components/inputs/LangSelect.tsx'; import { ExtensionCard } from '@/modules/extension/components/ExtensionCard.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { StyledGroupedVirtuoso } from '@/modules/core/components/virtuoso/StyledGroupedVirtuoso.tsx'; import { StyledGroupHeader } from '@/modules/core/components/virtuoso/StyledGroupHeader.tsx'; import { StyledGroupItemWrapper } from '@/modules/core/components/virtuoso/StyledGroupItemWrapper.tsx'; @@ -41,13 +40,14 @@ import { ExtensionAction, ExtensionGroupState, ExtensionState } from '@/modules/ import { EXTENSION_ACTION_TO_FAILURE_TRANSLATION_KEY_MAP } from '@/modules/extension/Extensions.constants.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; const LANGUAGE = 0; const EXTENSIONS = 1; export function Extensions({ tabsMenuHeight }: { tabsMenuHeight: number }) { const { t } = useTranslation(); - const { setAction } = useContext(NavBarContext); + const { setAction } = useNavBarContext(); const { data: serverSettingsData, diff --git a/src/modules/global-search/screens/SearchAll.tsx b/src/modules/global-search/screens/SearchAll.tsx index 2ef2cec0..6b58066a 100644 --- a/src/modules/global-search/screens/SearchAll.tsx +++ b/src/modules/global-search/screens/SearchAll.tsx @@ -9,7 +9,7 @@ import Card from '@mui/material/Card'; import CardActionArea from '@mui/material/CardActionArea'; import Typography from '@mui/material/Typography'; -import React, { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; +import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; import { Link, useLocation } from 'react-router-dom'; import { StringParam, useQueryParam } from 'use-query-params'; import { useTranslation } from 'react-i18next'; @@ -20,7 +20,6 @@ import { langSortCmp, sourceDefualtLangs, sourceForcedDefaultLangs } from '@/mod import { AppbarSearch } from '@/modules/core/components/AppbarSearch.tsx'; import { LangSelect } from '@/modules/core/components/inputs/LangSelect.tsx'; import { useDebounce } from '@/modules/core/hooks/useDebounce.ts'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { MangaCardProps } from '@/modules/manga/Manga.types.ts'; import { EmptyView } from '@/modules/core/components/placeholder/EmptyView.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; @@ -31,6 +30,7 @@ import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder import { translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; type SourceLoadingState = { isLoading: boolean; hasResults: boolean; emptySearch: boolean }; type SourceToLoadingStateMap = Map; @@ -197,7 +197,7 @@ const SourceSearchPreview = React.memo( export const SearchAll: React.FC = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); const { pathname, state } = useLocation<{ mangaTitle?: string }>(); const isMigrateMode = pathname.startsWith('/migrate/source'); diff --git a/src/modules/library/screens/Library.tsx b/src/modules/library/screens/Library.tsx index 7ad7de86..49ace56e 100644 --- a/src/modules/library/screens/Library.tsx +++ b/src/modules/library/screens/Library.tsx @@ -9,7 +9,7 @@ import Chip, { ChipProps } from '@mui/material/Chip'; import Tab from '@mui/material/Tab'; import { styled } from '@mui/material/styles'; -import { useCallback, useContext, useLayoutEffect, useMemo, useState } from 'react'; +import { useCallback, useLayoutEffect, useMemo, useState } from 'react'; import { useQueryParam, NumberParam } from 'use-query-params'; import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; @@ -20,7 +20,6 @@ import { LibraryToolbarMenu } from '@/modules/library/components/LibraryToolbarM import { LibraryMangaGrid } from '@/modules/library/components/LibraryMangaGrid.tsx'; import { AppbarSearch } from '@/modules/core/components/AppbarSearch.tsx'; import { UpdateChecker } from '@/modules/core/components/UpdateChecker.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { useSelectableCollection } from '@/modules/collection/hooks/useSelectableCollection.ts'; import { SelectableCollectionSelectMode } from '@/modules/collection/components/SelectableCollectionSelectMode.tsx'; import { useGetVisibleLibraryMangas } from '@/modules/library/hooks/useGetVisibleLibraryMangas.ts'; @@ -44,6 +43,7 @@ import { useLibraryOptionsContext } from '@/modules/library/contexts/LibraryOpti import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { getCategoryMetadata } from '@/modules/category/services/CategoryMetadata.ts'; import { GET_LIBRARY_MANGA_COUNT } from '@/lib/graphql/queries/MangaQuery.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; const TitleWithSizeTag = styled('span')({ display: 'flex', @@ -166,7 +166,7 @@ export function Library() { ); }, [isSelectModeActive, selectedMangas]); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { const title = t('library.title'); const navBarTitle = ( diff --git a/src/modules/library/screens/LibraryDuplicates.tsx b/src/modules/library/screens/LibraryDuplicates.tsx index 70677df1..e98f8aab 100644 --- a/src/modules/library/screens/LibraryDuplicates.tsx +++ b/src/modules/library/screens/LibraryDuplicates.tsx @@ -7,7 +7,7 @@ */ import { useTranslation } from 'react-i18next'; -import { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useState } from 'react'; +import { useCallback, useEffect, useLayoutEffect, useMemo, useState } from 'react'; import IconButton from '@mui/material/IconButton'; import SettingsIcon from '@mui/icons-material/Settings'; import PopupState, { bindMenu, bindTrigger } from 'material-ui-popup-state'; @@ -16,7 +16,6 @@ import MenuItem from '@mui/material/MenuItem'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { GridLayouts } from '@/modules/core/components/GridLayouts.tsx'; import { CheckboxInput } from '@/modules/core/components/inputs/CheckboxInput.tsx'; @@ -35,6 +34,7 @@ import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; import { LibraryDuplicatesWorkerInput, TMangaDuplicate, TMangaDuplicates } from '@/modules/library/Library.types.ts'; import { GridLayout } from '@/modules/core/Core.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export const LibraryDuplicates = () => { const { t } = useTranslation(); @@ -45,7 +45,7 @@ export const LibraryDuplicates = () => { false, ); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('library.settings.advanced.duplicates.label.title')); setAction( diff --git a/src/modules/library/screens/LibrarySettings.tsx b/src/modules/library/screens/LibrarySettings.tsx index de8700fd..14cd5582 100644 --- a/src/modules/library/screens/LibrarySettings.tsx +++ b/src/modules/library/screens/LibrarySettings.tsx @@ -7,7 +7,7 @@ */ import { useTranslation } from 'react-i18next'; -import { useContext, useLayoutEffect } from 'react'; +import { useLayoutEffect } from 'react'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemButton from '@mui/material/ListItemButton'; @@ -15,7 +15,6 @@ import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; import { t as translate } from 'i18next'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { GlobalUpdateSettings } from '@/modules/settings/components/globalUpdate/GlobalUpdateSettings.tsx'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { @@ -39,6 +38,7 @@ import { GET_MANGAS_BASE } from '@/lib/graphql/queries/MangaQuery.ts'; import { MetadataLibrarySettings } from '@/modules/library/Library.types.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; const removeNonLibraryMangasFromCategories = async (): Promise => { try { @@ -64,7 +64,7 @@ const removeNonLibraryMangasFromCategories = async (): Promise => { export function LibrarySettings() { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('library.settings.title')); diff --git a/src/modules/manga/screens/Manga.tsx b/src/modules/manga/screens/Manga.tsx index f80e11de..510cdcab 100644 --- a/src/modules/manga/screens/Manga.tsx +++ b/src/modules/manga/screens/Manga.tsx @@ -12,12 +12,11 @@ import IconButton from '@mui/material/IconButton'; import Stack from '@mui/material/Stack'; import Tooltip from '@mui/material/Tooltip'; import Box from '@mui/material/Box'; -import React, { useContext, useEffect, useLayoutEffect, useRef } from 'react'; +import React, { useEffect, useLayoutEffect, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { useParams } from 'react-router-dom'; import { isNetworkRequestInFlight } from '@apollo/client/core/networkStatus'; import { requestManager } from '@/lib/requests/RequestManager.ts'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { ChapterList } from '@/modules/chapter/components/ChapterList.tsx'; import { useRefreshManga } from '@/modules/manga/hooks/useRefreshManga.ts'; import { MangaDetails } from '@/modules/manga/components/MangaDetails.tsx'; @@ -27,11 +26,12 @@ import { LoadingPlaceholder } from '@/modules/core/components/placeholder/Loadin import { GetMangaScreenQuery } from '@/lib/graphql/generated/graphql.ts'; import { GET_MANGA_SCREEN } from '@/lib/graphql/queries/MangaQuery.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export const Manga: React.FC = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); const { id } = useParams<{ id: string }>(); const autofetchedRef = useRef(false); diff --git a/src/modules/migration/screens/Migrate.tsx b/src/modules/migration/screens/Migrate.tsx index 1178f732..2b356d52 100644 --- a/src/modules/migration/screens/Migrate.tsx +++ b/src/modules/migration/screens/Migrate.tsx @@ -6,10 +6,9 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useContext, useEffect, useLayoutEffect, useState } from 'react'; +import { useEffect, useLayoutEffect, useState } from 'react'; import { useParams } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { TMigratableSource } from '@/modules/migration/components/MigrationCard.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; @@ -23,10 +22,11 @@ import { SOURCE_BASE_FIELDS } from '@/lib/graphql/fragments/SourceFragments.ts'; import { BaseMangaGrid } from '@/modules/manga/components/BaseMangaGrid.tsx'; import { GridLayout } from '@/modules/core/Core.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export const Migrate = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); const { sourceId: paramSourceId } = useParams<{ sourceId: string }>(); diff --git a/src/modules/navigation-bar/components/DefaultNavBar.tsx b/src/modules/navigation-bar/components/DefaultNavBar.tsx index 2078d463..67af4840 100644 --- a/src/modules/navigation-bar/components/DefaultNavBar.tsx +++ b/src/modules/navigation-bar/components/DefaultNavBar.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useCallback, useContext, useLayoutEffect, useMemo, useRef } from 'react'; +import { useCallback, useLayoutEffect, useMemo, useRef } from 'react'; import AppBar from '@mui/material/AppBar'; import Toolbar from '@mui/material/Toolbar'; import Typography from '@mui/material/Typography'; @@ -26,7 +26,6 @@ import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; import MenuIcon from '@mui/icons-material/Menu'; import Stack from '@mui/material/Stack'; import { useTheme } from '@mui/material/styles'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { useBackButton } from '@/modules/core/hooks/useBackButton.ts'; import { useGetOptionForDirection } from '@/modules/theme/services/ThemeCreator.ts'; import { MediaQuery } from '@/modules/core/utils/MediaQuery.tsx'; @@ -35,6 +34,7 @@ import { useResizeObserver } from '@/modules/core/hooks/useResizeObserver.tsx'; import { MobileBottomBar } from '@/modules/navigation-bar/components/MobileBottomBar.tsx'; import { NavbarItem } from '@/modules/navigation-bar/NavigationBar.types.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; const navbarItems: Array = [ { @@ -76,7 +76,7 @@ const navbarItems: Array = [ export function DefaultNavBar() { const { title, action, override, isCollapsed, setIsCollapsed, setAppBarHeight, navBarWidth, setNavBarWidth } = - useContext(NavBarContext); + useNavBarContext(); const theme = useTheme(); const getOptionForDirection = useGetOptionForDirection(); diff --git a/src/modules/settings/screens/About.tsx b/src/modules/settings/screens/About.tsx index 57fd41a0..6bdc5d30 100644 --- a/src/modules/settings/screens/About.tsx +++ b/src/modules/settings/screens/About.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useContext, useLayoutEffect } from 'react'; +import { useLayoutEffect } from 'react'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; @@ -15,7 +15,6 @@ import ListSubheader from '@mui/material/ListSubheader'; import Divider from '@mui/material/Divider'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { ListItemLink } from '@/modules/core/components/ListItemLink.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { UpdateState } from '@/lib/graphql/generated/graphql.ts'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; @@ -23,10 +22,11 @@ import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder import { getBuildTime, getVersion } from '@/modules/app-updates/services/AppUpdateChecker.tsx'; import { VersionInfo } from '@/modules/app-updates/components/VersionInfo.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export function About() { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.about.title')); diff --git a/src/modules/settings/screens/Appearance.tsx b/src/modules/settings/screens/Appearance.tsx index 38800e2b..fc2568dd 100644 --- a/src/modules/settings/screens/Appearance.tsx +++ b/src/modules/settings/screens/Appearance.tsx @@ -16,7 +16,6 @@ import ListSubheader from '@mui/material/ListSubheader'; import Switch from '@mui/material/Switch'; import Link from '@mui/material/Link'; import { useColorScheme } from '@mui/material/styles'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { ThemeMode, ThemeModeContext } from '@/modules/theme/contexts/ThemeModeContext.tsx'; import { Select } from '@/modules/core/components/inputs/Select.tsx'; import { MediaQuery } from '@/modules/core/utils/MediaQuery.tsx'; @@ -36,6 +35,7 @@ import { makeToast } from '@/modules/core/utils/Toast.ts'; import { MetadataThemeSettings } from '@/modules/theme/AppTheme.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { AppStorage } from '@/lib/storage/AppStorage.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export const Appearance = () => { const { t, i18n } = useTranslation(); @@ -43,7 +43,7 @@ export const Appearance = () => { const { mode, setMode } = useColorScheme(); const actualThemeMode = (mode ?? themeMode) as ThemeMode; - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.appearance.title')); setAction(null); diff --git a/src/modules/settings/screens/ServerSettings.tsx b/src/modules/settings/screens/ServerSettings.tsx index 2bb2f402..99381af2 100644 --- a/src/modules/settings/screens/ServerSettings.tsx +++ b/src/modules/settings/screens/ServerSettings.tsx @@ -7,7 +7,7 @@ */ import { useTranslation, Trans } from 'react-i18next'; -import { useContext, useLayoutEffect, useMemo } from 'react'; +import { useLayoutEffect, useMemo } from 'react'; import Link from '@mui/material/Link'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; @@ -15,7 +15,6 @@ import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; import ListSubheader from '@mui/material/ListSubheader'; import { t as translate } from 'i18next'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; @@ -32,6 +31,7 @@ import { makeToast } from '@/modules/core/utils/Toast.ts'; import { MetadataUpdateSettings } from '@/modules/app-updates/AppUpdateChecker.types.ts'; import { ServerSettings as GqlServerSettings } from '@/modules/settings/Settings.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; type ServerSettingsType = Pick< GqlServerSettings, @@ -94,7 +94,7 @@ const getLogFilesCleanupDisplayValue = (ttl: number): string => { export const ServerSettings = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.server.title.settings')); diff --git a/src/modules/settings/screens/Settings.tsx b/src/modules/settings/screens/Settings.tsx index aab775f4..e5ba7049 100644 --- a/src/modules/settings/screens/Settings.tsx +++ b/src/modules/settings/screens/Settings.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useContext, useLayoutEffect } from 'react'; +import { useLayoutEffect } from 'react'; import AutoStoriesIcon from '@mui/icons-material/AutoStories'; import List from '@mui/material/List'; import ListAltIcon from '@mui/icons-material/ListAlt'; @@ -26,16 +26,16 @@ import DevicesIcon from '@mui/icons-material/Devices'; import SyncIcon from '@mui/icons-material/Sync'; import PaletteIcon from '@mui/icons-material/Palette'; import { ListItemLink } from '@/modules/core/components/ListItemLink.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; export function Settings() { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.title')); setAction(null); diff --git a/src/modules/settings/screens/WebUISettings.tsx b/src/modules/settings/screens/WebUISettings.tsx index ae9d91d4..8df6946d 100644 --- a/src/modules/settings/screens/WebUISettings.tsx +++ b/src/modules/settings/screens/WebUISettings.tsx @@ -7,12 +7,12 @@ */ import { useTranslation } from 'react-i18next'; -import { useContext, useLayoutEffect } from 'react'; +import { useLayoutEffect } from 'react'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { WebUIUpdateIntervalSetting } from '@/modules/settings/components/webUI/WebUIUpdateIntervalSetting.tsx'; import { TextSetting } from '@/modules/core/components/settings/text/TextSetting.tsx'; @@ -120,7 +120,7 @@ const extractWebUISettings = (settings: ServerSettings): WebUISettingsType => ({ export const WebUISettings = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('settings.webui.title.settings')); diff --git a/src/modules/source/screens/SourceConfigure.tsx b/src/modules/source/screens/SourceConfigure.tsx index 9aa5e070..1ec2beee 100644 --- a/src/modules/source/screens/SourceConfigure.tsx +++ b/src/modules/source/screens/SourceConfigure.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { createElement, useContext, useLayoutEffect } from 'react'; +import { createElement, useLayoutEffect } from 'react'; import { useParams } from 'react-router-dom'; import List from '@mui/material/List'; import { useTranslation } from 'react-i18next'; @@ -19,7 +19,6 @@ import { import { ListPreference } from '@/modules/source/components/sourceConfiguration/ListPreference.tsx'; import { EditTextPreference } from '@/modules/source/components/sourceConfiguration/EditTextPreference.tsx'; import { MultiSelectListPreference } from '@/modules/source/components/sourceConfiguration/MultiSelectListPreference.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; @@ -28,6 +27,7 @@ import { GET_SOURCE_SETTINGS } from '@/lib/graphql/queries/SourceQuery.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { PreferenceProps } from '@/modules/source/Source.types.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; function getPrefComponent(type: string) { switch (type) { @@ -48,7 +48,7 @@ function getPrefComponent(type: string) { export function SourceConfigure() { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('source.configuration.title')); diff --git a/src/modules/source/screens/SourceMangas.tsx b/src/modules/source/screens/SourceMangas.tsx index 63c1a353..74bd74e3 100644 --- a/src/modules/source/screens/SourceMangas.tsx +++ b/src/modules/source/screens/SourceMangas.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; +import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; import { useParams, useNavigate, useLocation, useSearchParams } from 'react-router-dom'; import IconButton from '@mui/material/IconButton'; import SettingsIcon from '@mui/icons-material/Settings'; @@ -36,7 +36,6 @@ import { GetSourceMangasFetchMutationVariables, SourceType, } from '@/lib/graphql/generated/graphql.ts'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { useMetadataServerSettings } from '@/modules/settings/services/ServerSettingsMetadata.ts'; import { useLocalStorage, useSessionStorage } from '@/modules/core/hooks/useStorage.tsx'; import { AppStorage } from '@/lib/storage/AppStorage.ts'; @@ -53,6 +52,7 @@ import { MangaIdInfo } from '@/modules/manga/Manga.types.ts'; import { GridLayout } from '@/modules/core/Core.types.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; const DEFAULT_SOURCE: Pick = { id: '-1' }; @@ -204,7 +204,7 @@ const useSourceManga = ( export function SourceMangas() { const { t } = useTranslation(); - const { setTitle, setAction, appBarHeight } = useContext(NavBarContext); + const { setTitle, setAction, appBarHeight } = useNavBarContext(); const { sourceId } = useParams<{ sourceId: string }>(); diff --git a/src/modules/source/screens/Sources.tsx b/src/modules/source/screens/Sources.tsx index 2b47e1c0..79dcf90e 100644 --- a/src/modules/source/screens/Sources.tsx +++ b/src/modules/source/screens/Sources.tsx @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { Fragment, useContext, useEffect, useLayoutEffect, useMemo } from 'react'; +import { Fragment, useEffect, useLayoutEffect, useMemo } from 'react'; import IconButton from '@mui/material/IconButton'; import Tooltip from '@mui/material/Tooltip'; import Typography from '@mui/material/Typography'; @@ -24,13 +24,13 @@ import { import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { SourceCard } from '@/modules/source/components/SourceCard.tsx'; import { LangSelect } from '@/modules/core/components/inputs/LangSelect.tsx'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; import { SourceType } from '@/lib/graphql/generated/graphql.ts'; import { translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; function sourceToLangList(sources: Pick[]) { const result = new Set(); @@ -65,7 +65,7 @@ function groupByLang>( export function Sources() { const { t } = useTranslation(); - const { setAction } = useContext(NavBarContext); + const { setAction } = useNavBarContext(); const [shownLangs, setShownLangs] = useLocalStorage('shownSourceLangs', sourceDefualtLangs()); const [showNsfw] = useLocalStorage('showNsfw', true); diff --git a/src/modules/tracker/screens/TrackingSettings.tsx b/src/modules/tracker/screens/TrackingSettings.tsx index 44059263..10c05d49 100644 --- a/src/modules/tracker/screens/TrackingSettings.tsx +++ b/src/modules/tracker/screens/TrackingSettings.tsx @@ -7,14 +7,13 @@ */ import { useTranslation } from 'react-i18next'; -import { useContext, useLayoutEffect } from 'react'; +import { useLayoutEffect } from 'react'; import List from '@mui/material/List'; - import ListSubheader from '@mui/material/ListSubheader'; import ListItem from '@mui/material/ListItem'; import ListItemText from '@mui/material/ListItemText'; import Switch from '@mui/material/Switch'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; @@ -32,7 +31,7 @@ import { getErrorMessage } from '@/lib/HelperFunctions.ts'; export const TrackingSettings = () => { const { t } = useTranslation(); - const { setTitle } = useContext(NavBarContext); + const { setTitle } = useNavBarContext(); useLayoutEffect(() => { setTitle(t('tracking.settings.title.settings')); diff --git a/src/modules/updates/screens/Updates.tsx b/src/modules/updates/screens/Updates.tsx index af5e4a41..e0fa3fd4 100644 --- a/src/modules/updates/screens/Updates.tsx +++ b/src/modules/updates/screens/Updates.tsx @@ -7,13 +7,12 @@ */ import Typography from '@mui/material/Typography'; -import React, { useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from 'react'; +import React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx'; import { ChapterType } from '@/lib/graphql/generated/graphql.ts'; -import { NavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; import { UpdateChecker } from '@/modules/core/components/UpdateChecker.tsx'; import { StyledGroupedVirtuoso } from '@/modules/core/components/virtuoso/StyledGroupedVirtuoso.tsx'; import { StyledGroupHeader } from '@/modules/core/components/virtuoso/StyledGroupHeader.tsx'; @@ -23,6 +22,7 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { ChapterUpdateCard } from '@/modules/updates/components/ChapterUpdateCard.tsx'; +import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx'; const groupByDate = (updates: Pick[]): [date: string, items: number][] => { if (!updates.length) { @@ -41,7 +41,7 @@ const groupByDate = (updates: Pick[]): [date: string, export const Updates: React.FC = () => { const { t } = useTranslation(); - const { setTitle, setAction } = useContext(NavBarContext); + const { setTitle, setAction } = useNavBarContext(); const { data: chapterUpdateData, loading: isLoading,