diff --git a/components/checkAppVersion.ts b/components/checkAppVersion.ts new file mode 100644 index 0000000..a2ba763 --- /dev/null +++ b/components/checkAppVersion.ts @@ -0,0 +1,14 @@ +import currentVersion from "~/versionTag"; +export default async function newestVersion() { +export default async function newestVersion() { + const current = currentVersion(); + const req = await fetch("/api/version"); + if (!req.ok) { + console.error("Version check failed:", req.statusText); + return true; // fail-closed → pretend we are up-to-date + } + + const { version: latest } = await req.json(); + return current === latest; // `true` ➜ up-to-date +} +} diff --git a/pages/desktop.vue b/pages/desktop.vue index 04c70bf..dc57435 100644 --- a/pages/desktop.vue +++ b/pages/desktop.vue @@ -47,6 +47,9 @@ import { gsap } from "gsap"; import confetti from "js-confetti"; import translate from "translate"; +// Import Scripts +import checkAppVersion from "~/components/checkAppVersion"; + // Import Windows import UserWindow from "~/components/app/windows/user.vue"; import SourcesWindow from "~/components/app/windows/sources.vue"; @@ -99,6 +102,7 @@ const applyForTranslation = ref(false); const langPrefDifferent = ref(false); const notLoggedInState = ref(false); const translateProvider = ref(""); +const newUpdate = ref(false); // Key Data const menuItems = [ @@ -620,6 +624,12 @@ onMounted(async () => { translateProvider.value = loadUserInfoData.translate.provider || "google"; console.log(langPrefDifferent); });*/ + +// Get ghe newest update +const newUpdateTimer = 1000 * 60 * 3; // Check for thime every 3 min. +setInterval(async () => { + newUpdate.value = await checkAppVersion(); +}, newUpdateTimer);