maralvic commited on
Commit
2c5fcb4
·
verified ·
1 Parent(s): 677dd01

Alterar os botões para que fiquem habilitados para o link https://mvic.pro/live somente entre 19:47 e 21:16 de terças-feiras e entre 19:47 e 21:16 de quintas-feiras; fora desses dias e horários, deixar no modo countdown

Browse files
Files changed (2) hide show
  1. README.md +8 -5
  2. index.html +585 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Tributarista Live Countdown Timer
3
- emoji: 📚
4
- colorFrom: pink
5
- colorTo: green
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: Tributarista Live Countdown Timer 🚀
3
+ colorFrom: red
4
+ colorTo: red
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
index.html CHANGED
@@ -1,19 +1,586 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
 
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="pt-BR">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Live com o Prof. Marcelo Vicente | Tributarista</title>
8
+
9
+ <!-- Favicon -->
10
+ <link rel="icon" href="/img/favicon/favicon_01.png" type="image/x-icon">
11
+ <link rel="shortcut icon" href="/img/favicon/favicon_01.png" type="image/x-icon">
12
+ <link rel="apple-touch-icon" href="/img/favicon/favicon_01.png">
13
+
14
+ <!-- Para melhor compatibilidade com diferentes dispositivos -->
15
+ <link rel="icon" type="image/png" href="/img/favicon/favicon_01.png">
16
+
17
+ <meta name="theme-color" content="#000000">
18
+
19
+ <script src="https://cdn.tailwindcss.com"></script>
20
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
21
+ <link rel="preconnect" href="https://fonts.googleapis.com">
22
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
23
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
24
+ <style>
25
+ body {
26
+ font-family: 'Poppins', sans-serif;
27
+ scroll-behavior: smooth;
28
+ overflow-x: hidden;
29
+ }
30
+
31
+ html {
32
+ scroll-behavior: smooth;
33
+ }
34
+
35
+ .profmarcelovicente-bg {
36
+ background: linear-gradient(135deg, #5466DD 0%, #3a4fc7 100%);
37
+ }
38
+
39
+ .profmarcelovicente-btn {
40
+ background: linear-gradient(135deg, #00CC88 0%, #00AA6E 100%);
41
+ transition: all 0.3s ease;
42
+ box-shadow: 0 4px 15px rgba(0, 204, 136, 0.3);
43
+ position: relative;
44
+ z-index: 100;
45
+ }
46
+
47
+ .profmarcelovicente-btn:hover {
48
+ transform: translateY(-3px);
49
+ box-shadow: 0 8px 25px rgba(0, 204, 136, 0.4);
50
+ }
51
+
52
+ .card-hover {
53
+ transition: all 0.3s ease;
54
+ }
55
+
56
+ .card-hover:hover {
57
+ transform: translateY(-5px);
58
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
59
+ }
60
+
61
+ .pulse {
62
+ animation: pulse 2s infinite;
63
+ position: relative;
64
+ z-index: 100;
65
+ }
66
+
67
+ @keyframes pulse {
68
+ 0% { box-shadow: 0 0 0 0 rgba(0, 204, 136, 0.7); }
69
+ 70% { box-shadow: 0 0 0 15px rgba(0, 204, 136, 0); }
70
+ 100% { box-shadow: 0 0 0 0 rgba(0, 204, 136, 0); }
71
+ }
72
+
73
+ /* CORREÇÃO CRÍTICA - Garantir que o botão seja clicável */
74
+ #liveButton {
75
+ position: relative;
76
+ z-index: 1000;
77
+ pointer-events: auto !important;
78
+ }
79
+
80
+ #liveButton a {
81
+ position: relative;
82
+ z-index: 1001;
83
+ cursor: pointer !important;
84
+ pointer-events: auto !important;
85
+ }
86
+
87
+ .modalidade-card {
88
+ border-left: 4px solid #5466DD;
89
+ }
90
+
91
+ .profile-container {
92
+ display: flex;
93
+ align-items: center;
94
+ gap: 30px;
95
+ max-width: 800px;
96
+ margin: 0 auto;
97
+ }
98
+
99
+ .profile-circle {
100
+ width: 180px;
101
+ height: 180px;
102
+ border-radius: 50%;
103
+ overflow: hidden;
104
+ border: 5px solid white;
105
+ box-shadow: 0 5px 15px rgba(0,0,0,0.1);
106
+ background: #5466DD;
107
+ flex-shrink: 0;
108
+ }
109
+
110
+ .profile-circle img {
111
+ width: 100%;
112
+ height: 100%;
113
+ object-fit: cover;
114
+ object-position: center top;
115
+ }
116
+
117
+ .step-number {
118
+ width: 40px;
119
+ height: 40px;
120
+ background: #5466DD;
121
+ color: white;
122
+ border-radius: 50%;
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ font-weight: bold;
127
+ margin-right: 15px;
128
+ flex-shrink: 0;
129
+ }
130
+
131
+ .check-icon {
132
+ color: #00AA6E;
133
+ margin-right: 10px;
134
+ }
135
+
136
+ /* Estilos para o card com fade */
137
+ .fade-card {
138
+ position: relative;
139
+ overflow: hidden;
140
+ cursor: pointer;
141
+ transition: all 0.3s ease;
142
+ }
143
+
144
+ .fade-text {
145
+ position: relative;
146
+ overflow: hidden;
147
+ height: 120px;
148
+ }
149
+
150
+ .fade-text::after {
151
+ content: "";
152
+ position: absolute;
153
+ bottom: 0;
154
+ left: 0;
155
+ width: 100%;
156
+ height: 100px;
157
+ background: linear-gradient(transparent, #f0f8ff 90%);
158
+ }
159
+
160
+ .card-content {
161
+ display: none;
162
+ }
163
+
164
+ .card-indicator {
165
+ text-align: center;
166
+ margin-top: 10px;
167
+ color: #5466DD;
168
+ font-weight: 500;
169
+ }
170
+
171
+ .card-indicator i {
172
+ margin-right: 5px;
173
+ animation: bounce 2s infinite;
174
+ }
175
+
176
+ @keyframes bounce {
177
+ 0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
178
+ 40% {transform: translateY(-10px);}
179
+ 60% {transform: translateY(-5px);}
180
+ }
181
+
182
+ .form-pointer {
183
+ position: absolute;
184
+ right: 20px;
185
+ top: -25px;
186
+ color: #5466DD;
187
+ font-size: 24px;
188
+ animation: pointDown 2s infinite;
189
+ transform-origin: top right;
190
+ }
191
+
192
+ @keyframes pointDown {
193
+ 0%, 20%, 50%, 80%, 100% {transform: rotate(45deg) translate(0, 0);}
194
+ 40% {transform: rotate(45deg) translate(5px, 5px);}
195
+ }
196
+
197
+ @media (max-width: 768px) {
198
+ .profile-container {
199
+ flex-direction: column;
200
+ text-align: center;
201
+ }
202
+
203
+ .profile-circle {
204
+ width: 150px;
205
+ height: 150px;
206
+ }
207
+
208
+ .form-pointer {
209
+ right: 10px;
210
+ top: -20px;
211
+ font-size: 20px;
212
+ }
213
+ }
214
+ </style>
215
+ </head>
216
+ <body class="bg-gray-50">
217
+ <!-- Header -->
218
+ <header class="profmarcelovicente-bg text-white shadow-lg sticky top-0 z-50 w-full">
219
+ <div class="max-w-7xl mx-auto px-4 py-4 flex justify-between items-center">
220
+ <div class="text-2xl font-bold"><a href="https://marcelovicente.prof" class="text-white hover:text-white/90 transition">@profmarcelovicente</a></div>
221
+ <div class="flex space-x-6">
222
+ <a href="https://instagram.com/profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
223
+ <i class="fab fa-instagram"></i>
224
+ </a>
225
+ <a href="https://youtube.com/@profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
226
+ <i class="fab fa-youtube"></i>
227
+ </a>
228
+ <div class="hidden md:flex space-x-6">
229
+ <a href="https://facebook.com/profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
230
+ <i class="fab fa-facebook"></i>
231
+ </a>
232
+ <a href="https://www.linkedin.com/company/profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
233
+ <i class="fab fa-linkedin"></i>
234
+ </a>
235
+ </div>
236
+ </div>
237
+ </div>
238
+ </header>
239
+
240
+ <!-- Hero Section Modificada -->
241
+ <section class="relative overflow-hidden">
242
+ <div class="absolute inset-0 bg-black/40 z-10"></div>
243
+ <div class="absolute inset-0 bg-gradient-to-r from-blue-900/80 to-purple-900/80 z-10"></div>
244
+ <img src="https://marcelovicente.prof/img/image_03.jpg" alt="Prof. Marcelo Vicente" class="w-full h-full object-cover absolute">
245
+
246
+ <div class="container mx-auto px-4 py-24 relative z-50">
247
+ <div class="max-w-3xl mx-auto text-center">
248
+ <h1 class="text-4xl md:text-5xl lg:text-6xl font-bold text-white mb-4 leading-tight">Live com o Prof. Marcelo Vicente</h1>
249
+ <p class="text-xl md:text-2xl text-white/90 mb-6 text-center">Sempre as terças e quintas, às 19:47 pelo Instagram, YouTube ou Zoom / Google Meets só para quem estiver no grupo!</p>
250
+ </div>
251
+ </div>
252
+ </section>
253
+
254
+ <!-- CORREÇÃO APLICADA - Botão de acesso aos materiais -->
255
+ <div class="container mx-auto px-4 -mt-20 relative z-50">
256
+ <div class="max-w-3xl mx-auto text-center">
257
+ <div id="timerButton" class="profmarcelovicente-btn text-white font-semibold px-8 py-4 rounded-full text-lg inline-flex items-center justify-center mx-auto">
258
+ <span>O acesso será liberado em </span>
259
+ <span id="countdownTo1947" class="ml-2 text-2xl font-bold"></span>
260
+ </div>
261
+ <div id="liveButton" class="hidden">
262
+ <a href="https://mvic.pro/live" target="_blank" class="profmarcelovicente-btn text-white font-semibold px-8 py-4 rounded-full text-lg inline-flex items-center justify-center mx-auto pulse">
263
+ <i class="fas fa-video mr-2"></i>
264
+ <span>Acessar Live Agora</span>
265
+ </a>
266
+ </div>
267
+ </div>
268
+ </div>
269
+
270
+ <!-- Main Content -->
271
+ <section class="container mx-auto px-4 py-12 max-w-6xl">
272
+ <!-- Video Section -->
273
+ <div id="form-section" class="bg-white rounded-xl shadow-lg p-8 card-hover mb-8 relative">
274
+ <div class="aspect-w-16 aspect-h-9 rounded-lg overflow-hidden" style="width: 50%; margin: 0 auto;">
275
+ <video class="w-full h-full object-cover" autoplay loop muted playsinline>
276
+ <source src="https://marcelovicente.prof/live1947/acesso/videos/aovivo.mp4" type="video/mp4">
277
+ Your browser does not support the video tag.
278
+ </video>
279
+ </div>
280
+ <!-- Espaçamento de uma linha após o video -->
281
+ <div class="h-6"></div>
282
+ <div class="text-center">
283
+ <h2 class="text-3xl md:text-4xl font-bold text-gray-800 mb-6">Sua participação é essencial <i class="fas fa-hand-paper ml-2"></i></h2>
284
+ <p style="font-weight:normal" class="text-xl text-gray-600 mb-4">Assista à Live até o final, porque depois eu vou te enviar o pdf completo com o resumo e os principais insights do que foi conversado!</p>
285
+ <p class="text-xl text-gray-600 mb-8">Vamos juntos decolar com as Transações Tributárias!</p>
286
+ </div>
287
+ <div class="text-center">
288
+ <div id="timerButton2" class="profmarcelovicente-btn text-white font-semibold px-8 py-4 rounded-full text-lg inline-flex items-center justify-center">
289
+ <span>O acesso será liberado em </span>
290
+ <span id="countdownTo1947_2" class="ml-2 text-2xl font-bold"></span>
291
+ </div>
292
+ <div id="liveButton2" class="hidden">
293
+ <a href="https://mvic.pro/live" target="_blank" class="profmarcelovicente-btn text-white font-semibold px-8 py-4 rounded-full text-lg inline-flex items-center justify-center pulse">
294
+ <i class="fas fa-video mr-2"></i>
295
+ <span>Bora decolar!</span>
296
+ </a>
297
+ </div>
298
+ <p class="text-center text-gray-600 mt-4 text-xl"><br><strong>Aproveite ao máximo esta jornada!</strong><br>Participe das lives às terças e quintas, das 19:47 às 21:16, para construir conhecimento sólido e transformar sua atuação profissional na área tributária</p>
299
+ </div>
300
+ </div>
301
+ </section>
302
+
303
+ <!-- Observação -->
304
+ <div class="container mx-auto px-4 pt-2 pb-6 max-w-6xl text-center text-sm text-gray-500">
305
+ Obs.: Os temas, o conteúdo das Lives, as plataformas de transmissão e as datas e horários poderão ser alterados sem prévio aviso. Caso haja alguma alteração, serão encaminhadas mensagens via e-mail e/ou WhatsApp informando com antecedência, na medida do possível.<br>
306
+ <a href="#" id="showTermsLink" class="text-gray-500 underline hover:no-underline">Termos legais de participação nas Lives</a>
307
+ </div>
308
+
309
+ <!-- Footer -->
310
+ <footer class="profmarcelovicente-bg text-white py-12 w-full">
311
+ <div class="max-w-7xl mx-auto px-4">
312
+ <div class="flex flex-col md:flex-row justify-between items-center mb-8">
313
+ <div class="mb-6 md:mb-0">
314
+ <h3 class="text-2xl font-bold mb-2"><a href="https://marcelovicente.prof">@profmarcelovicente</a></h3>
315
+ <p class="text-white/80">Prof. Marcelo Vicente | Tributarista</p>
316
+ </div>
317
+ <div class="flex space-x-6">
318
+ <a href="https://instagram.com/profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
319
+ <i class="fab fa-instagram"></i>
320
+ </a>
321
+ <a href="https://facebook.com/profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
322
+ <i class="fab fa-facebook"></i>
323
+ </a>
324
+ <a href="https://youtube.com/@profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
325
+ <i class="fab fa-youtube"></i>
326
+ </a>
327
+ <a href="https://www.linkedin.com/company/profmarcelovicente" target="_blank" class="text-white hover:text-white/80 transition text-xl">
328
+ <i class="fab fa-linkedin"></i>
329
+ </a>
330
+ </div>
331
+ </div>
332
+
333
+ <div class="border-t border-white/20 pt-8 text-center">
334
+ <p class="text-white/70">© 2025 ECOJURiS - Educação Corporativa e Jurídica. Todos os direitos reservados.</p>
335
+ <p class="text-white/70 text-sm mt-2"><a href="https://www.ecojuris.online/termos" class="hover:underline">Termos Legais</a></p>
336
+ </div>
337
+ </div>
338
+ </footer>
339
+
340
+ <!-- Terms Popup -->
341
+ <div id="termsPopup" class="fixed inset-0 bg-black bg-opacity-80 flex items-center justify-center z-50 hidden">
342
+ <div class="bg-white rounded-lg shadow-xl max-w-4xl w-full max-h-[90vh] overflow-hidden mx-4">
343
+ <div class="p-6 overflow-y-auto max-h-[80vh] text-xs">
344
+ <h2 class="text-lg font-bold mb-4 text-center">LIVES PROF. MARCELO VICENTE - TERMOS DE PARTICIPAÇÃO</h2>
345
+ <div class="border-b mb-4"></div>
346
+ <div class="space-y-4">
347
+ <!-- Conteúdo dos termos -->
348
+ <p>Ao prosseguir e participar desta live, reunião ou evento online ("Evento") - gratuito e independente do pagamento de qualquer taxa, assunção de encargo ou de qualquer contrapartida por parte do usuário -, você declara, de forma livre e esclarecida, que leu, compreendeu e concorda integralmente com os termos e condições abaixo:</p>
349
+
350
+ <!-- ... resto do conteúdo dos termos ... -->
351
+
352
+ <div class="mt-6 p-4 bg-gray-50 rounded-lg">
353
+ <div class="flex items-start">
354
+ <input type="checkbox" id="agreeCheckbox" class="mt-1 mr-2">
355
+ <label for="agreeCheckbox" class="text-xs">
356
+ <strong class="text-xs">Estou ciente e concordo que: (1) O conteúdo é educacional, não é consultoria e não garante resultados; (2) Minha imagem, voz e participação serão gravadas e utilizadas gratuitamente para divulgação pelo Prof. Marcelo Vicente e pela ECOJURIS; (3) O uso do conteúdo para fins não educacionais sem autorização é proibido por lei. Li e aceito o Termo Completo.</strong>
357
+ </label>
358
+ </div>
359
+ <p class="text-xs mt-2 text-gray-600">Para prosseguir para a live, você deve marcar a caixa de seleção acima.</p>
360
+ <div class="text-center mt-4">
361
+ <button id="closePopupBtn" class="profmarcelovicente-btn text-white font-semibold px-6 py-2 rounded-full text-sm hidden">
362
+ <i class="fas fa-check mr-2"></i>
363
+ <span>Fechar e Continuar</span>
364
+ </button>
365
+ </div>
366
+ </div>
367
+ </div>
368
+ </div>
369
+ </div>
370
+ </div>
371
+
372
+ <script>
373
+ // Função para criar data no horário de Brasília (GMT-3)
374
+ function getBrasiliaTime() {
375
+ const now = new Date();
376
+ // Ajustar para GMT-3 (Brasília)
377
+ const offset = -3 * 60; // GMT-3 em minutos
378
+ const localTime = now.getTime();
379
+ const localOffset = now.getTimezoneOffset() * 60000;
380
+ const utc = localTime + localOffset;
381
+ const brasiliaTime = new Date(utc + (offset * 60000));
382
+ return brasiliaTime;
383
+ }
384
+
385
+ // Função para obter a próxima terça ou quinta às 19:47
386
+ function getNextLiveDate() {
387
+ const now = getBrasiliaTime();
388
+ const currentDay = now.getDay(); // 0=Domingo, 1=Segunda, 2=Terça, 3=Quarta, 4=Quinta, 5=Sexta, 6=Sábado
389
+
390
+ let daysToAdd = 0;
391
+ let targetDay = 2; // Terça-feira por padrão
392
+
393
+ // Determinar qual é o próximo dia de live (terça ou quinta)
394
+ if (currentDay === 0 || currentDay === 1 || currentDay === 5 || currentDay === 6) {
395
+ // Domingo, Segunda, Sexta, Sábado -> próxima terça
396
+ if (currentDay === 0) daysToAdd = 2; // Domingo -> Terça
397
+ else if (currentDay === 1) daysToAdd = 1; // Segunda -> Terça
398
+ else if (currentDay === 5) daysToAdd = 3; // Sexta -> Terça (3 dias)
399
+ else if (currentDay === 6) daysToAdd = 2; // Sábado -> Terça (2 dias)
400
+ targetDay = 2; // Terça
401
+ } else if (currentDay === 2) { // Terça
402
+ // Verificar se já passou das 19:47 hoje
403
+ const today1947 = new Date(now);
404
+ today1947.setHours(19, 47, 0, 0);
405
+ if (now >= today1947) {
406
+ daysToAdd = 2; // Próxima quinta
407
+ targetDay = 4; // Quinta
408
+ } else {
409
+ daysToAdd = 0; // Hoje ainda é terça e não são 19:47
410
+ targetDay = 2; // Terça
411
+ }
412
+ } else if (currentDay === 3) { // Quarta
413
+ daysToAdd = 1; // Amanhã é quinta
414
+ targetDay = 4; // Quinta
415
+ } else if (currentDay === 4) { // Quinta
416
+ // Verificar se já passou das 19:47 hoje
417
+ const today1947 = new Date(now);
418
+ today1947.setHours(19, 47, 0, 0);
419
+ if (now >= today1947) {
420
+ daysToAdd = 4; // Próxima terça (pula sexta, sábado, domingo, segunda)
421
+ targetDay = 2; // Terça
422
+ } else {
423
+ daysToAdd = 0; // Hoje ainda é quinta e não são 19:47
424
+ targetDay = 4; // Quinta
425
+ }
426
+ }
427
+
428
+ const nextLiveDate = new Date(now);
429
+ nextLiveDate.setDate(nextLiveDate.getDate() + daysToAdd);
430
+ nextLiveDate.setHours(19, 47, 0, 0);
431
+
432
+ return nextLiveDate;
433
+ }
434
+
435
+ // Configuração do countdown para 19:47 apenas terças e quintas
436
+ function updateCountdownTo1947() {
437
+ const now = getBrasiliaTime();
438
+ const currentDay = now.getDay();
439
+ const currentHour = now.getHours();
440
+ const currentMinutes = now.getMinutes();
441
+ // Verificar se estamos no período de exibição do botão da live (19:47-21:16)
442
+ let showLiveButton = false;
443
+
444
+ if (currentDay === 2) { // Terça
445
+ // Terça 19:47 até 21:16
446
+ if ((currentHour === 19 && currentMinutes >= 47) ||
447
+ (currentHour === 20) ||
448
+ (currentHour === 21 && currentMinutes <= 16)) {
449
+ showLiveButton = true;
450
+ }
451
+ } else if (currentDay === 4) { // Quinta
452
+ // Quinta 19:47 até 21:16
453
+ if ((currentHour === 19 && currentMinutes >= 47) ||
454
+ (currentHour === 20) ||
455
+ (currentHour === 21 && currentMinutes <= 16)) {
456
+ showLiveButton = true;
457
+ }
458
+ }
459
+ if (showLiveButton) {
460
+ // Mostrar botão da live
461
+ document.getElementById('timerButton').classList.add('hidden');
462
+ document.getElementById('liveButton').classList.remove('hidden');
463
+ document.getElementById('timerButton2').classList.add('hidden');
464
+ document.getElementById('liveButton2').classList.remove('hidden');
465
+ return true;
466
+ } else {
467
+ // Mostrar countdown para a próxima live
468
+ const nextLiveDate = getNextLiveDate();
469
+ const diff = nextLiveDate - now;
470
+
471
+ const days = Math.floor(diff / (1000 * 60 * 60 * 24));
472
+ const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
473
+ const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
474
+ const seconds = Math.floor((diff % (1000 * 60)) / 1000);
475
+
476
+ // Formatar o countdown para mostrar dias quando necessário
477
+ let countdownText;
478
+ if (days > 0) {
479
+ countdownText = `${days}d ${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
480
+ } else {
481
+ countdownText = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
482
+ }
483
+
484
+ document.getElementById('timerButton').classList.remove('hidden');
485
+ document.getElementById('liveButton').classList.add('hidden');
486
+ document.getElementById('timerButton2').classList.remove('hidden');
487
+ document.getElementById('liveButton2').classList.add('hidden');
488
+
489
+ document.getElementById('countdownTo1947').textContent = countdownText;
490
+ document.getElementById('countdownTo1947_2').textContent = countdownText;
491
+ return false;
492
+ }
493
+ }
494
+
495
+ // Iniciar o contador para 19:47
496
+ updateCountdownTo1947();
497
+ const countdownInterval = setInterval(function() {
498
+ updateCountdownTo1947();
499
+ }, 1000);
500
+
501
+ // Restante do código JavaScript para os termos
502
+ function updateButtonState() {
503
+ const agreeCheckbox = document.getElementById('agreeCheckbox');
504
+ const closePopupBtn = document.getElementById('closePopupBtn');
505
+ if (agreeCheckbox && agreeCheckbox.checked) {
506
+ closePopupBtn.classList.remove('hidden');
507
+ } else {
508
+ closePopupBtn.classList.add('hidden');
509
+ }
510
+ }
511
+
512
+ const agreeCheckbox = document.getElementById('agreeCheckbox');
513
+ const closePopupBtn = document.getElementById('closePopupBtn');
514
+ const termsPopup = document.getElementById('termsPopup');
515
+
516
+ if (agreeCheckbox) {
517
+ agreeCheckbox.addEventListener('change', updateButtonState);
518
+ }
519
+
520
+ if (closePopupBtn) {
521
+ closePopupBtn.addEventListener('click', function() {
522
+ if (agreeCheckbox && agreeCheckbox.checked) {
523
+ localStorage.setItem('termsAccepted', 'true');
524
+ }
525
+ if (termsPopup) {
526
+ termsPopup.classList.add('hidden');
527
+ document.body.classList.remove('popup-open');
528
+ }
529
+ window.scrollTo({
530
+ top: 0,
531
+ behavior: 'smooth'
532
+ });
533
+ });
534
+ }
535
+
536
+ if (!localStorage.getItem('termsAccepted')) {
537
+ setTimeout(() => {
538
+ const popup = document.getElementById('termsPopup');
539
+ const agreeCheckbox = document.getElementById('agreeCheckbox');
540
+ if (popup) {
541
+ popup.classList.remove('hidden');
542
+ document.body.classList.add('popup-open');
543
+ if (agreeCheckbox) {
544
+ agreeCheckbox.checked = true;
545
+ updateButtonState();
546
+ }
547
+ }
548
+ }, 1000);
549
+ }
550
+
551
+ document.getElementById('showTermsLink').addEventListener('click', function(e) {
552
+ e.preventDefault();
553
+ const termsPopup = document.getElementById('termsPopup');
554
+ if (termsPopup) {
555
+ termsPopup.classList.remove('hidden');
556
+ document.body.classList.add('popup-open');
557
+ const agreeCheckbox = document.getElementById('agreeCheckbox');
558
+ if (agreeCheckbox) {
559
+ agreeCheckbox.checked = true;
560
+ updateButtonState();
561
+ }
562
+ }
563
+ });
564
+
565
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
566
+ anchor.addEventListener('click', function(e) {
567
+ e.preventDefault();
568
+ const targetId = this.getAttribute('href');
569
+ if (targetId === '#') return;
570
+ const targetElement = document.querySelector(targetId);
571
+ if (targetElement) {
572
+ const headerOffset = 100;
573
+ const elementPosition = targetElement.getBoundingClientRect().top;
574
+ const offsetPosition = elementPosition + window.pageYOffset - headerOffset;
575
+ window.scrollTo({
576
+ top: offsetPosition,
577
+ behavior: 'smooth'
578
+ });
579
+ }
580
+ });
581
+ });
582
+ </script>
583
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
584
+ </body>
585
  </html>
586
+