mirror of
https://github.com/samuelthomas2774/nxapi.git
synced 2026-03-21 18:04:10 -05:00
Windows and save presence URLs
This commit is contained in:
parent
c6a91b74dc
commit
49ee4f87b5
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
|
|
@ -14,7 +14,7 @@
|
|||
"runtimeExecutable": "${workspaceFolder}/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron"
|
||||
},
|
||||
"windows": {
|
||||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
|
||||
"runtimeExecutable": "${workspaceFolder}/node_modules/electron/dist/electron.exe"
|
||||
},
|
||||
"args": [
|
||||
"dist/app/main/app-entry.cjs"
|
||||
|
|
|
|||
|
|
@ -161,13 +161,13 @@ export class Store extends EventEmitter {
|
|||
});
|
||||
}
|
||||
|
||||
if (monitor.presence_user && !state.discord_presence) {
|
||||
if (monitor.presence_enabled && !state.discord_presence) {
|
||||
state.discord_presence = monitor instanceof EmbeddedProxyPresenceMonitor ? {
|
||||
url: monitor.presence_url,
|
||||
} : {
|
||||
na_id: monitor.data.user.id,
|
||||
friend_nsa_id: monitor.presence_user === monitor.data.nsoAccount.user.nsaId ? undefined :
|
||||
monitor.presence_user,
|
||||
monitor.presence_user ?? undefined,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -207,5 +207,14 @@ export class Store extends EventEmitter {
|
|||
err instanceof Error ? err.stack ?? err.message : err as any);
|
||||
}
|
||||
}
|
||||
|
||||
if (state.discord_presence && 'url' in state.discord_presence) {
|
||||
try {
|
||||
await monitors.startUrl(state.discord_presence.url);
|
||||
} catch (err) {
|
||||
dialog.showErrorBox('Error restoring monitor for presence URL ' + state.discord_presence.url,
|
||||
err instanceof Error ? err.stack ?? err.message : err as any);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,6 +76,8 @@ export function setupIpc(appinstance: App, ipcMain: IpcMain) {
|
|||
parent: BrowserWindow.fromWebContents(e.sender) ?? undefined,
|
||||
modal: true,
|
||||
show: false,
|
||||
maximizable: false,
|
||||
minimizable: false,
|
||||
width: 560,
|
||||
height: 300,
|
||||
minWidth: 450,
|
||||
|
|
@ -87,6 +89,8 @@ export function setupIpc(appinstance: App, ipcMain: IpcMain) {
|
|||
parent: BrowserWindow.fromWebContents(e.sender) ?? undefined,
|
||||
modal: true,
|
||||
show: false,
|
||||
maximizable: false,
|
||||
minimizable: false,
|
||||
width: 560,
|
||||
height: 300,
|
||||
minWidth: 450,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import { bundlepath } from './util.js';
|
|||
import { app_menu, createWindowMenu } from './app-menu.js';
|
||||
import { WebService } from '../../api/znc-types.js';
|
||||
|
||||
const windows = new Map<WebContents, WindowConfiguration>();
|
||||
const menus = new Map<BrowserWindow, Menu>();
|
||||
const windows = new WeakMap<WebContents, WindowConfiguration>();
|
||||
const menus = new WeakMap<BrowserWindow, Menu>();
|
||||
|
||||
app.on('browser-window-focus', (event, window) => {
|
||||
Menu.setApplicationMenu(menus.get(window) ?? app_menu);
|
||||
|
|
@ -44,11 +44,6 @@ export function createWindow<T extends WindowType>(
|
|||
windows.set(window.webContents, data);
|
||||
menus.set(window, createWindowMenu(window));
|
||||
|
||||
window.on('closed', () => {
|
||||
windows.delete(window.webContents);
|
||||
menus.delete(window);
|
||||
});
|
||||
|
||||
window.loadFile(path.join(bundlepath, 'index.html'));
|
||||
if (dev) window.webContents.openDevTools();
|
||||
|
||||
|
|
@ -85,9 +80,5 @@ export function createWebServiceWindow(nsa_id: string, webservice: WebService, t
|
|||
|
||||
menus.set(window, createWindowMenu(window));
|
||||
|
||||
window.on('closed', () => {
|
||||
menus.delete(window);
|
||||
});
|
||||
|
||||
return window;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user