Skip to content

Commit d6a0095

Browse files
authored
Update login.html
1 parent 6fdc1cc commit d6a0095

File tree

1 file changed

+107
-93
lines changed

1 file changed

+107
-93
lines changed

login.html

Lines changed: 107 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
<!DOCTYPE html>
22
<html lang="pt-BR">
33
<head>
44
<meta charset="UTF-8">
@@ -126,7 +126,6 @@
126126
padding: 0 15px;
127127
}
128128

129-
/* Container do Google Button */
130129
.google-button-container {
131130
margin-bottom: 15px;
132131
border-radius: 10px;
@@ -142,17 +141,6 @@
142141
border-radius: 8px;
143142
margin: 10px 0;
144143
}
145-
146-
.error-message {
147-
display: none;
148-
text-align: center;
149-
padding: 15px;
150-
color: #ff6b6b;
151-
background: rgba(255,107,107,0.1);
152-
border-radius: 8px;
153-
margin: 10px 0;
154-
border: 1px solid rgba(255,107,107,0.3);
155-
}
156144
</style>
157145
</head>
158146
<body>
@@ -166,14 +154,9 @@ <h1>Terra Dourada</h1>
166154
</div>
167155

168156
<div class="login-options">
169-
<!-- Mensagens de status -->
170157
<div class="loading" id="loading">
171158
🔄 Conectando à plataforma...
172159
</div>
173-
174-
<div class="error-message" id="errorMessage">
175-
❌ Erro no login. Tente novamente.
176-
</div>
177160

178161
<!-- Botão do Google -->
179162
<div class="google-button-container">
@@ -196,7 +179,7 @@ <h1>Terra Dourada</h1>
196179
</div>
197180
</div>
198181

199-
<div class="login-option" data-option="microsoft">
182+
<div class="login-option" onclick="loginMicrosoft()">
200183
<div class="option-icon">🔷</div>
201184
<div class="option-text">
202185
<h3>Microsoft 365</h3>
@@ -205,7 +188,7 @@ <h3>Microsoft 365</h3>
205188
<div class="option-arrow"></div>
206189
</div>
207190

208-
<div class="login-option" data-option="github">
191+
<div class="login-option" onclick="loginGithub()">
209192
<div class="option-icon">💻</div>
210193
<div class="option-text">
211194
<h3>GitHub Enterprise</h3>
@@ -214,7 +197,7 @@ <h3>GitHub Enterprise</h3>
214197
<div class="option-arrow"></div>
215198
</div>
216199

217-
<div class="login-option" data-option="sso">
200+
<div class="login-option" onclick="loginSSO()">
218201
<div class="option-icon">🏛️</div>
219202
<div class="option-text">
220203
<h3>SSO Corporativo</h3>
@@ -234,102 +217,133 @@ <h3>SSO Corporativo</h3>
234217
</div>
235218

