diff --git a/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditor.jsx b/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditor.jsx index c2a5cd1f78..0ad287b4bc 100644 --- a/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditor.jsx +++ b/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditor.jsx @@ -1,5 +1,4 @@ import React, { - useState, useContext, useEffect, useRef, @@ -31,7 +30,6 @@ import { exportData, ExportTypes } from '../../utils/export'; */ export const UserRulesEditor = observer(({ fullscreen, uiStore }) => { const store = useContext(userRulesEditorStore); - const [userFilterEnabled, setUserFilterEnabledSettingId] = useState(false); const editorRef = useRef(null); const inputRef = useRef(null); @@ -45,7 +43,27 @@ export const UserRulesEditor = observer(({ fullscreen, uiStore }) => { useEffect(() => { (async () => { await store.requestSettingsData(); - setUserFilterEnabledSettingId(store.userFilterEnabled); + + const events = [ + NOTIFIER_TYPES.SETTING_UPDATED, + ]; + await messenger.createEventListener( + events, + async (message) => { + const { type } = message; + + switch (type) { + case NOTIFIER_TYPES.SETTING_UPDATED: { + await store.requestSettingsData(); + break; + } + default: { + log.debug('Undefined message type:', type); + break; + } + } + }, + ); })(); }, [store]); @@ -329,7 +347,7 @@ export const UserRulesEditor = observer(({ fullscreen, uiStore }) => { diff --git a/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditorStore.js b/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditorStore.js index 3487630b05..2eb40caaf6 100644 --- a/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditorStore.js +++ b/Extension/src/pages/common/components/UserRulesEditor/UserRulesEditorStore.js @@ -109,7 +109,10 @@ class UserRulesEditorStore { @computed get userFilterEnabled() { - return this.settings.values[this.userFilterEnabledSettingId]; + if (this.settings) { + return this.settings.values[this.userFilterEnabledSettingId]; + } + return false; } // eslint-disable-next-line class-methods-use-this