fix(templates): fix unhashable dict in Jinja2 cache by converting available_languages global to function
This commit is contained in:
@@ -91,7 +91,7 @@ from app.storage import resolve_url as _resolve_image_url
|
||||
templates.env.filters["image_url"] = lambda v: _resolve_image_url(v) if v else ""
|
||||
|
||||
from app.i18n import get_languages as _get_languages
|
||||
templates.env.globals["available_languages"] = _get_languages()
|
||||
templates.env.globals["get_languages"] = _get_languages
|
||||
|
||||
|
||||
def _get_copyright() -> str:
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<div class="lang-switcher" id="langSwitcher">
|
||||
<button type="button" class="lang-globe" onclick="document.getElementById('langDropdown').classList.toggle('show')">🌐</button>
|
||||
<div class="lang-dropdown" id="langDropdown">
|
||||
{% for code, name in available_languages.items() %}
|
||||
{% for code, name in get_languages().items() %}
|
||||
<form method="post" action="/settings/language">
|
||||
<input type="hidden" name="language" value="{{ code }}">
|
||||
<button type="submit" class="lang-option {% if user.language == code %}active{% endif %}">{{ name }}</button>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div class="lang-switcher" id="langSwitcher">
|
||||
<button type="button" class="lang-globe" onclick="document.getElementById('langDropdown').classList.toggle('show')">🌐</button>
|
||||
<div class="lang-dropdown" id="langDropdown">
|
||||
{% for code, name in available_languages.items() %}
|
||||
{% for code, name in get_languages().items() %}
|
||||
<a href="/?lang={{ code }}" class="lang-option {% if lang == code %}active{% endif %}">{{ name }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<h3 style="margin-bottom:.75rem">{{ 'settings.language'|t(user.language) }}</h3>
|
||||
<form method="post" action="/settings/language" style="display:flex;align-items:center;gap:.75rem;flex-wrap:wrap">
|
||||
<select name="language" style="width:auto">
|
||||
{% for code, name in available_languages.items() %}
|
||||
{% for code, name in get_languages().items() %}
|
||||
<option value="{{ code }}" {% if user.language == code %}selected{% endif %}>{{ name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div class="lang-switcher" id="langSwitcher">
|
||||
<button type="button" class="lang-globe" onclick="document.getElementById('langDropdown').classList.toggle('show')">🌐</button>
|
||||
<div class="lang-dropdown" id="langDropdown">
|
||||
{% for code, name in available_languages.items() %}
|
||||
{% for code, name in get_languages().items() %}
|
||||
<a href="?lang={{ code }}" class="lang-option {% if lang == code %}active{% endif %}">{{ name }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user