Add in client updater, Notices API

This commit is contained in:
Vendicated 2022-10-01 00:42:50 +02:00
parent 9aaa47ea4e
commit 8161a07dba
No known key found for this signature in database
GPG key ID: EC781ADFB93EFFA3
20 changed files with 525 additions and 48 deletions

24
src/api/Notices.ts Normal file
View file

@ -0,0 +1,24 @@
import { waitFor } from "../webpack";
let NoticesModule: any;
waitFor(m => m.show && m.dismiss && !m.suppressAll, m => NoticesModule = m);
export const noticesQueue = [] as any[];
export let currentNotice: any = null;
export function popNotice() {
NoticesModule.dismiss();
}
export function nextNotice() {
currentNotice = noticesQueue.shift();
if (currentNotice) {
NoticesModule.show(...currentNotice, "VencordNotice");
}
}
export function showNotice(message: string, buttonText: string, onOkClick: () => void) {
noticesQueue.push(["GENERIC", message, buttonText, onOkClick]);
if (!currentNotice) nextNotice();
}