[feature] properly handle link click from renderer

This commit is contained in:
MathieuG-P
2023-08-02 02:31:41 +02:00
parent 82675925ff
commit d0aff9d27b
+10 -1
View File
@@ -1,9 +1,10 @@
import { app, BrowserWindow, BrowserWindowConstructorOptions } from "electron";
import { app, BrowserWindow, BrowserWindowConstructorOptions, shell } from "electron";
import { resolveHtmlPath } from "../util";
import { UtilsService } from "./utils.service";
import { AppWindow } from "shared/models/window-manager/app-window.model";
import path from "path";
import { APP_NAME } from "../constants";
import { isValidUrl } from "../../shared/helpers/url.helpers";
export class WindowManagerService {
private static instance: WindowManagerService;
@@ -44,6 +45,14 @@ export class WindowManagerService {
public openWindow(windowType: AppWindow, options?: BrowserWindowConstructorOptions): Promise<BrowserWindow> {
const window = new BrowserWindow({ ...this.appWindowsOptions[windowType], ...this.baseWindowOption, ...options });
window.webContents.setWindowOpenHandler(({ url }) => {
if(isValidUrl(url)){
shell.openExternal(url);
}
return { action: "deny"}
})
const promise = window.loadURL(resolveHtmlPath(windowType));
window.removeMenu();
window.setMenu(null);