Merge pull request #1630 from jenkr55/ProfileGardenDisplayImprovements

Profile garden display improvements
This commit is contained in:
Brenda Wallace
2018-04-22 15:33:42 +12:00
committed by GitHub
9 changed files with 52 additions and 18 deletions

View File

@@ -12,6 +12,10 @@ body
.list-inline > li.first
padding-left: 0px
.activity-list
list-style-type: none
padding: 0
h2
font-size: 150%
@@ -34,6 +38,21 @@ h3
max-width: 100%
height: auto
.profile-sidebar
margin-top: -5rem
.avatar
border-radius: 50%
border-radius: 50%
z-index: 2
position: relative
.profile-activity
background: white
padding: 2em
margin-top: 2em
.container
width: 100%
.sidebar
border-left: 1px solid darken($beige, 10%)
margin-left: -1px
@@ -108,6 +127,7 @@ p.stats
#membermap
height: 250px
z-index: 0
.location-not-set
height: 250px

View File

@@ -20,6 +20,7 @@ class MembersController < ApplicationController
@facebook_auth = @member.auth('facebook')
@posts = @member.posts
@gardens = @member.gardens.active.order(:name)
@harvests = @member.harvests
# The garden form partial is called from the "New Garden" tab;
# it requires a garden to be passed in @garden.

View File

@@ -21,8 +21,8 @@
%dd= display_quantity(harvest)
%dt Harvest date :
%dd= harvest.harvested_at
%dd Notes:
%dt=display_harvest_description(harvest)
%dt Notes:
%dd= display_harvest_description(harvest)
- if harvest.planting.present?
%dt Harvested from
%dd= link_to(harvest.planting, planting_path(harvest.planting))

View File

@@ -1,4 +1,3 @@
%h2 #{member.login_name}'s gardens
.tabbable
%ul.nav.nav-tabs
- first_garden = true
@@ -45,10 +44,10 @@
= link_to "Add photo", new_photo_path(type: "garden", id: g.id), class: 'btn btn-primary'
%h3 What's planted here?
.row
.card-row
- unless g.featured_plantings.empty?
- g.featured_plantings.each.with_index do |planting|
.col-xs-12.col-lg-6
.card
= render partial: "plantings/card", locals: { planting: planting }
%p

View File

@@ -0,0 +1,6 @@
.card-row-short
- harvests.each do |harvest|
.card
= render partial: "harvests/card", locals: { harvest: harvest }
- if !harvests.any?
#{member.login_name} hasn't harvested anything yet.

View File

@@ -1,6 +1,6 @@
- if member.latitude && member.longitude
#membermap
%p
%p.pull-right
See other members, plantings, seeds and more near
= link_to member.location, place_path(member.location, anchor: "members")
- else

View File

@@ -7,7 +7,7 @@
%h3 Activity
%ul.list-inline
%ul.activity-list
%li
- if !member.plantings.empty?
= link_to localize_plural(member.plantings, Planting), plantings_by_owner_path(owner: member)

View File

@@ -9,31 +9,40 @@
= tag("meta", property: "og:site_name", content: ENV['GROWSTUFF_SITE_NAME'])
- content_for :buttonbar do
- if can? :update, @member
= link_to 'Edit profile', edit_member_registration_path, class: 'btn btn-default'
= link_to 'Edit profile', edit_member_registration_path, class: 'btn btn-default pull-right'
- if can?(:create, Notification) && current_member != @member
= link_to 'Send message', new_notification_path(recipient_id: @member.id), class: 'btn btn-default'
= link_to 'Send message', new_notification_path(recipient_id: @member.id), class: 'btn btn-default pull-right'
- if current_member && current_member != @member # must be logged in, can't follow yourself
- follow = current_member.get_follow(@member)
- if !follow && can?(:create, Follow) # not already following
= link_to 'Follow', follows_path(followed_id: @member.id), method: :post, class: 'btn btn-default'
= link_to 'Follow', follows_path(followed_id: @member.id), method: :post, class: 'btn btn-default pull-right'
- if follow && can?(:destroy, follow) # already following
= link_to 'Unfollow', follow_path(follow), method: :delete, class: 'btn btn-default'
= link_to 'Unfollow', follow_path(follow), method: :delete, class: 'btn btn-default pull-right'
- content_for :member_rss_login_name, @member.login_name
- content_for :member_rss_slug, @member.slug
.row
.col-md-9
= render partial: "map", locals: { member: @member }
= render partial: "bio", locals: { member: @member }
= render partial: "gardens", locals: { member: @member, gardens: @gardens }
.col-md-3
= render partial: "map", locals: { member: @member }
.col-md-2.profile-sidebar
= render partial: "avatar", locals: { member: @member }
= render partial: "bio", locals: { member: @member }
= render partial: "roles", locals: { member: @member }
= render partial: "stats", locals: { member: @member }
= render partial: "contact", locals: { member: @member,
twitter_auth: @twitter_auth,
flickr_auth: @flickr_auth,
facebook_auth: @facebook_auth }
.col-md-10
%ul.nav.nav-pills.nav-justified
%li.active
%a{ "data-toggle" => "tab", href: "#gardens" } Gardens
%li
%a{ "data-toggle" => "tab", href: "#harvests" } Harvests
.tab-content.profile-activity
.tab-pane.active#gardens
= render partial: "gardens", locals: { member: @member, gardens: @gardens }
.tab-pane#harvests
= render partial: "harvests", locals: { member: @member, harvests: @harvests }

View File

@@ -9,7 +9,6 @@ feature "member profile", js: true do
expect(page).to have_css("h1", text: member.login_name)
expect(page).to have_content member.bio
expect(page).to have_content "Member since: #{member.created_at.to_s(:date)}"
expect(page).to have_content "#{member.login_name}'s gardens"
expect(page).to have_link "More about this garden...", href: garden_path(member.gardens.first)
end