Files
grecia/app/components/shared/order_links_component.rb
Javi Martín 1d955b7a20 Simplify using helper methods in components
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.
2024-03-02 17:34:25 +01:00

32 lines
679 B
Ruby

class Shared::OrderLinksComponent < ApplicationComponent
attr_reader :i18n_namespace, :anchor
use_helpers :current_path_with_query_params, :current_order, :valid_orders
def initialize(i18n_namespace, anchor: nil)
@i18n_namespace = i18n_namespace
@anchor = anchor
end
private
def html_class(order)
"is-active" if order == current_order
end
def tag_name(order)
if order == current_order
:h2
else
:span
end
end
def link_path(order)
current_path_with_query_params(order: order, page: 1, anchor: anchor)
end
def link_text(order)
t("#{i18n_namespace}.orders.#{order}")
end
end