import { type BrowserWindow } from 'electron' export default function ( app: Electron.App, win: BrowserWindow | null, ipcMain: Electron.IpcMain, shell: Electron.Shell ) { ipcMain.on('deeplink', (_event, url) => { // open browser shell.openExternal(url) }) app.on('open-url', (_event, url) => { const paramsString = url.split('://')[1] const kind = paramsString.split('?')[0] const params = new URLSearchParams(paramsString) if (kind === '/login') { win?.webContents.send('loginSuccess', { id: params.get('id'), name: params.get('name'), email: params.get('email'), picture: params.get('picture'), permissions: params.get('permissions'), access_token: params.get('access_token'), max_age: params.get('access_token_max_age'), refresh_token: params.get('refresh_token') }) } }) }