diff --git a/CHANGELOG b/CHANGELOG index e46fb5d6c1eb220a614bc9bbf30e1fe813a8248f..339df2bcac1b8bace577b95e1a54174cf6d8c575 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -21,7 +21,7 @@ v 8.0.0 (unreleased) - Create cross-reference for closing references on commits pushed to non-default branches (Maƫl Valais) - Ability to search milestones - Gracefully handle SMTP user input errors (e.g. incorrect email addresses) to prevent Sidekiq retries (Stan Hu) - - Move dashboard activity to separate page + - Move dashboard activity to separate page (for your projects and starred projects) - Improve performance of git blame - Limit content width to 1200px for most of pages to improve readability on big screens - Fix 500 error when submit project snippet without body diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index d745131694b5175a43bb8234591ad6252671ff5d..2bc2e5e58f5d12f2ae93bad8818c8e7a82f61e2e 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -1,5 +1,5 @@ class DashboardController < Dashboard::ApplicationController - before_action :load_projects + before_action :load_projects, except: :activity before_action :event_filter, only: :activity respond_to :html @@ -55,7 +55,14 @@ class DashboardController < Dashboard::ApplicationController end def load_events - @events = Event.in_projects(current_user.authorized_projects.pluck(:id)) + project_ids = + if params[:filter] == "starred" + current_user.starred_projects + else + current_user.authorized_projects + end.pluck(:id) + + @events = Event.in_projects(project_ids) @events = @event_filter.apply_filter(@events).with_associations @events = @events.limit(20).offset(params[:offset] || 0) end diff --git a/app/views/dashboard/_activity_head.html.haml b/app/views/dashboard/_activity_head.html.haml new file mode 100644 index 0000000000000000000000000000000000000000..9f4be025bf2050c67d7724c140e214ef559bf411 --- /dev/null +++ b/app/views/dashboard/_activity_head.html.haml @@ -0,0 +1,7 @@ +%ul.center-top-menu + %li{ class: ("active" unless params[:filter]) } + = link_to activity_dashboard_path, class: 'shortcuts-activity', data: {placement: 'right'} do + Your Projects + %li{ class: ("active" if params[:filter] == 'starred') } + = link_to activity_dashboard_path(filter: 'starred'), data: {placement: 'right'} do + Starred Projects diff --git a/app/views/dashboard/activity.html.haml b/app/views/dashboard/activity.html.haml index 7a5a093add50737839e1a2c3971a44f1f5cdfb75..72419bf94dd3fd677ea20c2ef9127d0cc780e94e 100644 --- a/app/views/dashboard/activity.html.haml +++ b/app/views/dashboard/activity.html.haml @@ -2,5 +2,7 @@ - if current_user = auto_discovery_link_tag(:atom, dashboard_url(format: :atom, private_token: current_user.private_token), title: "All activity") += render 'dashboard/activity_head' + %section.activities = render 'activities' diff --git a/app/views/dashboard/projects/starred.html.haml b/app/views/dashboard/projects/starred.html.haml index 19f3975e530f1924d95060d2d6bb7a571757117f..becd989c1f3d206e28e4967e3cbf7cf33450367c 100644 --- a/app/views/dashboard/projects/starred.html.haml +++ b/app/views/dashboard/projects/starred.html.haml @@ -2,23 +2,7 @@ = render 'dashboard/projects_head' - if @projects.any? - = render 'shared/show_aside' - - .dashboard.row - %section.activities.col-md-7 - = render 'dashboard/activities' - %aside.col-md-5 - .panel.panel-default.projects-list-holder - .panel-heading.clearfix - .input-group - = search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'projects-list-filter form-control' - - if current_user.can_create_project? - %span.input-group-btn - = link_to new_project_path, class: 'btn btn-success' do - New project - - = render 'shared/projects/list', projects: @projects, projects_limit: 20 - + = render 'dashboard/projects' - else %h3 You don't have starred projects yet %p.slead Visit project page and press on star icon and it will appear on this page. diff --git a/features/steps/dashboard/starred_projects.rb b/features/steps/dashboard/starred_projects.rb index 59c73fe63f249a0f63f811b67c1052b80eed0486..c33813e550b8e7c3f5b51cf202f46e1a5694ce17 100644 --- a/features/steps/dashboard/starred_projects.rb +++ b/features/steps/dashboard/starred_projects.rb @@ -8,7 +8,7 @@ class Spinach::Features::DashboardStarredProjects < Spinach::FeatureSteps end step 'I should not see project "Shop"' do - page.within 'aside' do + page.within '.projects-list' do expect(page).not_to have_content('Shop') end end