Skip to content

Commit 3183e5c

Browse files
feat: Add initial project website including main page, styling, and interactivity.
1 parent 8a8c33c commit 3183e5c

File tree

3 files changed

+98
-24
lines changed

3 files changed

+98
-24
lines changed

docs/assets/css/index.css

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,50 @@ body {
604604
width: 100%;
605605
}
606606

607+
/* Download Badge - NOVA VERSÃO */
608+
.download-badge-new {
609+
position: absolute;
610+
top: 0;
611+
left: 0;
612+
background: linear-gradient(135deg, #ff6b35, #ff4500);
613+
color: white;
614+
padding: 0.4rem 1rem;
615+
font-size: 0.7rem;
616+
font-weight: 700;
617+
border-radius: 0 0 12px 0;
618+
box-shadow: 0 2px 10px rgba(255, 107, 53, 0.4);
619+
animation: badgeFlame 2s ease-in-out infinite;
620+
z-index: 2;
621+
}
622+
623+
@keyframes badgeFlame {
624+
0%, 100% {
625+
box-shadow: 0 2px 10px rgba(255, 107, 53, 0.4);
626+
transform: scale(1);
627+
}
628+
50% {
629+
box-shadow: 0 4px 20px rgba(255, 107, 53, 0.7);
630+
transform: scale(1.02);
631+
}
632+
}
633+
634+
/* Hash Display in Stats */
635+
.hash-value {
636+
display: block;
637+
font-family: 'Consolas', 'Monaco', monospace;
638+
font-size: 1.4rem;
639+
letter-spacing: 1px;
640+
color: var(--gold-primary);
641+
}
642+
643+
.hash-date {
644+
display: block;
645+
font-size: 0.85rem;
646+
font-weight: 400;
647+
color: var(--text-secondary);
648+
margin-top: 2px;
649+
}
650+
607651
/* ========== FEATURES ========== */
608652
.features-grid {
609653
display: grid;

docs/assets/js/index.js

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,6 @@ function updateDownloadLinks() {
7474
modalManualDownload.href = translationUrl;
7575
modalManualDownload.innerHTML = `<i class="fas fa-file-archive"></i> Baixar Tradução v${translationVersion}`;
7676
}
77-
78-
const statVersion = document.getElementById('stat-version');
79-
if (statVersion) statVersion.textContent = `v${translationVersion}`;
8077
}
8178
}
8279

@@ -133,6 +130,38 @@ async function fetchReleases() {
133130
}
134131
}
135132

