1-
1+ <!DOCTYPE html >
22< html lang ="pt-BR ">
33< head >
44 < meta charset ="UTF-8 ">
126126 padding : 0 15px ;
127127 }
128128
129- /* Container do Google Button */
130129 .google-button-container {
131130 margin-bottom : 15px ;
132131 border-radius : 10px ;
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