adicionado estilos para todas as telas, tema escuro

This commit is contained in:
Eder Moraes 2025-06-01 11:16:26 -03:00
parent 063e336b80
commit 1ec035bc25
6 changed files with 139 additions and 42 deletions

View File

@ -7,7 +7,7 @@
<link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="style.css">
<script src="js/jquery/jquery.js"></script> <script src="js/jquery/jquery.js"></script>
</head> </head>
<body> <body id="floating">
<button id="float-button"> <button id="float-button">
<span id="icon">🧑‍🦰</span> <!-- Ícone de exemplo --> <span id="icon">🧑‍🦰</span> <!-- Ícone de exemplo -->
<span id="count">0</span> <span id="count">0</span>

View File

@ -10,7 +10,7 @@
<body> <body>
<div id="list-view"> <div id="list-view">
<h1>Fila</h1> <h1>Fila</h1>
<h3><span id="queue-number" style="color: #3498db;"></span></h3> <h3><span id="queue-number"></span></h3>
<ul id="item-list"> <ul id="item-list">
<!-- Itens serão carregados aqui --> <!-- Itens serão carregados aqui -->
</ul> </ul>
@ -25,7 +25,7 @@
<p>Atendendo: <span id="selected-item-name"></span></p> <p>Atendendo: <span id="selected-item-name"></span></p>
<input type="hidden" name="idAtend" id="idAtend"> <input type="hidden" name="idAtend" id="idAtend">
<textarea id="observation-text" rows="10" cols="50" placeholder="Digite suas observações..."></textarea> <textarea id="observation-text" rows="10" cols="50" placeholder="Digite suas observações..."></textarea>
<button id="save-button">Salvar</button> <button id="save-button">Finalizar atendimento</button>
</div> </div>
<div id="encaminhar-view" style="display: none;"> <div id="encaminhar-view" style="display: none;">

16
main.js
View File

