Prechádzať zdrojové kódy

electron 10 update und Anpassungen configstore

hmt 4 rokov pred
rodič
commit
c750a5a3e4
7 zmenil súbory, kde vykonal 50 pridanie a 46 odobranie
  1. 6 6
      package-lock.json
  2. 2 2
      package.json
  3. 16 14
      src/components/App.svelte
  4. 0 11
      src/configstore.js
  5. 4 7
      src/database.js
  6. 15 2
      src/main.js
  7. 7 4
      src/stores.js

+ 6 - 6
package-lock.json

@@ -1038,9 +1038,9 @@
       }
     },
     "electron": {
-      "version": "9.2.1",
-      "resolved": "https://registry.npmjs.org/electron/-/electron-9.2.1.tgz",
-      "integrity": "sha512-ZsetaQjXB8+9/EFW1FnfK4ukpkwXCxMEaiKiUZhZ0ZLFlLnFCpe0Bg4vdDf7e4boWGcnlgN1jAJpBw7w0eXuqA==",
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/electron/-/electron-10.0.0.tgz",
+      "integrity": "sha512-0XX/LqYAHHCSbfLjUk9VRDPOeYjDPEzA9i7F50AqpEpFIWR2bp++0S0beRANUpPdkvtBDp+0R6vHV3iXPvuKyA==",
       "dev": true,
       "requires": {
         "@electron/get": "^1.0.1",
@@ -2348,9 +2348,9 @@
       }
     },
     "papaparse": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.2.0.tgz",
-      "integrity": "sha512-ylq1wgUSnagU+MKQtNeVqrPhZuMYBvOSL00DHycFTCxownF95gpLAk1HiHdUW77N8yxRq1qHXLdlIPyBSG9NSA=="
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.0.tgz",
+      "integrity": "sha512-Lb7jN/4bTpiuGPrYy4tkKoUS8sTki8zacB5ke1p5zolhcSE4TlWgrlsxjrDTbG/dFVh07ck7X36hUf/b5V68pg=="
     },
     "parse-json": {
       "version": "4.0.0",

+ 2 - 2
package.json

@@ -19,7 +19,7 @@
     "@rollup/plugin-commonjs": "^15.0.0",
     "@rollup/plugin-json": "^4.1.0",
     "@rollup/plugin-node-resolve": "^9.0.0",
-    "electron": "^9.2.1",
+    "electron": "^10.0.0",
     "electron-builder": "^22.8.0",
     "npm-run-all": "^4.1.5",
     "prettier": "^2.1.0",
@@ -34,7 +34,7 @@
     "electron-store": "^6.0.0",
     "electron-util": "^0.14.2",
     "ley": "^0.5.0",
-    "papaparse": "^5.2.0",
+    "papaparse": "^5.3.0",
     "svelte": "^3.24.1"
   }
 }

+ 16 - 14
src/components/App.svelte

@@ -1,5 +1,5 @@
 <script>
-  import { print } from "./../stores.js";
+  import { print, configData } from "./../stores.js";
   import { db_check } from "./../database.js";
   import Main from "./Main.svelte";
   import Print from "./Print.svelte";
@@ -9,16 +9,18 @@
   @import "../node_modules/bulma/css/bulma.css";
 </style>
 
-{#await db_check()} Öffne Datenbank …
-{:then}
-  {#if $print}
-    <Print />
-  {:else}
-    <Main />
-  {/if}
-{:catch e}
-  <br />
-  bangbib konnte nicht gestartet werden. Nicht gut. Datenbank ok?
-  <br>Diese Fehlermeldung gab es:
-  <pre>{e}</pre>
-{/await}
+{#if $configData}
+  {#await db_check()} Öffne Datenbank …
+  {:then}
+    {#if $print}
+      <Print />
+    {:else}
+      <Main />
+    {/if}
+  {:catch e}
+    <br />
+    bangbib konnte nicht gestartet werden. Nicht gut. Datenbank ok?
+    <br>Diese Fehlermeldung gab es:
+    <pre>{e}</pre>
+  {/await}
+{/if}

+ 0 - 11
src/configstore.js

@@ -1,11 +0,0 @@
-import Store from 'electron-store'
-
-const configFile = new Store({
-  defaults: {
-    windowBounds: {
-      main: { width: 1800, height: 800 }
-    },
-    scan_prefix: ''
-  }
-});
-export default configFile

+ 4 - 7
src/database.js

@@ -1,22 +1,19 @@
-import { api } from "electron-util";
 import { ipcRenderer } from "electron";
-import { db } from "./stores.js";
+import { db, configData } from "./stores.js";
 import { join } from "path";
 import { get } from "svelte/store";
 import ley from 'ley'
 
 const Database = require("better-sqlite3");
 
-const userData = api.app.getPath("userData");
-const db_file = join(userData, "datenbank.sqlite");
-const cwd = isDev() ? join(__dirname, '..', 'src') : process.resourcesPath
-const ley_opts = { config: { database: db_file }, cwd, dir: "migrations" };
-
 function isDev() {
   return process.env.ELECTRON_DEV === '1';
 }
 
 export async function db_check() {
+  const db_file = join(get(configData).user_data, "datenbank.sqlite");
+  const cwd = isDev() ? join(__dirname, '..', 'src') : process.resourcesPath
+  const ley_opts = { config: { database: db_file }, cwd, dir: "migrations" };
   try {
     db.set(new Database(db_file, { fileMustExist: true }));
   } catch (e) {

+ 15 - 2
src/main.js

@@ -3,7 +3,7 @@ import { app, BrowserWindow, ipcMain } from 'electron'
 import { is } from 'electron-util'
 import { join, dirname } from "path";
 import { writeFile, existsSync, mkdirSync } from "fs";
-import configData from './configstore'
+import Store from 'electron-store'
 import { VERSION } from './version'
 
 console.log(VERSION)
@@ -11,6 +11,16 @@ if (process.argv.some(a => a === '-v')) app.exit()
 
 let mainWindow
 
+const configData = new Store({
+  defaults: {
+    windowBounds: {
+      main: { width: 1800, height: 800 }
+    },
+    user_data: app.getPath("userData"),
+    scan_prefix: ''
+  }
+});
+
 if (!configData.get('pdf_verzeichnis')) {
   configData.set('pdf_verzeichnis', join(app.getPath('documents'), app.getName(), 'Kurslisten'))
 }
@@ -105,4 +115,7 @@ ipcMain.on('pdf', async (event, pdf_name) => {
     );
     event.reply('pdf-reply', false)
   }
-});
+});
+
+ipcMain.handle('get_store', (event, key) => configData.store );
+ipcMain.handle('set_store', (event, value) => configData.set(value))

+ 7 - 4
src/stores.js

@@ -1,9 +1,12 @@
 import { writable } from 'svelte/store';
-import configFile from './configstore';
+import { ipcRenderer } from 'electron';
 
-export const configData = writable(configFile.store);
-configData.subscribe(value => {
-  configFile.set(value)
+export const configData = writable();
+ipcRenderer.invoke("get_store").then((res) => {
+  configData.set(res);
+  configData.subscribe((value) => {
+    ipcRenderer.invoke("set_store", value);
+  });
 });
 
 export const schueler = writable([]);