added i18n
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="{{ fluent(key='lang', lang=lang) }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
@@ -15,33 +15,58 @@
|
||||
<div class="nav-left">
|
||||
<span class="nav-logo">Slimes 🧪</span>
|
||||
<div class="nav-links">
|
||||
<a href="{{ prefix }}./" class="{% if current_page == 'leaderboard' %}active{% endif %}">Leaderboard</a>
|
||||
<a href="{{ prefix }}analytics" class="{% if current_page == 'analytics' %}active{% endif %}">Analytics</a>
|
||||
<a href="{{ prefix }}./" class="{% if current_page == 'leaderboard' %}active{% endif %}">{{ fluent(key="nav-leaderboard", lang=lang) }}</a>
|
||||
<a href="{{ prefix }}analytics" class="{% if current_page == 'analytics' %}active{% endif %}">{{ fluent(key="nav-analytics", lang=lang) }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="nav-right">
|
||||
<div class="dropdown" id="githubDropdown">
|
||||
<div class="dropdown">
|
||||
<button class="dropdown-trigger" onclick="toggleDropdown(event)" aria-label="Git Repositories">
|
||||
<i class="fa-brands fa-git-alt fa-lg"></i>
|
||||
<i class="fa-solid fa-chevron-down chevron"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<div class="dropdown-header">Source Code</div>
|
||||
<div class="dropdown-header">{{ fluent(key="nav-source-header", lang=lang) }}</div>
|
||||
<a href="https://git.alatreon.org/strawberries/slimes" target="_blank" rel="noopener">
|
||||
<span class="link-title"><i class="fa-solid fa-terminal fa-fw"></i> CLI + Server</span>
|
||||
<span class="link-desc">Core lib, CLI and API monorepo</span>
|
||||
<span class="link-title"><i class="fa-solid fa-terminal fa-fw"></i> {{ fluent(key="nav-cli-title", lang=lang) }}</span>
|
||||
<span class="link-desc">{{ fluent(key="nav-cli-desc", lang=lang) }}</span>
|
||||
</a>
|
||||
<a href="https://git.alatreon.org/strawberries/slimes-website" target="_blank" rel="noopener">
|
||||
<span class="link-title"><i class="fa-solid fa-globe fa-fw"></i> Website</span>
|
||||
<span class="link-desc">This very website</span>
|
||||
<span class="link-title"><i class="fa-solid fa-globe fa-fw"></i> {{ fluent(key="nav-web-title", lang=lang) }}</span>
|
||||
<span class="link-desc">{{ fluent(key="nav-web-desc", lang=lang) }}</span>
|
||||
</a>
|
||||
<a href="https://git.alatreon.org/strawberries/slimes-gui" target="_blank" rel="noopener">
|
||||
<span class="link-title"><i class="fa-solid fa-window-restore fa-fw"></i> GUI Version</span>
|
||||
<span class="link-desc">Experimental Cross-platform GUI</span>
|
||||
<span class="link-title"><i class="fa-solid fa-window-restore fa-fw"></i> {{ fluent(key="nav-gui-title", lang=lang) }}</span>
|
||||
<span class="link-desc">{{ fluent(key="nav-gui-desc", lang=lang) }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dropdown">
|
||||
<button class="dropdown-trigger" onclick="toggleDropdown(event)" aria-label="Language">
|
||||
<i class="fa-solid fa-globe fa-lg"></i>
|
||||
<i class="fa-solid fa-chevron-down chevron"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<div class="dropdown-header">{{ fluent(key="nav-lang-header", lang=lang) }}</div>
|
||||
{% for l in available_languages %}
|
||||
<a href="{{ prefix }}set-lang/{{ l }}" {% if l == lang %}class="active"{% endif %}>
|
||||
{{ l | upper }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="dropdown"> -->
|
||||
<!-- <button class="dropdown-trigger"> -->
|
||||
<!-- <i class="fa-solid fa-language"></i> {{ lang | truncate(length=2, end="") | upper }} -->
|
||||
<!-- </button> -->
|
||||
<!-- <div class="dropdown-menu"> -->
|
||||
<!-- <a href="/set-lang/en-US">English</a> -->
|
||||
<!-- <a href="/set-lang/fr-FR">Français</a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -49,23 +74,33 @@
|
||||
<main>
|
||||
{% block content %}{% endblock %}
|
||||
</main>
|
||||
<footer>{{ now() | date(format="%Y") }} - Slimes</footer>
|
||||
<footer>{{ now() | date(format="%Y") }} - {{ fluent(key="footer-text", lang=lang) }}</footer>
|
||||
|
||||
<script>
|
||||
function toggleDropdown(event) {
|
||||
event.stopPropagation();
|
||||
const dropdown = document.getElementById('githubDropdown');
|
||||
dropdown.classList.toggle('open');
|
||||
}
|
||||
|
||||
window.onclick = function(event) {
|
||||
if (!event.target.closest('#githubDropdown')) {
|
||||
const dropdown = document.getElementById('githubDropdown');
|
||||
if (dropdown && dropdown.classList.contains('open')) {
|
||||
dropdown.classList.remove('open');
|
||||
}
|
||||
const dropdown = event.currentTarget.closest('.dropdown');
|
||||
const isOpen = dropdown.classList.contains('open');
|
||||
|
||||
// close all
|
||||
document.querySelectorAll('.dropdown.open').forEach(d => {
|
||||
d.classList.remove('open');
|
||||
});
|
||||
|
||||
// reopen clicked one if was closed
|
||||
if (!isOpen) {
|
||||
dropdown.classList.add('open');
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('click', (event) => {
|
||||
if (!event.target.closest('.dropdown')) {
|
||||
document.querySelectorAll('.dropdown.open').forEach(d => {
|
||||
d.classList.remove('open');
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
@@ -93,6 +128,14 @@
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.nav-right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
font-weight: 800;
|
||||
color: var(--primary-color);
|
||||
@@ -227,7 +270,7 @@
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
<!-- .nav-links { display: none; } -->
|
||||
/* .nav-links { display: none; } */
|
||||
.nav-left { gap: 1rem; }
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user