FourLabs-UN2 commited on
Commit
440285d
·
verified ·
1 Parent(s): bb99454

simule o chatbot e adicione os ícones no sidebar

Browse files
Files changed (3) hide show
  1. chatbot.html +107 -7
  2. components/sidebar.js +14 -4
  3. style.css +79 -1
chatbot.html CHANGED
@@ -47,10 +47,32 @@
47
  <div class="grid lg:grid-cols-4 gap-8">
48
  <!-- Área do Chat -->
49
  <div class="lg:col-span-3">
50
- <div class="bg-gray-900 rounded-2xl p-6 h-96 overflow-y-auto mb-4">
51
- <div class="text-center text-gray-400 py-8">
52
- <i data-feather="message-square" class="w-12 h-12 mx-auto mb-4"></i>
53
- <p>Chat iniciado. Digite comandos em linguagem natural para testar seu aplicativo.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  </div>
55
  </div>
56
 
@@ -59,13 +81,14 @@
59
  type="text"
60
  placeholder="Digite seu comando..."
61
  class="flex-1 bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 text-white focus:border-secondary focus:ring-2 focus:ring-secondary focus:ring-opacity-50"
 
62
  >
63
- <button class="bg-secondary hover:bg-orange-600 text-white px-6 py-3 rounded-lg flex items-center gap-2">
64
  <i data-feather="send" class="w-4 h-4"></i>
65
  Enviar
66
  </button>
67
  </div>
68
- </div>
69
 
70
  <!-- Painel de Ações Rápidas -->
71
  <div class="lg:col-span-1">
@@ -107,11 +130,88 @@
107
  </div>
108
  </div>
109
  </main>
110
-
111
  <script src="components/sidebar.js"></script>
112
  <script src="script.js"></script>
113
  <script>
114
  feather.replace();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  </script>
116
  </body>
117
  </html>
 
47
  <div class="grid lg:grid-cols-4 gap-8">
48
  <!-- Área do Chat -->
49
  <div class="lg:col-span-3">
50
+ <div class="bg-gray-900 rounded-2xl p-6 h-96 overflow-y-auto mb-4" id="chatContainer">
51
+ <div class="chat-message bot-message">
52
+ <div class="message-avatar">
53
+ <i data-feather="cpu" class="w-5 h-5"></i>
54
+ </div>
55
+ <div class="message-content">
56
+ <p>Olá! Sou seu assistente de testes Android. Como posso ajudar você hoje?</p>
57
+ <span class="message-time">Agora</span>
58
+ </div>
59
+ </div>
60
+
61
+ <div class="chat-message bot-message">
62
+ <div class="message-avatar">
63
+ <i data-feather="cpu" class="w-5 h-5"></i>
64
+ </div>
65
+ <div class="message-content">
66
+ <p>Você pode me pedir para:</p>
67
+ <ul class="list-disc list-inside ml-4 text-sm text-gray-300 mt-2">
68
+ <li>Instalar e executar aplicativos</li>
69
+ <li>Navegar pela interface</li>
70
+ <li>Testar funcionalidades específicas</li>
71
+ <li>Capturar screenshots</li>
72
+ <li>Analisar performance</li>
73
+ </ul>
74
+ <span class="message-time">Agora</span>
75
+ </div>
76
  </div>
77
  </div>
78
 
 
81
  type="text"
82
  placeholder="Digite seu comando..."
83
  class="flex-1 bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 text-white focus:border-secondary focus:ring-2 focus:ring-secondary focus:ring-opacity-50"
84
+ id="chatInput"
85
  >
86
+ <button onclick="sendMessage()" class="bg-secondary hover:bg-orange-600 text-white px-6 py-3 rounded-lg flex items-center gap-2">
87
  <i data-feather="send" class="w-4 h-4"></i>
88
  Enviar
89
  </button>
90
  </div>
91
+ </div>
92
 
93
  <!-- Painel de Ações Rápidas -->
94
  <div class="lg:col-span-1">
 
130
  </div>
131
  </div>
132
  </main>
 
133
  <script src="components/sidebar.js"></script>
134
  <script src="script.js"></script>
135
  <script>
136
  feather.replace();
