From c40c6e04e76083ba0b47a6ec444e1025024428ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 12 Jan 2023 18:25:56 +0100 Subject: [PATCH] Move login links to components We're trying to be consistent; in the past, we had the partials "shared/admin_login_items", "layouts/notification_item" and "devise/menu/login_items". Now we're moving all these partials to components in the `Layout` namespace. --- .../layout/account_menu_component.html.erb | 4 +- .../admin_login_items_component.html.erb | 41 ++++++++++++++++++ .../layout/admin_login_items_component.rb | 12 ++++++ .../layout/login_items_component.html.erb} | 4 +- .../layout/login_items_component.rb | 8 ++++ app/views/shared/_admin_login_items.html.erb | 43 ------------------- 6 files changed, 65 insertions(+), 47 deletions(-) create mode 100644 app/components/layout/admin_login_items_component.html.erb create mode 100644 app/components/layout/admin_login_items_component.rb rename app/{views/devise/menu/_login_items.html.erb => components/layout/login_items_component.html.erb} (93%) create mode 100644 app/components/layout/login_items_component.rb delete mode 100644 app/views/shared/_admin_login_items.html.erb diff --git a/app/components/layout/account_menu_component.html.erb b/app/components/layout/account_menu_component.html.erb index 240ce2842..7c6875c84 100644 --- a/app/components/layout/account_menu_component.html.erb +++ b/app/components/layout/account_menu_component.html.erb @@ -1,5 +1,5 @@ diff --git a/app/components/layout/admin_login_items_component.html.erb b/app/components/layout/admin_login_items_component.html.erb new file mode 100644 index 000000000..b5690e98a --- /dev/null +++ b/app/components/layout/admin_login_items_component.html.erb @@ -0,0 +1,41 @@ +
  • + <%= link_to t("layouts.header.administration_menu"), "#", rel: "nofollow", class: "hide-for-small-only" %> + +
  • diff --git a/app/components/layout/admin_login_items_component.rb b/app/components/layout/admin_login_items_component.rb new file mode 100644 index 000000000..3c7a67950 --- /dev/null +++ b/app/components/layout/admin_login_items_component.rb @@ -0,0 +1,12 @@ +class Layout::AdminLoginItemsComponent < ApplicationComponent + attr_reader :user + delegate :show_admin_menu?, to: :helpers + + def initialize(user) + @user = user + end + + def render? + show_admin_menu?(user) + end +end diff --git a/app/views/devise/menu/_login_items.html.erb b/app/components/layout/login_items_component.html.erb similarity index 93% rename from app/views/devise/menu/_login_items.html.erb rename to app/components/layout/login_items_component.html.erb index f5cd59fa9..b2acca46e 100644 --- a/app/views/devise/menu/_login_items.html.erb +++ b/app/components/layout/login_items_component.html.erb @@ -1,7 +1,7 @@ -<% if current_user %> +<% if user %>
  • <%= layout_menu_link_to t("layouts.header.my_activity_link"), - user_path(current_user), + user_path(user), controller_name == "users", rel: "nofollow", title: t("shared.go_to_page") + diff --git a/app/components/layout/login_items_component.rb b/app/components/layout/login_items_component.rb new file mode 100644 index 000000000..3ee4e6ee0 --- /dev/null +++ b/app/components/layout/login_items_component.rb @@ -0,0 +1,8 @@ +class Layout::LoginItemsComponent < ApplicationComponent + attr_reader :user + delegate :layout_menu_link_to, to: :helpers + + def initialize(user) + @user = user + end +end diff --git a/app/views/shared/_admin_login_items.html.erb b/app/views/shared/_admin_login_items.html.erb deleted file mode 100644 index 99b03c5cf..000000000 --- a/app/views/shared/_admin_login_items.html.erb +++ /dev/null @@ -1,43 +0,0 @@ -<% if show_admin_menu?(current_user) %> -
  • - <%= link_to t("layouts.header.administration_menu"), "#", rel: "nofollow", class: "hide-for-small-only" %> - -
  • -<% end %>