they can use the "Try again" button to prompt again (!this.isPrimaryPasswordLocked || !this.fxaSignedIn) ); }, observe(_, topic, data) { switch (topic) { case NETWORK_STATUS_CHANGED: this.networkIsOnline = data == "online"; break; case lazy.UIState.ON_UPDATE: this.syncIsConnected = lazy.UIState.get().syncEnabled; break; case SYNC_SERVICE_ERROR: if (lazy.UIState.get().status == lazy.UIState.STATUS_SIGNED_IN) { this.syncIsWorking = false; } break; case SYNC_SERVICE_FINISHED: if (!this.syncIsWorking) { this.syncIsWorking = true; this.syncHasWorked = true; } break; case TOPIC_DEVICESTATE_CHANGED: this.syncHasWorked = false; } }, ErrorType, // We map the error state strings to Fluent string IDs so that it's easier // to change strings in the future without having to update all of the // error state strings. _errorStateStringMappings: { [ErrorType.SYNC_ERROR]: { header: "firefoxview-tabpickup-sync-error-header", description: "firefoxview-tabpickup-generic-sync-error-description", buttonLabel: "firefoxview-tabpickup-sync-error-primarybutton", }, [ErrorType.FXA_ADMIN_DISABLED]: { header: "firefoxview-tabpickup-fxa-admin-disabled-header", description: "firefoxview-tabpickup-fxa-disabled-by-policy-description", // The button is hidden for this errorState, so we don't include the // buttonLabel property. }, [ErrorType.NETWORK_OFFLINE]: { header: "firefoxview-tabpickup-network-offline-header", description: "firefoxview-tabpickup-network-offline-description", buttonLabel: "firefoxview-tabpickup-network-offline-primarybutton", }, [ErrorType.SYNC_DISCONNECTED]: { header: "firefoxview-tabpickup-sync-disconnected-header", description: "firefoxview-tabpickup-sync-disconnected-description", buttonLabel: "firefoxview-tabpickup-sync-disconnected-primarybutton", }, [ErrorType.PASSWORD_LOCKED]: { header: "firefoxview-tabpickup-password-locked-header", description: "firefoxview-tabpickup-password-locked-description", buttonLabel: "firefoxview-tabpickup-password-locked-primarybutton", link: { label: "firefoxview-tabpickup-password-locked-link", href: Services.urlFormatter.formatURLPref("app.support.baseURL") + "primary-password-stored-logins", }, }, [ErrorType.SIGNED_OUT]: { header: "firefoxview-tabpickup-signed-out-header", description: "firefoxview-tabpickup-signed-out-description2", buttonLabel: "firefoxview-tabpickup-signed-out-primarybutton", }, }, }.init(); PK