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'
gem 'paranoia', '~> 2.0'
gem 'paperclip', '~> 4.3'
-gem 'backport_new_renderer'
gem 'http'
gem 'addressable'
gem 'htmlentities'
gem 'onebox'
gem 'simple_form'
+gem 'will_paginate', '~> 3.0.6'
group :development, :test do
gem 'rspec-rails'
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)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- sqlite3 (1.3.11)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
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)
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
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%);
+ }
+}
@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
+- 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') }/
.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
%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
%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
.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) }
describe '#relative_time' do
pending
end
+
+ describe '#reblogged_by_me_class' do
+ pending
+ end
+
+ describe '#favourited_by_me_class' do
+ pending
+ end
end