alt layout for user profile

This commit is contained in:
albert
2013-02-22 15:16:54 -05:00
parent 5b0c192d18
commit ad28a2cced
5 changed files with 119 additions and 118 deletions

View File

@@ -2,26 +2,22 @@
div#c-users {
div#a-show {
div.grid {
div.col {
float: left;
width: 50%;
div.box {
h2, h3 {
color: #333;
}
div.box {
clear: both;
margin-bottom: 2em;
}
/* clearfix hacks */
div.box:before, div.box:after {
content: "";
display: table;
}
div.box:after {
clear: both;
}
margin-bottom: 2em;
}
/* clearfix hacks */
div.box:before, div.box:after {
content: "";
display: table;
}
div.box:after {
clear: both;
}
dl {

View File

@@ -37,6 +37,10 @@ class UserPresenter
Post.where("id in (?)", subscription.post_id_array.slice(0, 6).map(&:to_i)).order("id desc")
end
def tag_links_for_subscription(template, subscription)
subscription.tag_query_array.map {|x| template.link_to(x.tr("_", " "), template.posts_path(:tags => x))}.join(", ").html_safe
end
def upload_limit
deleted_count = Post.for_user(user.id).deleted.count
pending_count = Post.for_user(user.id).pending.count

View File

@@ -0,0 +1,45 @@
<div class="box">
<h2><%= link_to "Uploads", posts_path(:tags => "user:#{user.name}") %></h2>
<% if presenter.has_uploads? %>
<div>
<% presenter.uploads.each do |post| %>
<%= PostPresenter.preview(post) %>
<% end %>
</div>
<% else %>
<p>None</p>
<% end %>
</div>
<div class="box">
<h2><%= link_to "Favorites", posts_path(:tags => "fav:#{user.name}") %></h2>
<% if presenter.has_favorites? %>
<div>
<% presenter.favorites.each do |post| %>
<%= PostPresenter.preview(post) %>
<% end %>
</div>
<% else %>
<p>None</p>
<% end %>
</div>
<div class="box">
<h2><%= link_to "Subscriptions", posts_path(:tags => "sub:#{user.name}") %></h2>
<% presenter.subscriptions.each do |subscription| %>
<div class="box">
<h3>
<%= link_to subscription.pretty_name, posts_path(:tags => "sub:#{user.name}:#{subscription.name}") %>
&ndash;
<%= presenter.tag_links_for_subscription(self, subscription) %>
</h3>
<div class="box">
<% presenter.posts_for_subscription(subscription).each do |post| %>
<%= PostPresenter.preview(post) %>
<% end %>
</div>
</div>
<% end %>
</div>

View File

@@ -0,0 +1,54 @@
<div>
<h2>Statistics</h2>
<dl>
<dt>Join Date</dt>
<dd><%= presenter.join_date %></dd>
<dt>Inviter</dt>
<dd><%= presenter.inviter(self) %></dd>
<dt>Level</dt>
<dd><%= presenter.level %></dd>
<% if user.is_banned? %>
<dt>Ban reason</dt>
<dd><%= presenter.ban_reason %></dd>
<% end %>
<dt>Upload Limit</dt>
<dd><%= presenter.upload_limit %></dd>
<dt>Uploads</dt>
<dd><%= presenter.upload_count(self) %></dd>
<dt>Deleted Uploads</dt>
<dd><%= presenter.deleted_upload_count(self) %></dd>
<dt>Favorites</dt>
<dd><%= presenter.favorite_count(self) %></dd>
<dt>Post Changes</dt>
<dd><%= presenter.post_version_count(self) %></dd>
<dt>Note Changes</dt>
<dd><%= presenter.note_version_count(self) %></dd>
<dt>Wiki Page Changes</dt>
<dd><%= presenter.wiki_page_version_count(self) %></dd>
<dt>Pool Changes</dt>
<dd><%= presenter.pool_version_count(self) %></dd>
<dt>Forum Posts</dt>
<dd><%= presenter.forum_post_count(self) %></dd>
<dt>Approvals</dt>
<dd><%= presenter.approval_count(self) %></dd>
<dt>Comments</dt>
<dd><%= presenter.comment_count(self) %></dd>
<dt>Feedback</dt>
<dd><%= presenter.feedbacks(self) %></dd>
</dl>
</div>

View File

@@ -2,106 +2,8 @@
<div id="a-show">
<h1><%= @presenter.name %></h1>
<div class="grid">
<div class="col">
<div class="box">
<h2><%= link_to "Uploads", posts_path(:tags => "user:#{@user.name}") %></h2>
<% if @presenter.has_uploads? %>
<div>
<% @presenter.uploads.each do |post| %>
<%= PostPresenter.preview(post) %>
<% end %>
</div>
<% else %>
<p>None</p>
<% end %>
</div>
<div class="box">
<h2><%= link_to "Favorites", posts_path(:tags => "fav:#{@user.name}") %></h2>
<% if @presenter.has_favorites? %>
<div>
<% @presenter.favorites.each do |post| %>
<%= PostPresenter.preview(post) %>
<% end %>
</div>
<% else %>
<p>None</p>
<% end %>
</div>
<div class="box">
<h2>Subscriptions</h2>
<% @presenter.subscriptions.each do |subscription| %>
<div class="box">
<h3><%= link_to subscription.pretty_name, posts_path(:tags => "sub:#{@user.name}:#{subscription.name}") %></h3>
<div>
<% @presenter.posts_for_subscription(subscription).each do |post| %>
<%= PostPresenter.preview(post) %>
<% end %>
</div>
</div>
<% end %>
</div>
</div>
<div class="col">
<h2>Statistics</h2>
<dl>
<dt>Join Date</dt>
<dd><%= @presenter.join_date %></dd>
<dt>Inviter</dt>
<dd><%= @presenter.inviter(self) %></dd>
<dt>Level</dt>
<dd><%= @presenter.level %></dd>
<% if @user.is_banned? %>
<dt>Ban reason</dt>
<dd><%= @presenter.ban_reason %></dd>
<% end %>
<dt>Upload Limit</dt>
<dd><%= @presenter.upload_limit %></dd>
<dt>Uploads</dt>
<dd><%= @presenter.upload_count(self) %></dd>
<dt>Deleted Uploads</dt>
<dd><%= @presenter.deleted_upload_count(self) %></dd>
<dt>Favorites</dt>
<dd><%= @presenter.favorite_count(self) %></dd>
<dt>Post Changes</dt>
<dd><%= @presenter.post_version_count(self) %></dd>
<dt>Note Changes</dt>
<dd><%= @presenter.note_version_count(self) %></dd>
<dt>Wiki Page Changes</dt>
<dd><%= @presenter.wiki_page_version_count(self) %></dd>
<dt>Pool Changes</dt>
<dd><%= @presenter.pool_version_count(self) %></dd>
<dt>Forum Posts</dt>
<dd><%= @presenter.forum_post_count(self) %></dd>
<dt>Approvals</dt>
<dd><%= @presenter.approval_count(self) %></dd>
<dt>Comments</dt>
<dd><%= @presenter.comment_count(self) %></dd>
<dt>Feedback</dt>
<dd><%= @presenter.feedbacks(self) %></dd>
</dl>
</div>
</div>
<%= render "statistics", :presenter => @presenter, :user => @user %>
<%= render "post_summary", :presenter => @presenter, :user => @user %>
</div>
</div>