Files
rats-search/src/background/menu/about_menu_template.js
2021-06-10 14:40:54 +03:00

104 lines
2.4 KiB
JavaScript

import { app, BrowserWindow, shell } from "electron";
import path from "path";
import url from "url";
import __ from '../../app/translation'
export const aboutMenuTemplateFunc = () => ({
label: __("About"),
submenu: [
{
label: __("Changelog"),
accelerator: "CmdOrCtrl+]",
click: () => {
const win = new BrowserWindow({
parent: BrowserWindow.getFocusedWindow(),
modal: true,
webPreferences: {
nodeIntegration: true,
enableRemoteModule: true,
contextIsolation: false,
}
})
win.setMenu(null)
win.loadURL(url.format({
pathname: path.join(__dirname, "app.html"),
protocol: "file:",
slashes: true
}))
win.webContents.on('did-finish-load', () => {
logT('changelog', "finish load page, open changlog")
setTimeout(() => win.send('url', '/changelog'), 0)
});
const handleRedirect = (e, url) => {
if(url != win.webContents.getURL()) {
e.preventDefault()
shell.openExternal(url)
}
}
win.webContents.on('will-navigate', handleRedirect)
win.webContents.on('new-window', handleRedirect)
},
},
{
label: __("Bug Report"),
accelerator: "CmdOrCtrl+[",
click: () => {
shell.openExternal('https://github.com/DEgITx/rats-search/issues')
},
},
{
label: __("Donate"),
accelerator: "CmdOrCtrl+*",
click: () => {
const win = new BrowserWindow({
parent: BrowserWindow.getFocusedWindow(),
modal: true,
width: 1000
})
win.setMenu(null)
win.loadURL(url.format({
pathname: path.join(__dirname, "donate.html"),
protocol: "file:",
slashes: true
}))
const handleRedirect = (e, url) => {
if(url != win.webContents.getURL()) {
if(!url.includes('patreon'))
return
e.preventDefault()
shell.openExternal(url)
}
}
win.webContents.on('will-navigate', handleRedirect)
win.webContents.on('new-window', handleRedirect)
},
},
{
label: __("Help (Documentation)"),
accelerator: "CmdOrCtrl+?",
click: () => {
shell.openExternal('https://github.com/DEgITx/rats-search/blob/master/docs/MANUAL.md')
},
},
{
label: __("Support (Discussion)"),
accelerator: "CmdOrCtrl+>",
click: () => {
shell.openExternal('https://discord.gg/t9GQtxA')
},
},
{
label: __("About (GitHub)"),
accelerator: "CmdOrCtrl+<",
click: () => {
shell.openExternal('https://github.com/DEgITx/rats-search')
},
}
]
});