137
+
138
+ function sendMessage() {
139
+ const input = document.getElementById('chatInput');
140
+ const message = input.value.trim();
141
+
142
+ if (message) {
143
+ // Adicionar mensagem do usuário
144
+ addUserMessage(message);
145
+
146
+ // Simular resposta do bot após 1 segundo
147
+ setTimeout(() => {
148
+ simulateBotResponse(message);
149
+ }, 1000);
150
+
151
+ input.value = '';
152
+ }
153
+ }
154
+
155
+ function addUserMessage(message) {
156
+ const chatContainer = document.getElementById('chatContainer');
157
+ const messageDiv = document.createElement('div');
158
+ messageDiv.className = 'chat-message user-message';
159
+ messageDiv.innerHTML = `
160
+ <div class="message-content">
161
+ <p>${message}</p>
162
+ <span class="message-time">Agora</span>
163
+ </div>
164
+ <div class="message-avatar">
165
+ <i data-feather="user" class="w-5 h-5"></i>
166
+ </div>
167
+ `;
168
+ chatContainer.appendChild(messageDiv);
169
+ chatContainer.scrollTop = chatContainer.scrollHeight;
170
+ feather.replace();
171
+ }
172
+
173
+ function simulateBotResponse(userMessage) {
174
+ const chatContainer = document.getElementById('chatContainer');
175
+ const messageDiv = document.createElement('div');
176
+ messageDiv.className = 'chat-message bot-message';
177
+
178
+ let response = '';
179
+
180
+ if (userMessage.toLowerCase().includes('instalar') || userMessage.toLowerCase().includes('install')) {
181
+ response = 'Instalando o aplicativo no emulador... ✅ Aplicativo instalado com sucesso!';
182
+ } else if (userMessage.toLowerCase().includes('executar') || userMessage.toLowerCase().includes('abrir') || userMessage.toLowerCase().includes('run')) {
183
+ response = 'Executando o aplicativo... 🚀 Aplicativo iniciado na tela principal.';
184
+ } else if (userMessage.toLowerCase().includes('tela') || userMessage.toLowerCase().includes('screen')) {
185
+ response = 'Capturando screenshot da tela atual... 📸 Screenshot salvo com sucesso!';
186
+ } else if (userMessage.toLowerCase().includes('performance') || userMessage.toLowerCase().includes('desempenho')) {
187
+ response = 'Analisando performance do aplicativo... 📊 CPU: 15% | Memória: 128MB | FPS: 60';
188
+ } else if (userMessage.toLowerCase().includes('navegar') || userMessage.toLowerCase().includes('navigate')) {
189
+ response = 'Navegando para a próxima tela... 🔄 Navegação concluída com sucesso.';
190
+ } else {
191
+ response = 'Comando recebido! Estou processando sua solicitação no emulador Android. ✅';
192
+ }
193
+
194
+ messageDiv.innerHTML = `
195
+ <div class="message-avatar">
196
+ <i data-feather="cpu" class="w-5 h-5"></i>
197
+ </div>
198
+ <div class="message-content">
199
+ <p>${response}</p>
200
+ <span class="message-time">Agora</span>
201
+ </div>
202
+ `;
203
+
204
+ chatContainer.appendChild(messageDiv);
205
+ chatContainer.scrollTop = chatContainer.scrollHeight;
206
+ feather.replace();
207
+ }
208
+
209
+ // Permitir enviar com Enter
210
+ document.getElementById('chatInput').addEventListener('keypress', function(e) {
211
+ if (e.key === 'Enter') {
212
+ sendMessage();
213
+ }
214
+ });
215
  </script>
216
  </body>
217
  </html>