236219
<script>
237-
// Verifica se já está logado
238-
function checkExistingLogin() {
239-
const token = localStorage.getItem("usuario_google_token");
240-
const loginTime = localStorage.getItem("usuario_login_time");
220+
// FUNÇÃO GITHUB SIMPLES E FUNCIONAL
221+
function loginGithub() {
222+
showLoading('GitHub');
241223

242-
if (token && loginTime) {
243-
const loginDate = new Date(loginTime);
244-
const now = new Date();
245-
const hoursDiff = (now - loginDate) / (1000 * 60 * 60);
224+
// Simula o processo de login
225+
setTimeout(() => {
226+
const userData = {
227+
provider: "github",
228+
username: "dev-enterprise",
229+
230+
name: "GitHub Enterprise User",
231+
company: "Terra Dourada Corp"
232+
};
246233

247-
// Token válido por 24 horas
248-
if (hoursDiff < 24) {
249-
console.log('Usuário já logado, redirecionando...');
250-
window.location.href = "autoridade.html";
251-
return true;
252-
} else {
253-
// Token expirado
254-
localStorage.removeItem("usuario_google_token");
255-
localStorage.removeItem("usuario_login_time");
256-
localStorage.removeItem("usuario_logado");
257-
}
258-
}
259-
return false;
234+
// Salva no localStorage
235+
localStorage.setItem("usuario_logado", "true");
236+
localStorage.setItem("usuario_provider", "github");
237+
localStorage.setItem("usuario_data", JSON.stringify(userData));
238+
localStorage.setItem("usuario_login_time", new Date().toISOString());
239+
240+
console.log('✅ Login GitHub realizado!', userData);
241+
redirectToDashboard();
242+
}, 2000);
260243
}
261244

262-
// Função para lidar com o login do Google
245+
// FUNÇÃO GOOGLE
263246
function handleGoogleLogin(response) {
264-
const loading = document.getElementById('loading');
265-
const errorMessage = document.getElementById('errorMessage');
266-
267-
loading.style.display = 'block';
268-
errorMessage.style.display = 'none';
269-
270-
console.log('Resposta do Google:', response);
247+
showLoading('Google');
271248

272249
if (response.credential) {
273-
const idToken = response.credential;
250+
const userData = {
251+
provider: "google",
252+
token: response.credential,
253+
254+
name: "Google Workspace User"
255+
};
274256

275-
// Salva os dados no localStorage
276-
localStorage.setItem("usuario_google_token", idToken);
277257
localStorage.setItem("usuario_logado", "true");
258+
localStorage.setItem("usuario_provider", "google");
259+
localStorage.setItem("usuario_data", JSON.stringify(userData));
278260
localStorage.setItem("usuario_login_time", new Date().toISOString());
279261

280-
console.log('Login realizado com sucesso!');
281-
282-
// Redireciona para o painel
283-
setTimeout(() => {
284-
window.location.href = "autoridade.html";
285-
}, 1500);
286-
287-
} else {
288-
loading.style.display = 'none';
289-
errorMessage.style.display = 'block';
290-
console.error('Erro: Credencial não recebida do Google');
262+
console.log('✅ Login Google realizado!');
263+
redirectToDashboard();
291264
}
292265
}
293266

294-
// Função para simular login (para testes)
295-
function simulateLogin() {
296-
console.log('🚨 MODO DE TESTE: Simulando login...');
297-
localStorage.setItem("usuario_google_token", "test_token_simulado");
298-
localStorage.setItem("usuario_logado", "true");
299-
localStorage.setItem("usuario_login_time", new Date().toISOString());
300-
267+
// FUNÇÕES PARA OS OUTROS (simuladas)
268+
function loginMicrosoft() {
269+
showLoading('Microsoft 365');
270+
setTimeout(() => {
271+
alert('🔷 Microsoft 365 - Em desenvolvimento\n\nPara teste, use Google ou GitHub');
272+
}, 1000);
273+
}
274+
275+
function loginSSO() {
276+
showLoading('SSO Corporativo');
277+
setTimeout(() => {
278+
alert('🏛️ SSO Corporativo - Em desenvolvimento\n\nPara teste, use Google ou GitHub');
279+
}, 1000);
280+
}
281+
282+
// FUNÇÕES AUXILIARES
283+
function showLoading(provider) {
284+
const loading = document.getElementById('loading');
285+
loading.textContent = `🔄 Conectando com ${provider}...`;
286+
loading.style.display = 'block';
287+
}
288+
289+
function redirectToDashboard() {
301290
setTimeout(() => {
302291
window.location.href = "autoridade.html";
303292
}, 1000);
304293
}
305294

306-
document.addEventListener('DOMContentLoaded', function() {
307-
console.log('Página de login carregada');
295+
// VERIFICA SE JÁ ESTÁ LOGADO
296+
function checkExistingLogin() {
297+
const isLogged = localStorage.getItem("usuario_logado");
298+
const loginTime = localStorage.getItem("usuario_login_time");
308299

309-
// Verifica se já está logado
310-
if (!checkExistingLogin()) {
311-
console.log('Usuário não logado, aguardando autenticação...');
300+
if (isLogged === "true" && loginTime) {
301+
const loginDate = new Date(loginTime);
302+
const now = new Date();
303+
const hoursDiff = (now - loginDate) / (1000 * 60 * 60);
304+
305+
if (hoursDiff < 24) {
306+
console.log('✅ Usuário já logado, redirecionando...');
307+
window.location.href = "autoridade.html";
308+
return true;
309+
}
312310
}
313311

314-
const loginOptions = document.querySelectorAll('.login-option');
315-
316-
loginOptions.forEach(option => {
317-
option.addEventListener('click', function() {
318-
const optionType = this.getAttribute('data-option');
319-
320-
const providerNames = {
321-
'microsoft': 'Microsoft 365',
322-
'github': 'GitHub Enterprise',
323-
'sso': 'SSO Corporativo'
324-
};
325-
326-
alert(`🔧 ${providerNames[optionType]} - Em desenvolvimento`);
327-
});
328-
});
312+
// Limpa dados expirados
313+
localStorage.removeItem("usuario_logado");
314+
localStorage.removeItem("usuario_provider");
315+
localStorage.removeItem("usuario_data");
316+
localStorage.removeItem("usuario_login_time");
317+
return false;
318+
}
329319

330-
// Botão de teste (remova em produção)
331-
console.log('💡 Dica: Digite simulateLogin() no console para testar sem Google');
320+
// INICIALIZAÇÃO
321+
document.addEventListener('DOMContentLoaded', function() {
322+
console.log('🚀 Login Terra Dourada carregado');
323+
checkExistingLogin();
324+
325+
// Debug no console
326+
console.log('💡 Dica: Digite testLogin() no console para teste rápido');
332327
});
328+
329+
// FUNÇÃO DE TESTE RÁPIDO
330+
function testLogin() {
331+
showLoading('Teste');
332+
setTimeout(() => {
333+
localStorage.setItem("usuario_logado", "true");
334+
localStorage.setItem("usuario_provider", "teste");
335+
localStorage.setItem("usuario_data", JSON.stringify({
336+
provider: "teste",
337+
username: "usuario_teste",
338+
339+
name: "Usuário Teste"
340+
}));
341+
localStorage.setItem("usuario_login_time", new Date().toISOString());
342+
343+
console.log('✅ Login teste realizado!');
344+
redirectToDashboard();
345+
}, 500);
346+
}
333347
</script>
334348
</body>
335349
</html>

0 commit comments

Comments
 (0)