🔧 feat: Sistema de identidade dinâmica do agente - modal de configurações, avatares customizáveis, nome dinâmico sincronizado com Hermes/Telegram

This commit is contained in:
2026-05-26 19:40:28 +00:00
parent c78c4020cf
commit 6c35f7ed1b
5 changed files with 514 additions and 7 deletions
+185
View File
@@ -2195,3 +2195,188 @@ code {
background-color: rgba(16, 163, 127, 0.06);
color: rgb(167, 243, 208);
}
/* Hover no botao de configuracoes da sidebar */
.btn-settings:hover {
color: var(--text-primary) !important;
background-color: var(--bg-secondary) !important;
}
/* Avatar do Usuario no Chat */
.user-avatar-img-wrapper {
width: 32px;
height: 32px;
border-radius: 50%;
overflow: hidden;
border: 1.5px solid rgba(255, 255, 255, 0.2);
display: flex;
align-items: center;
justify-content: center;
background: none !important;
}
.user-avatar-img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* Modal de Configurações */
.settings-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
animation: fadeIn 0.2s ease-out;
}
.settings-modal-content {
background-color: var(--bg-primary, #121212);
border: 1px solid var(--border-light, #262626);
border-radius: 16px;
width: 450px;
max-width: 90%;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
overflow: hidden;
animation: scaleIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.settings-modal-header {
padding: 16px 20px;
border-bottom: 1px solid var(--border-light, #262626);
display: flex;
justify-content: space-between;
align-items: center;
}
.settings-modal-header h3 {
margin: 0;
font-size: 1.15rem;
color: var(--text-primary, #ffffff);
font-weight: 600;
}
.close-settings-btn {
background: none;
border: none;
color: var(--text-secondary, #a3a3a3);
font-size: 1.5rem;
cursor: pointer;
padding: 4px 8px;
border-radius: 4px;
line-height: 1;
}
.close-settings-btn:hover {
color: var(--text-primary, #ffffff);
background-color: rgba(255, 255, 255, 0.05);
}
.settings-modal-body {
padding: 20px;
display: flex;
flex-direction: column;
gap: 20px;
}
.settings-group {
display: flex;
flex-direction: column;
gap: 8px;
}
.settings-group label {
font-size: 0.85rem;
color: var(--text-secondary, #a3a3a3);
font-weight: 500;
}
.settings-group input[type="text"] {
background-color: var(--bg-secondary, #1a1a1a);
border: 1px solid var(--border-light, #262626);
border-radius: 8px;
padding: 10px 12px;
color: var(--text-primary, #ffffff);
font-size: 0.95rem;
outline: none;
transition: border-color var(--transition-fast);
}
.settings-group input[type="text"]:focus {
border-color: var(--brand-green, #0ea5e9);
}
.avatar-preview-container {
display: flex;
align-items: center;
gap: 16px;
background-color: var(--bg-secondary, #1a1a1a);
border: 1px solid var(--border-light, #262626);
padding: 12px;
border-radius: 10px;
}
.preview-avatar-img {
width: 50px;
height: 50px;
border-radius: 50%;
object-fit: cover;
border: 2px solid var(--brand-green, #0ea5e9);
}
.btn-change-avatar {
background-color: rgba(255, 255, 255, 0.05);
border: 1px solid var(--border-light, #262626);
color: var(--text-primary, #ffffff);
padding: 8px 14px;
border-radius: 6px;
font-size: 0.85rem;
cursor: pointer;
transition: background-color 0.2s;
}
.btn-change-avatar:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.settings-modal-footer {
padding: 16px 20px;
border-top: 1px solid var(--border-light, #262626);
display: flex;
justify-content: flex-end;
}
.btn-save-settings {
background: linear-gradient(135deg, var(--brand-green) 0%, #0a5f49 100%);
border: none;
color: #ffffff;
padding: 10px 18px;
border-radius: 8px;
font-size: 0.9rem;
font-weight: 500;
cursor: pointer;
transition: opacity 0.2s;
box-shadow: 0 0 12px var(--brand-glow);
}
.btn-save-settings:hover {
opacity: 0.9;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes scaleIn {
from { transform: scale(0.95); opacity: 0; }
to { transform: scale(1); opacity: 1; }
}