Adjusting design of public pages, optimizing account page queries
This commit is contained in:
		| @@ -1,14 +1,10 @@ | ||||
| .card { | ||||
|   background: $primary-color image-url('background-photo.jpeg'); | ||||
|   background-size: cover; | ||||
|   padding: 80px 0; | ||||
|   padding-bottom: 30px; | ||||
|   padding: 60px 0; | ||||
|   padding-bottom: 10px; | ||||
|   border-radius: 4px 4px 0 0; | ||||
|  | ||||
|   .bio { | ||||
|  | ||||
|   } | ||||
|  | ||||
|   .name { | ||||
|     display: block; | ||||
|     font-size: 20px; | ||||
| @@ -37,4 +33,38 @@ | ||||
|       border-radius: 120px; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .details { | ||||
|     display: flex; | ||||
|     margin-top: 30px; | ||||
|   } | ||||
|  | ||||
|   .counter { | ||||
|     width: 80px; | ||||
|     color: #9baec8; | ||||
|     padding: 0 10px; | ||||
|     border-right: 1px solid #9baec8; | ||||
|     cursor: default; | ||||
|  | ||||
|     .counter-label { | ||||
|       font-size: 12px; | ||||
|       text-transform: uppercase; | ||||
|       display: block; | ||||
|       margin-bottom: 5px; | ||||
|     } | ||||
|  | ||||
|     .counter-number { | ||||
|       font-weight: 500; | ||||
|       font-size: 18px; | ||||
|       color: #fff; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .bio { | ||||
|     flex: 1; | ||||
|     font-size: 14px; | ||||
|     line-height: 18px; | ||||
|     padding: 5px 10px; | ||||
|     color: #d9e1e8; | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -181,7 +181,6 @@ body { | ||||
|     margin-top: 30px; | ||||
|     text-align: center; | ||||
|  | ||||
|  | ||||
|     a { | ||||
|       color: #9baec8; | ||||
|       text-decoration: none; | ||||
|   | ||||
| @@ -9,34 +9,38 @@ | ||||
|     border-left: 2px solid #fff; | ||||
|  | ||||
|     &.entry-reblog { | ||||
|       border-left: 2px solid $tertiary-color; | ||||
|  | ||||
|       .content { | ||||
|         a { | ||||
|           color: $tertiary-color; | ||||
|         } | ||||
|       } | ||||
|       border-left-color: #2b90d9; | ||||
|     } | ||||
|  | ||||
|     &.entry-predecessor, &.entry-successor { | ||||
|  | ||||
|       .content { | ||||
|         a { | ||||
|  | ||||
|         } | ||||
|       } | ||||
|       background: #d9e1e8; | ||||
|       border-left-color: #d9e1e8; | ||||
|     } | ||||
|  | ||||
|     &.entry-follow, &.entry-favourite { | ||||
|       .content { | ||||
|         padding-top: 10px; | ||||
|         padding-bottom: 10px; | ||||
|  | ||||
|         strong { | ||||
|           font-weight: 500; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     &:last-child { | ||||
|       border-bottom: 0; | ||||
|       border-radius: 0 0 4px 0; | ||||
|       border-radius: 0 0 4px 4px; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &.activity-stream-headless { | ||||
|     .entry:first-child { | ||||
|       border-radius: 4px 4px 0 0; | ||||
|  | ||||
|       &:last-child { | ||||
|         border-radius: 4px; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -5,6 +5,8 @@ class AccountsController < ApplicationController | ||||
|   before_action :set_webfinger_header | ||||
|  | ||||
|   def show | ||||
|     @statuses = @account.statuses.order('id desc').includes(thread: [:account], reblog: [:account], stream_entry: []) | ||||
|  | ||||
|     respond_to do |format| | ||||
|       format.html | ||||
|       format.atom | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| class Status < ActiveRecord::Base | ||||
|   belongs_to :account, inverse_of: :statuses | ||||
|  | ||||
|   belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status' | ||||
|   belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status' | ||||
|   belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies | ||||
|   belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs | ||||
|  | ||||
|   has_one :stream_entry, as: :activity, dependent: :destroy | ||||
|  | ||||
|   has_many :favourites, inverse_of: :status, dependent: :destroy | ||||
|   has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status' | ||||
|   has_many :replies, foreign_key: 'in_reply_to_id', class_name: 'Status' | ||||
|   has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblog | ||||
|   has_many :replies, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :thread | ||||
|   has_many :mentioned_accounts, class_name: 'Mention', dependent: :destroy | ||||
|  | ||||
|   validates :account, presence: true | ||||
|   | ||||
| @@ -4,11 +4,21 @@ | ||||
|  | ||||
| .card | ||||
|   .avatar= image_tag @account.avatar.url(:large) | ||||
|   .bio | ||||
|     %h1.name | ||||
|       = @account.display_name.blank? ? @account.username : @account.display_name | ||||
|       %small= "@#{@account.username}" | ||||
|  | ||||
|   %h1.name | ||||
|     = @account.display_name.blank? ? @account.username : @account.display_name | ||||
|     %small= "@#{@account.username}" | ||||
|   .details | ||||
|     .counter | ||||
|       %span.counter-label Posts | ||||
|       %span.counter-number= @account.statuses.count | ||||
|     .counter | ||||
|       %span.counter-label Following | ||||
|       %span.counter-number= @account.following.count | ||||
|     .counter | ||||
|       %span.counter-label Followers | ||||
|       %span.counter-number= @account.followers.count | ||||
|     .bio | ||||
|       %p= @account.note | ||||
| .activity-stream | ||||
|   - @account.statuses.order('id desc').each do |status| | ||||
|   - @statuses.each do |status| | ||||
|     = render partial: 'stream_entries/status', locals: { status: status, include_threads: false, is_successor: false, is_predecessor: false } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| .entry.entry-follow | ||||
|   .content | ||||
|     %strong= follow.account.acct | ||||
|     %strong= link_to follow.account.acct, account_path(follow.account) | ||||
|     is now following | ||||
|     %strong= follow.target_account.acct | ||||
|     %strong= link_to follow.target_account.acct, url_for_target(follow.target_account) | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| - content_for :header_tags do | ||||
|   %link{ rel: 'alternate', type: 'application/atom+xml', href: account_stream_entry_url(@account, @stream_entry, format: 'atom') }/ | ||||
|  | ||||
| .activity-stream | ||||
| .activity-stream.activity-stream-headless | ||||
|   = render partial: @type, locals: { @type.to_sym => @stream_entry.activity, include_threads: true, is_predecessor: false, is_successor: false } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user