@ -20,11 +20,11 @@ autoUpdater.autoInstallOnAppQuit = true;
//// carrega o electron-reload, buga ao salvar o main.js por conta do fetchDataFromAPI //// carrega o electron-reload, buga ao salvar o main.js por conta do fetchDataFromAPI
// if(!pjson.isBuildNow){ if(!pjson.isBuildNow){
// require('electron-reload')(__dirname,{ require('electron-reload')(__dirname,{
// electron: require(`${__dirname}/node_modules/electron`) electron: require(`${__dirname}/node_modules/electron`)
// }) })
// } }
// Função modificada para buscar dados da API // Função modificada para buscar dados da API
async function readData() { async function readData() {
@ -291,9 +291,9 @@ function createMainWindow() {
mainWin.loadFile('index.html'); mainWin.loadFile('index.html');
if(!pjson.isBuildNow) { // if(!pjson.isBuildNow) {
mainWin.webContents.openDevTools(); // Descomente para depurar // mainWin.webContents.openDevTools(); // Descomente para depurar
} // }
mainWin.webContents.send('current_version', pjson.version); mainWin.webContents.send('current_version', pjson.version);

View File

@ -1,6 +1,6 @@
{ {
"name": "autoatendcolab", "name": "autoatendcolab",
"version": "1.0.0", "version": "1.0.1",
"main": "main.js", "main": "main.js",
"isBuildNow": true, "isBuildNow": true,
"scripts": { "scripts": {

View File

@ -20,8 +20,7 @@ window.electronAPI.onLoadData((data) => {
return; return;
} }
// Reseta a view para a lista sempre que os dados são carregados // Reseta a view para a lista sempre que os dados são carregados
populateList(data[0]); populateList(data[0]);
showListView();
}); });
//chama o proximo da fila ao abrir a janela de atendimentos //chama o proximo da fila ao abrir a janela de atendimentos
@ -38,7 +37,7 @@ window.electronAPI.selectAtendID((data)=>{
showListView(); showListView();
selectedItemId = data.id ?? null; selectedItemId = data.id ?? null;
//data.senhaGen //data.senhaGen
queueNumber.innerHTML = data ? `NA VEZ: <u style="color:orange;">${data.clientName.toUpperCase()}</u> - ${data.descricaoServico.toUpperCase()}` : 'Ninguem aguardando atendimento'; queueNumber.innerHTML = data ? `NA VEZ: <u>${data.clientName.toUpperCase()}</u> - ${data.descricaoServico.toUpperCase()}` : 'Ninguem aguardando atendimento';
selectedItemNameSpan.innerHTML = data ? `<u> ${data.clientName.toUpperCase()} </u> <i style="float:right;">[ ${data.senhaGen} ]</i>` : 'Ninguem aguardando atendimento'; selectedItemNameSpan.innerHTML = data ? `<u> ${data.clientName.toUpperCase()} </u> <i style="float:right;">[ ${data.senhaGen} ]</i>` : 'Ninguem aguardando atendimento';
}); });

152
style.css
View File

@ -1,11 +1,49 @@
:root {
--primary-color: #001422;
--secondary-color: rgba(11, 44, 80, 0.6);
--tertiary-color: rgba(8, 20, 61, 0.6);
--lightorange: #f3845c;
--accent-gold: #c0965c; /* Dourado suave */
--medium-gold: #c0965c30; /* Dourado suave2 */
--white: #fff;
--black: #000;
--light-gray: #f5f5f5;
--medium-gray: #e0e0e0;
--dark-gray: #5a5a5a;
--text-color: #303030;
--light-success-color: #39be70;
--success-color: #27ae60;
--dark-success-color: #1e8549;
--light-danger-color: #e97669;
--danger-color: #e74c3c;
--dark-danger-color: #a8372a;
--light-warning-color: #f5b857;
--warning-color: #f39c12;
--dark-warning-color: #e95f2b;
--opac-warning-color: rgba(156, 79, 40, 0.8);
--light-info-color: #62afe2;
--info-color: #2980b9;
--dark-info-color: #2980b954;
--border-radius: 6px;
--box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
--box-shadow-inputs: 0 2px 10px rgba(0, 0, 0, 0.192);
--inset-box-shadow: inset 0 4px 8px rgba(2, 2, 2, 0.8);
--transition: all 0.3s ease;
}
/* Estilos Gerais */ /* Estilos Gerais */
body { body {
font-family: sans-serif; font-family: sans-serif;
color: #FFF;
margin: 0; margin: 0;
padding: 10px; padding: 10px;
background-color: transparent; /* Para janela flutuante */
overflow: hidden; /* Evita barras de rolagem indesejadas na flutuante */ overflow: hidden; /* Evita barras de rolagem indesejadas na flutuante */
-webkit-app-region: drag; -webkit-app-region: drag;
background-color: #001422;
}
body#floating{
background-color: transparent !important;
} }
/* Janela Flutuante */ /* Janela Flutuante */
@ -14,16 +52,16 @@ body {
height: 64px; height: 64px;
border-radius: 50%; border-radius: 50%;
/* Cor padrão (azul) quando não há itens */ /* Cor padrão (azul) quando não há itens */
background-color: rgba(0, 122, 255, 0.6); background-color: var(--dark-info-color);
border: transparent; border: 2px solid var(--dark-info-color);
color: white; color: var(--light-warning-color);
font-size: 16px; font-size: 16px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
box-shadow: inset 0 4px 8px rgba(2, 2, 2, 0.8); box-shadow: var(--inset-box-shadow);
transition: background-color 0.3s ease; /* Suaviza a transição de cor */ transition: background-color 0.3s ease; /* Suaviza a transição de cor */
position: absolute; position: absolute;
top: -6px; top: -6px;
@ -31,10 +69,12 @@ body {
-webkit-app-region: no-drag; -webkit-app-region: no-drag;
cursor: pointer; cursor: pointer;
} }
/* Nova classe para quando houver itens */ /* Nova classe para quando houver itens */
#float-button.has-items { #float-button.has-items {
background-color: rgba(255, 69, 0, 0.7); /* Tom avermelhado/alaranjado com transparência */ background-color: var(--opac-warning-color); /* Tom avermelhado/alaranjado com transparência */
box-shadow: inset 0 4px 8px rgba(139, 0, 0, 0.9); /* Sombra mais escura avermelhada */ box-shadow: var(--inset-box-shadow); /* Sombra mais escura avermelhada */
border: 2px solid var(--dark-warning-color);
} }
#float-button:hover { #float-button:hover {
@ -42,11 +82,6 @@ body {
filter: brightness(1.2); /* Clareia um pouco no hover */ filter: brightness(1.2); /* Clareia um pouco no hover */
} }
/* Remove a cor de hover específica anterior se existir */
/* #float-button:hover {
background-color: rgba(0, 100, 210, 0.9);
} */
#float-button #icon { #float-button #icon {
font-size: 24px; font-size: 24px;
@ -56,12 +91,21 @@ body {
/* Para permitir arrastar a janela pelo body (se o botão não ocupar tudo) */ /* Para permitir arrastar a janela pelo body (se o botão não ocupar tudo) */
/* body { -webkit-app-region: drag; } */ /* body { -webkit-app-region: drag; } */
#queue-number {
color: var(--info-color);
}
#queue-number u {
color: var(--light-info-color);
}
/* Janela Principal */ /* Janela Principal */
#list-view, #observation-view { #list-view, #obs-view {
padding: 20px; padding: 20px;
background-color: white; /* Fundo branco para a janela principal */ background-color: var(--secondary-color); /* Fundo branco para a janela principal */
height: 100vh; /* Ocupa a altura da viewport */ border-radius: var(--border-radius);
box-shadow: var(--box-shadow);
height: 96vh; /* Ocupa a altura da viewport */
box-sizing: border-box; box-sizing: border-box;
} }
@ -71,13 +115,15 @@ body {
margin-bottom: 15px; margin-bottom: 15px;
max-height: 400px; /* Altura máxima para a lista */ max-height: 400px; /* Altura máxima para a lista */
overflow-y: auto; /* Barra de rolagem se necessário */ overflow-y: auto; /* Barra de rolagem se necessário */
border: 1px solid #ccc; border: 1px solid var(--tertiary-color);
border-radius: var(--border-radius);
background-color: var(--secondary-color);
padding: 10px; padding: 10px;
} }
#item-list li { #item-list li {
padding: 8px; padding: 8px;
border-bottom: 1px solid #eee; border-bottom: 1px solid var(--tertiary-color);
} }
#item-list li:last-child { #item-list li:last-child {
@ -85,7 +131,8 @@ body {
} }
#item-list li.selected { #item-list li.selected {
background-color: #e0e0e0; background-color: var(--secondary-color);
color: var(--light-info-color);
font-weight: bold; font-weight: bold;
} }
@ -114,7 +161,6 @@ textarea {
/* Estilos para a página de login */ /* Estilos para a página de login */
.login-page, .operator-page { .login-page, .operator-page {
background-color: #f5f5f5;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -124,7 +170,7 @@ textarea {
} }
.login-container, .operator-container { .login-container, .operator-container {
background-color: white; background-color: rgba(11, 44, 80, 0.6);
padding: 30px; padding: 30px;
border-radius: 8px; border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
@ -141,14 +187,29 @@ textarea {
font-weight: bold; font-weight: bold;
} }
.form-group input:focus-visible, .form-group select:focus-visible, textarea:focus-visible{
box-shadow: var(--box-shadow-inputs);
outline: none;
}
.form-group input, .form-group select { .form-group input, .form-group select {
width: 100%; width: 100%;
padding: 10px; padding: 10px;
border: 1px solid #ddd; background-color: var(--secondary-color);
border: 1px solid var(--tertiary-color);
color: var(--medium-gray);
border-radius: 4px; border-radius: 4px;
font-size: 16px; font-size: 16px;
} }
textarea#observation-text{
width: calc(100% -20px) !important;
padding: 10px;
background-color: var(--secondary-color);
border: 1px solid var(--tertiary-color);
border-radius: 4px;
color: var(--medium-gray);
}
.error-message { .error-message {
background-color: #ffebee; background-color: #ffebee;
color: #c62828; color: #c62828;
@ -158,22 +219,59 @@ textarea {
display: none; display: none;
} }
#login-button, #select-button { button{
background-color: #0077cc;
color: white; color: white;
border: none; border: none;
border-radius: 4px; border-radius: 4px;
padding: 12px 20px; padding: 12px 20px;
font-size: 16px; font-size: 16px;
cursor: pointer; cursor: pointer;
width: 100%; }
#next-button{
background-color: var(--success-color);
}
#next-button:hover{
background-color: var(--light-success-color);
}
#logout-button{
background-color: var(--danger-color);
}
#logout-button:hover{
background-color: var(--dark-danger-color);
}
#login-button, #select-button {
background-color: var(--info-color);
width: 50%;
} }
#login-button:hover, #select-button:hover { #login-button:hover, #select-button:hover {
background-color: #005fa3; background-color: var(--light-info-color);
} }
#login-button:disabled, #select-button:disabled { #login-button:disabled, #select-button:disabled {
background-color: #cccccc; background-color: var(--dark-info-color);
cursor: not-allowed; cursor: not-allowed;
} }
#sair-button{
background-color: #eb574d;
}
#sair-button:hover{
background-color: #e93f2c;
}
#save-button{
background-color: var(--light-warning-color);
}
#save-button:hover{
background-color: var(--warning-color);
}