From 708838e759ad394ba80f00427c46fc3ce194e96d Mon Sep 17 00:00:00 2001 From: Diana Fulga Date: Fri, 16 Aug 2024 15:30:56 +0300 Subject: [PATCH] fix(background): if wallet not connected, display default icon (#506) * If not connected, display default icon * Fix lint * reduce code nesting * Update src/background/services/tabEvents.ts --------- Co-authored-by: Sid Vishnoi <8426945+sidvishnoi@users.noreply.github.com> --- src/background/services/background.ts | 1 + src/background/services/tabEvents.ts | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/background/services/background.ts b/src/background/services/background.ts index e0941f62..360915bf 100644 --- a/src/background/services/background.ts +++ b/src/background/services/background.ts @@ -150,6 +150,7 @@ export class Background { case PopupToBackgroundAction.DISCONNECT_WALLET: await this.openPaymentsService.disconnectWallet() await this.browser.alarms.clear(ALARM_RESET_OUT_OF_FUNDS) + await this.updateVisualIndicatorsForCurrentTab() this.sendToPopup.send('SET_STATE', { state: {}, prevState: {} }) return diff --git a/src/background/services/tabEvents.ts b/src/background/services/tabEvents.ts index 70577307..8f26fef8 100644 --- a/src/background/services/tabEvents.ts +++ b/src/background/services/tabEvents.ts @@ -104,9 +104,14 @@ export class TabEvents { ? this.tabState.tabHasAllSessionsInvalid(tabId) : false ) => { - const { enabled, state } = await this.storage.get(['enabled', 'state']) + const { enabled, connected, state } = await this.storage.get([ + 'enabled', + 'connected', + 'state' + ]) const { path, title, isMonetized } = this.getIconAndTooltip({ enabled, + connected, state, isTabMonetized, hasTabAllSessionsInvalid @@ -129,18 +134,22 @@ export class TabEvents { private getIconAndTooltip({ enabled, + connected, state, isTabMonetized, hasTabAllSessionsInvalid }: { enabled: Storage['enabled'] + connected: Storage['connected'] state: Storage['state'] isTabMonetized: boolean hasTabAllSessionsInvalid: boolean }) { let title = this.t('appName') let iconData = ICONS.default - if (!isOkState(state) || hasTabAllSessionsInvalid) { + if (!connected) { + // use defaults + } else if (!isOkState(state) || hasTabAllSessionsInvalid) { iconData = enabled ? ICONS.enabled_warn : ICONS.disabled_warn const tabStateText = this.t('icon_state_actionRequired') title = `${title} - ${tabStateText}`