index.js 1.53 KiB
Newer Older
Amaury Martiny's avatar
Amaury Martiny committed
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
//
Amaury Martiny's avatar
Amaury Martiny committed
// SPDX-License-Identifier: BSD-3-Clause
Axel Chalon's avatar
Axel Chalon committed
import { checkClockSync, signerNewToken } from '@parity/electron';
Amaury Martiny's avatar
Amaury Martiny committed
import Pino from '../utils/pino';
Amaury Martiny's avatar
Amaury Martiny committed

const pino = Pino();

Amaury Martiny's avatar
Amaury Martiny committed
/**
 * Handle all asynchronous messages from renderer to main.
 */
export default async (fetherApp, event, action, ...args) => {
Amaury Martiny's avatar
Amaury Martiny committed
  try {
Amaury Martiny's avatar
Amaury Martiny committed
    if (!action) {
Amaury Martiny's avatar
Amaury Martiny committed
      return;
    }
Amaury Martiny's avatar
Amaury Martiny committed
    switch (action) {
Amaury Martiny's avatar
Amaury Martiny committed
      case 'app-resize': {
        if (!fetherApp.win || !args[0]) {
        const [width] = fetherApp.win.getContentSize();
        // Conversion to integer is required to pass as argument to setContentSize.
        // Reference: https://electronjs.org/docs/all#winsetcontentsizewidth-height-animate
        const newHeight = parseInt(args[0]);
        fetherApp.win.setContentSize(width, Math.round(newHeight) + 2);
        break;
      }
      case 'app-right-click': {
        if (!fetherApp.win) {
          return;
        }
        fetherApp.contextWindowMenu.getMenu().popup({ window: fetherApp.win });
Amaury Martiny's avatar
Amaury Martiny committed
        break;
      }
Axel Chalon's avatar
Axel Chalon committed
      case 'check-clock-sync': {
        checkClockSync().then(t => {
          event.sender.send('check-clock-sync-reply', t);
Amaury Martiny's avatar
Amaury Martiny committed
      case 'signer-new-token': {
        const token = await signerNewToken();
        // Send back the token to the renderer process
        event.sender.send('signer-new-token-reply', token);
Amaury Martiny's avatar
Amaury Martiny committed
        break;
      }
      default:
Amaury Martiny's avatar
Amaury Martiny committed
  } catch (err) {
    pino.error(err);