From cd98f38c5d06450f87cf1ff06ec3cfc2ecf55058 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 2 Jan 2019 21:26:50 +1300 Subject: [PATCH] DRY the nav bars and make all the same --- app/views/gardens/_nav.haml | 10 ---------- app/views/gardens/index.html.haml | 2 +- app/views/harvests/_nav.haml | 15 --------------- app/views/harvests/index.html.haml | 3 ++- app/views/layouts/_nav.haml | 14 ++++++++++++++ app/views/plantings/_nav.haml | 17 ----------------- app/views/plantings/index.html.haml | 3 ++- app/views/seeds/index.html.haml | 14 +------------- 8 files changed, 20 insertions(+), 58 deletions(-) delete mode 100644 app/views/gardens/_nav.haml delete mode 100644 app/views/harvests/_nav.haml create mode 100644 app/views/layouts/_nav.haml delete mode 100644 app/views/plantings/_nav.haml diff --git a/app/views/gardens/_nav.haml b/app/views/gardens/_nav.haml deleted file mode 100644 index 95cc1a7b7..000000000 --- a/app/views/gardens/_nav.haml +++ /dev/null @@ -1,10 +0,0 @@ -- content_for :buttonbar do - - if current_member - = link_to 'My Gardens', member_gardens_path(owner: current_member.slug), class: 'btn btn-default' - - = link_to "Everyone's gardens", gardens_path, class: 'btn btn-default' - - - if can?(:create, Garden) - = link_to 'Add a garden', new_garden_path, class: 'btn btn-default' - - unless current_member - = render 'shared/signin_signup', to: 'add a new garden' diff --git a/app/views/gardens/index.html.haml b/app/views/gardens/index.html.haml index a09de73ff..aa9552041 100644 --- a/app/views/gardens/index.html.haml +++ b/app/views/gardens/index.html.haml @@ -1,6 +1,6 @@ - content_for :title, @owner ? "#{@owner}'s gardens" : "Everyone's gardens" -= render 'nav' += render 'layouts/nav', model: Garden = link_to gardens_active_tickbox_path(@owner, @show_all) do = check_box_tag 'active', 'all', @show_all diff --git a/app/views/harvests/_nav.haml b/app/views/harvests/_nav.haml deleted file mode 100644 index 014e9e7b9..000000000 --- a/app/views/harvests/_nav.haml +++ /dev/null @@ -1,15 +0,0 @@ -%p - - if can? :create, Harvest - - if @planting && @planting.owner == current_member - = link_to 'Add harvest', new_planting_harvest_path(planting: @planting), class: 'btn btn-primary' - - elsif @owner - %p - - if @owner == current_member - = link_to 'Add harvest', new_harvest_path, class: 'btn btn-primary' - = link_to "View everyone's harvests", harvests_path, class: 'btn btn-default' - - else # everyone's harvests - = link_to 'Add harvest', new_harvest_path, class: 'btn btn-primary' - - if current_member - = link_to 'View your harvests', member_harvests_path(owner: current_member.slug), class: 'btn btn-default' - - else - = render partial: 'shared/signin_signup', locals: { to: 'track your harvests' } diff --git a/app/views/harvests/index.html.haml b/app/views/harvests/index.html.haml index 5438b11af..186dd4f30 100644 --- a/app/views/harvests/index.html.haml +++ b/app/views/harvests/index.html.haml @@ -7,7 +7,8 @@ #{ENV['GROWSTUFF_SITE_NAME']} helps you track what you're harvesting from your home garden and see how productive it is. -= render "nav" += render 'layouts/nav', model: Harvest + .pagination = page_entries_info @harvests = will_paginate @harvests diff --git a/app/views/layouts/_nav.haml b/app/views/layouts/_nav.haml new file mode 100644 index 000000000..62310672c --- /dev/null +++ b/app/views/layouts/_nav.haml @@ -0,0 +1,14 @@ +- content_for :buttonbar do + - if current_member.present? + = link_to url_for([current_member, model]), class: 'btn btn-default' do + My #{model.model_name.human.pluralize} + + = link_to model, class: 'btn btn-default' do + Everyone's #{model.model_name.human.pluralize} + + - if can?(:create, model) + = link_to url_for([model, action: :new]), class: 'btn btn-default' do + Add a #{model.model_name.human} + + - unless current_member + = render 'shared/signin_signup', to: 'add a new seed' diff --git a/app/views/plantings/_nav.haml b/app/views/plantings/_nav.haml deleted file mode 100644 index 67a59b673..000000000 --- a/app/views/plantings/_nav.haml +++ /dev/null @@ -1,17 +0,0 @@ - -- content_for :buttonbar do - - if current_member - = link_to 'My Plantings', member_plantings_path(owner: current_member.slug), class: 'btn btn-default' - - if owner && owner != current_member - = link_to "#{owner.login_name}'s Plantings", member_plantings_path(owner: owner.slug), class: 'btn btn-default' - = link_to "Everyone's plantings", plantings_path, class: 'btn btn-default' - - = link_to plantings_active_tickbox_path(@owner, show_all) do - = check_box_tag 'active', 'all', show_all - include in-active - -- if current_member - - if can? :create, Planting - = link_to 'Plant something', new_planting_path, class: 'btn btn-primary' -- else - = render partial: 'shared/signin_signup', locals: { to: "track what you've planted" } diff --git a/app/views/plantings/index.html.haml b/app/views/plantings/index.html.haml index 11aca2270..4116021f3 100644 --- a/app/views/plantings/index.html.haml +++ b/app/views/plantings/index.html.haml @@ -1,6 +1,7 @@ - content_for :title, title('plantings', @owner, @crop, @planting) -= render 'nav', owner: @owner, show_all: @show_all += render 'layouts/nav', model: Planting + - if @owner = link_to t('.view_owners_profile', owner: @owner), member_path(@owner) diff --git a/app/views/seeds/index.html.haml b/app/views/seeds/index.html.haml index 02edddc82..9f81e4a98 100644 --- a/app/views/seeds/index.html.haml +++ b/app/views/seeds/index.html.haml @@ -7,19 +7,7 @@ #{ENV['GROWSTUFF_SITE_NAME']} helps you track your seed stash or trade seeds with other members. -%p - - if can? :create, Seed - - if @owner - %p - - if @owner == current_member - = link_to 'Add seeds', new_seed_path, class: 'btn btn-primary' - = link_to "View everyone's seeds", seeds_path, class: 'btn btn-default' - - else # everyone's seeds - = link_to 'Add seeds', new_seed_path, class: 'btn btn-primary' - - if current_member - = link_to 'View your seeds', member_seeds_path(owner: current_member.slug), class: 'btn btn-default' - - else - = render partial: 'shared/signin_signup', locals: { to: 'add seeds to your stash' } += render 'layouts/nav', model: Seed .pagination = page_entries_info @seeds