adicionado menu de contexto com opções para chamar fila, trocar de colab e sair do app
This commit is contained in:
parent
4906da2bf0
commit
54cfba5cc4
|
|
@ -17,5 +17,11 @@ floatButton.addEventListener('click', () => {
|
||||||
window.electronAPI.showMainWindow();
|
window.electronAPI.showMainWindow();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Adiciona um listener para o evento de clique com o botão direito
|
||||||
|
floatButton.addEventListener('contextmenu', (e) => {
|
||||||
|
e.preventDefault(); // Impede o menu padrão do navegador
|
||||||
|
window.electronAPI.showMenu(); // Chama a função para mostrar o menu no processo principal
|
||||||
|
});
|
||||||
|
|
||||||
// Ajuste inicial do cursor
|
// Ajuste inicial do cursor
|
||||||
floatButton.style.cursor = 'pointer';
|
floatButton.style.cursor = 'pointer';
|
||||||
|
|
@ -2,7 +2,6 @@ const { contextBridge, ipcRenderer } = require('electron');
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('electronAPI', {
|
contextBridge.exposeInMainWorld('electronAPI', {
|
||||||
onUpdateCount: (callback) => ipcRenderer.on('update-count', (_event, value) => callback(value)),
|
onUpdateCount: (callback) => ipcRenderer.on('update-count', (_event, value) => callback(value)),
|
||||||
showMainWindow: () => ipcRenderer.send('chamar-fila')
|
showMainWindow: () => ipcRenderer.send('chamar-fila'),
|
||||||
// Remova a linha abaixo:
|
showMenu: () => ipcRenderer.send('show-context-menu')
|
||||||
// startDrag: (offset) => ipcRenderer.send('drag-float-window', offset)
|
|
||||||
});
|
});
|
||||||
69
main.js
69
main.js
|
|
@ -1,4 +1,4 @@
|
||||||
const { app, BrowserWindow, ipcMain, screen, net, dialog } = require('electron');
|
const { app, BrowserWindow, ipcMain, screen, net, dialog, Menu } = require('electron');
|
||||||
// const { app: singleInstanceLock } = require('electron-single-instance');
|
// const { app: singleInstanceLock } = require('electron-single-instance');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
@ -877,12 +877,65 @@ ipcMain.on('token-exists', async () => {
|
||||||
|
|
||||||
|
|
||||||
ipcMain.on('sair', ()=>{
|
ipcMain.on('sair', ()=>{
|
||||||
operatorWin.webContents.executeJavaScript(`
|
let exec = `
|
||||||
localStorage.removeItem("idOperator");
|
localStorage.removeItem("idOperator");
|
||||||
localStorage.removeItem("selectedOperator");
|
localStorage.removeItem("selectedOperator");
|
||||||
localStorage.removeItem("salaOperator");
|
localStorage.removeItem("salaOperator");
|
||||||
localStorage.removeItem("servicosOperator");
|
localStorage.removeItem("servicosOperator");
|
||||||
`).then(() => {
|
`;
|
||||||
app.exit();
|
|
||||||
|
let options = {
|
||||||
|
'title': 'Deseja realmente sair?',
|
||||||
|
'message': 'Tem certeza que deseja fechar o Auto Atendimento?',
|
||||||
|
'type': 'question',
|
||||||
|
'buttons': ['Não', 'Sim'],
|
||||||
|
'defaultId': 0,
|
||||||
|
'cancelId': 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
dialog.showMessageBox(floatingWin, options).then(result => {
|
||||||
|
if (result.response === 1) { // Se o usuário clicou em "Sim" (índice 1)
|
||||||
|
if (floatingWin) {
|
||||||
|
floatingWin.webContents.executeJavaScript(exec).then(() => { app.exit(); });
|
||||||
|
} else if (operatorWin) {
|
||||||
|
operatorWin.webContents.executeJavaScript(exec).then(() => { app.exit(); });
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
ipcMain.on('show-context-menu', (event) => {
|
||||||
|
const template = [
|
||||||
|
{
|
||||||
|
label: 'Chamar Fila',
|
||||||
|
click: () => {
|
||||||
|
// Lógica para chamar atendimento
|
||||||
|
if (floatingWin) {
|
||||||
|
ipcMain.emit('chamar-fila');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Trocar Colab',
|
||||||
|
click: () => {
|
||||||
|
// Lógica para chamar atendimento
|
||||||
|
if (floatingWin) {
|
||||||
|
ipcMain.emit('logout');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Sair',
|
||||||
|
click: () => {
|
||||||
|
// Lógica para fechar o aplicativo
|
||||||
|
if (floatingWin) {
|
||||||
|
ipcMain.emit('sair');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
const menu = Menu.buildFromTemplate(template);
|
||||||
|
menu.popup({ window: floatingWin });
|
||||||
});
|
});
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "autoatendcolab",
|
"name": "autoatendcolab",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"isBuildNow": true,
|
"isBuildNow": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue