Update the locale changer links every time turbo loads a new frame.

This commit is contained in:
Jan Böhmer 2022-07-24 17:03:57 +02:00
parent 1a9dfee0ed
commit 7990cf56d1
3 changed files with 19 additions and 1 deletions

View file

@ -0,0 +1,8 @@
import { Controller } from '@hotwired/stimulus';
export default class extends Controller {
connect() {
const menu = document.getElementById('locale-select-menu');
menu.innerHTML = this.element.innerHTML;
}
}

View file

@ -52,11 +52,13 @@
</div>
<li role="separator" class="dropdown-divider"></li>
<h6 class="dropdown-header">{% trans %}user.language_select{% endtrans %}</h6>
<div id="locale-select-menu">
{% for locale in locale_menu %}
<a class="dropdown-item" data-turbo="false" href="{{ path(app.request.attributes.get('_route'),
app.request.attributes.get('_route_params')|merge({'_locale': locale})) }}">
{{ locale|language_name }} ({{ locale|upper }})</a>
{% endfor %}
</div>
</ul>
</li>
</ul>

View file

@ -15,4 +15,12 @@
<div {{ stimulus_controller('turbo/global_reload') }}></div>
{% endif %}
<div class="d-none" data-title="{% apply trim %}{{ current_page_title }}{% endapply %}" {{ stimulus_controller('turbo/title') }}></div>
<div class="d-none" data-title="{% apply trim %}{{ current_page_title }}{% endapply %}" {{ stimulus_controller('turbo/title') }}></div>
<div class="d-none" {{ stimulus_controller('turbo/locale_menu') }}>
{% for locale in locale_menu %}
<a class="dropdown-item" data-turbo="false" href="{{ path(app.request.attributes.get('_route'),
app.request.attributes.get('_route_params')|merge({'_locale': locale})) }}">
{{ locale|language_name }} ({{ locale|upper }})</a>
{% endfor %}
</div>