The `use_helpers` method was added in ViewComponent 3.8.0, and it's included by default in all components since version 3.11.0. Note we sometimes delegated the `can?` method to the controller instead of the helpers, for no particularly reason. We're unifying that code as well.
33 lines
693 B
Ruby
33 lines
693 B
Ruby
class Layout::AdminHeaderComponent < ApplicationComponent
|
|
attr_reader :user
|
|
use_helpers :namespace, :namespaced_root_path, :show_admin_menu?
|
|
|
|
def initialize(user)
|
|
@user = user
|
|
end
|
|
|
|
private
|
|
|
|
def namespaced_header_title
|
|
if namespace == "moderation/budgets"
|
|
t("moderation.header.title")
|
|
elsif namespace == "management"
|
|
t("management.dashboard.index.title")
|
|
else
|
|
t("#{namespace}.header.title")
|
|
end
|
|
end
|
|
|
|
def namespace_path
|
|
if namespace == "officing"
|
|
"#"
|
|
else
|
|
namespaced_root_path
|
|
end
|
|
end
|
|
|
|
def show_account_menu?
|
|
show_admin_menu?(user) || namespace != "management"
|
|
end
|
|
end
|