scinote-web/app/helpers/left_menu_bar_helper.rb
2024-07-16 15:23:15 +02:00

98 lines
2.5 KiB
Ruby

# frozen_string_literal: true
module LeftMenuBarHelper
def left_menu_elements
[
{
url: dashboard_path,
name: t('left_menu_bar.dashboard'),
icon: 'sn-icon-dashboard',
active: dashboard_are_selected?,
submenu: []
}, {
url: projects_path,
name: t('left_menu_bar.projects'),
icon: 'sn-icon-projects',
active: projects_are_selected?,
submenu: []
}, {
url: repositories_path,
name: t('left_menu_bar.repositories'),
icon: 'sn-icon-inventory',
active: repositories_are_selected? || storage_locations_are_selected?,
submenu: [{
url: repositories_path,
name: t('left_menu_bar.items'),
active: repositories_are_selected?
}, {
url: storage_locations_path,
name: t('left_menu_bar.locations'),
active: storage_locations_are_selected?
}]
}, {
url: "#",
name: t('left_menu_bar.templates'),
icon: 'sn-icon-protocols-templates',
active: protocols_are_selected? || label_templates_are_selected?,
submenu: [{
url: protocols_path,
name: t('left_menu_bar.protocol'),
active: protocols_are_selected?
}, {
url: label_templates_path,
name: t('left_menu_bar.label'),
active: label_templates_are_selected?
}]
}, {
url: reports_path,
name: t('left_menu_bar.reports'),
icon: 'sn-icon-reports',
active: reports_are_selected?,
submenu: []
}, {
url: global_activities_path,
name: t('left_menu_bar.activities'),
icon: 'sn-icon-activities',
active: activities_are_selected?,
submenu: []
}
]
end
def dashboard_are_selected?
controller_name == 'dashboards'
end
def projects_are_selected?
controller_name.in? %w(projects experiments my_modules)
end
def repositories_are_selected?
controller_name == 'repositories'
end
def storage_locations_are_selected?
controller_name == 'storage_locations'
end
def protocols_are_selected?
controller_name == 'protocols'
end
def label_templates_are_selected?
controller_name == 'label_templates'
end
def reports_are_selected?
# TODO
controller_name == 'reports'
end
def settings_are_selected?
controller_name.in? %(registrations preferences addons teams connected_accounts webhooks)
end
def activities_are_selected?
controller_name == 'global_activities'
end
end