Compare commits

..

3 commits

Author SHA1 Message Date
TheThomaas beac26ed4f Create autoUpdater handling 2026-01-25 22:32:03 +01:00
TheThomaas 32f2594864 Update App.tsx 2026-01-25 22:31:40 +01:00
TheThomaas 7b7e570c10 Update locales directory path 2026-01-25 22:31:23 +01:00
3 changed files with 50 additions and 8 deletions

View file

@ -1,11 +1,17 @@
import { app, shell, BrowserWindow, ipcMain } from 'electron' import { app, shell, BrowserWindow, ipcMain, Notification } from 'electron'
import { join } from 'path' import { join } from 'path'
import { electronApp, optimizer, is } from '@electron-toolkit/utils' import { electronApp, optimizer, is } from '@electron-toolkit/utils'
import icon from '../../resources/icon.png?asset' import icon from '../../resources/icon.png?asset'
import { autoUpdater } from 'electron-updater'
autoUpdater.autoDownload = false;
autoUpdater.autoInstallOnAppQuit = true;
let mainWindow;
function createWindow(): void { function createWindow(): void {
// Create the browser window. // Create the browser window.
const mainWindow = new BrowserWindow({ // const mainWindow = new BrowserWindow({
mainWindow = new BrowserWindow({
width: 900, width: 900,
height: 670, height: 670,
show: false, show: false,
@ -54,6 +60,8 @@ app.whenReady().then(() => {
createWindow() createWindow()
checkForUpdates();
app.on('activate', function () { app.on('activate', function () {
// On macOS it's common to re-create a window in the app when the // On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open. // dock icon is clicked and there are no other windows open.
@ -70,5 +78,39 @@ app.on('window-all-closed', () => {
} }
}) })
// In this file you can include the rest of your app's specific main process function checkForUpdates() {
// code. You can also put them in separate files and require them here. autoUpdater.checkForUpdates();
console.log(`Checking for updates. Current version ${app.getVersion()}`);
showNotification(`Checking for updates. Current version ${app.getVersion()}`);
}
function showNotification(value: any) {
new Notification({
title: value,
}).show()
}
/*New Update Available*/
autoUpdater.on("update-available", (info) => {
console.log(`Update available. Current version ${app.getVersion()}`);
showNotification(`Update available. Current version ${app.getVersion()}`);
let pth = autoUpdater.downloadUpdate();
console.log(pth);
showNotification(pth);
});
autoUpdater.on("update-not-available", (info) => {
console.log(`No update available. Current version ${app.getVersion()}`);
showNotification(`No update available. Current version ${app.getVersion()}`);
});
/*Download Completion Message*/
autoUpdater.on("update-downloaded", (info) => {
console.log(`Update downloaded. Current version ${app.getVersion()}`);
showNotification(`Update downloaded. Current version ${app.getVersion()}`);
});
autoUpdater.on("error", (info) => {
console.log(info);
showNotification(info);
});

View file

@ -35,7 +35,7 @@ function App(): React.JSX.Element {
const ipcHandle = (): void => window.electron.ipcRenderer.send('ping') const ipcHandle = (): void => window.electron.ipcRenderer.send('ping')
const { t, i18n } = useTranslation() const { t } = useTranslation()
return ( return (
<> <>

View file

@ -19,9 +19,9 @@ console.log("config.ts")
i18n.use(Backend).use(LanguageDetector).use(initReactI18next).init({ i18n.use(Backend).use(LanguageDetector).use(initReactI18next).init({
// resources, // resources,
backend: { backend: {
loadPath: '/locales/{{lng}}/{{ns}}.json', loadPath: './locales/{{lng}}/{{ns}}.json',
addPath: '/locales/{{lng}}/{{ns}}.missing.json', addPath: './locales/{{lng}}/{{ns}}.missing.json',
contextBridgeApiKey: "api" contextBridgeApiKey: "api"
}, },
lng: 'en', lng: 'en',
fallbackLng: 'en', fallbackLng: 'en',