Update browser and nav bar title on language change (#275)
This commit is contained in:
@@ -53,7 +53,7 @@ const DownloadQueue: React.FC = () => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('download.queue.title'));
|
setTitle(t('download.queue.title'));
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const onDragEnd = (result: DropResult) => {};
|
const onDragEnd = (result: DropResult) => {};
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ export default function MangaExtensions() {
|
|||||||
<LangSelect shownLangs={shownLangs} setShownLangs={setShownLangs} allLangs={allLangs} />
|
<LangSelect shownLangs={shownLangs} setShownLangs={setShownLangs} allLangs={allLangs} />
|
||||||
</>,
|
</>,
|
||||||
);
|
);
|
||||||
}, [shownLangs]);
|
}, [t, shownLangs]);
|
||||||
|
|
||||||
const { data: allExtensions, mutate, loading } = useQuery<IExtension[]>('/api/v1/extension/list');
|
const { data: allExtensions, mutate, loading } = useQuery<IExtension[]>('/api/v1/extension/list');
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ export default function Library() {
|
|||||||
setTitle('');
|
setTitle('');
|
||||||
setAction(null);
|
setAction(null);
|
||||||
};
|
};
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
const handleTabChange = (newTab: number) => {
|
const handleTabChange = (newTab: number) => {
|
||||||
setTabSearchParam(newTab === 0 ? undefined : newTab);
|
setTabSearchParam(newTab === 0 ? undefined : newTab);
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ const Manga: React.FC = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(manga?.title ?? t('manga.title'));
|
setTitle(manga?.title ?? t('manga.title'));
|
||||||
}, [manga?.title]);
|
}, [t, manga?.title]);
|
||||||
|
|
||||||
if (error && !manga) {
|
if (error && !manga) {
|
||||||
return <EmptyView message={t('manga.error.label.request_failure')} messageExtra={error.message ?? error} />;
|
return <EmptyView message={t('manga.error.label.request_failure')} messageExtra={error.message ?? error} />;
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ export default function Reader() {
|
|||||||
} else {
|
} else {
|
||||||
setTitle(`${manga.title}: ${(chapter as IChapter).name}`);
|
setTitle(`${manga.title}: ${(chapter as IChapter).name}`);
|
||||||
}
|
}
|
||||||
}, [manga, chapter]);
|
}, [t, manga, chapter]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!areDefaultSettingsLoading && !isMangaLoading) {
|
if (!areDefaultSettingsLoading && !isMangaLoading) {
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ const SearchAll: React.FC = () => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('search.title.global_search'));
|
setTitle(t('search.title.global_search'));
|
||||||
setAction(<AppbarSearch />);
|
setAction(<AppbarSearch />);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
client
|
client
|
||||||
@@ -161,7 +161,7 @@ const SearchAll: React.FC = () => {
|
|||||||
/>
|
/>
|
||||||
</>,
|
</>,
|
||||||
);
|
);
|
||||||
}, [shownLangs, sources]);
|
}, [t, shownLangs, sources]);
|
||||||
|
|
||||||
if (query) {
|
if (query) {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export default function Settings() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('settings.title'));
|
setTitle(t('settings.title'));
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
const { darkTheme, setDarkTheme } = useContext(DarkTheme);
|
const { darkTheme, setDarkTheme } = useContext(DarkTheme);
|
||||||
const [serverAddress, setServerAddress] = useLocalStorage<String>('serverBaseURL', '');
|
const [serverAddress, setServerAddress] = useLocalStorage<String>('serverBaseURL', '');
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export default function SourceConfigure() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('source.configuration.title'));
|
setTitle(t('source.configuration.title'));
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
const { sourceId } = useParams<{ sourceId: string }>();
|
const { sourceId } = useParams<{ sourceId: string }>();
|
||||||
const { data: sourcePreferences = [], mutate } = useQuery<SourcePreferences[]>(
|
const { data: sourcePreferences = [], mutate } = useQuery<SourcePreferences[]>(
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export default function SourceMangas({ popular }: { popular: boolean }) {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('source.title')); // title is later set after a fetch but we set it here once
|
setTitle(t('source.title')); // title is later set after a fetch but we set it here once
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
client
|
client
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ export default function Sources() {
|
|||||||
/>
|
/>
|
||||||
</>,
|
</>,
|
||||||
);
|
);
|
||||||
}, [shownLangs, sources]);
|
}, [t, shownLangs, sources]);
|
||||||
|
|
||||||
if (loading) return <LoadingPlaceholder />;
|
if (loading) return <LoadingPlaceholder />;
|
||||||
|
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ const Updates: React.FC = () => {
|
|||||||
setTitle(t('updates.title'));
|
setTitle(t('updates.title'));
|
||||||
|
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (hasNextPage) {
|
if (hasNextPage) {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export default function About() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('settings.about.title'));
|
setTitle(t('settings.about.title'));
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
const { data: about } = useQuery<IAbout>('/api/v1/settings/about');
|
const { data: about } = useQuery<IAbout>('/api/v1/settings/about');
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export default function Backup() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('settings.backup.title'));
|
setTitle(t('settings.backup.title'));
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
const { baseURL } = client.defaults;
|
const { baseURL } = client.defaults;
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export default function Categories() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('category.title.categories'));
|
setTitle(t('category.title.categories'));
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
const { data, mutate } = useQuery<ICategory[]>('/api/v1/category/');
|
const { data, mutate } = useQuery<ICategory[]>('/api/v1/category/');
|
||||||
const categories = useMemo(() => {
|
const categories = useMemo(() => {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export default function DefaultReaderSettings() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(t('reader.settings.title.default_reader_settings'));
|
setTitle(t('reader.settings.title.default_reader_settings'));
|
||||||
setAction(null);
|
setAction(null);
|
||||||
}, []);
|
}, [t]);
|
||||||
|
|
||||||
const { metadata, settings, loading } = useDefaultReaderSettings();
|
const { metadata, settings, loading } = useDefaultReaderSettings();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user