added follower/following pages
This commit is contained in:
parent
2caf81d08e
commit
30c8654a27
|
@ -20,4 +20,18 @@ class UserController < ApplicationController
|
||||||
end
|
end
|
||||||
redirect_to edit_user_profile_path
|
redirect_to edit_user_profile_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def followers
|
||||||
|
@title = 'Followers'
|
||||||
|
@user = User.find_by_screen_name!(params[:username])
|
||||||
|
@users = @user.followers.paginate(page: params[:page])
|
||||||
|
render 'show_follow'
|
||||||
|
end
|
||||||
|
|
||||||
|
def following
|
||||||
|
@title = 'Following'
|
||||||
|
@user = User.find_by_screen_name!(params[:username])
|
||||||
|
@users = @user.followers.paginate(page: params[:page])
|
||||||
|
render 'show_follow'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/ TODO: pixeldesu pls
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-body
|
||||||
|
.media
|
||||||
|
.pull-left
|
||||||
|
%img.img-rounded.img-profile{src: gravatar_url(user)}
|
||||||
|
.media-body
|
||||||
|
- if user.display_name.blank?
|
||||||
|
%h2= user.screen_name
|
||||||
|
- else
|
||||||
|
%h2.user-displayname= user.display_name
|
||||||
|
%h4.text-muted.user-username= user.screen_name
|
||||||
|
- if user.admin?
|
||||||
|
%p.user-admin
|
||||||
|
%i.fa.fa-flask
|
||||||
|
Admin
|
||||||
|
- unless user.bio.blank?
|
||||||
|
%p.user-profiletext= user.bio
|
||||||
|
.row
|
||||||
|
.col-md-6.col-sm-6.col-xs-6
|
||||||
|
%h4.entry-text#asked-count= user.asked_count
|
||||||
|
%h6.entry-subtext Questions
|
||||||
|
.col-md-6.col-sm-6.col-xs-6
|
||||||
|
%h4.entry-text#answered-count= user.answered_count
|
||||||
|
%h6.entry-subtext Answers
|
||||||
|
= render 'user/actions'
|
|
@ -0,0 +1,40 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-body
|
||||||
|
.media
|
||||||
|
.pull-left
|
||||||
|
%img.img-rounded.img-profile{src: gravatar_url(@user)}
|
||||||
|
.media-body
|
||||||
|
- if @user.display_name.blank?
|
||||||
|
%h2= @user.screen_name
|
||||||
|
- else
|
||||||
|
%h2.user-displayname= @user.display_name
|
||||||
|
%h4.text-muted.user-username= @user.screen_name
|
||||||
|
- if @user.admin?
|
||||||
|
%p.user-admin
|
||||||
|
%i.fa.fa-flask
|
||||||
|
Admin
|
||||||
|
- unless @user.bio.blank?
|
||||||
|
%p.user-profiletext= @user.bio
|
||||||
|
- unless @user.website.blank?
|
||||||
|
%p.user-profiletext
|
||||||
|
%i.fa.fa-globe
|
||||||
|
%a{href: @user.website}= @user.display_website
|
||||||
|
- unless @user.location.blank?
|
||||||
|
%p.user-profiletext
|
||||||
|
%i.fa.fa-location-arrow
|
||||||
|
= @user.location
|
||||||
|
.row
|
||||||
|
.col-md-6.col-sm-6.col-xs-6
|
||||||
|
%h4.entry-text#follower-count= @user.follower_count
|
||||||
|
%h6.entry-subtext Follower
|
||||||
|
.col-md-6.col-sm-6.col-xs-6
|
||||||
|
%h4.entry-text#friend-count= @user.friend_count
|
||||||
|
%h6.entry-subtext Following
|
||||||
|
.row
|
||||||
|
.col-md-6.col-sm-6.col-xs-6
|
||||||
|
%h4.entry-text#asked-count= @user.asked_count
|
||||||
|
%h6.entry-subtext Questions
|
||||||
|
.col-md-6.col-sm-6.col-xs-6
|
||||||
|
%h4.entry-text#answered-count= @user.answered_count
|
||||||
|
%h6.entry-subtext Answers
|
||||||
|
= render 'user/actions'
|
|
@ -1,45 +1,6 @@
|
||||||
.container.j2-page
|
.container.j2-page
|
||||||
.col-md-3.col-xs-12.col-sm-3
|
.col-md-3.col-xs-12.col-sm-3
|
||||||
.panel.panel-default
|
= render 'user/profile_info'
|
||||||
.panel-body
|
|
||||||
.media
|
|
||||||
.pull-left
|
|
||||||
%img.img-rounded.img-profile{src: gravatar_url(@user)}
|
|
||||||
.media-body
|
|
||||||
- if @user.display_name.blank?
|
|
||||||
%h2= @user.screen_name
|
|
||||||
- else
|
|
||||||
%h2.user-displayname= @user.display_name
|
|
||||||
%h4.text-muted.user-username= @user.screen_name
|
|
||||||
- if @user.admin?
|
|
||||||
%p.user-admin
|
|
||||||
%i.fa.fa-flask
|
|
||||||
Admin
|
|
||||||
- unless @user.bio.blank?
|
|
||||||
%p.user-profiletext= @user.bio
|
|
||||||
- unless @user.website.blank?
|
|
||||||
%p.user-profiletext
|
|
||||||
%i.fa.fa-globe
|
|
||||||
%a{href: @user.website}= @user.display_website
|
|
||||||
- unless @user.location.blank?
|
|
||||||
%p.user-profiletext
|
|
||||||
%i.fa.fa-location-arrow
|
|
||||||
= @user.location
|
|
||||||
.row
|
|
||||||
.col-md-6.col-sm-6.col-xs-6
|
|
||||||
%h4.entry-text#follower-count= @user.follower_count
|
|
||||||
%h6.entry-subtext Follower
|
|
||||||
.col-md-6.col-sm-6.col-xs-6
|
|
||||||
%h4.entry-text#friend-count= @user.friend_count
|
|
||||||
%h6.entry-subtext Following
|
|
||||||
.row
|
|
||||||
.col-md-6.col-sm-6.col-xs-6
|
|
||||||
%h4.entry-text#asked-count= @user.asked_count
|
|
||||||
%h6.entry-subtext Questions
|
|
||||||
.col-md-6.col-sm-6.col-xs-6
|
|
||||||
%h4.entry-text#answered-count= @user.answered_count
|
|
||||||
%h6.entry-subtext Answers
|
|
||||||
= render 'user/actions'
|
|
||||||
.hidden-xs= render 'shared/links'
|
.hidden-xs= render 'shared/links'
|
||||||
.col-md-9.col-xs-12.col-sm-9
|
.col-md-9.col-xs-12.col-sm-9
|
||||||
= render 'shared/questionbox'
|
= render 'shared/questionbox'
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
.container.j2-page
|
||||||
|
.col-md-3.col-xs-12.col-sm-3
|
||||||
|
= render 'user/profile_info'
|
||||||
|
.hidden-xs= render 'shared/links'
|
||||||
|
.col-md-9.col-xs-12.col-sm-9
|
||||||
|
%h1= @title
|
||||||
|
#users
|
||||||
|
- @users.each do |user|
|
||||||
|
.col-sm-6
|
||||||
|
= render 'shared/userbox', user: user
|
||||||
|
|
||||||
|
#pagination= will_paginate @users, renderer: BootstrapPagination::Rails, page_links: false
|
||||||
|
|
||||||
|
- if @users.next_page
|
||||||
|
%button#load-more-btn.btn.btn-default{type: :button, data: { current_page: @users.current_page }}
|
||||||
|
Load more
|
||||||
|
.visible-xs= render 'shared/links'
|
|
@ -0,0 +1,8 @@
|
||||||
|
$('#users').append('<% @users.each do |user|
|
||||||
|
%><div class="col-sm-6"><%= j render 'shared/userbox', user: user
|
||||||
|
%></div><% end %>');
|
||||||
|
<% if @users.next_page %>
|
||||||
|
$('#pagination').html('<%= j will_paginate @users, renderer: BootstrapPagination::Rails, page_links: false %>');
|
||||||
|
<% else %>
|
||||||
|
$('#pagination, #load-more-btn').remove();
|
||||||
|
<% end %>
|
|
@ -42,7 +42,11 @@ Rails.application.routes.draw do
|
||||||
match '/@:username(/p/:page)', to: 'user#show', via: 'get', as: :show_user_profile, defaults: {page: 1}
|
match '/@:username(/p/:page)', to: 'user#show', via: 'get', as: :show_user_profile, defaults: {page: 1}
|
||||||
match '/@:username/a/:id', to: 'answer#show', via: 'get', as: :show_user_answer
|
match '/@:username/a/:id', to: 'answer#show', via: 'get', as: :show_user_answer
|
||||||
match '/@:username/q/:id', to: 'question#show', via: 'get', as: :show_user_question
|
match '/@:username/q/:id', to: 'question#show', via: 'get', as: :show_user_question
|
||||||
|
match '/@:username/followers(/p/:page)', to: 'user#followers', via: 'get', as: :show_user_followers, defaults: {page: 1}
|
||||||
|
match '/@:username/following(/p/:page)', to: 'user#following', via: 'get', as: :show_user_following, defaults: {page: 1}
|
||||||
match '/:username(/p/:page)', to: 'user#show', via: 'get', as: :show_user_profile_alt, defaults: {page: 1}
|
match '/:username(/p/:page)', to: 'user#show', via: 'get', as: :show_user_profile_alt, defaults: {page: 1}
|
||||||
match '/:username/a/:id', to: 'answer#show', via: 'get', as: :show_user_answer_alt
|
match '/:username/a/:id', to: 'answer#show', via: 'get', as: :show_user_answer_alt
|
||||||
match '/:username/q/:id', to: 'question#show', via: 'get', as: :show_user_question_alt
|
match '/:username/q/:id', to: 'question#show', via: 'get', as: :show_user_question_alt
|
||||||
|
match '/:username/followers(/p/:page)', to: 'user#followers', via: 'get', as: :show_user_followers_alt, defaults: {page: 1}
|
||||||
|
match '/:username/following(/p/:page)', to: 'user#following', via: 'get', as: :show_user_following_alt, defaults: {page: 1}
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue