mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-19 14:26:14 -04:00
Tidy up mobile display on homepage, including member cards changes (#2417)
* Tidy up mobile display on homepage, including member cards changes
This commit is contained in:
@@ -126,6 +126,10 @@ section {
|
||||
}
|
||||
}
|
||||
|
||||
.card-double {
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
.card-finished {
|
||||
background: darken($beige, 10%);
|
||||
|
||||
@@ -139,15 +143,16 @@ section {
|
||||
}
|
||||
}
|
||||
|
||||
.img-cover,
|
||||
.card .img-card {
|
||||
height: 200px;
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
margin-bottom: 1em;
|
||||
|
||||
.img-card {
|
||||
height: 200px;
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: $beige;
|
||||
color: $blue;
|
||||
|
||||
@@ -19,10 +19,6 @@ module PhotosHelper
|
||||
photo_or_placeholder(garden)
|
||||
end
|
||||
|
||||
def post_image_path(post)
|
||||
photo_or_placeholder(post)
|
||||
end
|
||||
|
||||
def planting_image_path(planting)
|
||||
photo_or_placeholder(planting)
|
||||
end
|
||||
@@ -35,6 +31,10 @@ module PhotosHelper
|
||||
photo_or_placeholder(seed)
|
||||
end
|
||||
|
||||
def post_image_path(post)
|
||||
post.default_photo&.fullsize_url || post.crops.first&.default_photo&.fullsize_url || placeholder_image
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def photo_or_placeholder(item)
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module PostsHelper
|
||||
def display_post_truncated(post)
|
||||
length = 300
|
||||
def display_post_truncated(post, length: 300)
|
||||
truncate(strip_tags(post.body), length: length,
|
||||
separator: ' ', omission: '... ') { link_to "Read more", post_path(post) }
|
||||
end
|
||||
|
||||
def post_stripped_tags(post, length: 300)
|
||||
truncate(strip_tags(post.body), length: length)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
%small
|
||||
View other harvests, members and more near
|
||||
= link_to harvest.owner.location, place_path(harvest.owner.location, anchor: "harvests")
|
||||
.col-md-6= render "members/avatar", member: harvest.owner
|
||||
.col-md-6= render "members/avatar", member: harvest.owner
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
- cache cache_key_for(Crop, 'homepage'), expires_in: 1.day do
|
||||
.index-cards
|
||||
- CropSearchService.random_with_photos(16).each do |c|
|
||||
= render 'crops/thumbnail', crop: c
|
||||
- CropSearchService.random_with_photos(30).each do |c|
|
||||
= render 'crops/thumbnail', crop: c
|
||||
|
||||
@@ -1,18 +1,27 @@
|
||||
%h2.text-center= t('.discussion')
|
||||
.list-group
|
||||
- Post.includes(:author).order(created_at: :desc).limit(6).each do |post|
|
||||
- cache post do
|
||||
= link_to post, class: 'list-group-item list-group-item-action flex-column align-items-start' do
|
||||
.d-flex.w-100.justify-content-between
|
||||
%h5.mb-2.h5= truncate(strip_tags(post.subject))
|
||||
%small
|
||||
= time_ago_in_words(post.created_at)
|
||||
ago
|
||||
= image_tag avatar_uri(post.author, 50), align: :right, class: 'avatar'
|
||||
%p.mb-2
|
||||
= truncate(strip_tags(post.body), length: 200)
|
||||
%small
|
||||
= post.comments_count
|
||||
comments
|
||||
|
||||
%h2.font-weight-bold.mb-4.pb-2 Recent posts
|
||||
.row
|
||||
- Post.includes(:author, :crop_posts, :crops).order(created_at: :desc).limit(3).each do |post|
|
||||
.col-lg-4.col-md-12.mb-4
|
||||
.view
|
||||
= link_to post do
|
||||
= image_tag post_image_path(post), class: 'img img-cover'
|
||||
%h4.font-weight-bold.mb-3
|
||||
%strong
|
||||
= link_to post do
|
||||
= post.subject
|
||||
%p
|
||||
by
|
||||
= succeed "," do
|
||||
%a.font-weight-bold= post.author
|
||||
%p= post_stripped_tags(post, length: 300)
|
||||
%h6.font-weight-bold.mb-3
|
||||
- post.crops.each do |crop|
|
||||
= link_to crop do
|
||||
= crop_icon(crop)
|
||||
= crop.name.pluralize
|
||||
/ = image_tag avatar_uri(post.author, 50), class: 'avatar'
|
||||
= link_to 'Read more', post, class: 'btn btn-pink btn-rounded btn-md'
|
||||
|
||||
%p.text-right
|
||||
= link_to "#{t('.view_all')} »", posts_path, class: 'btn btn-block'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
- cache cache_key_for(Member) do
|
||||
.hidden-xs
|
||||
- members = Member.interesting.limit(6)
|
||||
- members = Member.interesting.limit(4)
|
||||
- if members.present?
|
||||
%h2.text-center= t('.title')
|
||||
.index-cards
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
- cache cache_key_for(Seed) do
|
||||
%h2.text-center= t('home.seeds.title')
|
||||
.index-cards
|
||||
.row
|
||||
- Seed.homepage_records(6).each do |s|
|
||||
= render 'seeds/card', seed: s
|
||||
.col-6.col-md-4= render 'seeds/card', seed: s
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
.hidden-xs
|
||||
%section.jumbotron= render 'blurb', cached: true
|
||||
.row
|
||||
.col-lg-8.col-md-12
|
||||
.col-12
|
||||
%section.crops
|
||||
= cute_icon
|
||||
%h2= t('home.crops.our_crops')
|
||||
@@ -27,12 +27,12 @@
|
||||
%h2= t('.recently_added')
|
||||
%p
|
||||
!= CropSearchService.recent(30).map { |c| link_to(c['name'], crop_path(slug: c['slug'])) }.join(", ")
|
||||
.col-xl-2.col
|
||||
.col-xl-3.col
|
||||
%section.plantings
|
||||
= cute_icon
|
||||
=render 'plantings'
|
||||
%p.text-right= link_to "#{t('home.plantings.view_all')} »", plantings_path, class: 'btn btn-block'
|
||||
.col-xl-2.col
|
||||
.col-xl-3.col
|
||||
%section.harvests
|
||||
= cute_icon
|
||||
= render 'harvests'
|
||||
@@ -42,11 +42,11 @@
|
||||
= cute_icon
|
||||
= render 'seeds'
|
||||
%p.text-right= link_to "#{t('home.seeds.view_all')} »", seeds_path, class: 'btn btn-block'
|
||||
.col-12.col-md-6
|
||||
%section.discussion
|
||||
.col-12.col-lg-6
|
||||
%section.discussion.text-center
|
||||
= cute_icon
|
||||
= render 'discuss', cached: true
|
||||
.col-12
|
||||
.col-12.col-lg-6
|
||||
%section.members
|
||||
= cute_icon
|
||||
= render 'members', cached: true
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
- cache member do
|
||||
.card.member-card.text-center
|
||||
= link_to member do
|
||||
= image_tag(avatar_uri(member, 150), class: 'img img-fluid avatar rounded', alt: member)
|
||||
.card.card-double
|
||||
.card-body
|
||||
%h4.card-title.login-name= link_to member, member
|
||||
.row
|
||||
.col-12.col-md-6
|
||||
= render "members/avatar", member: member
|
||||
.col-12.col-md-6
|
||||
%h4.login-name= link_to member, member
|
||||
= link_to "view all #{member}'s gardens", member_gardens_path(member)
|
||||
%p
|
||||
%small
|
||||
Joined
|
||||
= distance_of_time_in_words(member.created_at, Time.zone.now)
|
||||
ago.
|
||||
- if member.location.present?
|
||||
= link_to member.location, place_path(member.location)
|
||||
.card-footer
|
||||
%p
|
||||
%small
|
||||
Joined
|
||||
= distance_of_time_in_words(member.created_at, Time.zone.now)
|
||||
ago.
|
||||
- if member.location.present?
|
||||
= render 'members/location', member: member
|
||||
%ul.nav.nav-justified.small
|
||||
%li.nav-item.border-right
|
||||
= link_to member_plantings_path(member) do
|
||||
= localize_plural(member.plantings.active, Planting)
|
||||
%li.nav-item.border-right
|
||||
= link_to member_harvests_path(member) do
|
||||
= localize_plural(member.harvests, Harvest)
|
||||
%li.nav-item
|
||||
= link_to member_seeds_path(member) do
|
||||
= localize_plural(member.seeds.active, Seed)
|
||||
|
||||
%p
|
||||
%ul.nav.nav-justified.small
|
||||
%li.nav-item.border-right
|
||||
= link_to member_plantings_path(member) do
|
||||
= localize_plural(member.plantings, Planting)
|
||||
%li.nav-item.border-right
|
||||
= link_to member_harvests_path(member) do
|
||||
= localize_plural(member.harvests, Harvest)
|
||||
%li.nav-item
|
||||
= link_to member_seeds_path(member) do
|
||||
= localize_plural(member.seeds, Seed)
|
||||
|
||||
@@ -15,4 +15,4 @@
|
||||
%small
|
||||
View other plantings, members and more near
|
||||
= link_to @planting.garden.location, place_path(@planting.garden.location, anchor: "plantings")
|
||||
.col= render "members/avatar", member: @planting.owner
|
||||
.col= render "members/avatar", member: @planting.owner
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@percy/agent": "^0.3.1",
|
||||
"mdbootstrap": "^4.7.7"
|
||||
"mdbootstrap": "^4.12.0"
|
||||
},
|
||||
"engines": {
|
||||
"engines": {
|
||||
"node": ">=6.0.0",
|
||||
"yarn": ">=0.25.2"
|
||||
},
|
||||
|
||||
@@ -1464,10 +1464,10 @@ lru-cache@^4.0.1:
|
||||
pseudomap "^1.0.2"
|
||||
yallist "^2.1.2"
|
||||
|
||||
mdbootstrap@^4.7.7:
|
||||
version "4.7.7"
|
||||
resolved "https://registry.yarnpkg.com/mdbootstrap/-/mdbootstrap-4.7.7.tgz#d45a6589f2def14d5bd678e3f7e2ee855c92789c"
|
||||
integrity sha512-ICqHUag552bvqVJ0gVVqy5vHT9OcAWZDtTl+Pn45jeO8wlVKk+EUro7xgvy69jAQMSz9TOpXLEc1GFmSePL4FA==
|
||||
mdbootstrap@^4.12.0:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/mdbootstrap/-/mdbootstrap-4.12.0.tgz#0849c6ffa2cdd9f432ede5f17d9c8b66aee7d341"
|
||||
integrity sha512-+X4x63tE96zpVOcRlVUGdcR65M9Ud+/l1TvdmcwUjEGo3ktn9TO3e6S3DBLTvchO9U5eKuJh/MIWIGac7+569g==
|
||||
|
||||
media-typer@0.3.0:
|
||||
version "0.3.0"
|
||||
|
||||
Reference in New Issue
Block a user