commit: c349200761bdbf5beac22648da07b0768addc4d6
parent: d4892ace62cd5d73d7e4958bf98fe37244811c7f
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Sat, 19 Mar 2016 12:49:34 +0100
Removing some unused gems, adding pagination to profiles, fix #10
Diffstat:
8 files changed, 79 insertions(+), 11 deletions(-)
diff --git a/Gemfile b/Gemfile
@@ -1,7 +1,6 @@
source 'https://rubygems.org'
gem 'rails', '4.2.5.1'
-gem 'sqlite3'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
@@ -18,7 +17,6 @@ gem 'font-awesome-rails'
gem 'paranoia', '~> 2.0'
gem 'paperclip', '~> 4.3'
-gem 'backport_new_renderer'
gem 'http'
gem 'addressable'
@@ -36,6 +34,7 @@ gem 'fast_blank'
gem 'htmlentities'
gem 'onebox'
gem 'simple_form'
+gem 'will_paginate', '~> 3.0.6'
group :development, :test do
gem 'rspec-rails'
diff --git a/Gemfile.lock b/Gemfile.lock
@@ -39,8 +39,6 @@ GEM
addressable (2.4.0)
arel (6.0.3)
ast (2.2.0)
- backport_new_renderer (1.0.0)
- rails
bcrypt (3.1.11)
better_errors (2.1.1)
coderay (>= 1.0.0)
@@ -283,7 +281,6 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- sqlite3 (1.3.11)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
@@ -310,13 +307,13 @@ GEM
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
+ will_paginate (3.0.7)
PLATFORMS
ruby
DEPENDENCIES
addressable
- backport_new_renderer
better_errors
binding_of_caller
coffee-rails (~> 4.1.0)
@@ -356,11 +353,11 @@ DEPENDENCIES
sdoc (~> 0.4.0)
simple_form
simplecov
- sqlite3
therubyracer
uglifier (>= 1.3.0)
web-console (~> 2.0)
webmock
+ will_paginate (~> 3.0.6)
BUNDLED WITH
1.11.2
diff --git a/app/assets/stylesheets/accounts.scss b/app/assets/stylesheets/accounts.scss
@@ -89,3 +89,59 @@
color: #d9e1e8;
}
}
+
+.pagination {
+ padding: 30px 0;
+ text-align: center;
+ overflow: hidden;
+
+ a, .current, .next_page, .previous_page, .gap {
+ font-size: 14px;
+ color: #fff;
+ font-weight: 500;
+ display: inline-block;
+ padding: 6px 10px;
+ text-decoration: none;
+ }
+
+ .current {
+ background: #fff;
+ border-radius: 100px;
+ color: #282c37;
+ cursor: default;
+ }
+
+ .gap {
+ cursor: default;
+ }
+
+ .previous_page, .next_page {
+ text-transform: uppercase;
+ color: #d9e1e8;
+ }
+
+ .previous_page {
+ float: left;
+ padding-left: 0;
+
+ .fa {
+ display: inline-block;
+ margin-right: 5px;
+ }
+ }
+
+ .next_page {
+ float: right;
+ padding-right: 0;
+
+ .fa {
+ display: inline-block;
+ margin-left: 5px;
+ }
+ }
+
+ .disabled {
+ cursor: default;
+ color: lighten(#282c37, 10%);
+ }
+}
diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb
@@ -8,7 +8,7 @@ class AccountsController < ApplicationController
@statuses = @account.statuses.order('id desc').with_includes.with_counters
respond_to do |format|
- format.html
+ format.html { @statuses = @statuses.paginate(page: params[:page], per_page: 10)}
format.atom
end
end
diff --git a/app/views/accounts/show.html.haml b/app/views/accounts/show.html.haml
@@ -1,3 +1,6 @@
+- content_for :page_title do
+ = display_name(@account)
+
- content_for :header_tags do
%link{ rel: 'salmon', href: api_salmon_url(@account.id) }/
%link{ rel: 'alternate', type: 'application/atom+xml', href: account_url(@account, format: 'atom') }/
@@ -5,7 +8,7 @@
.card{ style: "background-image: url(#{@account.header.url(:medium)})" }
.avatar= image_tag @account.avatar.url(:large)
%h1.name
- = @account.display_name.blank? ? @account.username : @account.display_name
+ = display_name(@account)
%small= "@#{@account.username}"
.details
.counter
@@ -19,6 +22,9 @@
%span.counter-number= @account.followers.count
.bio
%p= @account.note
+
.activity-stream
- @statuses.each do |status|
= render partial: 'stream_entries/status', locals: { status: status, include_threads: false, is_successor: false, is_predecessor: false }
+
+= will_paginate @statuses, previous_label: "#{fa_icon('chevron-left')} Prev".html_safe, next_label: "Next #{fa_icon('chevron-right')}".html_safe, inner_window: 2
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
@@ -2,7 +2,9 @@
%html
%head
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
- %title Mastodon
+ %title
+ = "#{yield(:page_title)} - " if content_for?(:page_title)
+ Mastodon
= stylesheet_link_tag 'application', media: 'all'
= javascript_include_tag 'application'
= csrf_meta_tags
diff --git a/app/views/layouts/dashboard.html.haml b/app/views/layouts/dashboard.html.haml
@@ -6,7 +6,7 @@
.dashboard__current-user
= link_to account_path(current_user.account) do
= image_tag current_user.account.avatar.url(:medium), class: 'dashboard__current-user__avatar'
- %strong.dashboard__current-user__display-name= current_user.account.display_name.blank? ? current_user.account.username : current_user.account.display_name
+ %strong.dashboard__current-user__display-name= display_name(current_user.account)
%span.dashboard__current-user__username= "@#{current_user.account.username}"
%ul
%li{ class: active_nav_class(root_path) }
diff --git a/spec/helpers/stream_entries_helper_spec.rb b/spec/helpers/stream_entries_helper_spec.rb
@@ -16,4 +16,12 @@ RSpec.describe StreamEntriesHelper, type: :helper do
describe '#relative_time' do
pending
end
+
+ describe '#reblogged_by_me_class' do
+ pending
+ end
+
+ describe '#favourited_by_me_class' do
+ pending
+ end
end