From 67426af3ef73e788d99b6d2e0c730c270daea273 Mon Sep 17 00:00:00 2001 From: AAGaming Date: Tue, 9 Aug 2022 21:52:03 -0400 Subject: Add api for showing toast notifications --- frontend/src/plugin-loader.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'frontend/src/plugin-loader.tsx') diff --git a/frontend/src/plugin-loader.tsx b/frontend/src/plugin-loader.tsx index 29ca326f..df3b220a 100644 --- a/frontend/src/plugin-loader.tsx +++ b/frontend/src/plugin-loader.tsx @@ -12,6 +12,8 @@ import Logger from './logger'; import { Plugin } from './plugin'; import RouterHook from './router-hook'; import TabsHook from './tabs-hook'; +import Toaster from './toaster'; +import { VerInfo, callUpdaterMethod } from './updater'; declare global { interface Window {} @@ -22,6 +24,7 @@ class PluginLoader extends Logger { private tabsHook: TabsHook = new TabsHook(); // private windowHook: WindowHook = new WindowHook(); private routerHook: RouterHook = new RouterHook(); + private toaster: Toaster = new Toaster(); private deckyState: DeckyState = new DeckyState(); private reloadLock: boolean = false; @@ -54,6 +57,16 @@ class PluginLoader extends Logger { }); } + public async notifyUpdates() { + const versionInfo = (await callUpdaterMethod('get_version')).result as VerInfo; + if (versionInfo?.remote && versionInfo?.remote?.tag_name != versionInfo?.current) { + this.toaster.toast({ + title: 'Decky', + body: `Update to ${versionInfo?.remote?.tag_name} availiable!`, + }); + } + } + public addPluginInstallPrompt(artifact: string, version: string, request_id: string, hash: string) { showModal(