From 8780be71a97168d19e562b9d26791c343f574d1d Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Mon, 6 Feb 2023 13:38:09 +0100 Subject: [PATCH] simpler --- app/models/language.rb | 2 +- .../admin/application/i18n/_widget.html.erb | 18 +++++++----------- config/locales/en.yml | 2 -- config/locales/fr.yml | 2 -- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/app/models/language.rb b/app/models/language.rb index 047a01e1a..36cf5338a 100644 --- a/app/models/language.rb +++ b/app/models/language.rb @@ -20,7 +20,7 @@ class Language < ApplicationRecord validates_presence_of :iso_code validates_uniqueness_of :iso_code - default_scope { order(name: :asc) } + scope :ordered, -> { order(name: :asc) } def to_s "#{name}" diff --git a/app/views/admin/application/i18n/_widget.html.erb b/app/views/admin/application/i18n/_widget.html.erb index d5e86d411..16c17ca2f 100644 --- a/app/views/admin/application/i18n/_widget.html.erb +++ b/app/views/admin/application/i18n/_widget.html.erb @@ -1,25 +1,21 @@ <% if about.respond_to?(:website) - languages = about.website.languages + languages = about.website.languages.ordered route_args = [:admin, about.becomes(about.class.base_class)] else - languages = Language.all + languages = Language.all.ordered route_args = [:admin, about.becomes(about.class.base_class), :translation] end %> <%= osuny_panel t('internationalization.label') do %> - <p><%= t('internationalization.text_html', lang: t("languages.#{about.language.iso_code}")) %></p> - <h3 class="h5 mt-4"><%= t('internationalization.translations_title') %></h3> <ol class="list-unstyled"> <% languages.each do |language| %> - <% next if language.id == about.language_id %> + <% + label = t(language.iso_code, scope: :languages) + current = language.id == about.language_id + %> <li> - <% if about.original_with_translations.detect { |translation| translation.language_id == language.id }.present? %> - <i class="fas fa-edit float-end"></i> - <% else %> - <i class="fas fa-add float-end"></i> - <% end %> - <%= link_to t(language.iso_code, scope: :languages), [*route_args, lang: language.iso_code] %> + <%= link_to_unless current, label, [*route_args, lang: language.iso_code] %> </li> <% end %> </ol> diff --git a/config/locales/en.yml b/config/locales/en.yml index b854fba2e..879f9c7ec 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -210,8 +210,6 @@ en: inactivity_alert: "It seems you have been away a little bit too long. Could you please retry?" internationalization: label: Internationalization - text_html: This page is in <b>%{lang}</b> - translations_title: 'Translations' languages: en: English fr: French diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 89217a20f..d36184e90 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -210,8 +210,6 @@ fr: inactivity_alert: "Il semble que vous soyez resté sur la page un peu trop longtemps. Pouvez-vous ré-essayer ?" internationalization: label: Internationalisation - text_html: Cette page est en <b>%{lang}</b> - translations_title: 'Traductions' languages: en: Anglais fr: Français -- GitLab