diff --git a/lib/sidebars/your_work/menus/activity_menu.rb b/lib/sidebars/your_work/menus/activity_menu.rb new file mode 100644 index 0000000000000000000000000000000000000000..d39c9bfda9caf34c29a8ae32b8358cb6f1212bbb --- /dev/null +++ b/lib/sidebars/your_work/menus/activity_menu.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Sidebars + module YourWork + module Menus + class ActivityMenu < ::Sidebars::Menu + override :link + def link + activity_dashboard_path + end + + override :title + def title + _('Activity') + end + + override :sprite_icon + def sprite_icon + 'history' + end + + override :render? + def render? + !!context.current_user + end + + override :active_routes + def active_routes + { path: 'dashboard#activity' } + end + end + end + end +end diff --git a/lib/sidebars/your_work/menus/milestones_menu.rb b/lib/sidebars/your_work/menus/milestones_menu.rb new file mode 100644 index 0000000000000000000000000000000000000000..9b643afeec5026602949ec14c25257aa94619bd0 --- /dev/null +++ b/lib/sidebars/your_work/menus/milestones_menu.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Sidebars + module YourWork + module Menus + class MilestonesMenu < ::Sidebars::Menu + override :link + def link + dashboard_milestones_path + end + + override :title + def title + _('Milestones') + end + + override :sprite_icon + def sprite_icon + 'clock' + end + + override :render? + def render? + !!context.current_user + end + + override :active_routes + def active_routes + { controller: 'dashboard/milestones' } + end + end + end + end +end diff --git a/lib/sidebars/your_work/panel.rb b/lib/sidebars/your_work/panel.rb index 163eebfaccb15a26fa7985a9cbd98c348cfbf0bd..c3ab291d06094544043d858c901a3620b378fbb8 100644 --- a/lib/sidebars/your_work/panel.rb +++ b/lib/sidebars/your_work/panel.rb @@ -22,6 +22,8 @@ def render_raw_scope_menu_partial def add_menus add_menu(Sidebars::YourWork::Menus::ProjectsMenu.new(context)) + add_menu(Sidebars::YourWork::Menus::MilestonesMenu.new(context)) + add_menu(Sidebars::YourWork::Menus::ActivityMenu.new(context)) end end end diff --git a/spec/features/dashboard/activity_spec.rb b/spec/features/dashboard/activity_spec.rb index b1734cb353ba4a533e6b2c7cdc12781dce99aa7d..edb3dacc2cc7632ed2d2eec7fc776c2b8ce0edf1 100644 --- a/spec/features/dashboard/activity_spec.rb +++ b/spec/features/dashboard/activity_spec.rb @@ -9,6 +9,8 @@ sign_in(user) end + it_behaves_like 'a dashboard page with sidebar', :activity_dashboard_path, :activity + context 'tabs' do it 'shows Your Projects' do visit activity_dashboard_path diff --git a/spec/features/dashboard/milestones_spec.rb b/spec/features/dashboard/milestones_spec.rb index b4d0d9c5812cfc15f9d803e83cba878184b9c4f9..a9f23f90bb1407e70d32edd04c2d07b8a1bb8946 100644 --- a/spec/features/dashboard/milestones_spec.rb +++ b/spec/features/dashboard/milestones_spec.rb @@ -26,6 +26,8 @@ visit dashboard_milestones_path end + it_behaves_like 'a dashboard page with sidebar', :dashboard_milestones_path, :milestones + it 'sees milestones' do expect(page).to have_current_path dashboard_milestones_path, ignore_query: true expect(page).to have_content(milestone.title) diff --git a/spec/support/shared_contexts/navbar_structure_context.rb b/spec/support/shared_contexts/navbar_structure_context.rb index 70354bfe685240a7d49e180aed5163dc2b0f1797..83e9e0311a13fcb3b6e84b2bd440eb6ced5064ff 100644 --- a/spec/support/shared_contexts/navbar_structure_context.rb +++ b/spec/support/shared_contexts/navbar_structure_context.rb @@ -232,6 +232,14 @@ { nav_item: _("Projects"), nav_sub_items: [] + }, + { + nav_item: _("Milestones"), + nav_sub_items: [] + }, + { + nav_item: _("Activity"), + nav_sub_items: [] } ] end