Browse Source

Display last thread name on forums lists

Ralfp 12 years ago
parent
commit
d2d7d60915

+ 15 - 7
static/cranefly/css/cranefly.css

@@ -951,10 +951,12 @@ a.btn-link:hover,a.btn-link:active,a.btn-link:focus{opacity:0.9;filter:alpha(opa
 .index-sidebar{position:relative;bottom:9px;}
 .index-category{background-color:#ffffff;border:1px solid #d5d5d5;border-radius:2px;-webkit-box-shadow:0px 0px 0px 3px #eeeeee;-moz-box-shadow:0px 0px 0px 3px #eeeeee;box-shadow:0px 0px 0px 3px #eeeeee;margin-bottom:20px;}.index-category table{margin:0px;}.index-category table caption{background-color:#fbfbfb;border:1px solid #d5d5d5;border-radius:2px 2px 0px 0px;margin:-1px;padding:3.966666666666667px 9.9px;color:#333333;font-size:11.9px;font-weight:bold;text-align:left;}.index-category table caption small{margin-left:7px;color:#999999;font-size:11.9px;}
 .index-category table td{padding:11.75px 9.9px;}
-.index-category table .forum-icon{padding-right:0px;width:1%;}.index-category table .forum-icon .forum-icon-wrap{background-color:#555555;border:1px solid #3b3b3b;border-radius:3px;padding:3px 4px;}.index-category table .forum-icon .forum-icon-wrap.forum-icon-new{background-color:#cf402e;border:1px solid #a53325;}
+.index-category table .forum-icon{padding-right:2.95px;width:1%;}.index-category table .forum-icon .forum-icon-wrap{background-color:#555555;border:1px solid #3b3b3b;border-radius:3px;padding:3px 4px;}.index-category table .forum-icon .forum-icon-wrap.forum-icon-new{background-color:#cf402e;border:1px solid #a53325;}
 .index-category table .forum-icon .forum-icon-wrap.forum-icon-redirect{background-color:#9466c6;border:1px solid #7a43b6;}
 .index-category table .forum-main h3{float:left;margin:0px;padding:0px;font-size:17.5px;font-weight:normal;line-height:20px;}.index-category table .forum-main h3 a:link,.index-category table .forum-main h3 a:visited{color:#333333;}
-.index-category table .forum-main .forum-details{float:right;color:#999999;font-weight:bold;}.index-category table .forum-main .forum-details .label{position:relative;bottom:1px;}
+.index-category table .forum-main .forum-details{float:right;margin-top:-1.0999999999999996px;color:#999999;font-size:11.9px;}.index-category table .forum-main .forum-details strong,.index-category table .forum-main .forum-details a{color:#555555;font-weight:normal;}
+.index-category table .forum-main .forum-details a:hover,.index-category table .forum-main .forum-details a:active{color:#333333;}
+.index-category table .forum-main .forum-details strong.stat-increment{color:#46a546;}
 .index-category table .forum-main .forum-description{clear:both;margin:0px;margin-bottom:-2.0999999999999996px;padding:0px;color:#8c8c8c;font-size:11.9px;}
 .index-category.index-category-important caption{background-color:#cf402e;border:1px solid #a53325;color:#ffffff;text-shadow:0px 1px 0px #672017;}.index-category.index-category-important caption small{color:#280c09;text-shadow:none;}
 .index-category.index-category-inverse caption{background-color:#333333;border:1px solid #1a1a1a;color:#eeeeee;text-shadow:0px 1px 0px #000000;}.index-category.index-category-inverse caption small{color:#b3b3b3;text-shadow:none;}
@@ -982,7 +984,9 @@ a.btn-link:hover,a.btn-link:active,a.btn-link:focus{opacity:0.9;filter:alpha(opa
 .forum-map-category{background-color:#ffffff;border:1px solid #d5d5d5;border-radius:2px;-webkit-box-shadow:0px 0px 0px 3px #eeeeee;-moz-box-shadow:0px 0px 0px 3px #eeeeee;box-shadow:0px 0px 0px 3px #eeeeee;margin-bottom:20px;}.forum-map-category table{margin:0px;}.forum-map-category table caption{background-color:#fbfbfb;border:1px solid #d5d5d5;border-radius:2px 2px 0px 0px;margin:-1px;padding:3.966666666666667px 9.9px;color:#333333;font-size:11.9px;font-weight:bold;text-align:left;}.forum-map-category table caption small{margin-left:7px;color:#999999;font-size:11.9px;}
 .forum-map-category table .forum-map-forum h3,.forum-map-category table .forum-map-subforum h3{margin:0px;padding:0px;font-size:14px;line-height:20px;}.forum-map-category table .forum-map-forum h3 a:link,.forum-map-category table .forum-map-subforum h3 a:link,.forum-map-category table .forum-map-forum h3 a:visited,.forum-map-category table .forum-map-subforum h3 a:visited{color:#555555;}
 .forum-map-category table .forum-map-forum h3 a:active,.forum-map-category table .forum-map-subforum h3 a:active,.forum-map-category table .forum-map-forum h3 a:hover,.forum-map-category table .forum-map-subforum h3 a:hover{color:#333333;}
-.forum-map-category table .forum-map-forum .forum-details,.forum-map-category table .forum-map-subforum .forum-details{float:right;margin-top:-21px;color:#999999;font-weight:bold;}
+.forum-map-category table .forum-map-forum .forum-details,.forum-map-category table .forum-map-subforum .forum-details{float:right;margin-top:-19px;color:#999999;font-size:11.9px;}.forum-map-category table .forum-map-forum .forum-details strong,.forum-map-category table .forum-map-subforum .forum-details strong,.forum-map-category table .forum-map-forum .forum-details a,.forum-map-category table .forum-map-subforum .forum-details a{color:#555555;font-weight:normal;}
+.forum-map-category table .forum-map-forum .forum-details a:hover,.forum-map-category table .forum-map-subforum .forum-details a:hover,.forum-map-category table .forum-map-forum .forum-details a:active,.forum-map-category table .forum-map-subforum .forum-details a:active{color:#333333;}
+.forum-map-category table .forum-map-forum .forum-details strong.stat-increment,.forum-map-category table .forum-map-subforum .forum-details strong.stat-increment{color:#46a546;}
 .forum-map-category table .forum-map-subforum{padding-left:15px;}.forum-map-category table .forum-map-subforum span.tree-t,.forum-map-category table .forum-map-subforum span.tree-l,.forum-map-category table .forum-map-subforum span.tree-s,.forum-map-category table .forum-map-subforum span.tree-i{display:inline-block;height:20px;width:10px;}
 .forum-map-category table .forum-map-subforum span.tree-t{border-left:1px solid #999999;margin-right:2px;}.forum-map-category table .forum-map-subforum span.tree-t span{border-top:1px solid #999999;display:inline-block;height:1px;width:100%;margin-bottom:3px;}
 .forum-map-category table .forum-map-subforum span.tree-l{margin-right:4px;}.forum-map-category table .forum-map-subforum span.tree-l span{border-left:1px solid #999999;border-bottom:1px solid #999999;display:inline-block;height:10px;width:100%;margin-bottom:3px;}
@@ -1022,10 +1026,12 @@ a.btn-link:hover,a.btn-link:active,a.btn-link:focus{opacity:0.9;filter:alpha(opa
 .news-feed hr{border:none;border-top:1px solid #eeeeee;margin:20px 0px;}
 .category-forums-list{background-color:#ffffff;border:1px solid #d5d5d5;border-radius:2px;-webkit-box-shadow:0px 0px 0px 3px #eeeeee;-moz-box-shadow:0px 0px 0px 3px #eeeeee;box-shadow:0px 0px 0px 3px #eeeeee;margin-bottom:20px;}.category-forums-list table{margin:0px;}.category-forums-list table tr:first-child td{border-top:none;}
 .category-forums-list table td{padding:11.75px 9.9px;}
-.category-forums-list table .forum-icon{padding-right:0px;width:1%;}.category-forums-list table .forum-icon .forum-icon-wrap{background-color:#555555;border:1px solid #3b3b3b;border-radius:3px;padding:3px 4px;}.category-forums-list table .forum-icon .forum-icon-wrap.forum-icon-new{background-color:#cf402e;border:1px solid #a53325;}
+.category-forums-list table .forum-icon{padding-right:2.95px;width:1%;}.category-forums-list table .forum-icon .forum-icon-wrap{background-color:#555555;border:1px solid #3b3b3b;border-radius:3px;padding:3px 4px;}.category-forums-list table .forum-icon .forum-icon-wrap.forum-icon-new{background-color:#cf402e;border:1px solid #a53325;}
 .category-forums-list table .forum-icon .forum-icon-wrap.forum-icon-redirect{background-color:#9466c6;border:1px solid #7a43b6;}
 .category-forums-list table .forum-main h3{float:left;margin:0px;padding:0px;font-size:17.5px;font-weight:normal;line-height:20px;}.category-forums-list table .forum-main h3 a:link,.category-forums-list table .forum-main h3 a:visited{color:#333333;}
-.category-forums-list table .forum-main .forum-details{float:right;color:#999999;font-weight:bold;}.category-forums-list table .forum-main .forum-details .label{position:relative;bottom:1px;}
+.category-forums-list table .forum-main .forum-details{float:right;margin-top:-1.0999999999999996px;color:#999999;font-size:11.9px;}.category-forums-list table .forum-main .forum-details strong,.category-forums-list table .forum-main .forum-details a{color:#555555;font-weight:normal;}
+.category-forums-list table .forum-main .forum-details a:hover,.category-forums-list table .forum-main .forum-details a:active{color:#333333;}
+.category-forums-list table .forum-main .forum-details strong.stat-increment{color:#46a546;}
 .category-forums-list table .forum-main .forum-description{clear:both;margin:0px;margin-bottom:-2.0999999999999996px;padding:0px;color:#8c8c8c;font-size:11.9px;}
 .category-forums-list.category-forums-important{border:1px solid #902d20;-webkit-box-shadow:0px 0px 0px 3px #cf402e;-moz-box-shadow:0px 0px 0px 3px #cf402e;box-shadow:0px 0px 0px 3px #cf402e;}
 .category-forums-list.category-forums-inverse{border:1px solid #333333;-webkit-box-shadow:0px 0px 0px 3px #555555;-moz-box-shadow:0px 0px 0px 3px #555555;box-shadow:0px 0px 0px 3px #555555;}
@@ -1045,10 +1051,12 @@ a.btn-link:hover,a.btn-link:active,a.btn-link:focus{opacity:0.9;filter:alpha(opa
 .user-profile .content-list .media .media-body .media-footer{margin:0px;color:#999999;font-size:10.5px;font-weight:normal;}.user-profile .content-list .media .media-body .media-footer a{color:#555555;}
 .forum-subforums-list{background-color:#ffffff;border:1px solid #d5d5d5;border-radius:2px;-webkit-box-shadow:0px 0px 0px 3px #eeeeee;-moz-box-shadow:0px 0px 0px 3px #eeeeee;box-shadow:0px 0px 0px 3px #eeeeee;margin-bottom:20px;}.forum-subforums-list table{margin:0px;}.forum-subforums-list table caption{background-color:#fbfbfb;border:1px solid #d5d5d5;border-radius:2px 2px 0px 0px;margin:-1px;padding:3.966666666666667px 9.9px;color:#333333;font-size:11.9px;font-weight:bold;text-align:left;}.forum-subforums-list table caption small{margin-left:7px;color:#999999;font-size:11.9px;}
 .forum-subforums-list table td{padding:11.75px 9.9px;}
-.forum-subforums-list table .forum-icon{padding-right:0px;width:1%;}.forum-subforums-list table .forum-icon .forum-icon-wrap{background-color:#555555;border:1px solid #3b3b3b;border-radius:3px;padding:3px 4px;}.forum-subforums-list table .forum-icon .forum-icon-wrap.forum-icon-new{background-color:#cf402e;border:1px solid #a53325;}
+.forum-subforums-list table .forum-icon{padding-right:2.95px;width:1%;}.forum-subforums-list table .forum-icon .forum-icon-wrap{background-color:#555555;border:1px solid #3b3b3b;border-radius:3px;padding:3px 4px;}.forum-subforums-list table .forum-icon .forum-icon-wrap.forum-icon-new{background-color:#cf402e;border:1px solid #a53325;}
 .forum-subforums-list table .forum-icon .forum-icon-wrap.forum-icon-redirect{background-color:#9466c6;border:1px solid #7a43b6;}
 .forum-subforums-list table .forum-main h3{float:left;margin:0px;padding:0px;font-size:17.5px;font-weight:normal;line-height:20px;}.forum-subforums-list table .forum-main h3 a:link,.forum-subforums-list table .forum-main h3 a:visited{color:#333333;}
-.forum-subforums-list table .forum-main .forum-details{float:right;color:#999999;font-weight:bold;}.forum-subforums-list table .forum-main .forum-details .label{position:relative;bottom:1px;}
+.forum-subforums-list table .forum-main .forum-details{float:right;margin-top:-1.0999999999999996px;color:#999999;font-size:11.9px;}.forum-subforums-list table .forum-main .forum-details strong,.forum-subforums-list table .forum-main .forum-details a{color:#555555;font-weight:normal;}
+.forum-subforums-list table .forum-main .forum-details a:hover,.forum-subforums-list table .forum-main .forum-details a:active{color:#333333;}
+.forum-subforums-list table .forum-main .forum-details strong.stat-increment{color:#46a546;}
 .forum-subforums-list table .forum-main .forum-description{clear:both;margin:0px;margin-bottom:-2.0999999999999996px;padding:0px;color:#8c8c8c;font-size:11.9px;}
 .forum-subforums-list.forum-subforums-important caption{background-color:#cf402e;border:1px solid #a53325;color:#ffffff;text-shadow:0px 1px 0px #672017;}.forum-subforums-list.forum-subforums-important caption small{color:#280c09;text-shadow:none;}
 .forum-subforums-list.forum-subforums-inverse caption{background-color:#333333;border:1px solid #1a1a1a;color:#eeeeee;text-shadow:0px 1px 0px #000000;}.forum-subforums-list.forum-subforums-inverse caption small{color:#b3b3b3;text-shadow:none;}

+ 14 - 5
static/cranefly/css/cranefly/category.less

@@ -22,7 +22,7 @@
     }
 
     .forum-icon {
-      padding-right: 0px;
+      padding-right: (@fontSizeSmall / 2) - 3px;
       width: 1%;
 
       .forum-icon-wrap {
@@ -60,13 +60,22 @@
 
       .forum-details {
         float: right;
+        margin-top: ((@baseFontSize - @fontSizeSmall) * -1) + 1px;
 
         color: @grayLight;
-        font-weight: bold;
+        font-size: @fontSizeSmall;
+
+        strong, a {
+          color: @gray;
+          font-weight: normal
+        }
+
+        a:hover, a:active {
+          color: @textColor;
+        }
 
-        .label {
-          position: relative;
-          bottom: 1px;
+        strong.stat-increment {
+          color: @green;
         }
       }
 

+ 14 - 5
static/cranefly/css/cranefly/forum.less

@@ -37,7 +37,7 @@
     }
 
     .forum-icon {
-      padding-right: 0px;
+      padding-right: (@fontSizeSmall / 2) - 3px;
       width: 1%;
 
       .forum-icon-wrap {
@@ -75,13 +75,22 @@
 
       .forum-details {
         float: right;
+        margin-top: ((@baseFontSize - @fontSizeSmall) * -1) + 1px;
 
         color: @grayLight;
-        font-weight: bold;
+        font-size: @fontSizeSmall;
+
+        strong, a {
+          color: @gray;
+          font-weight: normal
+        }
+
+        a:hover, a:active {
+          color: @textColor;
+        }
 
-        .label {
-          position: relative;
-          bottom: 1px;
+        strong.stat-increment {
+          color: @green;
         }
       }
 

+ 15 - 2
static/cranefly/css/cranefly/forummap.less

@@ -50,10 +50,23 @@
 
       .forum-details {
         float: right;
-        margin-top: (@baseLineHeight * -1) - 1px;
+        margin-top: (@baseLineHeight * -1) + 1px;
 
         color: @grayLight;
-        font-weight: bold;
+        font-size: @fontSizeSmall;
+
+        strong, a {
+          color: @gray;
+          font-weight: normal
+        }
+
+        a:hover, a:active {
+          color: @textColor;
+        }
+
+        strong.stat-increment {
+          color: @green;
+        }
       }
     }
 

+ 14 - 5
static/cranefly/css/cranefly/index.less

@@ -44,7 +44,7 @@
     }
 
     .forum-icon {
-      padding-right: 0px;
+      padding-right: (@fontSizeSmall / 2) - 3px;
       width: 1%;
 
       .forum-icon-wrap {
@@ -82,13 +82,22 @@
 
       .forum-details {
         float: right;
+        margin-top: ((@baseFontSize - @fontSizeSmall) * -1) + 1px;
 
         color: @grayLight;
-        font-weight: bold;
+        font-size: @fontSizeSmall;
+
+        strong, a {
+          color: @gray;
+          font-weight: normal
+        }
+
+        a:hover, a:active {
+          color: @textColor;
+        }
 
-        .label {
-          position: relative;
-          bottom: 1px;
+        strong.stat-increment {
+          color: @green;
         }
       }
 

+ 34 - 19
templates/cranefly/category.html

@@ -41,9 +41,9 @@
             {% if forum.show_details %}
             <div class="forum-details">
               {% if forum.type == 'redirect' %}
-              <span class="label{% if forum.redirects_delta < forum.redirects %} label-success{% endif %}">{{ forum.redirects|intcomma }}</span> {% trans %}Clicks{% endtrans %}
+              {{ redirect_stats(forum) }}
               {% else %}
-              <span class="label{% if forum.posts_delta < forum.posts %} label-success{% endif %}">{{ forum.posts|intcomma }}</span> {% trans %}Posts{% endtrans %}
+              {{ forum_stats(forum) }}
               {% endif %}
             </div>
             {% endif %}
@@ -60,20 +60,35 @@
 </div>
 {% endblock %}
 
-{% block content %}
-<div class="page-header">
-  <ul class="breadcrumb">
-    {{ self.breadcrumb() }}</li>
-  </ul>
-  <h1>{{ category.name }}{% if category.description %}<br><small>{{ category.description }}</small>{% endif %}</h1>
-</div>
-{% if category.subforums %}
-<div class="forums-list">
-  <div class="category{% if category.style %} {{ category.style }}{% endif %}">
-    {{ macros.draw_forums(category, 12) }}
-  </div>
-</div>
-{% else %}
-<p class="lead">{% trans %}Looks like there are no forums to display in this category.{% endtrans %}</p>
-{% endif %}
-{% endblock %}
+
+{% macro forum_stats(forum) -%}
+{% if forum.last_thread_id and not forum.attr('hidethread') -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta), thread=forum_thread(forum) -%}
+  {{ posts }} post - last in {{ thread }}
+  {%- pluralize -%}
+  {{ posts }} posts - last in {{ thread }}
+  {%- endtrans %}
+{%- else -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta) -%}
+  {{ posts }} post
+  {%- pluralize -%}
+  {{ posts }} posts
+  {%- endtrans %}
+{%- endif %}
+{%- endmacro %}
+
+{% macro forum_thread(forum) -%}
+<a href="{% url 'thread' thread=forum.last_thread_id, slug=forum.last_thread_slug %}">{{ forum.last_thread_name }}</a>
+{%- endmacro %}
+
+{% macro redirect_stats(forum) -%}
+{% trans count=forum.redirects, redirects=fancy_number(forum.redirects, forum.redirects_delta) -%}
+{{ redirects }} click
+{%- pluralize -%}
+{{ redirects }} clicks
+{%- endtrans %}
+{%- endmacro %}
+
+{% macro fancy_number(number, delta) -%}
+<strong{% if delta < number %} class="stat-increment"{% endif %}>{{ number|intcomma }}</strong>
+{%- endmacro %}

+ 34 - 2
templates/cranefly/forum_map.html

@@ -60,9 +60,9 @@
     {%- endif %}{% endif %} <a href="{{ forum.type|url(slug=forum.slug, forum=forum.id) }}">{{ forum.name }}</a></h3>
     <div class="forum-details">
       {% if forum.type == 'redirect' %}
-      <span class="label{% if forum.redirects_delta < forum.redirects %} label-success{% endif %}">{{ forum.redirects|intcomma }}</span> {% trans %}Clicks{% endtrans %}
+      {{ redirect_stats(forum) }}
       {% else %}
-      <span class="label{% if forum.posts_delta < forum.posts %} label-success{% endif %}">{{ forum.posts|intcomma }}</span> {% trans %}Posts{% endtrans %}
+      {{ forum_stats(forum) }}
       {% endif %}
     </div>
 </td>
@@ -85,3 +85,35 @@
 <span class="tree-{{ item }}"><span></span></span>
 {% endfor %}
 {% endmacro %}
+
+{% macro forum_stats(forum) -%}
+{% if forum.last_thread_id and not forum.attr('hidethread') -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta), thread=forum_thread(forum) -%}
+  {{ posts }} post - last in {{ thread }}
+  {%- pluralize -%}
+  {{ posts }} posts - last in {{ thread }}
+  {%- endtrans %}
+{%- else -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta) -%}
+  {{ posts }} post
+  {%- pluralize -%}
+  {{ posts }} posts
+  {%- endtrans %}
+{%- endif %}
+{%- endmacro %}
+
+{% macro forum_thread(forum) -%}
+<a href="{% url 'thread' thread=forum.last_thread_id, slug=forum.last_thread_slug %}">{{ forum.last_thread_name }}</a>
+{%- endmacro %}
+
+{% macro redirect_stats(forum) -%}
+{% trans count=forum.redirects, redirects=fancy_number(forum.redirects, forum.redirects_delta) -%}
+{{ redirects }} click
+{%- pluralize -%}
+{{ redirects }} clicks
+{%- endtrans %}
+{%- endmacro %}
+
+{% macro fancy_number(number, delta) -%}
+<strong{% if delta < number %} class="stat-increment"{% endif %}>{{ number|intcomma }}</strong>
+{%- endmacro %}

+ 36 - 3
templates/cranefly/index.html

@@ -27,9 +27,9 @@
                 {% if forum.show_details %}
                 <div class="forum-details">
                   {% if forum.type == 'redirect' %}
-                  <span class="label{% if forum.redirects_delta < forum.redirects %} label-success{% endif %}">{{ forum.redirects|intcomma }}</span> {% trans %}Clicks{% endtrans %}
+                  {{ redirect_stats(forum) }}
                   {% else %}
-                  <span class="label{% if forum.posts_delta < forum.posts %} label-success{% endif %}">{{ forum.posts|intcomma }}</span> {% trans %}Posts{% endtrans %}
+                  {{ forum_stats(forum) }}
                   {% endif %}
                 </div>
                 {% endif %}
@@ -105,4 +105,37 @@
 
   </div>
 </div>
-{% endblock %}
+{% endblock %}
+
+
+{% macro forum_stats(forum) -%}
+{% if forum.last_thread_id and not forum.attr('hidethread') -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta), thread=forum_thread(forum) -%}
+  {{ posts }} post - last in {{ thread }}
+  {%- pluralize -%}
+  {{ posts }} posts - last in {{ thread }}
+  {%- endtrans %}
+{%- else -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta) -%}
+  {{ posts }} post
+  {%- pluralize -%}
+  {{ posts }} posts
+  {%- endtrans %}
+{%- endif %}
+{%- endmacro %}
+
+{% macro forum_thread(forum) -%}
+<a href="{% url 'thread' thread=forum.last_thread_id, slug=forum.last_thread_slug %}">{{ forum.last_thread_name }}</a>
+{%- endmacro %}
+
+{% macro redirect_stats(forum) -%}
+{% trans count=forum.redirects, redirects=fancy_number(forum.redirects, forum.redirects_delta) -%}
+{{ redirects }} click
+{%- pluralize -%}
+{{ redirects }} clicks
+{%- endtrans %}
+{%- endmacro %}
+
+{% macro fancy_number(number, delta) -%}
+<strong{% if delta < number %} class="stat-increment"{% endif %}>{{ number|intcomma }}</strong>
+{%- endmacro %}

+ 36 - 3
templates/cranefly/threads/list.html

@@ -44,10 +44,10 @@
             <h3><a href="{{ subforum.type|url(slug=subforum.slug, forum=subforum.id) }}">{{ subforum.name }}</a></h3>
             {% if subforum.show_details %}
             <div class="forum-details">
-              {% if subforum.type == 'redirect' %}
-              <span class="label{% if subforum.redirects_delta < subforum.redirects %} label-success{% endif %}">{{ subforum.redirects|intcomma }}</span> {% trans %}Clicks{% endtrans %}
+              {% if forum.type == 'redirect' %}
+              {{ redirect_stats(forum) }}
               {% else %}
-              <span class="label{% if subforum.posts_delta < subforum.posts %} label-success{% endif %}">{{ subforum.posts|intcomma }}</span> {% trans %}Posts{% endtrans %}
+              {{ forum_stats(forum) }}
               {% endif %}
             </div>
             {% endif %}
@@ -166,6 +166,39 @@
 </div>
 {% endblock %}
 
+
+{% macro forum_stats(forum) -%}
+{% if forum.last_thread_id and not forum.attr('hidethread') -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta), thread=forum_thread(forum) -%}
+  {{ posts }} post - last in {{ thread }}
+  {%- pluralize -%}
+  {{ posts }} posts - last in {{ thread }}
+  {%- endtrans %}
+{%- else -%}
+  {% trans count=forum.posts, posts=fancy_number(forum.posts, forum.posts_delta) -%}
+  {{ posts }} post
+  {%- pluralize -%}
+  {{ posts }} posts
+  {%- endtrans %}
+{%- endif %}
+{%- endmacro %}
+
+{% macro forum_thread(forum) -%}
+<a href="{% url 'thread' thread=forum.last_thread_id, slug=forum.last_thread_slug %}">{{ forum.last_thread_name }}</a>
+{%- endmacro %}
+
+{% macro redirect_stats(forum) -%}
+{% trans count=forum.redirects, redirects=fancy_number(forum.redirects, forum.redirects_delta) -%}
+{{ redirects }} click
+{%- pluralize -%}
+{{ redirects }} clicks
+{%- endtrans %}
+{%- endmacro %}
+
+{% macro fancy_number(number, delta) -%}
+<strong{% if delta < number %} class="stat-increment"{% endif %}>{{ number|intcomma }}</strong>
+{%- endmacro %}
+
 {% macro replies(thread_replies) -%}
 {% trans count=thread_replies, replies=('<strong>' ~ (thread_replies|intcomma) ~ '</strong>')|safe -%}
 {{ replies }} reply