133+
// ========== FETCH TRANSLATION HASH ==========
134+
async function fetchTranslationHash() {
135+
try {
136+
// Buscar version.json do repositório wwm_brasileiro_auto_path
137+
const versionUrl = 'https://raw.githubusercontent.com/rodrigomiquilino/wwm_brasileiro_auto_path/main/version.json';
138+
const response = await fetch(versionUrl);
139+
140+
if (!response.ok) throw new Error('Failed to fetch version.json');
141+
142+
const versionData = await response.json();
143+
const hash = versionData.version_hash?.substring(0, 7) || '—';
144+
const updatedAt = versionData.updated_at || '';
145+
146+
// Formatar data para pt-BR
147+
let formattedDate = '';
148+
if (updatedAt) {
149+
const dateParts = updatedAt.split(' ')[0]; // "2025-12-08"
150+
const [year, month, day] = dateParts.split('-');
151+
formattedDate = `${day}/${month}/${year}`;
152+
}
153+
154+
const statHash = document.getElementById('stat-hash');
155+
if (statHash) {
156+
statHash.innerHTML = `<span class="hash-value">${hash}</span><span class="hash-date">${formattedDate}</span>`;
157+
}
158+
} catch (error) {
159+
console.error('Error fetching translation hash:', error);
160+
const statHash = document.getElementById('stat-hash');
161+
if (statHash) statHash.textContent = '—';
162+
}
163+
}
164+
136165
// ========== FETCH COMMITS ==========
137166
async function fetchCommits() {
138167
try {
@@ -428,6 +457,7 @@ document.addEventListener('DOMContentLoaded', () => {
428457
// Releases e commits - carregar imediatamente
429458
fetchReleases();
430459
fetchCommits();
460+
fetchTranslationHash();
431461

432462
// Lazy load para Hall da Fama e Traduções Recentes
433463
const lazyLoadObserver = new IntersectionObserver((entries) => {

docs/index.html

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@ <h2>Where Winds Meet em Português</h2>
144144
<div class="stat-label">Strings Traduzidas</div>
145145
</div>
146146
<div class="stat">
147-
<div class="stat-value" id="stat-version"></div>
148-
<div class="stat-label">Versão Atual</div>
147+
<div class="stat-value" id="stat-hash"></div>
148+
<div class="stat-label">Última Atualização</div>
149149
</div>
150150
</div>
151151
</div>
@@ -162,18 +162,18 @@ <h2><i class="fas fa-download"></i> Downloads</h2>
162162
<div class="download-grid">
163163
<!-- Launcher -->
164164
<div class="download-card featured">
165+
<!-- <div class="download-badge-new">🔥 NOVA VERSÃO</div> -->
165166
<div class="download-icon">
166167
<i class="fas fa-rocket"></i>
167168
</div>
168169
<h3>WWM Tradutor PT-BR</h3>
169-
<p>Instalador automático com interface gráfica moderna. Instala e atualiza a tradução com um clique. <strong>~40MB</strong></p>
170+
<p>Instalador automático com <strong>auto-update</strong>! Instala, atualiza e mantém sua tradução sempre em dia. <strong>~40MB</strong></p>
170171

171172
<ul class="download-features">
173+
<li style="display: block;"><i class="fas fa-check"></i> <strong>Auto-Update</strong> — sempre atualizado automaticamente!</li>
172174
<li style="display: block;"><i class="fas fa-check"></i> <strong>Auto-Detecção</strong> de Steam, Epic e Standalone</li>
173175
<li><i class="fas fa-check"></i> Instalação com <strong>1 clique</strong></li>
174-
<li><i class="fas fa-check"></i> Suporte a <strong>4 arquivos</strong> de tradução</li>
175176
<li><i class="fas fa-check"></i> Backup e restauração de originais</li>
176-
<li><i class="fas fa-check"></i> Solicita admin quando necessário</li>
177177
<li><i class="fas fa-check"></i> Suporte a escalas de DPI</li>
178178
</ul>
179179

@@ -304,18 +304,19 @@ <h3>Instale e Jogue!</h3>
304304

305305
<!-- Manual Installation -->
306306
<div class="opensource-banner mt-3">
307-
<h3><i class="fas fa-wrench"></i> Instalação Manual (4 arquivos)</h3>
307+
<h3><i class="fas fa-wrench"></i> Instalação Manual (3 arquivos)</h3>
308308
<p>
309309
Se preferir instalar manualmente, baixe o ZIP e extraia os arquivos para as <strong>2 pastas</strong> do jogo:
310310
</p>
311311
<code>
312-
<strong>Pasta 1 (Steam/Epic):</strong> ...\Package\HD\oversea\locale\<br>
313-
<strong>Pasta 2 (Steam/Epic):</strong> ...\Package\HD\locale\<br><br>
314-
<strong>Pasta 1 (Standalone):</strong> ...\LocalData\Patch\HD\oversea\locale\<br>
315-
<strong>Pasta 2 (Standalone):</strong> ...\LocalData\Patch\HD\locale\
312+
<strong>Pasta 1 (Steam/Epic):</strong> ...\Package\HD\oversea\locale\ <em>(2 arquivos: en + en_diff)</em><br>
313+
<strong>Pasta 2 (Steam/Epic):</strong> ...\Package\HD\locale\ <em>(1 arquivo: en)</em><br><br>
314+
<strong>Pasta 1 (Standalone):</strong> ...\LocalData\Patch\HD\oversea\locale\ <em>(2 arquivos)</em><br>
315+
<strong>Pasta 2 (Standalone):</strong> ...\LocalData\Patch\HD\locale\ <em>(1 arquivo)</em>
316316
</code>
317317
<p class="small">
318-
Substitua os arquivos <strong>translate_words_map_en</strong> e <strong>translate_words_map_en_diff</strong> em ambas as pastas.
318+
<strong>oversea/locale:</strong> translate_words_map_en + translate_words_map_en_diff<br>
319+
<strong>locale:</strong> apenas translate_words_map_en
319320
</p>
320321
</div>
321322
</div>
@@ -510,12 +511,11 @@ <h3><i class="fas fa-file"></i> Estrutura do ZIP</h3>
510511
<div class="platform-name"><i class="fas fa-folder-tree"></i> Conteúdo do HD.zip</div>
511512
<code>
512513
<strong>HD/</strong><br>
513-
├── <strong>oversea/locale/</strong><br>
514+
├── <strong>oversea/locale/</strong> <em>(2 arquivos)</em><br>
514515
│&nbsp;&nbsp;&nbsp;&nbsp;├── translate_words_map_en<br>
515516
│&nbsp;&nbsp;&nbsp;&nbsp;└── translate_words_map_en_diff<br>
516-
└── <strong>locale/</strong><br>
517-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;├── translate_words_map_en<br>
518-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└── translate_words_map_en_diff
517+
└── <strong>locale/</strong> <em>(1 arquivo)</em><br>
518+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└── translate_words_map_en
519519
</code>
520520
</div>
521521
</div>
@@ -526,18 +526,18 @@ <h3><i class="fas fa-folder-open"></i> Onde colocar os arquivos</h3>
526526
<div class="path-box">
527527
<div class="platform-name"><i class="fab fa-steam"></i> Steam / <i class="fas fa-gamepad"></i> Epic</div>
528528
<code>
529-
<strong>Pasta 1:</strong> ...\Package\<strong>HD\oversea\locale\</strong><br>
530-
<strong>Pasta 2:</strong> ...\Package\<strong>HD\locale\</strong><br><br>
531-
<em>Copie os 2 arquivos para cada pasta (total: 4 arquivos)</em>
529+
<strong>Pasta 1:</strong> ...\Package\<strong>HD\oversea\locale\</strong><em>2 arquivos (en + en_diff)</em><br>
530+
<strong>Pasta 2:</strong> ...\Package\<strong>HD\locale\</strong><em>1 arquivo (en)</em><br><br>
531+
<em>Total: 3 arquivos</em>
532532
</code>
533533
</div>
534534

535535
<div class="path-box">
536536
<div class="platform-name"><i class="fas fa-desktop"></i> Standalone</div>
537537
<code>
538-
<strong>Pasta 1:</strong> ...\LocalData\Patch\<strong>HD\oversea\locale\</strong><br>
539-
<strong>Pasta 2:</strong> ...\LocalData\Patch\<strong>HD\locale\</strong><br><br>
540-
<em>Copie os 2 arquivos para cada pasta (total: 4 arquivos)</em>
538+
<strong>Pasta 1:</strong> ...\LocalData\Patch\<strong>HD\oversea\locale\</strong><em>2 arquivos (en + en_diff)</em><br>
539+
<strong>Pasta 2:</strong> ...\LocalData\Patch\<strong>HD\locale\</strong><em>1 arquivo (en)</em><br><br>
540+
<em>Total: 3 arquivos</em>
541541
</code>
542542
</div>
543543
</div>

0 commit comments

Comments
 (0)