From 4090cf093df27cc4df02df49ed31f9355afaff97 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 10 Mar 2023 02:33:58 +0100 Subject: [PATCH] Page Title: Sync setting between tabs (#2751) --- package-lock.json | 1 - src/components/left/settings/SettingsPrivacy.tsx | 2 -- src/global/actions/ui/settings.ts | 8 +++++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0f348597e..f77f4144d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -105,7 +105,6 @@ } }, "dev/eslint-multitab": { - "name": "eslint-plugin-eslint-multitab-tt", "version": "0.0.0", "dev": true, "license": "ISC", diff --git a/src/components/left/settings/SettingsPrivacy.tsx b/src/components/left/settings/SettingsPrivacy.tsx index 2bb95e4c8..a0b9b9256 100644 --- a/src/components/left/settings/SettingsPrivacy.tsx +++ b/src/components/left/settings/SettingsPrivacy.tsx @@ -74,7 +74,6 @@ const SettingsPrivacy: FC = ({ loadWebAuthorizations, showNotification, setSettingOption, - updatePageTitle, } = getActions(); useEffect(() => { @@ -118,7 +117,6 @@ const SettingsPrivacy: FC = ({ setSettingOption({ canDisplayChatInTitle: isChecked, }); - updatePageTitle(); }, []); const handleUpdateContentSettings = useCallback((isChecked: boolean) => { diff --git a/src/global/actions/ui/settings.ts b/src/global/actions/ui/settings.ts index c1498b578..cb0f96553 100644 --- a/src/global/actions/ui/settings.ts +++ b/src/global/actions/ui/settings.ts @@ -1,4 +1,4 @@ -import { addActionHandler } from '../../index'; +import { addActionHandler, getActions } from '../../index'; import { replaceSettings, replaceThemeSettings } from '../../reducers'; import switchTheme from '../../../util/switchTheme'; import { ANIMATION_LEVEL_MAX, ANIMATION_LEVEL_MED, ANIMATION_LEVEL_MIN } from '../../../config'; @@ -12,6 +12,8 @@ import { getCurrentTabId } from '../../../util/establishMultitabRole'; let prevGlobal: GlobalState | undefined; addCallback((global: GlobalState) => { + const { updatePageTitle } = getActions(); + const settings = global.settings.byKey; const prevSettings = prevGlobal?.settings.byKey; prevGlobal = global; @@ -48,6 +50,10 @@ addCallback((global: GlobalState) => { document.documentElement.style.setProperty('--message-text-size', `${settings.messageTextSize}px`); document.documentElement.setAttribute('data-message-text-size', settings.messageTextSize.toString()); } + + if (settings.canDisplayChatInTitle !== prevSettings.canDisplayChatInTitle) { + updatePageTitle(); + } }); addActionHandler('setSettingOption', (global, actions, payload): ActionReturnType => {