Files
Alta-Proxy-Tool/renderer-controller.js
T
peji ace4568f81
APT build checks / build-checks (push) Successful in 37s
APT build checks / build-checks (pull_request) Successful in 37s
feat: release passwordless hierarchical APT v1.2.5
2026-08-22 16:20:12 +00:00

51 lines
1.6 KiB
JavaScript

'use strict';
(function exposeRendererController(globalScope) {
function shouldShowPairingOnboarding({
paired = false,
secretVisible = false,
connected = false,
manuallyOpen = false,
} = {}) {
return manuallyOpen || !paired || (secretVisible && !connected);
}
function createRendererController({
disconnect,
renderConnectionState,
clearDisconnectedState,
showConnectionStatus,
} = {}) {
if (
typeof disconnect !== 'function' ||
typeof renderConnectionState !== 'function' ||
typeof clearDisconnectedState !== 'function' ||
typeof showConnectionStatus !== 'function'
) {
throw new TypeError('Renderer controller dependencies are invalid.');
}
return Object.freeze({
async disconnect() {
const result = await disconnect();
if (!result || result.success !== true) {
const message = result && typeof result.message === 'string'
? result.message
: 'Failed to disconnect from Alta. The current connection remains active.';
showConnectionStatus(message, 'error');
return result;
}
renderConnectionState(result);
clearDisconnectedState();
showConnectionStatus('Disconnected from Alta.', 'info');
return result;
},
});
}
const api = Object.freeze({ createRendererController, shouldShowPairingOnboarding });
if (typeof module !== 'undefined' && module.exports) module.exports = api;
if (globalScope) globalScope.AptRendererController = api;
}(typeof window !== 'undefined' ? window : undefined));