diff --git a/app/assets/javascripts/services/bridge.ts b/app/assets/javascripts/services/bridge.ts index 7b0da9931..5cf08d83a 100644 --- a/app/assets/javascripts/services/bridge.ts +++ b/app/assets/javascripts/services/bridge.ts @@ -17,6 +17,7 @@ export interface Bridge { syncComponents(payloads: unknown[]): void; onMajorDataChange(): void; onInitialDataLoad(): void; + onSignOut(): void; onSearch(text?: string): void; downloadBackup(): void | Promise; } diff --git a/app/assets/javascripts/services/browserBridge.ts b/app/assets/javascripts/services/browserBridge.ts index d0408ffa6..29796ec80 100644 --- a/app/assets/javascripts/services/browserBridge.ts +++ b/app/assets/javascripts/services/browserBridge.ts @@ -30,4 +30,5 @@ export class BrowserBridge implements Bridge { onInitialDataLoad(): void {} onSearch(): void {} downloadBackup(): void {} + onSignOut(): void {} } diff --git a/app/assets/javascripts/ui_models/application.ts b/app/assets/javascripts/ui_models/application.ts index d47790a9f..131c3055b 100644 --- a/app/assets/javascripts/ui_models/application.ts +++ b/app/assets/javascripts/ui_models/application.ts @@ -6,13 +6,12 @@ import { InputModalScope } from '@/directives/views/inputModal'; import { PasswordWizardType, PasswordWizardScope } from '@/types'; import { SNApplication, - platformFromString, SNComponent, PermissionDialog, DeinitSource, } from '@standardnotes/snjs'; import angular from 'angular'; -import { getPlatform, getPlatformString } from '@/utils'; +import { getPlatform } from '@/utils'; import { AlertService } from '@/services/alertService'; import { WebDeviceInterface } from '@/web_device_interface'; import { @@ -92,6 +91,9 @@ export class WebApplication extends SNApplication { this.scope = undefined; (this.openModalComponent as any) = undefined; (this.presentPermissionsDialog as any) = undefined; + if (source === DeinitSource.SignOut) { + this.bridge.onSignOut(); + } /** Allow our Angular directives to be destroyed and any pending digest cycles * to complete before destroying the global application instance and all its services */ setTimeout(() => {