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();
|
||||
});
|
||||
|
||||
// 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
|
||||
floatButton.style.cursor = 'pointer';
|
||||
|
|
@ -2,7 +2,6 @@ const { contextBridge, ipcRenderer } = require('electron');
|
|||
|
||||
contextBridge.exposeInMainWorld('electronAPI', {
|
||||
onUpdateCount: (callback) => ipcRenderer.on('update-count', (_event, value) => callback(value)),
|
||||
showMainWindow: () => ipcRenderer.send('chamar-fila')
|
||||
// Remova a linha abaixo:
|
||||
// startDrag: (offset) => ipcRenderer.send('drag-float-window', offset)
|
||||
showMainWindow: () => ipcRenderer.send('chamar-fila'),
|
||||
showMenu: () => ipcRenderer.send('show-context-menu')
|
||||
});
|
||||
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 path = require('path');
|
||||
const fs = require('fs');
|
||||
|
|
@ -877,12 +877,65 @@ ipcMain.on('token-exists', async () => {
|
|||
|
||||
|
||||
ipcMain.on('sair', ()=>{
|
||||
operatorWin.webContents.executeJavaScript(`
|
||||
localStorage.removeItem("idOperator");
|
||||
localStorage.removeItem("selectedOperator");
|
||||
localStorage.removeItem("salaOperator");
|
||||
localStorage.removeItem("servicosOperator");
|
||||
`).then(() => {
|
||||
app.exit();
|
||||
let exec = `
|
||||
localStorage.removeItem("idOperator");
|
||||
localStorage.removeItem("selectedOperator");
|
||||
localStorage.removeItem("salaOperator");
|
||||
localStorage.removeItem("servicosOperator");
|
||||
`;
|
||||
|
||||
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",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"main": "main.js",
|
||||
"isBuildNow": true,
|
||||
"scripts": {
|
||||
|
|
|
|||
Loading…
Reference in New Issue