feat: add language cookie deletion via button

This commit is contained in:
Francisco
2026-01-03 18:32:26 -05:00
parent 0cf336fcfa
commit aafcfdf2f9

View File

@@ -204,17 +204,16 @@
<ul class="dropdown-menu language-menu" aria-labelledby="btnGroupLanguages"> <ul class="dropdown-menu language-menu" aria-labelledby="btnGroupLanguages">
<li>
<a href="" class="dropdown-item">
<span class="{% fa_class 'globe' %}"></span>
<span>{% translate "Browser language" %}</span>
</a>
</li>
<form id="language-form" action="{% url 'set_language' %}" method="post"> <form id="language-form" action="{% url 'set_language' %}" method="post">
{% csrf_token %} {% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}"> <input name="next" type="hidden" value="{{ redirect_to }}">
<input type="hidden" name="language" id="language-input"> <input type="hidden" name="language" id="language-input">
<li>
<button class="dropdown-item" type="button" data-language="">
<span class="{% fa_class 'globe' %}"></span>
<span>{% translate "Browser language" %}</span>
</button>
</li>
{% for language in languages %} {% for language in languages %}
{% language_select language %} {% language_select language %}
{% endfor %} {% endfor %}
@@ -223,8 +222,16 @@
document.querySelectorAll('[data-language]').forEach(item => { document.querySelectorAll('[data-language]').forEach(item => {
item.addEventListener('click', function(e) { item.addEventListener('click', function(e) {
e.preventDefault(); e.preventDefault();
document.getElementById('language-input').value = this.dataset.language; const langCode = this.dataset.language;
document.getElementById('language-form').submit();
if (langCode === '') {
// Delete cookie and reload
document.cookie = 'django_language=; path=/; max-age=0';
window.location.reload();
} else {
document.getElementById('language-input').value = langCode;
document.getElementById('language-form').submit();
}
}); });
}); });
</script> </script>