diff --git a/src/app/main/ipc.ts b/src/app/main/ipc.ts index e6a7147..fe31852 100644 --- a/src/app/main/ipc.ts +++ b/src/app/main/ipc.ts @@ -170,6 +170,7 @@ export function setupIpc(appinstance: App, ipcMain: IpcMain) { ipcMain.handle('nxapi:webserviceapi:copyToClipboard', (e, data: string) => webserviceipc.copyToClipboard(e, data)); ipcMain.handle('nxapi:webserviceapi:downloadImages', (e, data: string) => webserviceipc.downloadImages(e, data)); ipcMain.handle('nxapi:webserviceapi:completeLoading', e => webserviceipc.completeLoading(e)); + ipcMain.handle('nxapi:webserviceapi:clearUnreadFlag', e => webserviceipc.clearUnreadFlag(e)); store.on('update-nintendo-accounts', () => sendToAllWindows('nxapi:accounts:shouldrefresh')); store.on('update-discord-presence-source', () => sendToAllWindows('nxapi:discord:shouldrefresh')); diff --git a/src/app/main/webservices.ts b/src/app/main/webservices.ts index 657e52e..0114c06 100644 --- a/src/app/main/webservices.ts +++ b/src/app/main/webservices.ts @@ -442,4 +442,10 @@ export class WebServiceIpc { debug('Web service %s, user %s, called completeLoading', webservice.name, nsoAccount.user.name); } + + async clearUnreadFlag(event: IpcMainInvokeEvent): Promise { + const {nsoAccount, webservice} = this.getWindowData(event.sender); + + debug('Web service %s, user %s, called clearUnreadFlag', webservice.name, nsoAccount.user.name); + } } diff --git a/src/app/preload-webservice/ipc.ts b/src/app/preload-webservice/ipc.ts index 6268e1a..e0f1bcd 100644 --- a/src/app/preload-webservice/ipc.ts +++ b/src/app/preload-webservice/ipc.ts @@ -20,6 +20,7 @@ const ipc = { copyToClipboard: (data: string) => ipcRenderer.invoke('nxapi:webserviceapi:copyToClipboard', data) as Promise, downloadImages: (data: string) => ipcRenderer.invoke('nxapi:webserviceapi:downloadImages', data) as Promise, completeLoading: () => ipcRenderer.invoke('nxapi:webserviceapi:completeLoading') as Promise, + clearUnreadFlag: () => ipcRenderer.invoke('nxapi:webserviceapi:clearUnreadFlag') as Promise, }; export default ipc; diff --git a/src/app/preload-webservice/znca-js-api.ts b/src/app/preload-webservice/znca-js-api.ts index 531182f..de2909f 100644 --- a/src/app/preload-webservice/znca-js-api.ts +++ b/src/app/preload-webservice/znca-js-api.ts @@ -142,6 +142,16 @@ interface WebServiceJsApi { * Used by SplatNet 3. */ reloadExtension(): void; + + /** + * Clears the unread notifications flag. + */ + clearUnreadFlag(): void; + + /** + * Opens a URL in the default browser. + */ + openExternalBrowser(url: string): void; } // @@ -339,6 +349,16 @@ function reloadExtension() { debug('reloadExtension called'); } +function clearUnreadFlag() { + debug('clearUnreadFlag called'); + ipc.clearUnreadFlag(); +} + +function openExternalBrowser(url: string) { + debug('openExternalBrowser called', url); + window.open(url); +} + const api: WebServiceJsApi = { invokeNativeShare, invokeNativeShareUrl, @@ -356,6 +376,8 @@ const api: WebServiceJsApi = { completeLoading, closeWebView, reloadExtension, + clearUnreadFlag, + openExternalBrowser, }; window.jsBridge = api;