From 7b1b771b25008de0c8d37aa50911c78c65bbee63 Mon Sep 17 00:00:00 2001 From: Lisa Durand Date: Wed, 12 Jul 2023 16:50:28 +0200 Subject: [PATCH 1/4] fix fropdown navbar profile --- .../administrateur_controller.rb | 4 +++ app/views/layouts/_account_dropdown.haml | 33 +++++++++---------- .../views/layouts/_account_dropdown.en.yml | 5 +++ .../views/layouts/_account_dropdown.fr.yml | 5 +++ 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/app/controllers/administrateurs/administrateur_controller.rb b/app/controllers/administrateurs/administrateur_controller.rb index a3ba5a858..d6c41ed72 100644 --- a/app/controllers/administrateurs/administrateur_controller.rb +++ b/app/controllers/administrateurs/administrateur_controller.rb @@ -3,6 +3,10 @@ module Administrateurs before_action :authenticate_administrateur! helper_method :administrateur_as_manager? + def nav_bar_profile + :administrateur + end + def retrieve_procedure id = params[:procedure_id] || params[:id] diff --git a/app/views/layouts/_account_dropdown.haml b/app/views/layouts/_account_dropdown.haml index 129f5ffaf..229225dcf 100644 --- a/app/views/layouts/_account_dropdown.haml +++ b/app/views/layouts/_account_dropdown.haml @@ -1,43 +1,40 @@ %nav.fr-translate.fr-nav{ role: "navigation", "aria-label"=> t('menu_aria_label', scope: [:layouts]) } .fr-nav__item %button.account-btn.fr-translate__btn.fr-btn{ "aria-controls" => "account", "aria-expanded" => "false", :title => t('my_account', scope: [:layouts]) } - = image_tag "icons/account-circle.svg", alt: t('my_account', scope: [:layouts]), width: 20, height: 20, loading: 'lazy'   = " #{current_email}" #account.fr-collapse.fr-menu %ul.fr-menu__list - - if super_admin_signed_in? - %li - = link_to manager_root_path, class: "fr-nav__link flex align-center" do - = image_tag "icons/super-admin.svg", alt: '',width: 20, height: 20, class: 'mr-1' - = t('go_superadmin', scope: [:layouts]) - if multiple_devise_profile_connect? + %li + = link_to "#", class: "fr-nav__link", "aria-current" => "true" do + = t('connected_as', profile: t("#{nav_bar_profile}"), scope: [:layouts]) + - if user_signed_in? && nav_bar_profile != :user %li - = link_to dossiers_path, class: "fr-nav__link flex align-center" do - = image_tag "icons/switch-profile.svg", alt: '', width: 20, height: 20, class: 'mr-1' + = link_to dossiers_path, class: "fr-nav__link" do = t('go_user', scope: [:layouts]) - if instructeur_signed_in? && nav_bar_profile != :instructeur %li - = link_to instructeur_procedures_path, class: "fr-nav__link flex align-center" do - = image_tag "icons/switch-profile.svg", alt: '', width: 20, height: 20, class: 'mr-1' + = link_to instructeur_procedures_path, class: "fr-nav__link" do = t('go_instructor', scope: [:layouts]) - if expert_signed_in? && nav_bar_profile != :expert %li - = link_to expert_all_avis_path, class: "fr-nav__link flex align-center" do - = image_tag "icons/switch-profile.svg", alt: '', width: 20, height: 20, class: 'mr-1' + = link_to expert_all_avis_path, class: "fr-nav__link" do = t('go_expert', scope: [:layouts]) - if administrateur_signed_in? && nav_bar_profile != :administrateur %li - = link_to admin_procedures_path, class: "fr-nav__link flex align-center" do - = image_tag "icons/switch-profile.svg", alt: '', width: 20, height: 20, class: 'mr-1' + = link_to admin_procedures_path, class: "fr-nav__link" do = t('go_admin', scope: [:layouts]) + - if super_admin_signed_in? + %li + = link_to manager_root_path, class: "fr-nav__link" do + = t('go_superadmin', scope: [:layouts]) + %li - = link_to profil_path, class: "fr-nav__link flex align-center" do - = image_tag "icons/switch-profile.svg", alt: '', width: 20, height: 20, class: 'mr-1' + = link_to profil_path, class: "fr-nav__link" do = t('profile', scope: [:layouts]) %li - = link_to destroy_user_session_path, method: :delete, class: "fr-nav__link flex align-center" do - = image_tag "icons/sign-out.svg", alt: '', width: 20, height: 20, class: 'mr-1' + = link_to destroy_user_session_path, method: :delete, class: "fr-nav__link" do = t('logout', scope: [:layouts]) diff --git a/config/locales/views/layouts/_account_dropdown.en.yml b/config/locales/views/layouts/_account_dropdown.en.yml index b0a633920..11c8d9c28 100644 --- a/config/locales/views/layouts/_account_dropdown.en.yml +++ b/config/locales/views/layouts/_account_dropdown.en.yml @@ -11,3 +11,8 @@ en: profile: "See my profile" logout: "Log out" my_account: "My account" + connected_as: "connected as %{profile}" + instructeur: instructor + administrateur: admin + expert: expert + user: user diff --git a/config/locales/views/layouts/_account_dropdown.fr.yml b/config/locales/views/layouts/_account_dropdown.fr.yml index a16bf3dfa..e1a584add 100644 --- a/config/locales/views/layouts/_account_dropdown.fr.yml +++ b/config/locales/views/layouts/_account_dropdown.fr.yml @@ -11,3 +11,8 @@ fr: profile: "Voir mon profil" logout: "Se déconnecter" my_account: "Mon compte" + connected_as: "connecté en tant qu'%{profile}" + instructeur: instructeur + administrateur: administrateur + expert: expert + user: usager From e131bdd30e48312752ee90e34ac1a5dc18e70d16 Mon Sep 17 00:00:00 2001 From: Lisa Durand Date: Thu, 13 Jul 2023 10:10:32 +0200 Subject: [PATCH 2/4] Fix typo issue Co-authored-by: Paul Chavard --- config/locales/views/layouts/_account_dropdown.fr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/views/layouts/_account_dropdown.fr.yml b/config/locales/views/layouts/_account_dropdown.fr.yml index e1a584add..8a7498e26 100644 --- a/config/locales/views/layouts/_account_dropdown.fr.yml +++ b/config/locales/views/layouts/_account_dropdown.fr.yml @@ -11,7 +11,7 @@ fr: profile: "Voir mon profil" logout: "Se déconnecter" my_account: "Mon compte" - connected_as: "connecté en tant qu'%{profile}" + connected_as: "connecté en tant qu’%{profile}" instructeur: instructeur administrateur: administrateur expert: expert From a7d2d39f3bdfaa6806e7eb876a1988494d05463d Mon Sep 17 00:00:00 2001 From: Lisa Durand Date: Thu, 13 Jul 2023 10:38:15 +0200 Subject: [PATCH 3/4] fix dropdown width and add icons --- app/assets/stylesheets/dsfr.scss | 5 +++++ app/views/layouts/_account_dropdown.haml | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/dsfr.scss b/app/assets/stylesheets/dsfr.scss index a5b8a375a..ef709bd1e 100644 --- a/app/assets/stylesheets/dsfr.scss +++ b/app/assets/stylesheets/dsfr.scss @@ -84,6 +84,11 @@ fieldset { display: none; } +// on souhaite que le dropdown s'adapate correctement en largeur +.fr-translate .fr-menu__list.max-content { + width: max-content; +} + // on veut ferrer à droite le dropdown de sélecteur de langue @media (min-width: 62em) { .fr-nav__item.custom-fr-translate-flex-end { diff --git a/app/views/layouts/_account_dropdown.haml b/app/views/layouts/_account_dropdown.haml index 229225dcf..a94e6edc3 100644 --- a/app/views/layouts/_account_dropdown.haml +++ b/app/views/layouts/_account_dropdown.haml @@ -4,7 +4,7 @@   = " #{current_email}" #account.fr-collapse.fr-menu - %ul.fr-menu__list + %ul.fr-menu__list.max-content - if multiple_devise_profile_connect? %li = link_to "#", class: "fr-nav__link", "aria-current" => "true" do @@ -13,28 +13,35 @@ - if user_signed_in? && nav_bar_profile != :user %li = link_to dossiers_path, class: "fr-nav__link" do + %span.fr-icon-refresh-line.fr-icon--sm = t('go_user', scope: [:layouts]) - if instructeur_signed_in? && nav_bar_profile != :instructeur %li = link_to instructeur_procedures_path, class: "fr-nav__link" do + %span.fr-icon-refresh-line.fr-icon--sm = t('go_instructor', scope: [:layouts]) - if expert_signed_in? && nav_bar_profile != :expert %li = link_to expert_all_avis_path, class: "fr-nav__link" do + %span.fr-icon-refresh-line.fr-icon--sm = t('go_expert', scope: [:layouts]) - if administrateur_signed_in? && nav_bar_profile != :administrateur %li = link_to admin_procedures_path, class: "fr-nav__link" do + %span.fr-icon-refresh-line.fr-icon--sm = t('go_admin', scope: [:layouts]) - if super_admin_signed_in? %li = link_to manager_root_path, class: "fr-nav__link" do + %span.fr-icon-shield-line.fr-icon--sm = t('go_superadmin', scope: [:layouts]) %li = link_to profil_path, class: "fr-nav__link" do + %span.fr-icon-user-line.fr-icon--sm = t('profile', scope: [:layouts]) %li = link_to destroy_user_session_path, method: :delete, class: "fr-nav__link" do + %span.fr-icon-logout-box-r-line.fr-icon--sm = t('logout', scope: [:layouts]) From 074e3bf5f89778a5d0e674ee5d1240a575af165b Mon Sep 17 00:00:00 2001 From: Lisa Durand Date: Thu, 13 Jul 2023 12:08:30 +0200 Subject: [PATCH 4/4] fix linter missing I18n key --- app/views/layouts/_account_dropdown.haml | 2 +- config/locales/views/layouts/_account_dropdown.en.yml | 8 ++++---- config/locales/views/layouts/_account_dropdown.fr.yml | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/views/layouts/_account_dropdown.haml b/app/views/layouts/_account_dropdown.haml index a94e6edc3..cd76068ff 100644 --- a/app/views/layouts/_account_dropdown.haml +++ b/app/views/layouts/_account_dropdown.haml @@ -8,7 +8,7 @@ - if multiple_devise_profile_connect? %li = link_to "#", class: "fr-nav__link", "aria-current" => "true" do - = t('connected_as', profile: t("#{nav_bar_profile}"), scope: [:layouts]) + = t('layouts.connected_as', profile: t("layouts.#{nav_bar_profile}")) - if user_signed_in? && nav_bar_profile != :user %li diff --git a/config/locales/views/layouts/_account_dropdown.en.yml b/config/locales/views/layouts/_account_dropdown.en.yml index 11c8d9c28..d12216a06 100644 --- a/config/locales/views/layouts/_account_dropdown.en.yml +++ b/config/locales/views/layouts/_account_dropdown.en.yml @@ -12,7 +12,7 @@ en: logout: "Log out" my_account: "My account" connected_as: "connected as %{profile}" - instructeur: instructor - administrateur: admin - expert: expert - user: user + instructeur: instructor + administrateur: admin + expert: expert + user: user diff --git a/config/locales/views/layouts/_account_dropdown.fr.yml b/config/locales/views/layouts/_account_dropdown.fr.yml index 8a7498e26..74375bfa0 100644 --- a/config/locales/views/layouts/_account_dropdown.fr.yml +++ b/config/locales/views/layouts/_account_dropdown.fr.yml @@ -12,7 +12,7 @@ fr: logout: "Se déconnecter" my_account: "Mon compte" connected_as: "connecté en tant qu’%{profile}" - instructeur: instructeur - administrateur: administrateur - expert: expert - user: usager + instructeur: instructeur + administrateur: administrateur + expert: expert + user: usager