не работает связка рендеринг процесса с главным файлом electron js

Есть главный код:

const { app, BrowserWindow, ipcMain } = require('electron');
const path = require('path');
const sqlite3 = require('sqlite3').verbose();

let db;

function createMainWindow() {
const mainWindow = new BrowserWindow({
    title: 'x',
    width: 1280,
    height: 720,
    icon: `${__dirname}/assets/icon_logo.png`,
    resizable: false,
    titleBarStyle: 'hidden',
    titleBarOverlay: {
        color: '#1D2229',
        symbolColor: '#EEF5FF'
      },
    webPreferences: {
        nodeIntegration: true
    }
});

db = new sqlite3.Database('passwords.db');

db.run('CREATE TABLE IF NOT EXISTS passwords (password TEXT)');

mainWindow.loadFile(path.join(__dirname, './renderer/x.html'));

ipcMain.on('save-password', (event, password) => {
    const stmt = db.prepare('INSERT INTO passwords (password) VALUES (?)');
    stmt.run(password);
    stmt.finalize();

    event.reply('password-saved', true);
});
}

app.whenReady().then(createMainWindow);

app.on('before-quit', () => {
if (db) {
    db.close((err) => {
        if (err) {
            console.error('Error closing database:', err.message);
        } else {
            console.log('Database closed');
        }
    });
}
});

app.on('window-all-closed', () => {
if (process.platform !== 'darwin') app.quit();
});

и рендеринг процесс:

document.getElementById('set-continue').addEventListener('click', function() {
var password = document.getElementById('set-password').value;
var repeatPassword = document.getElementById('repeat-password').value;

var repeatPasswordError = document.getElementById('repeat-password-error');
if (password !== repeatPassword) {
    repeatPasswordError.style.display = 'block';
    repeatPasswordError.textContent = "Enter the same password!";
    return;
}

var hasDigit = /[0-9]/.test(password);
var hasLowerCase = /[a-z]/.test(password);
var hasUpperCase = /[A-Z]/.test(password);
var hasSpecialChar = /[!@#$%^&*]/.test(password);

if (!hasDigit || !hasLowerCase || !hasUpperCase || !hasSpecialChar) {
    var messageElement = document.getElementById('password-message');
    messageElement.style.display = 'block';

    setTimeout(function() {
        messageElement.style.display = 'none';
    }, 7500);
    
    return; 
}

const ipcRenderer = require('electron').ipcRenderer;
ipcRenderer.send('save-password', password);
window.location.href = 'y.html'; 
});

по логике при нажатии на кнопку должен отправляться запрос о сохранении пароля в бд и переход на др страницу, но ничего не происходит, как так?


Ответы (0 шт):