add instructeur_menu component

This commit is contained in:
simon lehericey 2023-04-24 15:18:39 +02:00 committed by LeSim
parent 2fb33336d1
commit f3c9fc014b
3 changed files with 34 additions and 0 deletions

View file

@ -0,0 +1,22 @@
class Procedure::InstructeursMenuComponent < ApplicationComponent
def initialize(procedure:)
@procedure = procedure
end
private
def links
first_option, first_icon = if @procedure.groupe_instructeurs.one?
instructeurs_count = @procedure.groupe_instructeurs.first.instructeurs.count
[t('.instructeurs', count: instructeurs_count), 'fr-icon-user-line']
else
["#{@procedure.groupe_instructeurs.count} groupes", 'fr-icon-group-line']
end
[
{ name: first_option, url: admin_procedure_groupe_instructeurs_path(@procedure), icon: "#{first_icon} fr-icon--sm" },
({ name: 'Ajout de groupes', url: ajout_admin_procedure_groupe_instructeurs_path(@procedure), icon: 'fr-icon-add-circle-line fr-icon--sm' } if @procedure.routing_enabled?),
{ name: 'Options', url: options_admin_procedure_groupe_instructeurs_path(@procedure), icon: 'fr-icon-settings-5-line fr-icon--sm' }
].compact
end
end

View file

@ -0,0 +1,5 @@
---
fr:
instructeurs:
one: "%{count} instructeur"
other: "%{count} instructeurs"

View file

@ -0,0 +1,7 @@
.container
.fr-grid-row
.fr-col.fr-col-12.fr-col-md-3
= render(Dsfr::SidemenuComponent.new) do |component|
- component.with_links(links)
.fr-col= content