diff --git a/package.json b/package.json
index 838e457..8ae6d2d 100644
--- a/package.json
+++ b/package.json
@@ -48,6 +48,7 @@
"bootstrap-icons": "^1.8.3",
"bootstrap-vue": "^2.22.0",
"cheerio": "^1.0.0-rc.12",
+ "copy-paste": "^1.3.0",
"discord-rpc": "^4.0.1",
"jquery": "^3.6.0",
"localforage": "^1.10.0",
diff --git a/src/main/BrowserWinHandler.js b/src/main/BrowserWinHandler.js
index 4d23eb5..2a01ff2 100644
--- a/src/main/BrowserWinHandler.js
+++ b/src/main/BrowserWinHandler.js
@@ -44,6 +44,8 @@ export default class BrowserWinHandler {
webSecurity: false, // disable on dev to allow loading local resources
nodeIntegration: true, // allow loading modules via the require () function
contextIsolation: false, // https://github.com/electron/electron/issues/18037#issuecomment-806320028
+ enableRemoteModule: true,
+ enableremotemodule: true
}
}
)
diff --git a/src/main/settings.js b/src/main/settings.js
index 2ba3ff8..19ccae2 100644
--- a/src/main/settings.js
+++ b/src/main/settings.js
@@ -1,8 +1,10 @@
import getAppDataPath from 'appdata-path'
-export function getAppData(){
+import { getAllKeys, getOneEntry, setEntry } from './indexedDB.js'
+const ncp = require("copy-paste");
+export const getAppData = () => {
return getAppDataPath().replaceAll('\\', '/') + '/AniShip';
}
-export function getAnimeVostServer(){
+export const getAnimeVostServer = () => {
const servers = localStorage.getItem('animevost_server');
if (servers !== null) {
return servers;
@@ -11,7 +13,7 @@ export function getAnimeVostServer(){
return "api.animetop.info";
}
}
-export function getDefaultVoicer(){
+export const getDefaultVoicer = () => {
const voicer = localStorage.getItem('voicer');
if (voicer !== null) {
return voicer;
@@ -20,3 +22,34 @@ export function getDefaultVoicer(){
return "animevost";
}
}
+export const importDatabase = () => {
+ const database = JSON.parse(ncp.paste());
+ console.log(database);
+ for(let i in database.favorites.animevost){
+ setEntry('favorites', 'animevost', String(i), database.favorites.animevost[i]);
+ }
+ for(let i in database.favorites.anilibria){
+ setEntry('favorites', 'anilibria', String(i), database.favorites.anilibria[i]);
+ }
+ return "Успешный импорт бэкапа базы данных";
+}
+export const exportDatabase = async () => {
+ let database = {
+ version: process.env.npm_package_version,
+ favorites: {
+ animevost: {},
+ anilibria: {}
+ }
+ };
+ let value;
+ const animevost_keys = await getAllKeys('favorites', 'animevost');
+ const anilibria_keys = await getAllKeys('favorites', 'anilibria');
+ for(let i in animevost_keys){
+ database.favorites.animevost[String(animevost_keys[i])] = await getOneEntry('favorites', 'animevost', String(animevost_keys[i]));
+ }
+ for(let i in anilibria_keys){
+ database.favorites.anilibria[String(anilibria_keys[i])] = await getOneEntry('favorites', 'anilibria', String(anilibria_keys[i]));
+ }
+ ncp.copy(JSON.stringify(database));
+ return "Бэкап успешно скопирован в буфер обмена";
+}
\ No newline at end of file
diff --git a/src/renderer/components/LeftMenu.vue b/src/renderer/components/LeftMenu.vue
index 254fdd2..a4248ed 100644
--- a/src/renderer/components/LeftMenu.vue
+++ b/src/renderer/components/LeftMenu.vue
@@ -1,7 +1,7 @@