components/sidebar.js CHANGED
@@ -159,24 +159,34 @@ class CustomSidebar extends HTMLElement {
159
  </a>
160
 
161
  <a href="#" class="nav-item">
162
- <i data-feather="play"></i>
163
  <span>Testes Ativos</span>
164
  </a>
165
 
166
  <a href="#" class="nav-item">
167
- <i data-feather="archive"></i>
168
  <span>Histórico</span>
169
  </a>
170
 
171
  <a href="#" class="nav-item">
172
- <i data-feather="bar-chart-2"></i>
173
  <span>Relatórios</span>
174
  </a>
175
 
176
  <a href="#" class="nav-item">
177
- <i data-feather="settings"></i>
178
  <span>Configurações</span>
179
  </a>
 
 
 
 
 
 
 
 
 
 
180
  </nav>
181
  <div class="sidebar-footer">
182
  <div class="user-profile">
 
159
  </a>
160
 
161
  <a href="#" class="nav-item">
162
+ <i data-feather="activity"></i>
163
  <span>Testes Ativos</span>
164
  </a>
165
 
166
  <a href="#" class="nav-item">
167
+ <i data-feather="clock"></i>
168
  <span>Histórico</span>
169
  </a>
170
 
171
  <a href="#" class="nav-item">
172
+ <i data-feather="pie-chart"></i>
173
  <span>Relatórios</span>
174
  </a>
175
 
176
  <a href="#" class="nav-item">
177
+ <i data-feather="sliders"></i>
178
  <span>Configurações</span>
179
  </a>
180
+
181
+ <a href="#" class="nav-item">
182
+ <i data-feather="help-circle"></i>
183
+ <span>Ajuda</span>
184
+ </a>
185
+
186
+ <a href="#" class="nav-item">
187
+ <i data-feather="book"></i>
188
+ <span>Documentação</span>
189
+ </a>
190
  </nav>
191
  <div class="sidebar-footer">
192
  <div class="user-profile">
style.css CHANGED
@@ -1,3 +1,4 @@
 
1
  /* Shared styles across all pages */
2
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
3
 
@@ -56,10 +57,87 @@ body {
56
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
57
  }
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  /* Responsividade */
60
  @media (max-width: 768px) {
61
  main {
62
  margin-left: 0 !important;
63
  padding: 1rem !important;
64
  }
65
- }
 
 
 
 
 
1
+
2
  /* Shared styles across all pages */
3
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
4
 
 
57
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
58
  }
59
 
60
+ /* Estilos do Chatbot */
61
+ .chat-message {
62
+ display: flex;
63
+ gap: 0.75rem;
64
+ margin-bottom: 1.5rem;
65
+ animation: fadeIn 0.3s ease-out;
66
+ }
67
+
68
+ .chat-message.user-message {
69
+ justify-content: flex-end;
70
+ }
71
+
72
+ .chat-message.bot-message {
73
+ justify-content: flex-start;
74
+ }
75
+
76
+ .message-avatar {
77
+ width: 2.5rem;
78
+ height: 2.5rem;
79
+ border-radius: 50%;
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ flex-shrink: 0;
84
+ }
85
+
86
+ .user-message .message-avatar {
87
+ background: linear-gradient(135deg, #ff580f 0%, #ff8c66 100%);
88
+ order: 2;
89
+ }
90
+
91
+ .bot-message .message-avatar {
92
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
93
+ order: 1;
94
+ }
95
+
96
+ .message-content {
97
+ background: #2d3748;
98
+ padding: 0.75rem 1rem;
99
+ border-radius: 1rem;
100
+ max-width: 70%;
101
+ position: relative;
102
+ }
103
+
104
+ .user-message .message-content {
105
+ background: linear-gradient(135deg, #ff580f 0%, #ff8c66 100%);
106
+ order: 1;
107
+ border-bottom-right-radius: 0.25rem;
108
+ }
109
+
110
+ .bot-message .message-content {
111
+ background: #2d3748;
112
+ order: 2;
113
+ border-bottom-left-radius: 0.25rem;
114
+ }
115
+
116
+ .message-content p {
117
+ margin: 0;
118
+ line-height: 1.5;
119
+ }
120
+
121
+ .message-time {
122
+ display: block;
123
+ font-size: 0.75rem;
124
+ color: #a0aec0;
125
+ margin-top: 0.25rem;
126
+ text-align: right;
127
+ }
128
+
129
+ .bot-message .message-time {
130
+ text-align: left;
131
+ }
132
+
133
  /* Responsividade */
134
  @media (max-width: 768px) {
135
  main {
136
  margin-left: 0 !important;
137
  padding: 1rem !important;
138
  }
139
+
140
+ .message-content {
141
+ max-width: 85%;
142
+ }
143
+ }