create component for sidemenu and add locales for raw text

This commit is contained in:
Lisa Durand 2023-03-20 17:50:05 +01:00
parent 4a2982dc37
commit a01564adcd
13 changed files with 126 additions and 76 deletions

View file

@ -0,0 +1,15 @@
class Dsfr::SidemenuComponent < ApplicationComponent
renders_many :links, "LinkComponent"
class LinkComponent < ApplicationComponent
attr_reader :name, :url
def initialize(name:, url:)
@name = name
@url = url
end
end
def active?(url)
current_page?(url)
end
end

View file

@ -0,0 +1,3 @@
---
fr:
btn_collapse_text: In this section

View file

@ -0,0 +1,3 @@
---
fr:
btn_collapse_text: Dans cette rubrique

View file

@ -0,0 +1,9 @@
%nav.fr-sidemenu{ "aria-labelledby" => "fr-sidemenu-title" }
.fr-sidemenu__inner
%button.fr-sidemenu__btn{ "aria-controls" => "fr-sidemenu-wrapper", "aria-expanded" => "false", hidden: "" }= t('.btn_collapse_text')
#fr-sidemenu-wrapper.fr-collapse
%ul.fr-sidemenu__list
- links.each do |link|
%li{ class: "fr-sidemenu__item fr-sidemenu__item#{active?(link.url) ? '--active' : ''}" }
= link_to link.name, link.url, class: 'fr-sidemenu__link', 'aria-current': active?(link.url) ? 'page' : nil, target: "_self"