From 9b2b852c409990c8c591de984eb5b3cbd621b22d Mon Sep 17 00:00:00 2001 From: Robert Nasarek Date: Wed, 31 Aug 2022 14:26:34 +0200 Subject: [PATCH] adjust menu and add about page --- .../electron-react-webpack-boilerplate.png | Bin 19924 -> 0 bytes main.js | 88 +++++++++++++++++- package.json | 8 +- resources/files/config/config.json | 2 +- 4 files changed, 90 insertions(+), 8 deletions(-) delete mode 100644 docs/images/electron-react-webpack-boilerplate.png diff --git a/docs/images/electron-react-webpack-boilerplate.png b/docs/images/electron-react-webpack-boilerplate.png deleted file mode 100644 index b7d910a5708b86bde9e1dfbc4fcd50d0a9d97279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19924 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 MY+Y>bTj7%a2M#%r{Qv*} diff --git a/main.js b/main.js index 6dca97c..4874cf3 100644 --- a/main.js +++ b/main.js @@ -1,7 +1,8 @@ 'use strict' // Import parts of electron to use -const { app, BrowserWindow, dialog, ipcMain } = require('electron') +const { app, BrowserWindow, dialog, ipcMain, Menu} = require('electron') +const openAboutWindow = require('about-window').default const path = require('path') const url = require('url') @@ -39,6 +40,83 @@ if (process.platform === 'win32') { } } +// Build main menu from file. +let mainMenu = Menu.buildFromTemplate( + [ + // { role: 'fileMenu' } + { + label: 'Datei', + submenu: [ + { + label: 'Beenden', + role: 'quit' + } + ] + }, + // { role: 'viewMenu' } + { + label: 'Ansicht', + submenu: [ + { + label: 'Neu laden', + role: 'reload' + }, + { + label: 'Erzwinge Neustart', + role: 'forceReload' + }, + {type: 'separator'}, + { + label: 'Zoom zurücksetzen', + role: 'resetZoom' + }, + { + label: 'Hineinzoomen', + role: 'zoomIn', + accelerator: 'Ctrl+=', + }, + { + label: 'Herauszoomen', + role: 'zoomOut', + accelerator: 'Ctrl+-', + }, + {type: 'separator'}, + ] + }, + // { role: 'windowMenu' } + { + label: 'Fenster', + submenu: [ + { + label: 'Minimieren', + role: 'minimize' + }, + ] + }, + { + label: 'Hilfe', + role: 'help', + submenu: [ + { + label: 'Über Marvin', + click: () => { + openAboutWindow({ + icon_path: path.join(__dirname, 'marvin.ico'), + bug_report_url:'mailto:r.nasarek@gnm.de', + bug_link_text: 'Einen Fehler melden', + license: 'MIT', + description: 'App zur Dokumentverwaltung im IKK am Germanischen Nationalmuseum.', + win_options: {title: 'Über Marvin'} + }) + } + } + ] + } + ] +) + + + function createWindow() { // Create the browser window. mainWindow = new BrowserWindow({ @@ -56,7 +134,10 @@ function createWindow() { // and load the index.html of the app. let indexPath + + // Server Options if (dev && process.argv.indexOf('--noDevServer') === -1) { + // Ether from devServer indexPath = url.format({ protocol: 'http:', host: 'localhost:8080', @@ -64,6 +145,7 @@ function createWindow() { slashes: true }) } else { + // Or build file indexPath = url.format({ protocol: 'file:', pathname: path.join(__dirname, 'dist', 'index.html'), @@ -71,8 +153,12 @@ function createWindow() { }) } + // Load base html mainWindow.loadURL(indexPath) + // Load menu + Menu.setApplicationMenu(mainMenu) + // Don't show until we are ready and loaded mainWindow.once('ready-to-show', () => { mainWindow.show() diff --git a/package.json b/package.json index faece7f..9eca952 100644 --- a/package.json +++ b/package.json @@ -34,17 +34,15 @@ "start": "cross-env NODE_ENV=development webpack serve --hot --host 0.0.0.0 --config=./webpack.dev.config.js --mode development", "build": "cross-env NODE_ENV=production webpack --config webpack.build.config.js --mode production", "package": "npm run build", - "postpackage": "electron-packager ./ --out=./builds --overwrite --platform win32,linux --icon marvin.ico --extra-resource 'resources/files'" + "postpackage": "electron-packager ./ --ignore 'resources/files' --out=./builds --asar --overwrite --platform win32,linux --icon marvin.ico --extra-resource 'resources/files'" }, "dependencies": { "@emotion/react": "^11.10.0", "@emotion/styled": "^11.10.0", "@mui/icons-material": "^5.10.2", "@mui/material": "^5.10.2", + "about-window": "^1.15.2", "docx-templates": "^4.9.2", - "fast-xml-parser": "^4.0.9", - "file-saver": "^2.0.5", - "node-fetch": "^3.2.10", "postcss": "^8.4.16", "react": "^18.2.0", "react-async-devtools": "^10.0.1", @@ -52,8 +50,6 @@ "react-loader-spinner": "^5.3.3", "react-router-dom": "^6.3.0", "replace-special-characters": "^1.2.6", - "write-json-file": "^5.0.0", - "xml-parse-from-string": "^1.0.1", "xml2js": "^0.4.23" }, "devDependencies": { diff --git a/resources/files/config/config.json b/resources/files/config/config.json index 6981927..4abbf33 100644 --- a/resources/files/config/config.json +++ b/resources/files/config/config.json @@ -1,3 +1,3 @@ { - "rootDir": "/home/rbrt/Schreibtisch/marvin/Gm312/leihgabenbegleitblaetter" + "rootDir": "/home/rbrt/WebstormProjects/marvin" } \ No newline at end of file