diff --git a/src/Vencord.ts b/src/Vencord.ts index ba7d01fe..98bc83a6 100644 --- a/src/Vencord.ts +++ b/src/Vencord.ts @@ -27,7 +27,7 @@ export { PlainSettings, Settings }; import "./utils/quickCss"; import "./webpack/patchWebpack"; -import { popNotice, showNotice } from "./api/Notices"; +import { showNotification } from "./api/Notifications"; import { PlainSettings, Settings } from "./api/settings"; import { patches, PMLogger, startAllPlugins } from "./plugins"; import { checkForUpdates, rebuild, update, UpdateLogger } from "./utils/updater"; @@ -49,32 +49,30 @@ async function init() { if (Settings.autoUpdate) { await update(); const needsFullRestart = await rebuild(); - setTimeout(() => { - showNotice( - "Vencord has been updated!", - "Restart", - () => { + if (Settings.autoUpdateNotification) + showNotification({ + title: "Vencord has been updated!", + body: "Click here to restart", + permanent: true, + onClick() { if (needsFullRestart) window.DiscordNative.app.relaunch(); else location.reload(); } - ); - }, 10_000); + }); return; } if (Settings.notifyAboutUpdates) - setTimeout(() => { - showNotice( - "A Vencord update is available!", - "View Update", - () => { - popNotice(); - SettingsRouter.open("VencordUpdater"); - } - ); - }, 10_000); + showNotification({ + title: "A Vencord update is available!", + body: "Click here to view the update", + permanent: true, + onClick() { + SettingsRouter.open("VencordUpdater"); + } + }); } catch (err) { UpdateLogger.error("Failed to check for updates", err); } diff --git a/src/api/settings.ts b/src/api/settings.ts index 1ca26116..0ebfe1d3 100644 --- a/src/api/settings.ts +++ b/src/api/settings.ts @@ -28,6 +28,7 @@ const logger = new Logger("Settings"); export interface Settings { notifyAboutUpdates: boolean; autoUpdate: boolean; + autoUpdateNotification: boolean, useQuickCss: boolean; enableReactDevtools: boolean; themeLinks: string[]; @@ -52,6 +53,7 @@ export interface Settings { const DefaultSettings: Settings = { notifyAboutUpdates: true, autoUpdate: false, + autoUpdateNotification: true, useQuickCss: true, themeLinks: [], enableReactDevtools: false, diff --git a/src/components/VencordSettings/Updater.tsx b/src/components/VencordSettings/Updater.tsx index caed4f7e..3c3eb91b 100644 --- a/src/components/VencordSettings/Updater.tsx +++ b/src/components/VencordSettings/Updater.tsx @@ -185,7 +185,7 @@ function Newer(props: CommonProps) { } function Updater() { - const settings = useSettings(["notifyAboutUpdates", "autoUpdate"]); + const settings = useSettings(["notifyAboutUpdates", "autoUpdate", "autoUpdateNotification"]); const [repo, err, repoPending] = useAwaiter(getRepo, { fallbackValue: "Loading..." }); @@ -205,7 +205,7 @@ function Updater() { settings.notifyAboutUpdates = v} - note="Shows a toast on startup" + note="Shows a notification on startup" disabled={settings.autoUpdate} > Get notified about new updates @@ -217,6 +217,14 @@ function Updater() { > Automatically update + settings.autoUpdateNotification = v} + note="Shows a notification when Vencord automatically updates" + disabled={!settings.autoUpdate} + > + Get notified when an automatic update completes + Repo