Browse Source

Overwrite default templates with the one from the theme

sh4nks 9 years ago
parent
commit
6130eaecf9
109 changed files with 2882 additions and 5927 deletions
  1. 13 7
      flaskbb/templates/auth/forgot_password.html
  2. 21 15
      flaskbb/templates/auth/login.html
  3. 13 7
      flaskbb/templates/auth/reauth.html
  4. 19 14
      flaskbb/templates/auth/register.html
  5. 8 4
      flaskbb/templates/errors/forbidden_page.html
  6. 8 5
      flaskbb/templates/errors/page_not_found.html
  7. 7 3
      flaskbb/templates/errors/server_error.html
  8. 7 5
      flaskbb/templates/forum/category.html
  9. 106 70
      flaskbb/templates/forum/category_layout.html
  10. 159 145
      flaskbb/templates/forum/edit_forum.html
  11. 108 105
      flaskbb/templates/forum/forum.html
  12. 27 36
      flaskbb/templates/forum/index.html
  13. 49 41
      flaskbb/templates/forum/memberlist.html
  14. 41 29
      flaskbb/templates/forum/new_post.html
  15. 42 28
      flaskbb/templates/forum/new_topic.html
  16. 5 0
      flaskbb/templates/forum/online_users.html
  17. 3 0
      flaskbb/templates/forum/report_post.html
  18. 18 12
      flaskbb/templates/forum/search_form.html
  19. 276 209
      flaskbb/templates/forum/search_result.html
  20. 155 149
      flaskbb/templates/forum/topic.html
  21. 96 69
      flaskbb/templates/forum/topic_controls.html
  22. 0 0
      flaskbb/templates/forum/topic_horizontal.html
  23. 107 73
      flaskbb/templates/forum/topictracker.html
  24. 136 26
      flaskbb/templates/layout.html
  25. 92 94
      flaskbb/templates/management/banned_users.html
  26. 31 20
      flaskbb/templates/management/category_form.html
  27. 31 23
      flaskbb/templates/management/forum_form.html
  28. 148 54
      flaskbb/templates/management/forums.html
  29. 31 20
      flaskbb/templates/management/group_form.html
  30. 64 64
      flaskbb/templates/management/groups.html
  31. 20 15
      flaskbb/templates/management/management_layout.html
  32. 120 32
      flaskbb/templates/management/overview.html
  33. 61 56
      flaskbb/templates/management/plugins.html
  34. 48 49
      flaskbb/templates/management/reports.html
  35. 38 17
      flaskbb/templates/management/settings.html
  36. 68 71
      flaskbb/templates/management/unread_reports.html
  37. 42 33
      flaskbb/templates/management/user_form.html
  38. 131 132
      flaskbb/templates/management/users.html
  39. 111 46
      flaskbb/templates/message/conversation.html
  40. 84 78
      flaskbb/templates/message/conversation_list.html
  41. 1 1
      flaskbb/templates/message/drafts.html
  42. 1 1
      flaskbb/templates/message/inbox.html
  43. 43 10
      flaskbb/templates/message/message_form.html
  44. 5 3
      flaskbb/templates/message/message_layout.html
  45. 1 1
      flaskbb/templates/message/sent.html
  46. 1 1
      flaskbb/templates/message/trash.html
  47. 61 39
      flaskbb/templates/user/all_posts.html
  48. 67 67
      flaskbb/templates/user/all_topics.html
  49. 15 9
      flaskbb/templates/user/change_email.html
  50. 15 9
      flaskbb/templates/user/change_password.html
  51. 29 13
      flaskbb/templates/user/change_user_details.html
  52. 14 8
      flaskbb/templates/user/general_settings.html
  53. 81 78
      flaskbb/templates/user/profile.html
  54. 0 0
      flaskbb/templates/user/profile_layout.html
  55. 4 5
      flaskbb/templates/user/settings_layout.html
  56. 0 21
      flaskbb/themes/aurora/templates/auth/forgot_password.html
  57. 0 30
      flaskbb/themes/aurora/templates/auth/login.html
  58. 0 22
      flaskbb/themes/aurora/templates/auth/reauth.html
  59. 0 30
      flaskbb/themes/aurora/templates/auth/register.html
  60. 0 18
      flaskbb/themes/aurora/templates/auth/reset_password.html
  61. 0 16
      flaskbb/themes/aurora/templates/errors/forbidden_page.html
  62. 0 16
      flaskbb/themes/aurora/templates/errors/page_not_found.html
  63. 0 15
      flaskbb/themes/aurora/templates/errors/server_error.html
  64. 0 16
      flaskbb/themes/aurora/templates/forum/category.html
  65. 0 132
      flaskbb/themes/aurora/templates/forum/category_layout.html
  66. 0 175
      flaskbb/themes/aurora/templates/forum/edit_forum.html
  67. 0 133
      flaskbb/themes/aurora/templates/forum/forum.html
  68. 0 32
      flaskbb/themes/aurora/templates/forum/index.html
  69. 0 58
      flaskbb/themes/aurora/templates/forum/memberlist.html
  70. 0 60
      flaskbb/themes/aurora/templates/forum/new_post.html
  71. 0 61
      flaskbb/themes/aurora/templates/forum/new_topic.html
  72. 0 24
      flaskbb/themes/aurora/templates/forum/online_users.html
  73. 0 23
      flaskbb/themes/aurora/templates/forum/report_post.html
  74. 0 27
      flaskbb/themes/aurora/templates/forum/search_form.html
  75. 0 344
      flaskbb/themes/aurora/templates/forum/search_result.html
  76. 0 186
      flaskbb/themes/aurora/templates/forum/topic.html
  77. 0 102
      flaskbb/themes/aurora/templates/forum/topic_controls.html
  78. 0 124
      flaskbb/themes/aurora/templates/forum/topictracker.html
  79. 0 188
      flaskbb/themes/aurora/templates/layout.html
  80. 0 125
      flaskbb/themes/aurora/templates/management/banned_users.html
  81. 0 49
      flaskbb/themes/aurora/templates/management/category_form.html
  82. 0 53
      flaskbb/themes/aurora/templates/management/forum_form.html
  83. 0 175
      flaskbb/themes/aurora/templates/management/forums.html
  84. 0 63
      flaskbb/themes/aurora/templates/management/group_form.html
  85. 0 91
      flaskbb/themes/aurora/templates/management/groups.html
  86. 0 28
      flaskbb/themes/aurora/templates/management/management_layout.html
  87. 0 130
      flaskbb/themes/aurora/templates/management/overview.html
  88. 0 76
      flaskbb/themes/aurora/templates/management/plugins.html
  89. 0 64
      flaskbb/themes/aurora/templates/management/reports.html
  90. 0 71
      flaskbb/themes/aurora/templates/management/settings.html
  91. 0 96
      flaskbb/themes/aurora/templates/management/unread_reports.html
  92. 0 57
      flaskbb/themes/aurora/templates/management/user_form.html
  93. 0 162
      flaskbb/themes/aurora/templates/management/users.html
  94. 0 151
      flaskbb/themes/aurora/templates/message/conversation.html
  95. 0 93
      flaskbb/themes/aurora/templates/message/conversation_list.html
  96. 0 13
      flaskbb/themes/aurora/templates/message/drafts.html
  97. 0 12
      flaskbb/themes/aurora/templates/message/inbox.html
  98. 0 54
      flaskbb/themes/aurora/templates/message/message_form.html
  99. 0 29
      flaskbb/themes/aurora/templates/message/message_layout.html
  100. 0 12
      flaskbb/themes/aurora/templates/message/sent.html
  101. 0 13
      flaskbb/themes/aurora/templates/message/trash.html
  102. 0 69
      flaskbb/themes/aurora/templates/user/all_posts.html
  103. 0 80
      flaskbb/themes/aurora/templates/user/all_topics.html
  104. 0 19
      flaskbb/themes/aurora/templates/user/change_email.html
  105. 0 19
      flaskbb/themes/aurora/templates/user/change_password.html
  106. 0 33
      flaskbb/themes/aurora/templates/user/change_user_details.html
  107. 0 18
      flaskbb/themes/aurora/templates/user/general_settings.html
  108. 0 90
      flaskbb/themes/aurora/templates/user/profile.html
  109. 0 28
      flaskbb/themes/aurora/templates/user/settings_layout.html

+ 13 - 7
flaskbb/templates/auth/forgot_password.html

@@ -4,12 +4,18 @@
 {% block content %}
 {% from theme("macros.html") import horizontal_field %}
 
-<form class="form-horizontal" role="form" method="POST">
-    <h2>{% trans %}Reset Password{% endtrans %}</h2>
-    <hr>
-        {{ form.hidden_tag() }}
-        {{ horizontal_field(form.email) }}
-        {{ horizontal_field(form.submit)}}
-</form>
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}Reset Password{% endtrans %}
+    </div>
+
+    <div class="panel-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_field(form.email) }}
+            {{ horizontal_field(form.submit)}}
+        </form>
+    </div>
+</div>
 
 {% endblock %}

+ 21 - 15
flaskbb/templates/auth/login.html

@@ -1,24 +1,30 @@
 {% set page_title = _("Login") %}
 
 {% extends theme("layout.html") %}
-{% from theme("macros.html") import horizontal_field %}
+{% from theme("macros.html") import horizontal_field, render_boolean_field %}
 {% block content %}
 
-<form class="form-horizontal" role="form" method="POST">
-    <h2>{% trans %}Login{% endtrans %}</h2>
-    <hr>
-    {{ form.hidden_tag() }}
-    {{ horizontal_field(form.login)}}
-    {{ horizontal_field(form.password)}}
-    {{ horizontal_field(form.remember_me) }}
-    {{ horizontal_field(form.submit) }}
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}Login{% endtrans %}
+    </div>
+
+    <div class="panel-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_field(form.login)}}
+            {{ horizontal_field(form.password)}}
+            {{ horizontal_field(form.remember_me) }}
+            {{ horizontal_field(form.submit) }}
 
-    <div class="form-group">
-        <div class="col-sm-offset-3 col-sm-4">
-            <a class="pull-left" href="{{ url_for('auth.register') }}"><small>{% trans %}Not a member yet?{% endtrans %}</small></a>
-            <a class="pull-right" href="{{ url_for('auth.forgot_password') }}"><small>{% trans %}Forgot Password?{% endtrans %}</small></a>
-        </div>
+            <div class="form-group">
+                <div class="col-sm-offset-3 col-sm-4">
+                    <a class="pull-left" href="{{ url_for('auth.register') }}"><small>{% trans %}Not a member yet?{% endtrans %}</small></a>
+                    <a class="pull-right" href="{{ url_for('auth.forgot_password') }}"><small>{% trans %}Forgot Password?{% endtrans %}</small></a>
+                </div>
+            </div>
+        </form>
     </div>
-</form>
+</div>
 
 {% endblock %}

+ 13 - 7
flaskbb/templates/auth/reauth.html

@@ -5,12 +5,18 @@
 {% block content %}
 {% from theme("macros.html") import horizontal_field %}
 
-<form class="form-horizontal" action="" method="POST">
-    <h2>{% trans %}Refresh Login{% endtrans %}</h2>
-    <hr>
-    {{ form.hidden_tag() }}
-    {{ horizontal_field(form.password)}}
-    {{ horizontal_field(form.submit)}}
-</form>
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}Refresh Login{% endtrans %}
+    </div>
+
+    <div class="panel-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_field(form.password)}}
+            {{ horizontal_field(form.submit)}}
+        </form>
+    </div>
+</div>
 
 {% endblock %}

+ 19 - 14
flaskbb/templates/auth/register.html

@@ -4,22 +4,27 @@
 {% block content %}
 {% from theme("macros.html") import horizontal_field %}
 
-<form class="form-horizontal" role="form" method="POST">
-    <h2>{% trans %}Register{% endtrans %}</h2>
-    <hr>
-    {{ form.hidden_tag() }}
-    {{ horizontal_field(form.username)}}
-    {{ horizontal_field(form.email)}}
-    {{ horizontal_field(form.password)}}
-    {{ horizontal_field(form.confirm_password)}}
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}Register{% endtrans %}
+    </div>
 
-    {% if config["RECAPTCHA_ENABLED"] %}
-        {{ horizontal_field(form.recaptcha) }}
-    {% endif %}
+    <div class="panel-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_field(form.username)}}
+            {{ horizontal_field(form.email)}}
+            {{ horizontal_field(form.password)}}
+            {{ horizontal_field(form.confirm_password)}}
 
-    {{ horizontal_field(form.accept_tos)}}
-    {{ horizontal_field(form.submit)}}
+            {% if config["RECAPTCHA_ENABLED"] %}
+                {{ horizontal_field(form.recaptcha) }}
+            {% endif %}
 
-</form>
+            {{ horizontal_field(form.accept_tos)}}
+            {{ horizontal_field(form.submit)}}
+        </form>
+    </div>
+</div>
 
 {% endblock %}

+ 8 - 4
flaskbb/templates/errors/forbidden_page.html

@@ -3,10 +3,14 @@
 {% extends theme("layout.html") %}
 {% block content %}
 
-<div class="well">
-    <h1>{% trans %}Forbidden Page{% endtrans %}</h1>
-    <p>{% trans %}You do not have the permission to view this page.{% endtrans %}</p>
-    <p><a href="{{url_for('forum.index')}}">{% trans %}Back to the Forums{% endtrans %}</a></p>
+<div class="panel page-panel">
+    <div class="panel-body page-body">
+        <div class="col-md-12 col-sm-12 col-xs-12">
+            <h1>{% trans %}Forbidden Page{% endtrans %}</h1>
+            <p>{% trans %}You do not have the permission to view this page.{% endtrans %}</p>
+            <p><a href="{{url_for('forum.index')}}">{% trans %}Back to the Forums{% endtrans %}</a></p>
+        </div>
+    </div>
 </div>
 
 {% endblock %}

+ 8 - 5
flaskbb/templates/errors/page_not_found.html

@@ -3,11 +3,14 @@
 {% extends theme("layout.html") %}
 {% block content %}
 
-<div class="well">
-    <h1>{% trans %}Oops, Page not found!{% endtrans %}</h1>
-    <p>{% trans %}The page you were looking for does not exist.{% endtrans %}</p>
-    <p><a href="{{url_for('forum.index')}}">{% trans %}Back to the Forums{% endtrans %}</a></p>
+<div class="panel page-panel">
+    <div class="panel-body page-body">
+        <div class="col-md-12 col-sm-12 col-xs-12">
+            <h1>{% trans %}Oops, Page not found!{% endtrans %}</h1>
+            <p>{% trans %}The page you were looking for does not exist.{% endtrans %}</p>
+            <p><a href="{{url_for('forum.index')}}">{% trans %}Back to the Forums{% endtrans %}</a></p>
+        </div>
+    </div>
 </div>
-<hr>
 
 {% endblock %}

+ 7 - 3
flaskbb/templates/errors/server_error.html

@@ -3,9 +3,13 @@
 {% extends theme("layout.html") %}
 {% block content %}
 
-<div class="well">
-    <h1>{% trans %}Server Error{% endtrans %}</h1>
-    <p>{% trans %}Something went wrong!{% endtrans %}</p>
+<div class="panel page-panel">
+    <div class="panel-body page-body">
+        <div class="col-md-12 col-sm-12 col-xs-12">
+            <h1>{% trans %}Server Error{% endtrans %}</h1>
+            <p>{% trans %}Something went wrong!{% endtrans %}</p>
+        </div>
+    </div>
 </div>
 
 {% endblock %}

+ 7 - 5
flaskbb/templates/forum/category.html

@@ -4,11 +4,13 @@
 {% extends theme("layout.html") %}
 {% block content %}
 
-<ol class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li class="active">{{ category.title }}</li>
-</ol>
+<div class="index-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
+        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+        <li class="active">{{ category.title }}</li>
+    </ol>
 
-{% include theme("forum/category_layout.html") %}
+    {% include theme("forum/category_layout.html") %}
+</div>
 
 {% endblock %}

+ 106 - 70
flaskbb/templates/forum/category_layout.html

@@ -1,96 +1,132 @@
-<table class="table table-bordered">
-    <thead class="categoryhead">
-        <tr>
-            <td colspan="5">
-                <div><strong><a href="{{ category.url }}">{{ category.title }}</a></strong></div>
-            </td>
-        </tr>
-    </thead>
-    <tbody class="forumbody">
-        <tr class="forum_stats">
-            <td colspan="2"><strong>{% trans %}Forum{% endtrans %}</strong></td>
-            <td width="85" align="center" style="white-space: nowrap"><strong>{% trans %}Topics{% endtrans %}</strong></td>
-            <td width="85" align="center" style="white-space: nowrap"><strong>{% trans %}Posts{% endtrans %}</strong></td>
-            <td width="200" align="center" style="white-space: nowrap"><strong>{% trans %}Last Post{% endtrans %}</strong></td>
-        </tr>
+<div class="panel category-panel">
+    <div class="panel-heading category-head">
+        <a href="{{ category.url }}">{{ category.title }}</a>
+    </div>
 
+    <div class="panel-body category-body">
+        <div class="category-meta">
+            <div class="col-md-5 col-sm-5 col-xs-8 forum-name">{% trans %}Forum{% endtrans %}</div>
+            <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Topics{% endtrans %}</div>
+            <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Posts{% endtrans %}</div>
+            <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">{% trans %}Last Post{% endtrans %}</div>
+        </div>
         {% for forum, forumsread in forums %}
-        <tr>
-            <td align="center" valign="center" width="4%">
+        <div class="row category-row hover">
 
             {% if forum.external %}
-                <span class="fa fa-external-link" style="font-size: 2em"></span>
-            </td>
+            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
+                <div class="row">
+                    <!-- Icon -->
+                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
+                        <span class="fa fa-external-link forum-external"></span>
+                    </div>
 
-            <td valign="top">
-                <strong><a href="{{ forum.external }}">{{ forum.title }}</a></strong>
+                    <div class="col-md-11 col-sm-10 col-xs-10">
+                        <!-- Forum Name -->
+                        <div class="forum-name">
+                            <span class="forum-link">{% trans %}Link to{% endtrans %}:</span> <a href="{{ forum.url }}">{{ forum.title }}</a>
+                        </div>
 
-                <div class="forum-description">
-                    {% autoescape false %}
-                    {{ forum.description|markup }}
-                    {% endautoescape %}
+                        <!-- Forum Description -->
+                        <div class="forum-description">
+                            {{ forum.description|markup|safe }}
+                        </div>
+                    </div>
                 </div>
-            </td>
+            </div> <!-- end forum-info -->
 
-            <td valign="top" align="center" style="white-space: nowrap">-</td>
-            <td valign="top" align="center" style="white-space: nowrap">-</td>
-            <td valign="top" align="right" style="white-space: nowrap">-</td>
-            <!-- End external -->
-            {% else %}
+            <!-- Post Cunt -->
+            <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
+                -
+            </div>
 
-            {% if forum.locked %}
-                <span class="fa fa-lock" style="font-size: 2em"></span>
-            {% elif forum|forum_is_unread(forumsread, current_user) %}
-                <span class="fa fa-comments" style="font-size: 2em"></span>
+            <!-- Topic Count -->
+            <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
+                -
+            </div>
+
+            <!-- Last Post -->
+            <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
+                ---
+            </div>
             {% else %}
-                <span class="fa fa-comments-o" style="font-size: 2em"></span>
-            {% endif %}
-
-            </td>
-
-            <td valign="top">
-                <strong><a href="{{ forum.url }}">{{ forum.title }}</a></strong>
-
-                <div class="forum-description">
-                    {% autoescape false %}
-                    {{ forum.description|markup }}
-                    {% endautoescape %}
-                    {% if forum.show_moderators %}
-                    <div class="forum-moderators">
-                        {% trans %}Moderators{% endtrans %}:
-                        {% for moderator in forum.moderators %}
-                        <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
-                        {% endfor %}
+            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
+                <div class="row">
+                    <!-- Icon -->
+                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
+                        {% if forum.locked %}
+                            <span class="fa fa-lock forum-locked"></span>
+                        {% elif forum|forum_is_unread(forumsread, current_user) %}
+                            <span class="fa fa-comments forum-unread"></span>
+                        {% else %}
+                            <span class="fa fa-comments-o forum-read"></span>
+                        {% endif %}
+                    </div>
+
+                    <div class="col-md-11 col-sm-10 col-xs-10">
+                        <!-- Forum Name -->
+                        <div class="forum-name">
+                            <a href="{{ forum.url }}">{{ forum.title }}</a>
+                        </div>
+
+                        <!-- Forum Description -->
+                        <div class="forum-description">
+                            {{ forum.description|markup|safe }}
+                        </div>
+
+                        <!-- Forum Moderators -->
+                        {% if forum.show_moderators %}
+                        <div class="forum-moderators">
+                            {% trans %}Moderators{% endtrans %}:
+                            {% for moderator in forum.moderators %}
+                            <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
+                            {% endfor %}
+                        </div>
+                        {% endif %}
                     </div>
-                    {% endif %}
                 </div>
-            </td>
+            </div> <!-- end forum-info -->
 
-            <td valign="top" align="center" style="white-space: nowrap">{{ forum.topic_count }}</td>
-            <td valign="top" align="center" style="white-space: nowrap">{{ forum.post_count }}</td>
+            <!-- Post Cunt -->
+            <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
+            {{ forum.topic_count }}
+            </div>
 
-            <td valign="top" align="right" style="white-space: nowrap">
+            <!-- Topic Count -->
+            <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
+            {{ forum.post_count }}
+            </div>
+
+            <!-- Last Post -->
+            <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
                 {% if forum.last_post_id %}
-                <a href="{{ forum.last_post_url }}" title="{{ forum.last_post_title }}">
-                    <strong>{{ forum.last_post_title|crop_title }}</strong>
-                </a>
-                <br />
-                {{ forum.last_post_created|time_since }}<br />
+                <div class="last-post-title">
+                    <a href="{{ forum.last_post_url }}" title="{{ forum.last_post_title }}">
+                        {{ forum.last_post_title|crop_title }}
+                    </a>
+                </div>
+
+                <div class="last-post-time">
+                    {{ forum.last_post_created|time_since }}
+                </div>
 
+                <div class="last-post-author">
                     {% trans %}by{% endtrans %}
                     {% if forum.last_post_user_id %}
                     <a href="{{ url_for('user.profile', username=forum.last_post_username) }}">{{ forum.last_post_username }}</a>
                     {% else %}
                     {{ forum.last_post_username }}
                     {% endif %}
+                </div>
 
                 {% else %}
                 {% trans %}No posts.{% endtrans %}
-                {% endif %}
-            {% endif %}
-            </td>
-        </tr>
-        {% endfor %}
+                {% endif %} {# endif forum.last_post_id #}
+            </div>
 
-    </tbody>
-</table>
+        {% endif %} {# endif forum.external #}
+        </div> <!-- end category-content -->
+
+        {% endfor %}
+    </div>
+</div>

+ 159 - 145
flaskbb/templates/forum/edit_forum.html

@@ -1,161 +1,175 @@
-    {% set page_title = forum.title %}
-    {% set active_forum_nav=True %}
+{% set page_title = forum.title %}
+{% set active_forum_nav=True %}
 
-    {% extends theme("layout.html") %}
-    {% block content %}
-    {% from theme('macros.html') import render_pagination, topic_pages %}
+{% extends theme("layout.html") %}
+{% block content %}
+{% from theme('macros.html') import render_pagination, topic_pages %}
 
-    <ol class="breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li><a href="{{ forum.category.url }}">{{ forum.category.title }}</a></li>
-        <li class="active">{{ forum.title }}</li>
-    </ol>
+<form class="form" role="form" method="POST">
+    <div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}"></div>
 
-    <div class="pull-left">
-        {{ render_pagination(topics, forum.url) }}
-    </div> <!-- end span pagination -->
+    <div class="forum-view">
+        <ol class="breadcrumb flaskbb-breadcrumb">
+            <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+            <li><a href="{{ forum.category.url }}">{{ forum.category.title }}</a></li>
+            <li class="active">{{ forum.title }}</li>
+        </ol>
 
-    <form method="post">
-    <div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}"></div>
+        <div class="row controls-row">
+            <div class="pull-left">
+                {{ render_pagination(topics, forum.url) }}
+            </div> <!-- end span pagination -->
+        </div>
 
-    <table class="table table-bordered">
-        <thead>
-            <tr>
-                <th colspan="6">
-                    {{ forum.title }}
-                </th>
-            </tr>
-        </thead>
-
-        <tbody>
-            <tr>
-                <td colspan="2">{% trans %}Topic{% endtrans %}</td>
-
-                <td>{% trans %}Posts{% endtrans %}</td>
-
-                <td>{% trans %}Views{% endtrans %}</td>
-
-                <td>{% trans %}Last Post{% endtrans %}</td>
-
-                <td><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></td>
-            </tr>
-
-            {% for topic, topicread in topics.items %}
-            <tr>
-                <td class="topic-status" width="4%" style="vertical-align: middle; text-align: center;">
-                {% if topic.locked %}
-                    <span class="fa fa-lock" style="font-size: 2em"></span>
-                {% elif topic.important %}
-                    {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                        <span class="fa fa-star" style="font-size: 2em"></span>
-                    {% else %}
-                        <span class="fa fa-star-o" style="font-size: 2em"></span>
-                    {% endif %}
-                {% else %}
-                    {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                        <span class="fa fa-comment" style="font-size: 2em"></span>
-                    {% else %}
-                        <span class="fa fa-comment-o" style="font-size: 2em"></span>
-                    {% endif %}
-                {% endif %}
-
-                </td>
-                <td>
-                    <div>
-                        <a href="{{ topic.url }}">{{ topic.title }}</a>
-                        <!-- Topic Pagination -->
-                        {{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}
-                        <br />
-                        <small>
+        <div class="panel forum-panel">
+            <div class="panel-heading forum-head">
+                <a href="{{ forum.url }}">{{ forum.title }}</a>
+            </div>
+
+            <div class="panel-body forum-body">
+                <div class="forum-meta">
+                    <div class="col-md-4 col-sm-4 col-xs-6 topic-name">{% trans %}Topic{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
+                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
+                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select-all"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
+                </div>
+
+                {% for topic, topicread in topics.items %}
+                <div class="row forum-row hover clearfix">
+
+                    <div class="col-md-4 col-sm-4 col-xs-6 topic-info">
+                        <div class="row">
+                            <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
+                            {% if topic.locked %}
+                                <span class="fa fa-lock topic-locked"></span>
+                            {% elif topic.important %}
+                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
+                                    <span class="fa fa-star topic-starred-unread"></span>
+                                {% else %}
+                                    <span class="fa fa-star-o topic-starred-read"></span>
+                                {% endif %}
+                            {% else %}
+                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
+                                    <span class="fa fa-comment topic-unread"></span>
+                                {% else %}
+                                    <span class="fa fa-comment-o topic-read"></span>
+                                {% endif %}
+                            {% endif %}
+                            </div>
+                            <div class="col-md-11 col-sm-10 col-xs-10">
+                                <div class="topic-name">
+                                    <a href="{{ topic.url }}">{{ topic.title }}</a>
+                                    <!-- Topic Pagination -->
+                                    <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
+                                </div>
+
+                                <div class="topic-author">
+                                    {% trans %}by{% endtrans %}
+                                    {% if topic.user_id %}
+                                     <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
+                                    {% else %}
+                                    {{ topic.username }}
+                                    {% endif %}
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                        {{ topic.post_count }}
+                    </div>
+
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                        {{ topic.views }}
+                    </div>
+
+                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
+                        <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
+
+                        <div class="topic-author">
                             {% trans %}by{% endtrans %}
-                            {% if topic.user_id %}
-                             <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
+                            {% if topic.last_post.user_id %}
+                            <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
                             {% else %}
-                            {{ topic.username }}
+                            {{ topic.last_post.username }}
                             {% endif %}
-                        </small>
+                        </div>
                     </div>
-                </td>
-                <td>
-                    {{ topic.post_count }}
-                </td>
-                <td>
-                    {{ topic.views }}
-                </td>
-                <td>
-                    <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-
-                    <small>
-                        {% trans %}by{% endtrans %}
-                        {% if topic.last_post.user_id %}
-                        <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                        {% else %}
-                        {{ topic.last_post.username }}
-                        {% endif %}
-                    </small>
-                </td>
-                <td><input type="checkbox" name="rowid" class="action-checkbox" value="{{ topic.id }}" title="Select Topic"/></td>
-            </tr>
-            {% else %}
-            <tr>
-                <td colspan="6">
-                    {% trans %}No Topics.{% endtrans %}
-                </td>
-            </tr>
-            {% endfor %}
-
-        </tbody>
-    </table>
-
-    <div class="row">
-        <div class="col-md-2">
-            <div class="pull-left">
-                <a class="btn btn-default" href="{{ forum.url }}">
-                    <span class="fa fa-arrow-left"></span> {% trans %}Back{% endtrans %}
-                </a>
-            </div>
-        </div>
 
-        <div class="col-md-10">
-            <div class="pull-right">
-                <div class="form-group">
-                <div class="btn-group" role="group">
-                    <button name="lock" class="btn btn-warning">
-                        <span class="fa fa-lock"></span> {% trans %}Lock{% endtrans %}
-                    </button>
-                    <button name="unlock" class="btn btn-warning">
-                        <span class="fa fa-unlock"></span> {% trans %}Unlock{% endtrans %}
-                    </button>
+                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select">
+                        <input type="checkbox" name="rowid" class="action-checkbox" value="{{ topic.id }}" title="Select Topic"/>
+                    </div>
                 </div>
-                <div class="btn-group" role="group">
-                    <button name="highlight" class="btn btn-success">
-                        <span class="fa fa-star"></span> {% trans %}Highlight{% endtrans %}
-                    </button>
-                    <button name="trivialize" class="btn btn-success">
-                        <span class="fa fa-star-o"></span> {% trans %}Trivialize{% endtrans %}
-                    </button>
+                {% else %}
+                <div class="row forum-row clearfix">
+                    <div class="col-md-12 col-sm-12 col-xs-12">
+                        {% trans %}No Topics.{% endtrans %}
+                    </div>
+                </div> <!-- end forum-row -->
+                {% endfor %}
+            </div>
+        </div>
+        <div class="row controls-row">
+            <div class="col-md-2 col-sm-2 col-xs-2 controls-col">
+                <div class="pull-left">
+                    <a class="btn btn-default" href="{{ forum.url }}">
+                        <span class="fa fa-arrow-left"></span> {% trans %}Back{% endtrans %}
+                    </a>
                 </div>
+            </div>
 
-                <button name="delete" class="btn btn-danger">
-                    <span class="fa fa-trash-o"></span> {% trans %}Delete{% endtrans %}
-                </button>
+            <div class="col-md-10 col-sm-8 col-xs-8 controls-col">
+                <div class="pull-right">
+                    <div class="form-group">
+
+                        <div class="btn-group" role="group">
+                            <button name="lock" class="btn btn-warning">
+                                <span class="fa fa-lock"></span> {% trans %}Lock{% endtrans %}
+                            </button>
+                            <button name="unlock" class="btn btn-warning">
+                                <span class="fa fa-unlock"></span> {% trans %}Unlock{% endtrans %}
+                            </button>
+                        </div>
+
+                        <div class="btn-group" role="group">
+                            <button name="highlight" class="btn btn-success">
+                                <span class="fa fa-star"></span> {% trans %}Highlight{% endtrans %}
+                            </button>
+                            <button name="trivialize" class="btn btn-success">
+                                <span class="fa fa-star-o"></span> {% trans %}Trivialize{% endtrans %}
+                            </button>
+                        </div>
+
+                        <button name="delete" class="btn btn-danger">
+                            <span class="fa fa-trash-o"></span> {% trans %}Delete{% endtrans %}
+                        </button>
+
+                    </div>
                 </div>
+            </div>
+
+            <div class="col-md-12 col-sm-12 col-xs-12 controls-col">
+                <div class="pull-right">
+                    <div class="form-group ">
+
+                        <div class="form-inline">
+                            <select class="form-control" id="forum" name="forum">
+                                <option selected value="">{% trans %}Move to...{% endtrans %}</option>
+                                {% for forum in available_forums %}
+                                    <option value={{forum.id}}>{{ forum.title }}</option>
+                                {% endfor %}
+                            </select>
 
-                <div class="form-group row">
-                    <div class="col-sm-5">
-                        <select class="form-control" id="forum" name="forum">
-                            <option selected value="">{% trans %}Move to...{% endtrans %}</option>
-                            {% for forum in available_forums %}
-                                <option value={{forum.id}}>{{ forum.title }}</option>
-                            {% endfor %}
-                        </select>
-                    </div> <!-- end div_class -->
-                    <button name="move" class="btn btn-info">
-                        <span class="fa fa-plane"></span> {% trans %}Move{% endtrans %}
-                    </button>
-                </div> <!-- end form-group -->
+                            <button name="move" class="btn btn-info">
+                                <span class="fa fa-plane"></span> {% trans %}Move{% endtrans %}
+                            </button>
+                        </div>
+
+                    </div>
+                </div>
             </div>
-        </div>
-    </div>
-    </form>
-    {% endblock %}
+        </div> <!-- end controls-row -->
+    </div> <!-- end forum-view -->
+</form>
+{% endblock %}

+ 108 - 105
flaskbb/templates/forum/forum.html

@@ -5,126 +5,129 @@
 {% block content %}
 {% from theme('macros.html') import render_pagination, topic_pages %}
 
-<ol class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ forum.category.url }}">{{ forum.category.title }}</a></li>
-    <li class="active">{{ forum.title }}</li>
-</ol>
+<div class="forum-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
+        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+        <li><a href="{{ forum.category.url }}">{{ forum.category.title }}</a></li>
+        <li class="active">{{ forum.title }}</li>
+    </ol>
 
-<div class="pull-left">
-    {{ render_pagination(topics, forum.url) }}
-</div> <!-- end span pagination -->
+    <div class="row controls-row">
+        <div class="pull-left">
+            {{ render_pagination(topics, forum.url) }}
+        </div> <!-- end span pagination -->
 
-{% if current_user|post_topic(forum) %}
-<div class="pull-right">
-    <form class="inline-form" method="post" action="{{ url_for('forum.markread', forum_id=forum.id, slug=forum.slug) }}">
-        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-        <button class="btn btn-default">
-            <span class="fa fa-check"></span> {% trans %}Mark as Read{% endtrans %}
-        </button>
-    </form>
+        {% if current_user|post_topic(forum) %}
+        <div class="pull-right">
+            <form class="inline-form" method="post" action="{{ url_for('forum.markread', forum_id=forum.id, slug=forum.slug) }}">
+                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                <button class="btn btn-default">
+                    <span class="fa fa-check"></span> {% trans %}Mark as Read{% endtrans %}
+                </button>
+            </form>
 
-    {% if forum.locked %}
-    <span class="btn btn-primary">
-        <span class="fa fa-lock"></span> {% trans %}Locked{% endtrans %}
-    </span>
-    {% else %}
-    <a href="{{ url_for('forum.new_topic', forum_id=forum.id, slug=forum.slug) }}" class="btn btn-primary">
-        <span class="fa fa-pencil"></span> {% trans %}New Topic{% endtrans %}
-    </a>
-    {% endif %}
-</div>
-{% endif %}
+            {% if forum.locked %}
+            <span class="btn btn-primary">
+                <span class="fa fa-lock"></span> {% trans %}Locked{% endtrans %}
+            </span>
+            {% else %}
+            <a href="{{ url_for('forum.new_topic', forum_id=forum.id, slug=forum.slug) }}" class="btn btn-primary">
+                <span class="fa fa-pencil"></span> {% trans %}New Topic{% endtrans %}
+            </a>
+            {% endif %}
+        </div>
+        {% endif %}
+    </div>
 
-<table class="table table-bordered">
-    <thead>
-        <tr>
-            <th colspan="5">
-                {{ forum.title }}
-            </th>
-        </tr>
-    </thead>
+    <div class="panel forum-panel">
+        <div class="panel-heading forum-head">
+            <a href="{{ forum.url }}">{{ forum.title }}</a>
+        </div>
 
-    <tbody>
-        <tr>
-            <td colspan="2">{% trans %}Topic{% endtrans %}</td>
+        <div class="panel-body forum-body">
+            <div class="forum-meta">
+                <div class="col-md-5 col-sm-5 col-xs-8 topic-name">{% trans %}Topic{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
+                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
+            </div>
 
-            <td>{% trans %}Posts{% endtrans %}</td>
+            {% for topic, topicread in topics.items %}
+            <div class="row forum-row hover clearfix">
 
-            <td>{% trans %}Views{% endtrans %}</td>
+                <div class="col-md-5 col-sm-5 col-xs-8 topic-info">
+                    <div class="row">
+                        <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
+                        {% if topic.locked %}
+                            <span class="fa fa-lock topic-locked"></span>
+                        {% elif topic.important %}
+                            {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
+                                <span class="fa fa-star topic-starred-unread"></span>
+                            {% else %}
+                                <span class="fa fa-star-o topic-starred-read"></span>
+                            {% endif %}
+                        {% else %}
+                            {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
+                                <span class="fa fa-comment topic-unread"></span>
+                            {% else %}
+                                <span class="fa fa-comment-o topic-read"></span>
+                            {% endif %}
+                        {% endif %}
+                        </div>
+                        <div class="col-md-11 col-sm-10 col-xs-10">
+                            <div class="topic-name">
+                                <a href="{{ topic.url }}">{{ topic.title }}</a>
+                                <!-- Topic Pagination -->
+                                <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
+                            </div>
+
+                            <div class="topic-author">
+                                {% trans %}by{% endtrans %}
+                                {% if topic.user_id %}
+                                 <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
+                                {% else %}
+                                {{ topic.username }}
+                                {% endif %}
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                    {{ topic.post_count }}
+                </div>
 
-            <td>{% trans %}Last Post{% endtrans %}</td>
-        </tr>
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                    {{ topic.views }}
+                </div>
 
-        {% for topic, topicread in topics.items %}
-        <tr>
-            <td class="topic-status" width="4%" style="vertical-align: middle; text-align: center;">
-            {% if topic.locked %}
-                <span class="fa fa-lock" style="font-size: 2em"></span>
-            {% elif topic.important %}
-                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                    <span class="fa fa-star" style="font-size: 2em"></span>
-                {% else %}
-                    <span class="fa fa-star-o" style="font-size: 2em"></span>
-                {% endif %}
-            {% else %}
-                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                    <span class="fa fa-comment" style="font-size: 2em"></span>
-                {% else %}
-                    <span class="fa fa-comment-o" style="font-size: 2em"></span>
-                {% endif %}
-            {% endif %}
+                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
+                    <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
 
-            </td>
-            <td>
-                <div>
-                    <a href="{{ topic.url }}">{{ topic.title }}</a>
-                    <!-- Topic Pagination -->
-                    {{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}
-                    <br />
-                    <small>
+                    <div class="topic-author">
                         {% trans %}by{% endtrans %}
-                        {% if topic.user_id %}
-                         <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
+                        {% if topic.last_post.user_id %}
+                        <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
                         {% else %}
-                        {{ topic.username }}
+                        {{ topic.last_post.username }}
                         {% endif %}
-                    </small>
+                    </div>
                 </div>
-            </td>
-            <td>
-                {{ topic.post_count }}
-            </td>
-            <td>
-                {{ topic.views }}
-            </td>
-            <td>
-                <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
 
-                <small>
-                    {% trans %}by{% endtrans %}
-                    {% if topic.last_post.user_id %}
-                    <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                    {% else %}
-                    {{ topic.last_post.username }}
-                    {% endif %}
-                </small>
-            </td>
-        </tr>
-        {% else %}
-        <tr>
-            <td colspan="5">
-                {% trans %}No Topics.{% endtrans %}
-            </td>
-        </tr>
-        {% endfor %}
-
-    </tbody>
-</table>
+            </div>  <!-- end forum-row -->
+            {% else %}
+            <div class="row forum-row clearfix">
+                <div class="col-md-12 col-sm-12 co-xs-12">
+                    {% trans %}No Topics.{% endtrans %}
+                </div>
+            </div> <!-- end forum-row -->
+            {% endfor %}
+        </div>
+    </div>
 
-<div class="pull-left">
-    <a class="btn btn-default" href="{{ url_for('forum.manage_forum', forum_id=forum.id, slug=forum.slug) }}">
-        <span class="fa fa-tasks"></span> {% trans %}Moderation Mode{% endtrans %}
-    </a>
+    <div class="row controls-row">
+        <a class="btn btn-default" href="{{ url_for('forum.manage_forum', forum_id=forum.id, slug=forum.slug) }}">
+            <span class="fa fa-tasks"></span> {% trans %}Moderation Mode{% endtrans %}
+        </a>
+    </div>
 </div>
 {% endblock %}

+ 27 - 36
flaskbb/templates/forum/index.html

@@ -1,41 +1,32 @@
 {% extends theme("layout.html") %}
 {% block content %}
 
-<ol class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-</ol>
-
-{% for category, forums in categories %}
-    {% include theme("forum/category_layout.html") %}
-{% endfor %}
-
-<!-- Forum Stats -->
-<table class="table table-bordered">
-    <thead>
-        <tr>
-            <td colspan="2">
-                <strong>{% trans %}Board Statistics{% endtrans %}</strong>
-                [<a href="{{ url_for('forum.who_is_online') }}" onclick="window.open(this.href, 'wio_window','width=500,height=500'); return false;">{% trans %}Who is online?{% endtrans %}</a>]
-            </td>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <td>
-                {% trans %}Total number of registered users{% endtrans %}: <strong>{{ user_count }}</strong> <br />
-                {% trans %}Total number of topics{% endtrans %}: <strong>{{ topic_count }}</strong> <br />
-                {% trans %}Total number of posts{% endtrans %}: <strong>{{ post_count }}</strong> <br />
-            </td>
-            <td>
-                {% trans %}Newest registered user{% endtrans %}: {% if newest_user %}<a href="{{ newest_user.url }}">{{ newest_user.username }}</a>{% else %}{% trans %}No users{% endtrans %}{% endif %}<br />
-                {% trans %}Registered users online{% endtrans %}: <strong>{{ online_users }}</strong> <br />
-                {% if config["REDIS_ENABLED"] %}
-                {% trans %}Guests online{% endtrans %}: <strong>{{ online_guests }}</strong> <br />
-                {% endif %}
-            </td>
-        </tr>
-
-    </tbody>
-</table>
+<div class="index-view">
+    {% for category, forums in categories %}
+        {% include theme("forum/category_layout.html") %}
+    {% endfor %}
 
+    <div class="panel page-panel">
+        <div class="panel-heading page-head">
+            {% trans %}Board Statistics{% endtrans %}
+            [<a href="{{ url_for('forum.who_is_online') }}" onclick="window.open(this.href, 'wio_window','width=500,height=500'); return false;">{% trans %}Who is online?{% endtrans %}</a>]
+        </div>
+        <div class="panel-body page-body">
+            <div class="row page-row">
+                <div class="col-md-6 col-sm-6 col-xs-12">
+                    <p class="flaskbb-stats">{% trans %}Total number of registered users{% endtrans %}: <strong>{{ user_count }}</strong></p>
+                    <p class="flaskbb-stats">{% trans %}Total number of topics{% endtrans %}: <strong>{{ topic_count }}</strong></p>
+                    <p class="flaskbb-stats">{% trans %}Total number of posts{% endtrans %}: <strong>{{ post_count }}</strong></p>
+                </div>
+                <div class="col-md-6 col-sm-6 col-xs-12">
+                    <p class="flaskbb-stats">{% trans %}Newest registered user{% endtrans %}: {% if newest_user %}<a href="{{ newest_user.url }}">{{ newest_user.username }}</a>{% else %}{% trans %}No users{% endtrans %}{% endif %}</p>
+                    <p class="flaskbb-stats">{% trans %}Registered users online{% endtrans %}: <strong>{{ online_users }}</strong></p>
+                    {% if config["REDIS_ENABLED"] %}
+                    <p class="flaskbb-stats">{% trans %}Guests online{% endtrans %}: <strong>{{ online_guests }}</strong></p>
+                    {% endif %}
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
 {% endblock %}

+ 49 - 41
flaskbb/templates/forum/memberlist.html

@@ -4,47 +4,55 @@
 {% block content %}
 {% from theme('macros.html') import render_pagination, group_field %}
 
-<ul class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li class="active">{% trans %}Memberlist{% endtrans %}</li>
-</ul>
+<div class="page-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
+        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+        <li class="active">{% trans %}Memberlist{% endtrans %}</li>
+    </ol>
 
-<div class="pull-left" style="padding-bottom: 10px">
-    {{ render_pagination(users, url_for('forum.memberlist')) }}
-</div><!-- /.col-pull-left -->
-<div class="pull-right" style="padding-bottom: 10px">
-  <form role="form" method="post">
-      <div class="input-group">
-          {{ search_form.hidden_tag() }}
-          {{ group_field(search_form.search_query) }}
-          <span class="input-group-btn">
-            <button class="btn btn-primary" type="submit">{% trans %}Search{% endtrans %}</button>
-          </span>
-      </div>
-  </form>
-</div>
-
-<table class="table table-bordered">
-    <thead>
-        <tr>
-            <th>#</th>
-            <th>{% trans %}Username{% endtrans %}</th>
-            <th>{% trans %}Posts{% endtrans %}</th>
-            <th>{% trans %}Date registered{% endtrans %}</th>
-            <th>{% trans %}Group{% endtrans %}</th>
-        </tr>
-    </thead>
-    <tbody>
-        {% for user in users.items %}
-        <tr>
-            <td>{{ user.id }}</td>
-            <td><a href="{{ user.url }}">{{ user.username }}</a></td>
-            <td>{{ user.post_count }}</td>
-            <td>{{ user.date_joined|format_date('%b %d %Y') }}</td>
-            <td>{{ user.primary_group.name }}</td>
-        </tr>
-        {% endfor %}
-    </tbody>
-</table>
+    <div class="row controls-row">
+        <div class="col-md-8 col-sm-8 col-xs-8 controls-col">
+            <div class="pull-left">
+                {{ render_pagination(users, url_for('forum.memberlist')) }}
+            </div>
+        </div>
+        <div class="col-md-4 col-sm-4 col-xs-4 controls-col">
+            <div class="pull-right">
+              <form class="inline-form" role="form" method="post">
+                  <div class="input-group">
+                      {{ search_form.hidden_tag() }}
+                      {{ group_field(search_form.search_query) }}
+                      <span class="input-group-btn">
+                        <button class="btn btn-primary" type="submit">{% trans %}Search{% endtrans %}</button>
+                      </span>
+                  </div>
+              </form>
+            </div>
+        </div>
+    </div>
 
+    <div class="panel page-panel">
+        <div class="panel-heading page-head">
+            <a href="{{ url_for('forum.memberlist') }}">{% trans %}Memberlist{% endtrans %}</a>
+        </div>
+        <div class="panel-body page-body">
+            <div class="page-meta">
+                <div class="col-md-1 col-sm-1 col-xs-1 meta-item">#</div>
+                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Username{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs meta-item">{% trans %}Posts{% endtrans %}</div>
+                <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
+                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Group{% endtrans %}</div>
+            </div>
+            {% for user in users.items %}
+            <div class="row page-row hover clearfix">
+                <div class="col-md-1 col-sm-1 col-xs-1">{{ user.id }}</div>
+                <div class="col-md-3 col-sm-3 col-xs-5"><a href="{{ user.url }}">{{ user.username }}</a></div>
+                <div class="col-md-2 col-sm-2 hidden-xs">{{ user.post_count }}</div>
+                <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
+                <div class="col-md-3 col-sm-3 col-xs-5">{{ user.primary_group.name }}</div>
+            </div>
+            {% endfor %}
+        </div>
+    </div>
+</div>
 {% endblock %}

+ 41 - 29
flaskbb/templates/forum/new_post.html

@@ -8,37 +8,49 @@
 {% endblock %}
 
 {% block content %}
-{% from theme("macros.html") import render_field, render_submit_field %}
-
-<ul class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a></li>
-    <li><a href="{{ topic.url }}">{{ topic.title }} </a></li>
-    <li class="active">{% trans %}New Post{% endtrans %}</li>
-</ul>
-
-<form class="form" role="form" method="post">
-    {{ form.hidden_tag() }}
-    <h3>{% trans %}New Post{% endtrans %}</h3>
-
-    {% if preview %}
-    <div class="form-group">
-        <div class="col-sm-12">
-            <label>{% trans %}Preview{% endtrans %}</label>
-            <div class="form-control preview-body">
-                {% autoescape false %}
-                {{ preview|markup }}
-                {% endautoescape %}
+{% from theme("macros.html") import render_quickreply, render_submit_field %}
+
+<div class="page-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
+        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+        <li><a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a></li>
+        <li><a href="{{ topic.url }}">{{ topic.title }} </a></li>
+        <li class="active">{% trans %}New Post{% endtrans %}</li>
+    </ol>
+
+    <form class="form-horizontal" role="form" method="post">
+        {{ form.hidden_tag() }}
+        <div class="panel page-panel">
+            <div class="panel-heading page-head">
+                {% trans %}New Post{% endtrans %}
             </div>
-        </div>
-    </div>
-    {% endif %}
-
-    {{ render_field(form.content, div_class="col-sm-12", rows="12", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
-
-    {{ render_submit_field(form.submit) }}
 
-</form>
+            <div class="panel-body page-body">
+                {{ form.hidden_tag() }}
+                <div class="col-md-12 col-sm-12 col-xs-12">
+
+                    <div class="form-group">
+                        <div class="col-md-12 col-sm-12 col-xs-12">
+                            <div class="editor-box">
+                                <div class="editor">
+                                    {{ render_quickreply(form.content, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
+                                </div>
+                                <div class="editor-submit">
+                                    <div class="editor-options pull-left">
+                                        <span class="label label-info">Markdown</span>
+                                        <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
+                                        <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
+                                    </div>
+                                    {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
 
 {% endblock %}
 

+ 42 - 28
flaskbb/templates/forum/new_topic.html

@@ -8,37 +8,51 @@
 {% endblock %}
 
 {% block content %}
-{% from theme("macros.html") import render_field, render_submit_field %}
-
-<ul class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ forum.url }}">{{ forum.title }}</a></li>
-    <li class="active">{% trans %}New Topic{% endtrans %}</li>
-</ul>
-
-<form class="form" role="form" method="post">
-    {{ form.hidden_tag() }}
-    <h3>{% trans %}New Topic{% endtrans %}</h3>
-
-    {% if preview %}
-    <div class="form-group">
-        <div class="col-sm-12">
-            <label>{% trans %}Preview{% endtrans %}</label>
-            <div class="form-control preview-body">
-                {% autoescape false %}
-                {{ preview|markup }}
-                {% endautoescape %}
-            </div>
-        </div>
-    </div>
-    {% endif %}
+{% from theme("macros.html") import render_field, render_submit_field, render_quickreply %}
+
+<div class="page-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
+        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+        <li><a href="{{ forum.url }}">{{ forum.title }}</a></li>
+        <li class="active">{% trans %}New Topic{% endtrans %}</li>
+    </ol>
 
-    {{ render_field(form.title, div_class="col-sm-12") }}
-    {{ render_field(form.content, div_class="col-sm-12", rows="10", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
 
-    {{ render_submit_field(form.submit) }}
-</form>
+    <form class="form-horizontal" role="form" method="post">
+        {{ form.hidden_tag() }}
+        <div class="panel page-panel">
+            <div class="panel-heading page-head">
+                {% trans %}New Topic{% endtrans %}
+            </div>
 
+            <div class="panel-body page-body">
+                {{ form.hidden_tag() }}
+                <div class="col-md-12 col-sm-12 col-xs-12">
+
+                    {{ render_field(form.title, div_class="col-md-12 col-sm-12 col-xs-12") }}
+
+                    <div class="form-group">
+                        <div class="col-md-12 col-sm-12 col-xs-12">
+                            <div class="editor-box">
+                                <div class="editor">
+                                    {{ render_quickreply(form.content, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
+                                </div>
+                                <div class="editor-submit">
+                                    <div class="editor-options pull-left">
+                                        <span class="label label-info">Markdown</span>
+                                        <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
+                                        <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
+                                    </div>
+                                    {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
 {% endblock %}
 
 {% block scripts %}

+ 5 - 0
flaskbb/templates/forum/online_users.html

@@ -2,9 +2,14 @@
 
 {% extends theme("layout.html") %}
 
+
+{% block header %}
+{% endblock %}
+
 {% block navigation %}
 {% endblock %}
 
+
 {% block content %}
 
 <legend>{% trans %}Online Users{% endtrans %}</legend>

+ 3 - 0
flaskbb/templates/forum/report_post.html

@@ -2,6 +2,9 @@
 
 {% extends theme("layout.html") %}
 
+{% block header %}
+{% endblock %}
+
 {% block navigation %}
 {% endblock %}
 

+ 18 - 12
flaskbb/templates/forum/search_form.html

@@ -1,21 +1,27 @@
 {% set page_title = _("Search") %}
 
 {% extends theme("layout.html") %}
-{% from theme("macros.html") import horizontal_field %}
 {% block content %}
+{% from theme("macros.html") import horizontal_field %}
 
-    <ul class="breadcrumb">
+<div class="page-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
         <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
         <li class="active">{% trans %}Search{% endtrans %}</li>
-    </ul>
-
-    <form class="form-horizontal" role="form" method="post">
-        <h2>{% trans %}Search{% endtrans %}</h2>
-        <hr>
-        {{ form.hidden_tag() }}
-        {{ horizontal_field(form.search_types)}}
-        {{ horizontal_field(form.search_query)}}
-        {{ horizontal_field(form.submit) }}
-    </form>
+    </ol>
 
+    <div class="panel page-panel">
+        <div class="panel-heading page-head">
+            {% trans %}Search{% endtrans %}
+        </div>
+        <div class="panel-body page-body">
+            <form class="form-horizontal" role="form" method="post">
+                {{ form.hidden_tag() }}
+                {{ horizontal_field(form.search_types)}}
+                {{ horizontal_field(form.search_query)}}
+                {{ horizontal_field(form.submit) }}
+            </form>
+        </div>
+    </div>
+</div>
 {% endblock %}

+ 276 - 209
flaskbb/templates/forum/search_result.html

@@ -2,276 +2,343 @@
 
 {% extends theme("layout.html") %}
 {% block content %}
-    {% from theme('macros.html') import render_pagination, group_field, topic_pages %}
+{% from theme('macros.html') import render_pagination, group_field, topic_pages %}
 
-    <ul class="breadcrumb">
+<div class="page-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
         <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
         <li class="active">{% trans %}Search{% endtrans %}</li>
-    </ul>
+    </ol>
 
     {% if result['post'] %}
-        <h3>{% trans %}Posts{% endtrans %}</h3>
-
-        <table class="table table-bordered">
-            <tbody>
+    <div class="panel topic-panel">
+        <div class="panel-heading topic-head">
+            {% trans %}Posts{% endtrans %}
+        </div>
+        <div class="panel-body topic-body">
             {% for post in result['post'].all() %}
-            <tr>
-                <td>
-                    <table class="table table-borderless">
-                        <tr>
-                            {% if post.user_id %}
-                                {% if post.user.avatar %}
-                                    <td width="1">
-                                        <img src="{{ post.user.avatar }}" alt="Avatar" height="100" width="100">
-                                    </td>
-                                {% endif %}
-                                <td>
-                                    <a href="{{ post.user.url }}">
-                                        <span style="font-weight:bold">{{ post.user.username }}</span> <!-- TODO: Implement userstyles -->
-                                    </a>
-                                    {%- if post.user|is_online %}
-                                        <span class="label label-success">Online</span>
-                                    {%- else %}
-                                        <span class="label label-default">Offline</span>
-                                    {%- endif %}
-                                    <div class="profile primary-group">
-                                        {{ post.user.primary_group.name }}
-                                    </div>
-                                </td>
-
-                                <td class="pull-right">
-                                    {% trans %}Posts{% endtrans %}: {{ post.user.post_count }}<br />
-                                    {% trans %}Registered since{% endtrans %}: {{ post.user.date_joined|format_date('%b %d %Y') }}<br />
-                                </td>
-                            {% else %}
-                                <td>
-                                    <strong>{{ post.username }}</strong>
-                                    <br />
-                                    {% trans %}Guest{% endtrans %}
-                                </td>
+            <div id="{{ post.id }}" class="row post-row clearfix">
+
+                <div class="author col-md-2 col-sm-3 col-xs-12">
+                    <!-- Registered User -->
+                    {% if post.user_id %}
+                    <div class="author-name"><h4><a href="{{ user.url }}">{{ user.username }}</a></h4></div>
+
+                    <!-- check if user is online or not -->
+                    {% if user|is_online %}
+                    <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
+                    {% else %}
+                    <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
+                    {% endif %}
+                    <div class="author-title"><h5>{{ user.primary_group.name }}</h5></div>
+
+                    {% if user.avatar %}
+                        <div class="author-avatar"><img src="{{ user.avatar }}" alt="avatar"></div>
+                    {% endif %}
+
+                    <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ user.date_joined|format_date('%b %d %Y') }}</div>
+                    <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ user.post_count }}</div>
+                    <div class="author-pm">
+                        {% if current_user.is_authenticated() and post.user_id %}
+                        <a href="{{ url_for('message.new_conversation') }}?to_user={{ user.username }}">{% trans %}Message{% endtrans %}</a>
+                        {% endif %}
+                    </div>
+
+                    {% if user.website %}
+                    <div class="author-website"><a href="{{ user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
+                    {% endif %}
+
+                    {% else %}
+                    <!-- user deleted or guest -->
+                    <div class="author-name"><h4><a href="{{ user.url }}">{{ post.username }}</a></h4></div>
+                    <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
+                    {% endif %}
+
+                </div>
+
+                <div class="post-box col-md-10 col-sm-9 col-xs-12">
+
+                    <div class="post-meta clearfix">
+                        <div class="pull-left">
+                            <!-- Creation date / Date modified -->
+                            <a href="{{ generate_post_url(post.topic, post, posts.page) }}">
+                                {{ post.date_created|format_date('%d %B %Y - %H:%M') }}
+                            </a>
+                            {% if post.user_id and post.date_modified %}
+                            <small>
+                                (Last modified: {{ post.date_modified|format_date('%d %B %Y - %H:%M') }} by
+                                <a href="{{ url_for('user.profile', username=post.modified_by) }}">{{ post.modified_by }}</a>.)
+                            </small>
                             {% endif %}
-                        </tr>
-                    </table>
-                </td>
-            </tr>
-
-            <tr>
-                <td>
-                    <div class="post_body" id="pid{{ post.id }}">
-                        {% autoescape false %}
-                        {{ post.content|markup }}
-                        {% endautoescape %}
+                        </div>
+
+                        <!-- Post number -->
+                        <div class="pull-right">
+                            <strong>#{{ generate_post_id(posts, loop.index, flaskbb_config["POSTS_PER_PAGE"]) }}</strong>
+                        </div>
                     </div>
-                </td>
-            </tr>
-            {% else %}
-            <tr>
-                <td>{% trans %}No posts found matching your search criteria.{% endtrans %}</td>
-            </tr>
-            {% endfor %}
-            </tbody>
-        </table>
+
+                    <div class="post-content post_body clearfix" id="pid{{ post.id }}">
+                        {{ post.content|markup|safe }}
+                    </div>
+
+                </div>
+            </div>
+        {% else %}
+        <!-- cheating a bit here with page-row :P -->
+        <div class="row page-row clearfix">
+            <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No posts found matching your search criteria.{% endtrans %}</div>
+        </div>
+        {% endfor %}
     {% endif %}
 
     {% if result['user'] %}
-        <h3>{% trans %}Users{% endtrans %}</h3>
-
-        <table class="table table-bordered">
-            <thead>
-            <tr>
-                <th>#</th>
-                <th>{% trans %}Username{% endtrans %}</th>
-                <th>{% trans %}Posts{% endtrans %}</th>
-                <th>{% trans %}Date registered{% endtrans %}</th>
-                <th>{% trans %}Group{% endtrans %}</th>
-            </tr>
-            </thead>
-            <tbody>
+    <div class="panel panel-default page-panel">
+        <div class="panel-heading page-head">
+            {% trans %}Users{% endtrans %}
+        </div>
+        <div class="panel-body page-body">
+            <div class="page-meta">
+                <div class="col-md-1 col-sm-1 col-xs-1 meta-item">#</div>
+                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Username{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs meta-item">{% trans %}Posts{% endtrans %}</div>
+                <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
+                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Group{% endtrans %}</div>
+            </div>
             {% for user in result['user'].all() %}
-                <tr>
-                    <td>{{ user.id }}</td>
-                    <td><a href="{{ user.url }}">{{ user.username }}</a></td>
-                    <td>{{ user.post_count }}</td>
-                    <td>{{ user.date_joined|format_date('%b %d %Y') }}</td>
-                    <td>{{ user.primary_group.name }}</td>
-                </tr>
+            <div class="row page-row hover clearfix">
+                <div class="col-md-1 col-sm-1 col-xs-1">{{ user.id }}</div>
+                <div class="col-md-3 col-sm-3 col-xs-5"><a href="{{ user.url }}">{{ user.username }}</a></div>
+                <div class="col-md-2 col-sm-2 hidden-xs">{{ user.post_count }}</div>
+                <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
+                <div class="col-md-3 col-sm-3 col-xs-5">{{ user.primary_group.name }}</div>
+            </div>
             {% else %}
-                <tr>
-                    <td colspan="5">{% trans %}No users found matching your search criteria.{% endtrans %}</td>
-                </tr>
+            <div class="row page-row hover clearfix">
+                <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No users found matching your search criteria.{% endtrans %}</div>
+            </div>
             {% endfor %}
-            </tbody>
-        </table>
+        </div>
+    </div>
     {% endif %}
 
     {% if result['topic'] %}
-        <h3>{% trans %}Topics{% endtrans %}</h3>
-
-        <table class="table table-bordered">
-            <thead>
-            <tr>
-                <th colspan="2">{% trans %}Topic{% endtrans %}</th>
-
-                <th>{% trans %}Posts{% endtrans %}</th>
-
-                <th>{% trans %}Views{% endtrans %}</th>
-
-                <th>{% trans %}Last Post{% endtrans %}</th>
-            </tr>
-            </thead>
+    <div class="panel panel-default forum-panel">
+        <div class="panel-heading forum-head">
+            {% trans %}Topics{% endtrans %}
+        </div>
+
+        <div class="panel-body forum-body">
+            <div class="forum-meta">
+                <div class="col-md-5 col-sm-5 col-xs-8 topic-name">{% trans %}Topic{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
+                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
+            </div>
 
-            <tbody>
             {% for topic in result['topic'].all() %}
-                <tr>
-                    <td width="4%">
+            <div class="row forum-row hover clearfix">
+
+                <div class="col-md-5 col-sm-5 col-xs-8 topic-info">
+                    <div class="row">
+                        <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
                         {% if topic.locked %}
-                            <span class="fa fa-locked" style="font-size: 2em"></span>
+                            <span class="fa fa-lock topic-locked"></span>
+                        {% elif topic.important %}
+                            <span class="fa fa-star-o topic-starred-read"></span>
                         {% else %}
-                            <span class="fa fa-comment-o" style="font-size: 2em"></span>
+                            <span class="fa fa-comment-o topic-read"></span>
                         {% endif %}
+                        </div>
+                        <div class="col-md-11 col-sm-10 col-xs-10">
+                            <div class="topic-name">
+                                <a href="{{ topic.url }}">{{ topic.title }}</a>
+                                <!-- Topic Pagination -->
+                                <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
+                            </div>
 
-                    </td>
-                    <td>
-                        <div>
-                            <a href="{{ topic.url }}">{{ topic.title }}</a>
-                            <!-- Topic Pagination -->
-                            {{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}
-                            <br />
-
-                            <small>
-                            {% trans %}by{% endtrans %}
-                            {% if topic.user_id %}
-                                <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
-                            {% else %}
+                            <div class="topic-author">
+                                {% trans %}by{% endtrans %}
+                                {% if topic.user_id %}
+                                 <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
+                                {% else %}
                                 {{ topic.username }}
-                            {% endif %}
-                            </small>
+                                {% endif %}
+                            </div>
                         </div>
-                    </td>
-                    <td>
-                        {{ topic.post_count }}
-                    </td>
-                    <td>
-                        {{ topic.views }}
-                    </td>
-                    <td>
-                        <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-
-                        <small>
+                    </div>
+                </div>
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                    {{ topic.post_count }}
+                </div>
+
+                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                    {{ topic.views }}
+                </div>
+
+                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
+                    <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
+
+                    <div class="topic-author">
                         {% trans %}by{% endtrans %}
                         {% if topic.last_post.user_id %}
-                            <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
+                        <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
                         {% else %}
-                            {{ topic.last_post.username }}
+                        {{ topic.last_post.username }}
                         {% endif %}
-                        </small>
-                    </td>
-                </tr>
+                    </div>
+                </div>
+
+            </div>  <!-- end forum-row -->
             {% else %}
-                <tr>
-                    <td colspan="5">{% trans %}No topics found matching your search criteria.{% endtrans %}</td>
-                </tr>
+            <div class="row forum-row clearfix">
+                <div class="col-md-12 col-sm-12 co-xs-12">
+                    {% trans %}No topics found matching your search criteria.{% endtrans %}
+                </div>
+            </div> <!-- end forum-row -->
             {% endfor %}
-            </tbody>
-        </table>
+        </div>
+    </div>
     {% endif %}
 
     {% if result['forum'] %}
-        <h3>{% trans %}Forums{% endtrans %}</h3>
-
-        <table class="table table-bordered">
-            <thead class="categoryhead">
-            <tr>
-                <th colspan="2"><strong>{% trans %}Forum{% endtrans %}</strong></th>
-                <th width="85" align="center" style="white-space: nowrap"><strong>{% trans %}Topics{% endtrans %}</strong></th>
-                <th width="85" align="center" style="white-space: nowrap"><strong>{% trans %}Posts{% endtrans %}</strong></th>
-                <th width="200" align="center" style="white-space: nowrap"><strong>{% trans %}Last Post{% endtrans %}</strong></th>
-            </tr>
-            </thead>
-            <tbody class="forumbody">
+    <div class="panel panel-default category-panel">
+        <div class="panel-heading category-head">
+            Forums
+        </div>
+
+        <div class="panel-body category-body">
+            <div class="category-meta">
+                <div class="col-md-5 col-sm-5 col-xs-8 forum-name">{% trans %}Forum{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Topics{% endtrans %}</div>
+                <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Posts{% endtrans %}</div>
+                <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">{% trans %}Last Post{% endtrans %}</div>
+            </div>
             {% for forum in result['forum'].all() %}
-            <tr>
-                <td align="center" valign="center" width="4%">
-
-                    {% if forum.external %}
-                    <span class="fa fa-external-link" style="font-size: 2em"></span>
-                </td>
+            <div class="row category-row hover">
+
+                {% if forum.external %}
+                <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
+                    <div class="row">
+                        <!-- Icon -->
+                        <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
+                            <span class="fa fa-external-link forum-external"></span>
+                        </div>
 
-                <td valign="top">
-                    <strong><a href="{{ forum.external }}">{{ forum.title }}</a></strong>
+                        <div class="col-md-11 col-sm-10 col-xs-10">
+                            <!-- Forum Name -->
+                            <div class="forum-name">
+                                <span class="forum-link">{% trans %}Link to{% endtrans %}:</span> <a href="{{ forum.url }}">{{ forum.title }}</a>
+                            </div>
 
-                    <div class="forum-description">
-                        {% autoescape false %}
-                        {{ forum.description|markup }}
-                        {% endautoescape %}
+                            <!-- Forum Description -->
+                            <div class="forum-description">
+                                {{ forum.description|markup|safe }}
+                            </div>
+                        </div>
                     </div>
-                </td>
-
-                <td valign="top" align="center" style="white-space: nowrap">-</td>
-                <td valign="top" align="center" style="white-space: nowrap">-</td>
-                <td valign="top" align="right" style="white-space: nowrap">-</td>
-                <!-- End external -->
+                </div> <!-- end forum-info -->
+
+                <!-- Post Cunt -->
+                <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
+                    -
+                </div>
+
+                <!-- Topic Count -->
+                <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
+                    -
+                </div>
+
+                <!-- Last Post -->
+                <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
+                    ---
+                </div>
                 {% else %}
+                <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
+                    <div class="row">
+                        <!-- Icon -->
+                        <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
+                            {% if forum.locked %}
+                                <span class="fa fa-lock forum-locked"></span>
+                            {% else %}
+                                <span class="fa fa-comments-o forum-read"></span>
+                            {% endif %}
+                        </div>
 
-                {% if forum.locked %}
-                    <span class="fa fa-lock" style="font-size: 2em"></span>
-                {% else %}
-                    <span class="fa fa-comments-o" style="font-size: 2em"></span>
-                {% endif %}
-
-                </td>
+                        <div class="col-md-11 col-sm-10 col-xs-10">
+                            <!-- Forum Name -->
+                            <div class="forum-name">
+                                <a href="{{ forum.url }}">{{ forum.title }}</a>
+                            </div>
 
-                <td valign="top">
-                    <strong><a href="{{ forum.url }}">{{ forum.title }}</a></strong>
+                            <!-- Forum Description -->
+                            <div class="forum-description">
+                                {{ forum.description|markup|safe }}
+                            </div>
 
-                    <div class="forum-description">
-                        {% autoescape false %}
-                        {{ forum.description|markup }}
-                        {% endautoescape %}
-                        {% if forum.show_moderators %}
+                            <!-- Forum Moderators -->
+                            {% if forum.show_moderators %}
                             <div class="forum-moderators">
                                 {% trans %}Moderators{% endtrans %}:
                                 {% for moderator in forum.moderators %}
-                                    <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
+                                <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
                                 {% endfor %}
                             </div>
-                        {% endif %}
+                            {% endif %}
+                        </div>
                     </div>
-                </td>
+                </div> <!-- end forum-info -->
 
-                <td valign="top" align="center" style="white-space: nowrap">{{ forum.topic_count }}</td>
-                <td valign="top" align="center" style="white-space: nowrap">{{ forum.post_count }}</td>
+                <!-- Post Cunt -->
+                <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
+                {{ forum.topic_count }}
+                </div>
 
-                <td valign="top" align="right" style="white-space: nowrap">
+                <!-- Topic Count -->
+                <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
+                {{ forum.post_count }}
+                </div>
+
+                <!-- Last Post -->
+                <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
                     {% if forum.last_post_id %}
-                        <a href="{{ forum.last_post.url }}" title="{{ forum.last_post.topic.title }}">
-                            <strong>{{ forum.last_post.topic.title|crop_title }}</strong>
+                    <div class="last-post-title">
+                        <a href="{{ forum.last_post_url }}" title="{{ forum.last_post_title }}">
+                            {{ forum.last_post_title|crop_title }}
                         </a>
-                        <br />
-                        {{ forum.last_post.date_created|time_since }}<br />
+                    </div>
 
+                    <div class="last-post-time">
+                        {{ forum.last_post_created|time_since }}
+                    </div>
+
+                    <div class="last-post-author">
                         {% trans %}by{% endtrans %}
-                        {% if forum.last_post.user_id %}
-                            <a href="{{ url_for('user.profile', username=forum.last_post.user.username) }}">{{ forum.last_post.user.username }}</a>
+                        {% if forum.last_post_user_id %}
+                        <a href="{{ url_for('user.profile', username=forum.last_post_username) }}">{{ forum.last_post_username }}</a>
                         {% else %}
-                            {{ forum.last_post.username }}
+                        {{ forum.last_post_username }}
                         {% endif %}
+                    </div>
 
                     {% else %}
-                        {% trans %}No posts.{% endtrans %}
-                    {% endif %}
-                    {% endif %}
-                </td>
-            </tr>
+                    {% trans %}No posts.{% endtrans %}
+                    {% endif %} {# endif forum.last_post_id #}
+                </div>
+
+            {% endif %} {# endif forum.external #}
+            </div> <!-- end category-content -->
             {% else %}
-            <tr>
-                <td colspan="5">
+            <div class="row category-row">
+                <div class="col-md-12 col-sm-12 col-xs-12">
                     {% trans %}No forums found matching your search criteria.{% endtrans %}
-                </td>
-            </tr>
+                </div>
+            </div>
             {% endfor %}
-            </tbody>
-        </table>
+        </div>
+    </div>
     {% endif %}
 
+</div>
+
 {% endblock %}

+ 155 - 149
flaskbb/templates/forum/topic.html

@@ -7,174 +7,180 @@
 {% endblock %}
 
 {% block content %}
-{% from theme('macros.html') import render_pagination, form_field %}
-
-<ol class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ topic.forum.category.url }}">{{ topic.forum.category.title }}</a></li>
-    <li><a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a></li>
-    <li class="active">{{ topic.title }}</li>
-</ol>
-
-{% include 'forum/topic_controls.html' %}
-
-<table class="table table-bordered">
-    <tbody>
-        {% for post, user in posts.items %}
-        <tr>
-            <td >
-                <span class="pull-right">
-                    <strong>#{%- if posts.page == 1 -%} {{ loop.index }} {%- else -%} {{ loop.index + (posts.page - 1) * flaskbb_config["POSTS_PER_PAGE"] }} {%- endif -%}</strong>
-                </span>
-                <span class="pull-left">
-                    <a href="
-                    {%- if posts.page > 1 -%}
-                        {{ topic.url }}?page={{ posts.page }}#pid{{ post.id }}
-                    {%- else -%}
-                        {{ topic.url }}#pid{{ post.id }}
-                    {%- endif -%}
-                        ">{{ post.date_created|format_date('%d %B %Y') }}</a>
-                    {% if post.user_id and post.date_modified %}
-                    <small>
-                        ({% trans %}Last modified{% endtrans %}: {{ post.date_modified|format_date }} {% trans %}by{% endtrans %}
-                        <a href="{{ url_for('user.profile', username=post.modified_by) }}">
-                            {{ post.modified_by }}
-                        </a>.)
-                    </small>
+{% from theme('macros.html') import render_pagination, form_field, generate_post_id, generate_post_url %}
+
+<div class="topic-view">
+    <ol class="breadcrumb flaskbb-breadcrumb">
+        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+        <li><a href="{{ topic.forum.category.url }}">{{ topic.forum.category.title }}</a></li>
+        <li><a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a></li>
+        <li class="active">{{ topic.title }}</li>
+    </ol>
+
+    {% include theme('forum/topic_controls.html') %}
+
+    <div class="panel topic-panel">
+        <div class="panel-heading topic-head">
+            <a href="{{ topic.url }}">{{ topic.title }}</a>
+        </div>
+        <div class="panel-body topic-body">
+            {% for post, user in posts.items %}
+            <div id="{{ post.id }}" class="row post-row clearfix">
+
+                <div class="author col-md-2 col-sm-3 col-xs-12">
+                    <!-- Registered User -->
+                    {% if post.user_id %}
+                    <div class="author-name"><h4><a href="{{ user.url }}">{{ user.username }}</a></h4></div>
+
+                    <!-- check if user is online or not -->
+                    {% if user|is_online %}
+                    <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
+                    {% else %}
+                    <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
                     {% endif %}
-                </span>
-            </td>
-        </tr>
-
-        <tr>
-        <td>
-            <table class="table table-borderless">
-                <tr>
-                {% if post.user_id %}
+                    <div class="author-title"><h5>{{ user.primary_group.name }}</h5></div>
+
                     {% if user.avatar %}
-                    <td width="1">
-                        <img src="{{ user.avatar }}" alt="Avatar" height="100" width="100">
-                    </td>
+                        <div class="author-avatar"><img src="{{ user.avatar }}" alt="avatar"></div>
                     {% endif %}
-                    <td>
-                        <a href="{{ user.url }}">
-                            <span style="font-weight:bold">{{ user.username }}</span> <!-- TODO: Implement userstyles -->
-                        </a>
-                            {%- if user|is_online %}
-                            <span class="label label-success">Online</span>
-                            {%- else %}
-                            <span class="label label-default">Offline</span>
-                            {%- endif %}
-                            <div class="profile primary-group">
-                            {{ user.primary_group.name }}
-                            </div>
-                    </td>
-
-                    <td class="pull-right">
-                        {% trans %}Posts{% endtrans %}: {{ user.post_count }}<br />
-                        {% trans %}Registered since{% endtrans %}: {{ user.date_joined|format_date('%b %d %Y') }}<br />
-                    </td>
-                {% else %}
-                    <td>
-                        <strong>{{ post.username }}</strong>
-                        <br />
-                        {% trans %}Guest{% endtrans %}
-                    </td>
-                {% endif %}
-                </tr>
-            </table>
-        </td>
-        </tr>
-
-        <tr>
-            <td>
-                <div class="post_body" id="pid{{ post.id }}">
-                {% autoescape false %}
-                    {{ post.content|markup }}
-                    <!-- Signature Begin -->
-                    {% if post.user_id and user.signature %}
-                    <div class="signature">
-                        <hr>
-                        {{ user.signature|markup }}
+
+                    <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ user.date_joined|format_date('%b %d %Y') }}</div>
+                    <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ user.post_count }}</div>
+                    <div class="author-pm">
+                        {% if current_user.is_authenticated() and post.user_id %}
+                        <a href="{{ url_for('message.new_conversation') }}?to_user={{ user.username }}">{% trans %}Message{% endtrans %}</a>
+                        {% endif %}
                     </div>
-                    {% endif %}
-                    <!-- Signature End -->
-                {% endautoescape %}
-                </div>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <span class="pull-left">
-                    {% if current_user.is_authenticated() and post.user_id and post.user_id != current_user.id %}
-                    <a href="{{ url_for('message.new_conversation', to_user=post.user.username) }}">{% trans %}PM{% endtrans %}</a>
-                    {% endif %}
+
                     {% if user.website %}
-                    {% if current_user.is_authenticated() %}| {% endif %}<a href="{{ user.website }}">{% trans %}Website{% endtrans %}</a>
+                    <div class="author-website"><a href="{{ user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
                     {% endif %}
-                </span>
 
-                <span class="pull-right">
-                    {% if current_user.is_authenticated() %}
-                    <a href="{{ url_for('forum.report_post', post_id=post.id) }}" onclick="window.open(this.href, 'wio_window','width=500,height=500'); return false;">
-                        {% trans %}Report{% endtrans %}
-                    </a> |
-                    {% endif %}
-                    {% if current_user|edit_post(post) %}
-                    <a href="{{ url_for('forum.edit_post', post_id=post.id) }}">{% trans %}Edit{% endtrans %}</a> |
-                    {% endif %}
-                    {% if topic.first_post_id == post.id %}
-                        {% if current_user|delete_topic(topic) %}
-                        <form class="inline-form" method="post" action="{{ url_for('forum.delete_topic', topic_id=topic.id, slug=topic.slug) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-link">{% trans %}Delete{% endtrans %}</button> |
-                        </form>
-                        {% endif %}
                     {% else %}
-                        {% if current_user|delete_post(post) %}
-                        <form class="inline-form" method="post" action="{{ url_for('forum.delete_post', post_id=post.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-link">{% trans %}Delete{% endtrans %}</button> |
-                        </form>
-                        {% endif %}
-                    {% endif %}
-                    {% if current_user|can_moderate(topic.forum) %}
-                        <form class="inline-form" method="post" action="{{ url_for('management.ban_user', user_id = user.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-link">{% trans %}Ban user{% endtrans %}</button> |
-                        </form>
-                    {% endif %}
-                    {% if current_user|post_reply(topic) %}
-                        <!-- Quick quote -->
-                        <a href="#" class="quote_btn" data-post-id="{{ post.id }}">{% trans %}Quote{% endtrans %}</a> |
-                        <!-- Full quote/reply -->
-                        <a href="{{ url_for('forum.reply_post', topic_id=topic.id, post_id=post.id) }}">{% trans %}Reply{% endtrans %}</a>
+                    <!-- user deleted or guest -->
+                    <div class="author-name"><h4><a href="{{ user.url }}">{{ post.username }}</a></h4></div>
+                    <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
                     {% endif %}
-                </span>
-            </td>
-        </tr>
-        {% endfor %}
-    </tbody>
-</table>
 
-{% include 'forum/topic_controls.html' %}
+                </div>
 
-{% if form %}
-    {% from "macros.html" import render_field, render_submit_field %}
-    <form class="form" action="#" method="post">
-        {{ form.hidden_tag() }}
+                <div class="post-box col-md-10 col-sm-9 col-xs-12">
+
+                    <div class="post-meta clearfix">
+                        <div class="pull-left">
+                            <!-- Creation date / Date modified -->
+                            <a href="{{ generate_post_url(topic, post, posts.page) }}">
+                                {{ post.date_created|format_date('%d %B %Y - %H:%M') }}
+                            </a>
+                            {% if post.user_id and post.date_modified %}
+                            <small>
+                                (Last modified: {{ post.date_modified|format_date('%d %B %Y - %H:%M') }} by
+                                <a href="{{ url_for('user.profile', username=post.modified_by) }}">{{ post.modified_by }}</a>.)
+                            </small>
+                            {% endif %}
+                        </div>
+
+                        <!-- Post number -->
+                        <div class="pull-right">
+                            <strong>#{{ generate_post_id(posts, loop.index, flaskbb_config["POSTS_PER_PAGE"]) }}</strong>
+                        </div>
+                    </div>
+
+                        <div class="post-content clearfix" id="pid{{ post.id }}">
+                        {{ post.content|markup|safe }}
+                        <!-- Signature Begin -->
+                        {% if flaskbb_config["SIGNATURE_ENABLED"] and post.user_id and user.signature %}
+                        <div class="post-signature hidden-xs">
+                        <hr />
+                            {{ user.signature|markup|safe }}
+                        </div>
+                        {% endif %}
+                        <!-- Signature End -->
+                    </div>
+
+                        <div class="post-footer clearfix">
+
+                            <!-- Report/Edit/Delete/Quote Post-->
+                            <div class="post-menu pull-right">
+
+                            {% if current_user|post_reply(topic) %}
+                            <!-- Quick quote -->
+                                <a href="#" class="btn btn-icon icon-reply quote-btn" data-post-id="{{ post.id }}" data-toggle="tooltip" data-placement="top" title="Quote this post"></a>
+                            <!-- Full quote/reply -->
+                                <a href="{{ url_for('forum.reply_post', topic_id=topic.id, post_id=post.id) }}" class="btn btn-icon icon-replyall" data-toggle="tooltip" data-placement="top" title="Full Reply"></a>
+                            {% endif %}
+
+                            {% if current_user|edit_post(post) %}
+                            <!-- Edit Post -->
+                            <a href="{{ url_for('forum.edit_post', post_id=post.id) }}" class="btn btn-icon icon-edit" data-toggle="tooltip" data-placement="top" title="Edit this post"></a>
+                            {% endif %}
+                            {% if topic.first_post_id == post.id %}
+                                {% if current_user|delete_topic(topic) %}
+                                <form class="inline-form" method="post" action="{{ url_for('forum.delete_topic', topic_id=topic.id, slug=topic.slug) }}">
+                                    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                                    <button class="btn btn-icon icon-delete" data-toggle="tooltip" data-placement="top" title="Delete this topic"></button>
+                                </form>
+                                {% endif %}
+                            {% else %}
+                                {% if current_user|delete_post(post) %}
+                            <!-- Delete Post -->
+                                <form class="inline-form" method="post" action="{{ url_for('forum.delete_post', post_id=post.id) }}">
+                                    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                                    <button  class="btn btn-icon icon-delete" data-toggle="tooltip" data-placement="top" title="Delete this post"></button>
+                                </form>
+                                {% endif %}
 
-        {{ render_field(form.content, div_class="col-sm-12 reply-content", rows="10", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
+                            {% endif %}
 
-        <div class="col-sm-12" style="padding-top: 5px">
-        {{ render_submit_field(form.submit) }}
+                            {% if current_user.is_authenticated() %}
+                            <!-- Report post -->
+                                <a href="{{ url_for('forum.report_post', post_id=post.id) }}" onclick="window.open(this.href, 'wio_window','width=500,height=500'); return false;" class="btn btn-icon icon-report" data-toggle="tooltip" data-placement="top" title="Report this post"></a>
+                            {% endif %}
+
+                            </div> <!-- end post-menu -->
+                        </div> <!-- end footer -->
+
+                </div>
+            </div>
+            {% endfor %}
+
+        </div> <!-- end topic-body -->
+    </div> <!-- end topic-panel -->
+
+    {% include theme('forum/topic_controls.html') %}
+    {% from theme("macros.html") import render_field, render_quickreply, render_submit_field %}
+    {% if form %}
+    <form class="form" action="#" method="post">
+        {{ form.hidden_tag() }}
+        <div class="row">
+            <div class="col-md-offset-2 col-sm-offset-3 col-md-10 col-sm-9 col-xs-12">
+                <div class="editor-box">
+                    <div class="editor quickreply">
+                            {{ render_quickreply(form.content, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
+                    </div>
+                    <div class="editor-submit">
+                        <div class="editor-options pull-left">
+                            <span class="label label-info">Markdown</span>
+                            <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
+                            <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
+                        </div>
+                        {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
+                    </div>
+                </div>
+            </div>
         </div>
     </form>
-{% endif %}
+    {% endif %}
 
+</div>
 {% endblock %}
 
 {% block scripts %}
+    <script>
+    $(function () {
+      $('[data-toggle="tooltip"]').tooltip()
+    })
+    </script>
     <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
     <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
 {% endblock %}

+ 96 - 69
flaskbb/templates/forum/topic_controls.html

@@ -1,75 +1,102 @@
-<div class="pull-left">
-    {{ render_pagination(posts, topic.url) }}
-</div> <!-- end span pagination -->
+<div class="row controls-row">
+    <div class ="col-md-6 col-sm-6 col-xs-12 controls-col">
+        <div class="pull-left">
+            {{ render_pagination(posts, topic.url) }}
+        </div>
+    </div> <!-- end span pagination -->
 
 {% if current_user.is_authenticated() %}
-    <div class="pull-right" style="padding-left: 15px">
-        {% if current_user.is_tracking_topic(topic) %}
-        <form class="inline-form" method="post" action="{{ url_for('forum.untrack_topic', topic_id=topic.id, slug=topic.slug) }}">
-            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-            <button class="btn btn-default">
-                <span class="fa fa-tag" aria-hidden="true"></span> {% trans %}Untrack Topic{% endtrans %}
-            </button>
-        </form>
-        {% else %}
-        <form class="inline-form" method="post" action="{{ url_for('forum.track_topic', topic_id=topic.id, slug=topic.slug) }}">
-            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-            <button class="btn btn-default">
-                <span class="fa fa-tag" aria-hidden="true"></span> {% trans %}Track Topic{% endtrans %}
-            </button>
-        </form>
-        {% endif %}
+    <div class="col-md-6 col-sm-6 col-xs-12 controls-col">
+        <div class="pull-right">
+            {% if current_user|can_moderate(topic.forum) or current_user|delete_topic(topic)%}
+            <!-- Moderation buttons -->
+            <div class="btn-group">
+                <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                    <span class="fa fa-bars" aria-hidden="true"></span> {% trans %}Moderate{% endtrans %} <span class="caret"></span>
+                </button>
+                <ul class="dropdown-menu">
 
-        {% if current_user|post_reply(topic) %}
-        <a href="{{ url_for('forum.new_post', topic_id=topic.id, slug=topic.slug) }}" class="btn btn-primary">
-            <span class="fa fa-pencil"></span> {% trans %}Reply{% endtrans %}
-        </a>
-        {% endif %}
-    </div>
-{% endif %}
+                {% if current_user|delete_topic(topic) %}
+                <li>
+                    <form class="inline-form" method="post" action="{{ url_for('forum.delete_topic', topic_id=topic.id, slug=topic.slug) }}">
+                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                        <button class="btn btn-link">
+                            <span class="fa fa-trash-o"></span> {% trans %}Delete Topic{% endtrans %}
+                        </button>
+                    </form>
+                </li>
+                {% endif %}
 
-<div class="pull-right">
-{% if current_user|delete_topic(topic) %}
-    <form class="inline-form" method="post" action="{{ url_for('forum.delete_topic', topic_id=topic.id, slug=topic.slug) }}">
-        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-        <button class="btn btn-danger">
-            <span class="fa fa-trash-o"></span> {% trans %}Delete Topic{% endtrans %}
-        </button>
-    </form>
-{% endif %}
-{% if current_user|can_moderate(topic.forum) %}
-    {% if not topic.locked %}
-        <form class="inline-form" method="post" action="{{ url_for('forum.lock_topic', topic_id=topic.id, slug=topic.slug) }}">
-            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-            <button class="btn btn-warning">
-                <span class="fa fa-lock"></span> {% trans %}Lock Topic{% endtrans %}
-            </button>
-        </form>
-    {% else %}
-        <form class="inline-form" method="post" action="{{ url_for('forum.unlock_topic', topic_id=topic.id, slug=topic.slug) }}">
-            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-            <button class="btn btn-warning">
-                <span class="fa fa-unlock"></span> {% trans %}Unlock Topic{% endtrans %}
-            </button>
-        </form>
-    {% endif %}
+                {% if current_user|can_moderate(topic.forum) %}
+                    {% if not topic.locked %}
+                    <li>
+                        <form class="inline-form" method="post" action="{{ url_for('forum.lock_topic', topic_id=topic.id, slug=topic.slug) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-link">
+                                <span class="fa fa-lock"></span> {% trans %}Lock Topic{% endtrans %}
+                            </button>
+                        </form>
+                    </li>
+                    {% else %}
+                    <li>
+                        <form class="inline-form" method="post" action="{{ url_for('forum.unlock_topic', topic_id=topic.id, slug=topic.slug) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-link">
+                                <span class="fa fa-unlock"></span> {% trans %}Unlock Topic{% endtrans %}
+                            </button>
+                        </form>
+                    </li>
+                    {% endif %}
 
-    {% if not topic.important %}
-        <form class="inline-form" method="post" action="{{ url_for('forum.highlight_topic', topic_id=topic.id, slug=topic.slug) }}">
-            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-            <button class="btn btn-success">
-                <span class="fa fa-star"></span> {% trans %}Highlight Topic{% endtrans %}
-            </button>
-        </form>
-    {% else %}
-        <form class="inline-form" method="post" action="{{ url_for('forum.trivialize_topic', topic_id=topic.id, slug=topic.slug) }}">
-            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-            <button class="btn btn-success">
-                <span class="fa fa-star-o"></span> {% trans %}Trivialize Topic{% endtrans %}
-            </button>
-        </form>
-    {% endif %}
-{% endif %}
-</div>
+                    {% if not topic.important %}
+                    <li>
+                        <form class="inline-form" method="post" action="{{ url_for('forum.highlight_topic', topic_id=topic.id, slug=topic.slug) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-link">
+                                <span class="fa fa-star"></span> {% trans %}Highlight Topic{% endtrans %}
+                            </button>
+                        </form>
+                    </li>
+                    {% else %}
+                    <li>
+                        <form class="inline-form" method="post" action="{{ url_for('forum.trivialize_topic', topic_id=topic.id, slug=topic.slug) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-link">
+                                <span class="fa fa-star-o"></span> {% trans %}Trivialize Topic{% endtrans %}
+                            </button>
+                        </form>
+                    </li>
+                    {% endif %}
+                {% endif %}
+                </ul>
+            </div>
+            <!-- end Moderation buttons -->
+            {% endif %}
+
+            {% if current_user.is_tracking_topic(topic) %}
+            <form class="inline-form" method="post" action="{{ url_for('forum.untrack_topic', topic_id=topic.id, slug=topic.slug) }}">
+                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                <button class="btn btn-default">
+                    <span class="fa fa-tag" aria-hidden="true"></span> {% trans %}Untrack Topic{% endtrans %}
+                </button>
+            </form>
+            {% else %}
+            <form class="inline-form" method="post" action="{{ url_for('forum.track_topic', topic_id=topic.id, slug=topic.slug) }}">
+                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                <button class="btn btn-default">
+                    <span class="fa fa-tag" aria-hidden="true"></span> {% trans %}Track Topic{% endtrans %}
+                </button>
+            </form>
+            {% endif %}
 
-<div class="clearfix"></div>
+            {% if current_user|post_reply(topic) %}
+            <a href="{{ url_for('forum.new_post', topic_id=topic.id, slug=topic.slug) }}" class="btn btn-primary">
+                <span class="fa fa-pencil"></span> {% trans %}Reply{% endtrans %}
+            </a>
+            {% else %}
+            <div class="btn btn-primary"><span class="fa fa-lock"></span> {% trans %}Locked{% endtrans %}</div>
+            {% endif %}
+        </div>
+    </div>
+{% endif %} {# end current_user.is_authenticated #}
+</div>

+ 0 - 0
flaskbb/themes/aurora/templates/forum/topic_horizontal.html → flaskbb/templates/forum/topic_horizontal.html


+ 107 - 73
flaskbb/templates/forum/topictracker.html

@@ -2,89 +2,123 @@
 {% set active_forum_nav=False %}
 
 {% extends theme("layout.html") %}
-{% from theme('macros.html') import render_pagination %}
-
 {% block content %}
-<ul class="breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li class="active">{% trans %}Tracked Topics{% endtrans %}</li>
-</ul>
+{% from theme('macros.html') import render_pagination, topic_pages %}
+
+<form class="form" role="form" method="POST">
+    <div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}"></div>
 
-<div class="pull-left" style="padding-bottom: 10px">
-    {{ render_pagination(topics, url_for('forum.topictracker')) }}
-</div> <!-- end span pagination -->
+    <div class="forum-view">
 
+        <ol class="breadcrumb flaskbb-breadcrumb">
+            <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+            <li class="active">{% trans %}Topic Tracker{% endtrans %}</li>
+        </ol>
 
-<table class="table table-bordered">
-    <thead>
-        <tr>
-            <th colspan="5">
-                {% trans %}Topic Tracker{% endtrans %}
-            </th>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <td colspan="2">{% trans %}Topic{% endtrans %}</td>
+        <div class="row controls-row">
+            <div class="pull-left">
+                {{ render_pagination(topics, url_for('forum.topictracker')) }}
+            </div> <!-- end span pagination -->
+        </div>
 
-            <td>{% trans %}Posts{% endtrans %}</td>
+        <div class="panel forum-panel">
+            <div class="panel-heading forum-head">
+                <a href="{{ url_for('forum.topictracker') }}">{% trans %}Topic Tracker{% endtrans %}</a>
+            </div>
 
-            <td>{% trans %}Views{% endtrans %}</td>
+            <div class="panel-body forum-body">
+                <div class="forum-meta">
+                    <div class="col-md-4 col-sm-4 col-xs-6 topic-name">{% trans %}Topic{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
+                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
+                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select-all"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
+                </div>
 
-            <td>{% trans %}Last Post{% endtrans %}</td>
-        </tr>
+                {% for topic, topicread in topics.items %}
+                <div class="row forum-row hover clearfix">
 
-        {% for topic, topicread in topics.items %}
-        <tr>
-            <td width="4%">
+                    <div class="col-md-4 col-sm-4 col-xs-6 topic-info">
+                        <div class="row">
+                            <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
+                            {% if topic.locked %}
+                                <span class="fa fa-lock topic-locked"></span>
+                            {% elif topic.important %}
+                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
+                                    <span class="fa fa-star topic-starred-unread"></span>
+                                {% else %}
+                                    <span class="fa fa-star-o topic-starred-read"></span>
+                                {% endif %}
+                            {% else %}
+                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
+                                    <span class="fa fa-comment topic-unread"></span>
+                                {% else %}
+                                    <span class="fa fa-comment-o topic-read"></span>
+                                {% endif %}
+                            {% endif %}
+                            </div>
+                            <div class="col-md-11 col-sm-10 col-xs-10">
+                                <div class="topic-name">
+                                    <a href="{{ topic.url }}">{{ topic.title }}</a>
+                                    <!-- Topic Pagination -->
+                                    <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
+                                </div>
 
-            {% if topic|topic_is_unread(topicread, current_user) %}
-                <span class="fa fa-comment" style="font-size: 2em"></span>
-            {% else %}
-                <span class="fa fa-comment-o" style="font-size: 2em"></span>
-            {% endif %}
+                                <div class="topic-author">
+                                    {% trans %}by{% endtrans %}
+                                    {% if topic.user_id %}
+                                     <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
+                                    {% else %}
+                                    {{ topic.username }}
+                                    {% endif %}
+                                </div>
+                            </div>
+                        </div>
+                    </div>
 
-            </td>
-            <td>
-                <div>
-                    <a href="{{ topic.url }}">{{ topic.title }}</a> <br />
-                    <small>
-                        {% trans %}by{% endtrans %}
-                        {% if topic.user_id %}
-                        <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
-                        {% else %}
-                        {{ topic.username }}
-                        {% endif %}
-                    </small>
-                </div>
-            </td>
-            <td>
-                {{ topic.post_count }}
-            </td>
-            <td>
-                {{ topic.views }}
-            </td>
-            <td>
-                <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-                <small>
-                    {% trans %}by{% endtrans %}
-                    {% if topic.last_post.user_id %}
-                    <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                    {% else %}
-                    {{ topic.last_post.username }}
-                    {% endif %}
-                </small>
-            </td>
-        </tr>
-        {% else %}
-        <tr>
-            <td colspan="5">
-                {% trans %}No topics.{% endtrans %}
-            </td>
-        </tr>
-        {% endfor %}
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                        {{ topic.post_count }}
+                    </div>
 
-    </tbody>
-</table>
+                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
+                        {{ topic.views }}
+                    </div>
 
+                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
+                        <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
+
+                        <div class="topic-author">
+                            {% trans %}by{% endtrans %}
+                            {% if topic.last_post.user_id %}
+                            <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
+                            {% else %}
+                            {{ topic.last_post.username }}
+                            {% endif %}
+                        </div>
+                    </div>
+
+                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select">
+                        <input type="checkbox" name="rowid" class="action-checkbox" value="{{ topic.id }}" title="Select Topic"/>
+                    </div>
+                </div>  <!-- end forum-row -->
+                {% else %}
+                <div class="row forum-row clearfix">
+                    <div class="col-md-12 col-sm-12 co-xs-12">
+                        {% trans %}No Topics.{% endtrans %}
+                    </div>
+                </div> <!-- end forum-row -->
+                {% endfor %}
+            </div>
+        </div>
+        <div class="row controls-row">
+            <div class="col-md-12 col-sm-12 col-xs-12 controls-col">
+                <div class="pull-right">
+                    <button name="untrack" class="btn btn-info">
+                        <span class="fa fa-tag"></span> {% trans %}Untrack Topics{% endtrans %}
+                    </button>
+                </div>
+            </div>
+        </div> <!-- end controls-row -->
+    </div>
+</form>
 {% endblock %}

+ 136 - 26
flaskbb/templates/layout.html

@@ -2,10 +2,12 @@
 <html lang="en">
     <head>
         <meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <meta name="description" content="FlaskBB is a forum software written in Flask">
         <meta name="author" content="FlaskBB Team">
         <meta name="csrf-token" content="{{ csrf_token() }}">
+        <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
 
         <title>
         {% block title %}
@@ -17,13 +19,13 @@
         {% endblock %}
         </title>
 
-        <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
-
         {% block stylesheets %}
-        <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}">
-        <link rel="stylesheet" href="{{ url_for('static', filename='css/font-awesome.min.css') }}" >
+        <!-- syntax highlighting -->
         <link rel="stylesheet" href="{{ url_for('static', filename='css/pygments.css') }}">
-        <link rel="stylesheet" href="{{ url_for('static', filename='css/flaskbb.css') }}">
+        <!-- fontawesome -->
+        <link rel="stylesheet" href="{{ url_for('static', filename='css/font-awesome.min.css') }}" >
+        <!-- bootstrap & aurora theme -->
+        <link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
         {% endblock %}
 
         {# for extra stylesheets. e.q. a template has to add something #}
@@ -36,42 +38,150 @@
     </head>
 
     <body>
-        {% block navigation %}
-            {% include theme('navigation.html') %}
-        {% endblock %}
 
+        <!-- main forum layout -->
+        <div class="flaskbb-layout">
+            <div class="container">
+
+                <!-- forum header - place for the project title and subtitle -->
+                {% block header %}
+                <div class="flaskbb-header">
+                    <div class="flaskbb-meta">
+                        <div class="flaskbb-title">FlaskBB</div>
+                        <div class="flaskbb-subtitle">A lightweight forum software in Flask.</div>
+                    </div>
+                </div>
+                {% endblock %}
+
+                <!-- forum menu - contains all the navigation items -->
+                {% block navigation %}
+                <div class="navbar navbar-default" role="navigation">
+                    <!-- Brand and toggle get grouped for better mobile display -->
+                    <div class="navbar-header">
+                      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" aria-expanded="false">
+                        <span class="sr-only">Toggle navigation</span>
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                      </button>
+                    </div>
+
+                    <div class="collapse navbar-collapse">
+                        <!-- navbar left -->
+                        <ul class="nav navbar-nav forum-nav">
+                            {%- from theme("macros.html") import is_active, topnav with context -%}
+                            {{ emit_event("before-first-navigation-element") }}
+
+                            {{ topnav(endpoint='forum.index', name=_('Forum'), icon='fa fa-comment', active=active_forum_nav) }}
+                            {{ topnav(endpoint='forum.memberlist', name=_('Memberlist'), icon='fa fa-user') }}
+                            {{ topnav(endpoint='forum.search', name=_('Search'), icon='fa fa-search') }}
+
+                            {{ emit_event("after-last-navigation-element") }}
+                        </ul>
+
+                        <!-- navbar right -->
+                        <ul class="nav navbar-nav navbar-right">
 
-        <div class="container">
-            {% block messages %}
+                            {% if current_user and current_user.is_authenticated() %}
+                            <!-- Inbox -->
+                            <li class="dropdown {{ is_active('message.inbox') }}">
+                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                                    <span class="fa fa-envelope"></span> Inbox <span class="label label-info">{{ current_user.unread_count }}</span>
+                                </a>
+                                <ul class="dropdown-menu dropdown-messages">
+                                    {% for message in current_user.unread_messages %}
+                                    <li>
+                                        <a href="{{ url_for('message.view_conversation', conversation_id=message.id) }}">
+                                            <div>
+                                                <span class="author-name">{{ message.from_user.username }}</span> <span class="pull-right text-muted">{{ message.last_message.date_created|time_since }}</span>
+                                                <div class="message-subject">{{ message.subject }}</div>
+                                            </div>
+                                        </a>
+                                    </li>
+                                    {% else %}
+                                    <li><a href="#">No unread messages.</a></li>
+                                    {% endfor %}
+                                    <li class="divider"></li>
+                                    <li><a href="{{ url_for('message.inbox') }}"><span class="fa fa-envelope"></span> {% trans %}Inbox{% endtrans %}</a></li>
+                                    <li><a href="{{ url_for('message.new_conversation') }}"><span class="fa fa-pencil"></span> {% trans %}New Message{% endtrans %}</a></li>
+                                </ul>
+                            </li>
+
+                            <!-- User Menu -->
+                            <li>
+                                <div class="btn-group navbar-btn user-btn">
+                                    <a class="btn btn-primary" href="{{ url_for('user.profile', username=current_user.username) }}">
+                                        <span class="fa fa-user"></span> {{ current_user.username }}
+                                    </a>
+                                    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+                                    <ul class="dropdown-menu" role="menu">
+                                        <li><a href="{{ url_for('forum.topictracker') }}"><span class="fa fa-book"></span> {% trans %}Topic Tracker{% endtrans %}</a></li>
+                                        <li class="divider"></li>
+
+                                        <li><a href="{{ url_for('user.settings') }}"><span class="fa fa-cogs"></span> {% trans %}Settings{% endtrans %}</a></li>
+                                        {% if current_user|is_admin_or_moderator %}
+                                        <li><a href="{{ url_for('management.overview') }}"><span class="fa fa-cog"></span> {% trans %}Management{% endtrans %}</a></li>
+                                        <li class="divider"></li>
+                                        {% endif %}
+
+                                        <li><a href="{{ url_for('auth.logout') }}"><span class="fa fa-power-off"></span> {% trans %}Logout{% endtrans %}</a></li>
+                                    </ul>
+                                </div>
+                            </li>
+                            {% else %}
+                            <!-- Not logged in - Login/Register -->
+                            <li>
+                                <div class="btn-group navbar-btn user-btn">
+                                    <a class="btn btn-primary" href="{{ url_for('auth.login') }}">
+                                        <span class="fa fa-user"></span> {% trans %}Login{% endtrans %}
+                                    </a>
+                                    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+                                    <ul class="dropdown-menu" role="menu">
+                                        <li><a href="{{ url_for('auth.register') }}">{% trans %}Register{% endtrans %}</a></li>
+                                        <li><a href="{{ url_for('auth.forgot_password') }}">{% trans %}Reset Password{% endtrans %}</a></li>
+                                    </ul>
+                                </div>
+                            </li>
+                            {% endif %}
+
+                        </ul> <!-- end navbar right -->
+                    </div> <!-- end navbar-collapse -->
+                </div> <!-- end navbar -->
+                {% endblock %}
+
+                <!-- Place for all the (flashed) messages -->
+                {% block messages %}
                 <div id="flashed-messages">
                     {% include theme('flashed_messages.html') %}
                 </div>
-            {% endblock %}
+                {% endblock %}
 
-            {% block content %}
-            {% endblock %}
-        </div> <!-- /container -->
+                <!-- the actual content block -->
+                {% block content %}
+                {% endblock %}
+            </div> <!-- end container -->
 
+            <!-- the forum footer -->
+            {% block footer %}
+            <footer class="flaskbb-footer">
+                <div class="container">
+                    <p class="text-muted pull-left">powered by <a href="http://flask.pocoo.org">Flask</a></p>
+                    <p class="text-muted pull-right">&copy; 2013 - 2015 <a href="http://flaskbb.org">FlaskBB.org</a></p>
+                </div>
+            </footer>
+            {% endblock %}
 
-        {% block footer %}
-        <div id="footer">
-            <div class="container">
-                <p class="text-muted credit pull-left">powered by <a href="http://flask.pocoo.org">Flask</a></p>
-                <p class="text-muted credit pull-right">&copy; 2013 - 2015 - <a href="http://flaskbb.org">FlaskBB.org</a></p>
-            </div>
-        </div>
-        {% endblock %}
-
+        </div> <!-- end flaskbb-layout -->
 
-        {# standard javascript libs #}
         {% block javascript %}
+        <!-- libraries and dependencies -->
         <script src="{{ url_for('static', filename='js/jquery.min.js') }}"></script>
         <script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
+        <!-- flaskbb's javascript -->
         <script src="{{ url_for('static', filename='js/flaskbb.js') }}"></script>
         {% endblock %}
 
-
-        {# space for extra scripts - to use in other templates #}
+        {# for extra scripts in other templates. #}
         {% block scripts %}
         {% endblock %}
     </body>

+ 92 - 94
flaskbb/templates/management/banned_users.html

@@ -2,115 +2,113 @@
 {% set active_management_user_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Manage Users{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
-{% from theme('macros.html') import render_pagination, render_field, group_field, navlink with context %}
+{% from theme('macros.html') import render_pagination, group_field,navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.users', _("Manage Users")) }}
-        {{ navlink('management.banned_users', _('Banned Users')) }}
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.users', _("Manage Users")) }}
+            {{ navlink('management.banned_users', _('Banned Users')) }}
 
-        {% if current_user|is_admin %}
-            {{ navlink('management.add_user', _("Add User")) }}
-        {% endif %}
-    </ul>
+            {% if current_user|is_admin %}
+                {{ navlink('management.add_user', _("Add User")) }}
+            {% endif %}
+        </ul>
+    </div>
 </div><!--/.col-md-3 -->
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-
-                    <span class="fa fa-user-times"></span> {% trans %}Banned Users{% endtrans %}
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
 
-                    <div class="pull-right action-buttons">
-                        <div class="btn-group pull-right">
-                            <button type="button" class="btn btn-default btn-xs" onclick="return show_management_search()">
-                                <span class="fa fa-search" style="margin-right: 0px;"></span> {% trans %}Search{% endtrans %}
-                            </button>
-                        </div>
-                    </div>
+            <span class="fa fa-user-times"></span> {% trans %}Banned Users{% endtrans %}
 
+            <div class="pull-right action-buttons">
+                <div class="btn-group pull-right">
+                    <button type="button" class="btn btn-default btn-xs" onclick="return show_management_search()">
+                        <span class="fa fa-search"></span> {% trans %}Search{% endtrans %}
+                    </button>
                 </div>
-                <div class="panel-body management-body">
+            </div>
 
+        </div>
+        <div class="panel-body settings-body">
 
-                    <form class="search-form" role="form" method="post">
-                        {{ search_form.hidden_tag() }}
-                        <div class="input-group">
-                            {{ group_field(search_form.search_query, css_class="form-control") }}
-                            <span class="input-group-btn">
-                                <button class="btn btn-default" type="button"><span class="fa fa-search"></span></button>
-                            </span>
+            <div class="settings-search">
+                <form class="search-form" role="form" method="post">
+                    {{ search_form.hidden_tag() }}
+                    <div class="input-group">
+                        {{ group_field(search_form.search_query, css_class="form-control") }}
+                        <span class="input-group-btn">
+                            <button class="btn btn-default" type="button"><span class="fa fa-search"></span></button>
+                        </span>
+                    </div>
+                </form>
+            </div>
+
+            <div class="settings-content">
+                <div class="settings-meta row">
+                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
+                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Username{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Posts{% endtrans %}</div>
+                    <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Group{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2">
+                    {% if current_user|can_ban_user %}
+                        <div class="btn-group">
+                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
+                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
+                            </button>
+                            <ul class="dropdown-menu slidedown">
+                                <li>
+                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.unban_user') }}', '{% trans %}Are you sure you want to unban these Users?{% endtrans %}')">
+                                        <span class="fa fa-flag text-success"></span> {% trans %}Unban selected Users{% endtrans %}
+                                    </a>
+                                </li>
+                            </ul>
                         </div>
-                    </form>
+                    {% endif %}
+                    </div>
                 </div>
+            {% for user in users.items %}
+                <div class="row settings-row hover clearfix">
+                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ user.id }}" title="Select User"/></div>
+                    <div class="col-md-2 col-sm-2 col-xs-3"><a href="{{ user.url }}">{{ user.username }}</a></div>
+                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.post_count }}</div>
+                    <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.primary_group.name }}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2">
+                    {% if current_user|can_ban_user and user.permissions['banned'] %}
+                        <form class="inline-form" id="unban-{{user.id}}" method="post" action="{{ url_for('management.unban_user', user_id = user.id) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
 
-                    <table class="table table-hover">
-                        <thead>
-                            <tr>
-                                <th><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></th>
-                                <th>#</th>
-                                <th>{% trans %}Username{% endtrans %}</th>
-                                <th>{% trans %}Posts{% endtrans %}</th>
-                                <th>{% trans %}Date registered{% endtrans %}</th>
-                                <th>{% trans %}Group{% endtrans %}</th>
-                                <th>
-                                    <div class="btn-group">
-                                        <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                            <span class="fa fa-cog" style="margin-right: 0px;"></span> {% trans %}Actions{% endtrans %}
-                                        </button>
-                                        <ul class="dropdown-menu slidedown">
-                                            <li>
-                                                <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.unban_user') }}', '{% trans %}Are you sure you want to unban these Users?{% endtrans %}')">
-                                                    <span class="fa fa-flag text-success"></span> {% trans %}Unban selected Users{% endtrans %}
-                                                </a>
-                                            </li>
-                                        </ul>
-                                    </div>
-                                </th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                        {% for user in users.items %}
-                            <tr class="action-row">
-                                <td><input type="checkbox" name="rowid" class="action-checkbox" value="{{ user.id }}" title="Select User"/></td>
-                                <td>{{ user.id }}</td>
-                                <td><a href="{{ url_for('user.profile', username=user.username) }}">{{ user.username }}</a></td>
-                                <td>{{ user.post_count }}</td>
-                                <td>{{ user.date_joined|format_date('%b %d %Y') }}</td>
-                                <td>{{ user.primary_group.name }}</td>
-                                <td>
-                                    {% if current_user|can_ban_user and user.permissions['banned'] %}
-                                        <form class="inline-form" id="unban-{{user.id}}" method="post" action="{{ url_for('management.unban_user', user_id = user.id) }}">
-                                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                                            <button class="btn btn-link">
-                                                <span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="{% trans %}Unban{% endtrans %}"></span>
-                                            </button>
-                                        </form>
-                                    {% endif %}
-                                </td>
-                            </tr>
-                        {% else %}
-                            <tr>
-                                <td colspan="6">
-                                    {% trans %}No users found matching your search criteria.{% endtrans %}
-                                </td>
-                            </tr>
-                        {% endfor %}
-                    </tbody>
-                </table>
-
-                <div class="panel-footer">
-                    <div class="row">
-                        <div class="col-md-12">
-                            {{ render_pagination(users, url_for('management.users')) }}
-                        </div>
+                            <button class="btn btn-icon">
+                                <span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="{% trans %}Unban{% endtrans %}"></span>
+                            </button>
+                        </form>
+                    {% endif %}
                     </div>
                 </div>
-            </div>
+            {% else %}
+                <div class="row settings-row clearfix">
+                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No users found matching your search criteria.{% endtrans %}</div>
+                </div>
+            {% endfor %}
+
+            </div> <!-- end settings content -->
+        </div>
+        <div class="panel-footer settings-footer">
+            {{ render_pagination(users, url_for('management.users')) }}
         </div>
     </div>
 </div>

+ 31 - 20
flaskbb/templates/management/category_form.html

@@ -2,34 +2,45 @@
 {% set active_management_forum_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{{ title }}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme("macros.html") import render_field, render_submit_field, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.forums', _("Manage Forums")) }}
-        {{ navlink('management.add_forum', _("Add Forum")) }}
-        {{ navlink('management.add_category', _("Add Category")) }}
-    </ul>
-</div>
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.forums', _("Manage Forums")) }}
+            {{ navlink('management.add_forum', _("Add Forum")) }}
+            {{ navlink('management.add_category', _("Add Category")) }}
+        </ul>
+    </div>
+</div><!--/.col-md-3 -->
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-comments-o"></span> {{ title }}
-                </div>
-                <div class="panel-body">
-                    <form class="form-horizontal" role="form" method="post">
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-comments-o"></span> {{ title }}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <form class="form-horizontal settings-form" role="form" method="post">
+                    <div class="col-md-12 col-sm-12 col-xs-12">
                         {{ form.hidden_tag() }}
                         {{ render_field(form.title) }}
-                        {{ render_field(form.description, rows=5, div_class="col-md-12") }}
+                        {{ render_field(form.description, rows=5, div_class="col-md-10") }}
 
                         {{ render_field(form.position) }}
-                        {{ render_submit_field(form.submit) }}
-                    </form>
-                </div>
+                        {{ render_submit_field(form.submit, div_class="form-group col-sm-5") }}
+                    </div>
+                </form>
             </div>
         </div>
     </div>

+ 31 - 23
flaskbb/templates/management/forum_form.html

@@ -2,29 +2,40 @@
 {% set active_management_forum_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{{ title }}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme("macros.html") import render_field, render_submit_field, render_boolean_field, render_select_field, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.forums', _("Manage Forums")) }}
-        {{ navlink('management.add_forum', _("Add Forum")) }}
-        {{ navlink('management.add_category', _("Add Category")) }}
-    </ul>
-</div>
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.forums', _("Manage Forums")) }}
+            {{ navlink('management.add_forum', _("Add Forum")) }}
+            {{ navlink('management.add_category', _("Add Category")) }}
+        </ul>
+    </div>
+</div><!--/.col-md-3 -->
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-comment-o"></span> {{ title }}
-                </div>
-                <div class="panel-body">
-                    <form class="form-horizontal" method="post">
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-comment-o"></span> {{ title }}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <form class="form-horizontal settings-form" role="form" method="post">
+                    <div class="col-md-12 col-sm-12 col-xs-12">
                         {{ form.hidden_tag() }}
                         {{ render_field(form.title) }}
-                        {{ render_field(form.description, rows=5, div_class="col-md-12") }}
+                        {{ render_field(form.description, rows=5, div_class="col-md-10") }}
                         {{ render_field(form.category) }}
                         {{ render_field(form.position) }}
                         {{ render_field(form.external) }}
@@ -32,12 +43,9 @@
                         {{ render_boolean_field(form.show_moderators) }}
                         {{ render_boolean_field(form.locked) }}
                         {{ render_select_field(form.groups) }}
-
-                        <div class="row">
-                            {{ render_submit_field(form.submit, div_class="col-lg-offset-0 col-lg-9") }}
-                        </div>
-                    </form>
-                </div>
+                        {{ render_submit_field(form.submit, div_class="form-group col-sm-5") }}
+                    </div>
+                </form>
             </div>
         </div>
     </div>

+ 148 - 54
flaskbb/templates/management/forums.html

@@ -1,79 +1,173 @@
 {% set page_title = _("Forums") %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Forums{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme('macros.html') import render_pagination, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
         {{ navlink('management.forums', _("Manage Forums")) }}
         {{ navlink('management.add_forum', _("Add Forum")) }}
         {{ navlink('management.add_category', _("Add Category")) }}
-    </ul>
+        </ul>
+    </div>
 </div>
 
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-comments"></span> {% trans %}Manage Forums{% endtrans %}
-                </div>
-                <div class="panel-body">
-                    {% for category in categories %}
-                    <table class="table table-bordered">
-                        <thead class="categoryhead">
-                            <tr>
-                                <td colspan="2">
-                                    <div><strong><a href="{{ url_for('forum.view_category', category_id=category.id) }}">{{ category.title }}</a></strong></div>
-                                </td>
-                                <td valign="top" align="center" style="white-space: nowrap">
-                                    <a href="{{ url_for('management.add_forum', category_id=category.id) }}">{% trans %}Add Forum{% endtrans %}</a> |
-                                    <a href="{{ url_for('management.edit_category', category_id = category.id) }}">{% trans %}Edit{% endtrans %}</a> |
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-comments"></span> {% trans %}Manage Forums{% endtrans %}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                {% for category in categories %}
+                <div class="panel category-panel">
+                    <div class="panel-heading category-head">
+                        <div class="row">
+                            <div class="col-md-12">
+                                <div class="pull-left">
+                                    <a href="{{ category.url }}"><strong>{{ category.title }}</strong></a>
+                                </div>
+                                <div class="pull-right">
+                                    <a class="btn btn-xs btn-default" href="{{ url_for('management.add_forum', category_id=category.id) }}">
+                                        <span class="fa fa-plus"></span> {% trans %}Add Forum{% endtrans %}
+                                    </a>
+                                    <a class="btn btn-xs btn-success" href="{{ url_for('management.edit_category', category_id = category.id) }}">
+                                        <span class="fa fa-pencil"></span> {% trans %}Edit Category{% endtrans %}
+                                    </a>
                                     <form class="inline-form" method="post" action="{{ url_for('management.delete_category', category_id=category.id) }}">
                                         <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                        <button class="btn btn-link">{% trans %}Delete{% endtrans %}</button>
+                                        <button class="btn btn-xs btn-danger">
+                                            <span class="fa fa-trash"></span> {% trans %}Delete Category{% endtrans %}
+                                        </button>
                                     </form>
-                                </td>
-                            </tr>
-                        </thead>
-                        <tbody class="forumbody">
-                            <tr class="forum_stats">
-                                <td colspan="2"><strong>{% trans %}Forum{% endtrans %}</strong></td>
-                                <td width="85" align="center" style="white-space: nowrap"><strong>{% trans %}Management{% endtrans %}</strong></td>
-                            </tr>
-
-                            {% for forum in category.forums %}
-                            <tr>
-                                <td align="center" valign="center" width="4%">
-
-                                </td>
-
-                                <td valign="top">
-                                    <strong><a href="{{ url_for('forum.view_forum', forum_id=forum.id) }}">{{ forum.title }}</a></strong>
-
-                                    <div class="forum-description">
-                                        {% autoescape false %}
-                                        {{ forum.description|markup }}
-                                        {% endautoescape %}
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="panel-body category-body">
+                        <div class="category-meta">
+                            <div class="col-md-5 col-sm-5 col-xs-8 forum-name">{% trans %}Forum{% endtrans %}</div>
+                            <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Topics / Posts{% endtrans %}</div>
+                            <div class="col-md-5 col-sm-5 col-xs-4 forum-last-post"></div>
+                        </div>
+                        {% for forum in category.forums %}
+                        <div class="row category-row hover">
+
+                            {% if forum.external %}
+                            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
+                                <div class="row">
+                                    <!-- Icon -->
+                                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
+                                        <span class="fa fa-external-link forum-external"></span>
+                                    </div>
+
+                                    <div class="col-md-11 col-sm-10 col-xs-10">
+                                        <!-- Forum Name -->
+                                        <div class="forum-name">
+                                            <span class="forum-link">{% trans %}Link to{% endtrans %}:</span> <a href="{{ forum.url }}">{{ forum.title }}</a>
+                                        </div>
+
+                                        <!-- Forum Description -->
+                                        <div class="forum-description">
+                                            {{ forum.description|markup|safe }}
+                                        </div>
                                     </div>
-                                </td>
+                                </div>
+                            </div> <!-- end forum-info -->
+
+                            <!-- Post Cunt -->
+                            <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
+                                - -
+                            </div>
+
+                            <!-- Forum Actions -->
+                            <div class="col-md-5 col-sm-5 col-xs-4 forum-last-post">
+                                <div class="forum-actions pull-right">
+                                    <a class="btn btn-sm btn-success" href="{{ url_for('management.edit_forum', forum_id = forum.id) }}">
+                                        <span class="fa fa-pencil"></span> {% trans %}Edit Link{% endtrans %}
+                                    </a>
 
-                                <td valign="top" align="center" style="white-space: nowrap">
-                                    <a href="{{ url_for('management.edit_forum', forum_id = forum.id) }}">{% trans %}Edit{% endtrans %}</a> |
                                     <form class="inline-form" method="post" action="{{ url_for('management.delete_forum', forum_id=forum.id) }}">
                                         <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                        <button class="btn btn-link">{% trans %}Delete{% endtrans %}</button>
+                                        <button class="btn btn-sm btn-danger"><span class="fa fa-trash"></span> {% trans %}Delete Link{% endtrans %}</button>
                                     </form>
-                                </td>
-                            </tr>
-                            {% endfor %}
+                                </div>
+                            </div>
+                            {% else %}
+                            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
+                                <div class="row">
+                                    <!-- Icon -->
+                                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
+                                        {% if forum.locked %}
+                                            <span class="fa fa-lock forum-locked"></span>
+                                        {% else %}
+                                            <span class="fa fa-comments-o forum-read"></span>
+                                        {% endif %}
+                                    </div>
+
+                                    <div class="col-md-11 col-sm-10 col-xs-10">
+                                        <!-- Forum Name -->
+                                        <div class="forum-name">
+                                            <a href="{{ forum.url }}">{{ forum.title }}</a>
+                                        </div>
+
+                                        <!-- Forum Description -->
+                                        <div class="forum-description">
+                                            {{ forum.description|markup|safe }}
+                                        </div>
+
+                                        <!-- Forum Moderators -->
+                                        {% if forum.show_moderators %}
+                                        <div class="forum-moderators">
+                                            {% trans %}Moderators{% endtrans %}:
+                                            {% for moderator in forum.moderators %}
+                                            <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
+                                            {% endfor %}
+                                        </div>
+                                        {% endif %}
+                                    </div>
+                                </div>
+                            </div> <!-- end forum-info -->
+
+                            <!-- Post Cunt -->
+                            <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
+                                {{ forum.topic_count }} / {{ forum.post_count }}
+                            </div>
+
+                            <!-- Forum Actions -->
+                            <div class="col-md-5 col-sm-5 col-xs-4 forum-last-post">
+                                <div class="forum-actions pull-right">
+                                    <a class="btn btn-sm btn-primary" href="{{ url_for('management.edit_forum', forum_id = forum.id) }}">
+                                        <span class="fa fa-pencil"></span> {% trans %}Edit Forum{% endtrans %}
+                                    </a>
+
+                                    <form class="inline-form" method="post" action="{{ url_for('management.delete_forum', forum_id=forum.id) }}">
+                                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                                        <button class="btn btn-sm btn-danger"><span class="fa fa-trash"></span> {% trans %}Delete Forum{% endtrans %}</button>
+                                    </form>
+                                </div>
+                            </div>
+
+                        {% endif %} {# endif forum.external #}
+                        </div> <!-- end category-content -->
 
-                        </tbody>
-                    </table>
-                    {% endfor %}
+                        {% endfor %}
+                    </div>
                 </div>
+                {% endfor %}
             </div>
         </div>
     </div>

+ 31 - 20
flaskbb/templates/management/group_form.html

@@ -2,28 +2,40 @@
 {% set active_management_group_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Manage Groups{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme("macros.html") import render_field, render_boolean_field, render_submit_field, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.groups', _("Manage Groups")) }}
-        {{ navlink('management.add_group', _("Add Group")) }}
-    </ul>
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.groups', _("Manage Groups")) }}
+            {{ navlink('management.add_group', _("Add Group")) }}
+        </ul>
+    </div>
 </div>
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-user-plus"></span> {{ title }}
-                </div>
-                <div class="panel-body">
-                    <form class="form-horizontal" role="form" method="post">
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-user-plus"></span> {{ title }}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <form class="form-horizontal settings-form" role="form" method="post">
+                    <div class="col-md-12 col-sm-12 col-xs-12">
                         {{ form.hidden_tag() }}
                         {{ render_field(form.name) }}
-                        {{ render_field(form.description, rows="4", div_class="col-md-12") }}
+
+                        {{ render_field(form.description, rows="4", div_class="col-md-10") }}
 
                         {{ render_boolean_field(form.admin) }}
                         {{ render_boolean_field(form.super_mod) }}
@@ -40,11 +52,10 @@
                         {{ render_boolean_field(form.deletetopic) }}
                         {{ render_boolean_field(form.posttopic) }}
                         {{ render_boolean_field(form.postreply) }}
-                        <div class="row">
-                            {{ render_submit_field(form.submit, div_class="col-lg-offset-0 col-lg-9") }}
-                        </div>
-                    </form>
-                </div>
+
+                        {{ render_submit_field(form.submit, div_class="form-group col-sm-5") }}
+                    </div>
+                </form>
             </div>
         </div>
     </div>

+ 64 - 64
flaskbb/templates/management/groups.html

@@ -1,81 +1,81 @@
 {% set page_title = _("Groups") %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Manage Groups{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme('macros.html') import render_pagination, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.groups', _("Manage Groups")) }}
-        {{ navlink('management.add_group', _("Add Group")) }}
-    </ul>
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.groups', _("Manage Groups")) }}
+            {{ navlink('management.add_group', _("Add Group")) }}
+        </ul>
+    </div>
 </div>
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-users"></span> {% trans %}Groups{% endtrans %}
-                </div>
-                <div class="panel-body management-body"></div>
-
-                    <table class="table table-hover">
-                        <thead>
-                            <tr>
-                                <th><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></th>
-                                <th>#</th>
-                                <th>{% trans %}Group Name{% endtrans %}</th>
-                                <th>{% trans %}Description{% endtrans %}</th>
-                                <th>
-                                    <div class="btn-group">
-                                        <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                            <span class="fa fa-cog" style="margin-right: 0px;"></span> {% trans %}Actions{% endtrans %}
-                                        </button>
-                                        <ul class="dropdown-menu slidedown">
-                                            <li>
-                                                <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.delete_group') }}', '{% trans %}Are you sure you want to delete these Groups?{% endtrans %}')">
-                                                    <span class="fa fa-trash text-danger"></span> {% trans %}Delete selected Groups{% endtrans %}
-                                                </a>
-                                            </li>
-                                        </ul>
-                                    </div>
-                                </th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                        {% for group in groups.items %}
-                            <tr class="action-row">
-                                <td><input type="checkbox" name="rowid" class="action-checkbox" value="{{ group.id }}" title="Select Group"/></td>
-                                <td>{{ group.id }}</td>
-                                <td><a href="#">{{ group.name }}</a></td>
-                                <td>{{ group.description }}</td>
-                                <td>
-                                    <a href="{{ url_for('management.edit_group', group_id = group.id) }}">
-                                        <span class="fa fa-pencil text-primary" data-toggle="tooltip" data-placement="top" title="{% trans %}Edit{% endtrans %}"></span>
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-users"></span> {% trans %}Groups{% endtrans %}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <div class="settings-meta row">
+                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
+                    <div class="col-md-4 col-sm-4 col-xs-5 meta-item">{% trans %}Group Name{% endtrans %}</div>
+                    <div class="col-md-5 col-sm-5 hidden-xs meta-item">{% trans %}Description{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-5">
+                        <div class="btn-group">
+                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
+                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
+                            </button>
+                            <ul class="dropdown-menu slidedown">
+                                <li>
+                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.delete_group') }}', '{% trans %}Are you sure you want to delete these Groups?{% endtrans %}')">
+                                        <span class="fa fa-trash text-danger"></span> {% trans %}Delete selected Groups{% endtrans %}
                                     </a>
-                                    <form class="inline-form" id="delete-{{group.id}}" method="post" action="{{ url_for('management.delete_group', group_id=group.id) }}">
-                                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                        <button class="btn btn-link">
-                                            <span class="fa fa-trash text-danger" data-toggle="tooltip" data-placement="top" title="{% trans %}Delete{% endtrans %}"></span>
-                                        </button>
-                                    </form>
-                                </td>
-                            </tr>
-                        {% endfor %}
-                        </tbody>
-                    </table>
-
-                    <div class="panel-footer">
-                        <div class="row">
-                            <div class="col-md-12">
-                                {{ render_pagination(groups, url_for('management.groups')) }}
-                            </div>
+                                </li>
+                            </ul>
                         </div>
                     </div>
                 </div>
+
+            {% for group in groups.items %}
+                <div class="row settings-row hover clearfix">
+                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ group.id }}" title="Select Group"/></div>
+                    <div class="col-md-4 col-sm-4 col-xs-5">{{ group.name }}</div>
+                    <div class="col-md-5 col-sm-5 hidden-xs">{{ group.description }}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-5">
+                        <a href="{{ url_for('management.edit_group', group_id = group.id) }}" class="btn btn-icon">
+                            <span class="fa fa-pencil text-primary" data-toggle="tooltip" data-placement="top" title="{% trans %}Edit{% endtrans %}"></span>
+                        </a>
+                        <form class="inline-form" id="delete-{{group.id}}" method="post" action="{{ url_for('management.delete_group', group_id=group.id) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-icon">
+                                <span class="fa fa-trash text-danger" data-toggle="tooltip" data-placement="top" title="{% trans %}Delete{% endtrans %}"></span>
+                            </button>
+                        </form>
+                    </div>
+                </div>
+            {% else %}
+                <div class="row settings-row clearfix">
+                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No groups found.{% endtrans %}</div>
+                </div>
+            {% endfor %}
             </div>
         </div>
+        <div class="panel-footer settings-footer">
+            {{ render_pagination(groups, url_for('management.groups')) }}
+        </div>
     </div>
 </div>
 {% endblock %}

+ 20 - 15
flaskbb/templates/management/management_layout.html

@@ -3,21 +3,26 @@
 {% block content %}
 {%- from theme('macros.html') import navlink with context -%}
 
-<div class="col-md-12" style="padding-bottom: 10px">
-    <ul class="nav nav-tabs nav-justified">
-    {{ navlink('management.overview', _('Overview')) }}
-    {{ navlink('management.users', _('Users'), active=active_management_user_nav) }}
-    {{ navlink('management.unread_reports', _('Reports'), active=active_management_report_nav) }}
-
-    {% if current_user|is_admin %}
-        {{ navlink('management.settings', _('Settings')) }}
-        {{ navlink('management.groups', _('Groups'), active=active_management_group_nav) }}
-        {{ navlink('management.forums', _('Forums'), active=active_management_forum_nav) }}
-        {{ navlink('management.plugins', _('Plugins')) }}
-    {% endif %}
-    </ul>
-</div>
+{% block breadcrumb %}
+{% endblock %}
 
-{% block management_content %}{% endblock %}
+<div class="panel panel-tabs management-panel">
+    <div class="panel-heading management-head">
+        <ul class="nav nav-tabs nav-justified">
+        {{ navlink('management.overview', _('Overview'), 'fa fa-tasks') }}
+        {{ navlink('management.users', _('Users'), 'fa fa-user', active=active_management_user_nav) }}
+        {{ navlink('management.unread_reports', _('Reports'), 'fa fa-flag', active=active_management_report_nav) }}
 
+        {% if current_user|is_admin %}
+            {{ navlink('management.settings', _('Settings'), 'fa fa-cogs') }}
+            {{ navlink('management.groups', _('Groups'), 'fa fa-users', active=active_management_group_nav) }}
+            {{ navlink('management.forums', _('Forums'), 'fa fa-comments',active=active_management_forum_nav) }}
+            {{ navlink('management.plugins', _('Plugins'), 'fa fa-puzzle-piece') }}
+        {% endif %}
+        </ul>
+    </div>
+    <div class="panel-body management-body">
+        {% block management_content %}{% endblock %}
+    </div>
+</div>
 {% endblock %}

+ 120 - 32
flaskbb/templates/management/overview.html

@@ -1,41 +1,129 @@
 {% set page_title = _("Overview") %}
 
 {% extends theme("management/management_layout.html") %}
-{% block management_content %}
 
-<div class="col-md-12">
-    <div class="panel panel-primary">
-        <div class="panel-heading">
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li class="active">{% trans %}Management{% endtrans %}</li>
+</ol>
+{% endblock %}
+
+{% block management_content %}
+<div class="col-md-12 settings-col">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
             <span class="fa fa-tasks"></span> {% trans %}Overview{% endtrans %}
         </div>
-        <div class="panel-body">
-            <table class="table">
-                <thead>
-                    <tr>
-                        <th colspan="4">{% trans %}Global Statistics{% endtrans %}</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr>
-                        <td><b>{% trans %}FlaskBB Version{% endtrans %}</b></td>
-                        <td>{{ flaskbb_version }}</td>
-                        <td><b>{% trans %}Posts{% endtrans %}</b></td>
-                        <td>{{ post_count }}</td>
-                    </tr>
-                    <tr>
-                        <td><b>{% trans %}Python Version{% endtrans %}</b></td>
-                        <td>{{ python_version }}</td>
-                        <td><b>{% trans %}Topics{% endtrans %}</b></td>
-                        <td>{{ topic_count }}</td>
-                    </tr>
-                    <tr>
-                        <td><b>{% trans %}Flask Version{% endtrans %}</b></td>
-                        <td>{{ flask_version }}</td>
-                        <td><b>{% trans %}Users{% endtrans %}</b></td>
-                        <td>{{ user_count }}</td>
-                    </tr>
-                </tbody>
-            </table>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <div class="stats">
+                    <div class="row stats-row">
+                        <div class="col-md-12 col-sm-12 col-xs-12">
+                            <!-- TODO: (Later) Show new reports, updates, etc -->
+                            <div class="alert-message alert-message-success">
+                                <h4>Everything seems alright.</h4>
+                                <p>No new notifications.</p>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="row stats-row">
+                        <div class="col-md-4 col-sm-4 col-xs-4">
+                            <div class="stats-widget">
+                                <div class="icon">
+                                     <i class="fa fa-users text-success"></i>
+                                </div>
+                                <div class="text">
+                                    <var>{{ all_users }}</var>
+                                    <label class="text-muted">users</label>
+                                </div>
+                            </div>
+                        </div>
+
+                        <div class="col-md-4 col-sm-4 col-xs-4">
+                            <div class="stats-widget">
+                                <div class="icon">
+                                     <i class="fa fa-comment text-primary"></i>
+                                </div>
+                                <div class="text">
+                                    <var>{{ post_count }}</var>
+                                    <label class="text-muted">posts</label>
+                                </div>
+                            </div>
+                        </div>
+
+                        <div class="col-md-4 col-sm-4 col-xs-4">
+                            <div class="stats-widget">
+                                <div class="icon">
+                                     <i class="fa fa-comments text-info"></i>
+                                </div>
+                                <div class="text">
+                                    <var>{{ topic_count }}</var>
+                                    <label class="text-muted">topics</label>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="row stats-row">
+
+                        <div class="col-md-4 col-sm-4 col-xs-4">
+                            <div class="row stats-heading">Statistics</div>
+
+                            <div class="row stats-item">
+                                <div class="key pull-left">Registered Users</div><div class="value pull-right">{{ all_users }}</div>
+                            </div>
+                            <div class="row stats-item">
+                                <div class="key pull-left">Online Users</div><div class="value pull-right">{{ online_users }}</div>
+                            </div>
+                            <div class="row stats-item">
+                                <div class="key pull-left">Banned Users</div><div class="value pull-right">{{ banned_users }}</div>
+                            </div>
+                            <div class="row stats-item">
+                                <div class="key pull-left">Groups</div><div class="value pull-right">{{ all_groups }}</div>
+                            </div>
+                            <div class="row stats-item">
+                                <div class="key pull-left">Topics</div><div class="value pull-right">{{ topic_count }}</div>
+                            </div>
+                            <div class="row stats-item">
+                                <div class="key pull-left">Posts</div><div class="value pull-right">{{ post_count }}</div>
+                            </div>
+                            <div class="row stats-item">
+                                <div class="key pull-left">Reports</div><div class="value pull-right">{{ report_count }}</div>
+                            </div>
+                        </div>
+
+                        <div class="col-md-4 col-sm-4 col-xs-4">
+                            <div class="row stats-heading">Components</div>
+
+                            <div class="row stats-item">
+                                <div class="key pull-left">FlaskBB</div><div class="value pull-right">{{ flaskbb_version }}</div>
+                            </div>
+                            <!--  TODO: Implement a API. one day..
+                            <div class="row stats-item">
+                                <div class="key pull-left">FlaskBB API</div><div class="value pull-right">v1</div>
+                            </div>
+                            -->
+                            <div class="row stats-item">
+                                <div class="key pull-left">Flask</div><div class="value pull-right">{{ flask_version }}</div>
+                            </div>
+                            <div class="row stats-item">
+                                <div class="key pull-left">Python</div><div class="value pull-right">{{ python_version }}</div>
+                            </div>
+                        </div>
+
+                        <div class="col-md-4 col-sm-4 col-xs-4">
+                            <div class="row stats-heading">Plugins</div>
+
+                            {% for plugin in plugins %}
+
+                            <div class="row stats-item">
+                                <div class="key pull-left">{{ plugin.name }}</div><div class="value pull-right">{{ plugin.version }}</div>
+                            </div>
+                            {% endfor %}
+                        </div>
+                    </div>
+                </div>
+            </div>
         </div>
     </div>
 </div>

+ 61 - 56
flaskbb/templates/management/plugins.html

@@ -1,70 +1,75 @@
 {% set page_title = _("Plugins") %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Plugins{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme('macros.html') import render_pagination %}
 
-<div class="col-md-12">
-    <div class="panel panel-primary">
-        <div class="panel-heading">
+<div class="col-md-12 settings-col">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
             <span class="fa fa-puzzle-piece"></span> {% trans %}Manage Plugins{% endtrans %}
         </div>
-        <div class="panel-body">
-            <table class="table">
-                <thead>
-                    <tr>
-                        <th>{% trans %}Plugin{% endtrans %}</th>
-                        <th>{% trans %}Information{% endtrans %}</th>
-                        <th>{% trans %}Manage{% endtrans %}</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    {% for plugin in plugins %}
-                    <tr>
-                      <td>
-                        {% if plugin.website %}
-                          <a href="{{ plugin.website }}">{{ plugin.name }}</a>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <div class="settings-meta">
+                    <div class="row settings-row">
+                        <div class="col-md-4 col-sm-4 col-xs-4 meta-item">{% trans %}Plugin{% endtrans %}</div>
+                        <div class="col-md-4 col-sm-4 col-xs-4 meta-item">{% trans %}Information{% endtrans %}</div>
+                        <div class="col-md-4 col-sm-4 col-xs-4 meta-item">{% trans %}Manage{% endtrans %}</div>
+                    </div>
+                </div>
+                {% for plugin in plugins %}
+                <div class="row settings-row hover with-border-bottom">
+                    <div class="col-md-4 col-sm-4 col-xs-4">
+                    {% if plugin.website %}
+                      <a href="{{ plugin.website }}">{{ plugin.name }}</a>
+                    {% else %}
+                      {{ plugin.name }}
+                    {% endif %}
+                    </div>
+                    <div class="col-md-4 col-sm-4 col-xs-4">
+                        <div class="plugin-version">{% trans %}Version{% endtrans %}: {{ plugin.version }}</div>
+                        <div class="plugin-description">{{ plugin.description }}</div>
+                        <div class="plugin-author">{% trans %}by{% endtrans %} {{ plugin.author }}</div>
+                    </div>
+                    <div class="col-md-4 col-sm-4 col-xs-4">
+                        {% if not plugin.enabled %}
+                        <form class="inline-form" method="post" action="{{ url_for('management.enable_plugin', plugin=plugin.identifier) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-success">{% trans %}Enable{% endtrans %}</button>
+                        </form>
                         {% else %}
-                          {{ plugin.name }}
+                        <form class="inline-form" method="post" action="{{ url_for('management.disable_plugin', plugin=plugin.identifier) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-warning">{% trans %}Disable{% endtrans %}</button>
+                        </form>
                         {% endif %}
-                        </td>
-                        <td>
-                            {% trans %}Version{% endtrans %}: <i>{{ plugin.version }}</i> <br />
-                            {{ plugin.description }} <br />
-                            {% trans %}by{% endtrans %}  <i>{{ plugin.author }}</i>
-                        </td>
-                        <td>
-                            {% if not plugin.enabled %}
-                            <form class="inline-form" method="post" action="{{ url_for('management.enable_plugin', plugin=plugin.identifier) }}">
-                                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                <button class="btn btn-link">{% trans %}Enable{% endtrans %}</button>
-                            </form>
-                            {% else %}
-                            <form class="inline-form" method="post" action="{{ url_for('management.disable_plugin', plugin=plugin.identifier) }}">
-                                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                <button class="btn btn-link">{% trans %}Disable{% endtrans %}</button>
-                            </form>
-                            {% endif %}
 
-                            {% set uninstallable = plugin.uninstallable %}
-                            {% if plugin.installable and not uninstallable %}
-                            <br />
-                            <form class="inline-form" method="post" action="{{ url_for('management.install_plugin', plugin=plugin.identifier) }}">
-                                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                <button class="btn btn-link">{% trans %}Install{% endtrans %}</button>
-                            </form>
-                            {% endif %}
-                            {% if uninstallable %}
-                            <form class="inline-form" method="post" action="{{ url_for('management.uninstall_plugin', plugin=plugin.identifier) }}">
-                                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                <button class="btn btn-link">{% trans %}Uninstall{% endtrans %}</button>
-                            </form>
-                            {% endif %}
-                        </td>
-                    </tr>
-                    {% endfor %}
-                </tbody>
-            </table>
+                        {% if plugin.installable and not plugin.uninstallable %}
+                        <form class="inline-form" method="post" action="{{ url_for('management.install_plugin', plugin=plugin.identifier) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-info">{% trans %}Install{% endtrans %}</button>
+                        </form>
+                        {% endif %}
+                        {% if plugin.uninstallable %}
+                        <form class="inline-form" method="post" action="{{ url_for('management.uninstall_plugin', plugin=plugin.identifier) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-danger">{% trans %}Uninstall{% endtrans %}</button>
+                        </form>
+                        {% endif %}
+                    </div>
+                </div>
+                {% endfor %}
+            </div>
         </div>
     </div>
 </div>

+ 48 - 49
flaskbb/templates/management/reports.html

@@ -2,62 +2,61 @@
 {% set active_management_report_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Reports{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme('macros.html') import render_pagination, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.unread_reports', _("Show unread reports")) }}
-        {{ navlink('management.reports', _("Show all reports")) }}
-    </ul>
-</div>
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-flag"></span> {% trans %}All Reports{% endtrans %}
-                </div>
-                <div class="panel-body management-body"></div>
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.unread_reports', _("Show unread reports")) }}
+            {{ navlink('management.reports', _("Show all reports")) }}
+        </ul>
+    </div>
+</div>
 
-                <table class="table table-hover">
-                    <thead>
-                        <tr>
-                            <th>#</th>
-                            <th>{% trans %}Poster{% endtrans %}</th>
-                            <th>{% trans %}Topic{% endtrans %}</th>
-                            <th>{% trans %}Reporter{% endtrans %}</th>
-                            <th>{% trans %}Reason{% endtrans %}</th>
-                            <th>{% trans %}Reported{% endtrans %}</th>
-                        </tr>
-                    </thead>
-                    <tbody>
-                        {% for report in reports.items %}
-                        <tr>
-                            <td>{{ report.id }}</td>
-                            <td>{{ report.post.user.username }}</td>
-                            <td><a href="{{ url_for('forum.view_post', post_id=report.post.id) }}" target="_blank">{{ report.post.topic.title }}</a></td>
-                            <td>{{ report.reporter.username }}</td>
-                            <td>{{ report.reason }}</td>
-                            <td>{{ report.reported|time_since }}</td>
-                        </tr>
-                        {% else %}
-                        <tr>
-                            <td colspan="6">{% trans %}No reports.{% endtrans %}</td>
-                        </tr>
-                        {% endfor %}
-                    </tbody>
-                </table>
 
-                <div class="panel-footer">
-                    <div class="row">
-                        <div class="col-md-12">
-                            {{ render_pagination(reports, url_for('management.reports')) }}
-                        </div>
-                    </div>
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-flag"></span> {% trans %}All Reports{% endtrans %}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <div class="settings-meta row">
+                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item">#</div>
+                    <div class="col-md-1 col-sm-2 col-xs-2 meta-item">{% trans %}Poster{% endtrans %}</div>
+                    <div class="col-md-3 col-sm-3 col-xs-3 meta-item">{% trans %}Topic{% endtrans %}</div>
+                    <div class="col-md-3 col-sm-4 col-xs-3 meta-item">{% trans %}Reason{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2 meta-item">{% trans %}Reporter{% endtrans %}</div>
+                    <div class="col-md-2 hidden-sm hidden-xs meta-item">{% trans %}Reported{% endtrans %}</div>
                 </div>
-
+            {% for report in reports.items %}
+                <div class="row settings-row hover clearfix">
+                    <div class="col-md-1 col-sm-1 col-xs-1">{{ report.id }}</div>
+                    <div class="col-md-1 col-sm-2 col-xs-2"><a href="{{ report.post.user.url }}">{{ report.post.user.username }}</a></div>
+                    <div class="col-md-3 col-sm-3 col-xs-3"><a href="{{ report.post.url }}" target="_blank">{{ report.post.topic.title }}</a></div>
+                    <div class="col-md-3 col-sm-4 col-xs-3">{{ report.reason }}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2">{{ report.reporter.username }}</div>
+                    <div class="col-md-2 hidden-sm hidden-xs">{{ report.reported|time_since }}</div>
+                </div>
+            {% else %}
+                <div class="row settings-row clearfix">
+                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No unread reports.{% endtrans %}</div>
+                </div>
+            {% endfor %}
+            </div>
+            <div class="panel-footer settings-footer">
+                {{ render_pagination(reports, url_for('management.unread_reports')) }}
             </div>
         </div>
     </div>

+ 38 - 17
flaskbb/templates/management/settings.html

@@ -1,11 +1,22 @@
 {% set page_title = active_group.name %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{{ active_group.name }}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme('macros.html') import render_boolean_field, render_select_field, render_field, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
+
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
         {% for group in all_groups %}
             {% if group.key == active_group.key %}
                 <li class="active"><a href="{{ url_for('management.settings', slug=group.key) }}">{{ group.name }}</a></li>
@@ -13,18 +24,20 @@
                 <li><a href="{{ url_for('management.settings', slug=group.key) }}">{{ group.name }}</a></li>
             {% endif %}
         {% endfor %}
-    </ul>
+        </ul>
+    </div>
 </div><!--/.col-md-3 -->
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-cogs"></span> {{ active_group.name }}
-                </div>
-                <div class="panel-body">
-                    <form class="form-horizontal" role="form" method="post">
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-cogs"></span> {{ active_group.name }}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <form class="form-horizontal settings-form" role="form" method="post">
+                    <div class="col-md-12 col-sm-12 col-xs-12">
+
                         {{ form.hidden_tag() }}
                         {% for field in form %}
                             {% if field.type not in ["TextField", "IntegerField"] %}
@@ -38,13 +51,21 @@
                             {% else %}
                                 {{ render_field(field) }}
                             {% endif %}
-                        {%  endfor %}
+                        {% endfor %}
+
+                        <div class="form-group">
+                            <div class="col-sm-5">
+                                <button type="submit" class="btn btn-success">
+                                    {% trans %}Save{% endtrans %}
+                                </button>
+                            </div>
+                        </div>
+
+                    </div> <!-- end col-md-12...-->
+                </form>
 
-                        <button type="submit" class="btn btn-success">{% trans %}Save{% endtrans %}</button>
-                    </form>
-                </div>
             </div>
-        </div>
+        </div> <!-- end settings-body -->
     </div>
 </div>
 {% endblock %}

+ 68 - 71
flaskbb/templates/management/unread_reports.html

@@ -2,86 +2,83 @@
 {% set active_management_report_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Unread Reports{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme('macros.html') import render_pagination, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.unread_reports', _("Show unread reports")) }}
-        {{ navlink('management.reports', _("Show all reports")) }}
-    </ul>
-</div>
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-flag"></span> {% trans %}Unread Reports{% endtrans %}
-                </div>
-                <div class="panel-body management-body"></div>
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.unread_reports', _("Show unread reports")) }}
+            {{ navlink('management.reports', _("Show all reports")) }}
+        </ul>
+    </div>
+</div>
 
-                <table class="table table-hover">
-                    <thead>
-                        <tr>
-                            <th><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></th>
-                            <th>#</th>
-                            <th>{% trans %}Poster{% endtrans %}</th>
-                            <th>{% trans %}Topic{% endtrans %}</th>
-                            <th>{% trans %}Reporter{% endtrans %}</th>
-                            <th>{% trans %}Reason{% endtrans %}</th>
-                            <th>{% trans %}Reported{% endtrans %}</th>
-                            <th>
-                                <div class="btn-group">
-                                    <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                        <span class="fa fa-cog" style="margin-right: 0px;"></span> {% trans %}Actions{% endtrans %}
-                                    </button>
-                                    <ul class="dropdown-menu slidedown">
-                                        <li>
-                                            <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.report_markread') }}', '{% trans %}Are you sure you want to mark these Reports as read?{% endtrans %}')">
-                                                <span class="fa fa-flag-o text-primary"></span> {% trans %}Mark as Read{% endtrans %}
-                                            </a>
-                                        </li>
-                                    </ul>
-                                </div>
-                            </th>
-                        </tr>
-                    </thead>
-                    <tbody>
-                        {% for report in reports.items %}
-                        <tr class="action-row">
-                            <td><input type="checkbox" name="rowid" class="action-checkbox" value="{{ report.id }}" title="Select Report"/></td>
-                            <td>{{ report.id }}</td>
-                            <td>{{ report.post.user.username }}</td>
-                            <td><a href="{{ url_for('forum.view_post', post_id=report.post.id) }}" target="_blank">{{ report.post.topic.title }}</a></td>
-                            <td>{{ report.reporter.username }}</td>
-                            <td>{{ report.reason }}</td>
-                            <td>{{ report.reported|time_since }}</td>
-                            <td>
-                                <form class="inline-form" id="read-{{report.id}}" method="post" action="{{ url_for('management.report_markread', report_id=report.id) }}">
-                                    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                    <button class="btn btn-link">
-                                        <span class="fa fa-flag-o text-primary" data-toggle="tooltip" data-placement="top" title="{% trans %}Mark as Read{% endtrans %}"></span>
-                                    </button>
-                                </form>
-                            </td>
-                        </tr>
-                        {% else %}
-                        <tr>
-                            <td colspan="7">{% trans %}No unread reports.{% endtrans %}</td>
-                        </tr>
-                        {% endfor %}
-                    </tbody>
-                </table>
 
-                <div class="panel-footer">
-                    <div class="row">
-                        <div class="col-md-12">
-                            {{ render_pagination(reports, url_for('management.unread_reports')) }}
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-flag"></span> {% trans %}Unread Reports{% endtrans %}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <div class="settings-meta row">
+                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
+                    <div class="col-md-1 col-sm-2 col-xs-2 meta-item">{% trans %}Poster{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-3 col-xs-3 meta-item">{% trans %}Topic{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-4 col-xs-3 meta-item">{% trans %}Reason{% endtrans %}</div>
+                    <div class="col-md-2 hidden-sm hidden-xs meta-item">{% trans %}Reporter{% endtrans %}</div>
+                    <div class="col-md-2 hidden-sm hidden-xs meta-item">{% trans %}Reported{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2">
+                        <div class="btn-group">
+                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
+                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
+                            </button>
+                            <ul class="dropdown-menu slidedown">
+                                <li>
+                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.report_markread') }}', '{% trans %}Are you sure you want to mark these Reports as read?{% endtrans %}')">
+                                        <span class="fa fa-flag-o text-primary"></span> {% trans %}Mark as Read{% endtrans %}
+                                    </a>
+                                </li>
+                            </ul>
                         </div>
                     </div>
                 </div>
-
+            {% for report in reports.items %}
+                <div class="row settings-row hover clearfix">
+                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ report.id }}" title="Select Report"/></div>
+                    <div class="col-md-1 col-sm-2 col-xs-2"><a href="{{ report.post.user.url }}">{{ report.post.user.username }}</a></div>
+                    <div class="col-md-2 col-sm-3 col-xs-3"><a href="{{ report.post.url }}" target="_blank">{{ report.post.topic.title }}</a></div>
+                    <div class="col-md-2 col-sm-4 col-xs-3">{{ report.reason }}</div>
+                    <div class="col-md-2 hidden-sm hidden-xs">{{ report.reporter.username }}</div>
+                    <div class="col-md-2 hidden-sm hidden-xs">{{ report.reported|time_since }}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2">
+                        <form class="inline-form" id="read-{{report.id}}" method="post" action="{{ url_for('management.report_markread', report_id=report.id) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                            <button class="btn btn-icon">
+                                <span class="fa fa-flag-o text-primary" data-toggle="tooltip" data-placement="top" title="{% trans %}Mark as Read{% endtrans %}"></span>
+                            </button>
+                        </form>
+                    </div>
+                </div>
+            {% else %}
+                <div class="row settings-row clearfix">
+                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No unread reports.{% endtrans %}</div>
+                </div>
+            {% endfor %}
+            </div>
+            <div class="panel-footer settings-footer">
+                {{ render_pagination(reports, url_for('management.unread_reports')) }}
             </div>
         </div>
     </div>

+ 42 - 33
flaskbb/templates/management/user_form.html

@@ -2,45 +2,54 @@
 {% set active_management_user_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
+
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Manage Users{% endtrans %}</li>
+</ol>
+{% endblock %}
+
 {% block management_content %}
 {% from theme("macros.html") import horizontal_field, horizontal_select_field, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.users', _("Manage Users")) }}
-        {{ navlink('management.banned_users', _('Banned Users')) }}
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.users', _("Manage Users")) }}
+            {{ navlink('management.banned_users', _('Banned Users')) }}
 
-        {% if current_user|is_admin %}
-            {{ navlink('management.add_user', _("Add User")) }}
-        {% endif %}
-    </ul>
+            {% if current_user|is_admin %}
+                {{ navlink('management.add_user', _("Add User")) }}
+            {% endif %}
+        </ul>
+    </div>
 </div><!--/.col-md-3 -->
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <span class="fa fa-user-plus"></span> {{ title }}
-                </div>
-                <div class="panel-body">
-                    <form class="form-horizontal" role="form" method="post">
-                        {{ form.hidden_tag() }}
-                        {{ horizontal_field(form.username) }}
-                        {{ horizontal_field(form.email) }}
-                        {{ horizontal_field(form.password) }}
-                        {{ horizontal_select_field(form.birthday, surrounded_div="col-sm-4") }}
-                        {{ horizontal_field(form.gender) }}
-                        {{ horizontal_field(form.location) }}
-                        {{ horizontal_field(form.website) }}
-                        {{ horizontal_field(form.avatar) }}
-                        {{ horizontal_field(form.primary_group) }}
-                        {{ horizontal_field(form.secondary_groups) }}
-                        {{ horizontal_field(form.signature, rows=5, div_class="col-sm-9") }}
-                        {{ horizontal_field(form.notes, rows=12, div_class="col-sm-9") }}
-                        {{ horizontal_field(form.submit) }}
-                    </form>
-                </div>
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
+            <span class="fa fa-user-plus"></span> {{ title }}
+        </div>
+        <div class="panel-body settings-body">
+            <div class="settings-content">
+                <form class="form-horizontal settings-form" role="form" method="post">
+                    {{ form.hidden_tag() }}
+                    {{ horizontal_field(form.username) }}
+                    {{ horizontal_field(form.email) }}
+                    {{ horizontal_field(form.password) }}
+                    {{ horizontal_select_field(form.birthday, surrounded_div="col-sm-4") }}
+                    {{ horizontal_field(form.gender) }}
+                    {{ horizontal_field(form.location) }}
+                    {{ horizontal_field(form.website) }}
+                    {{ horizontal_field(form.avatar) }}
+                    {{ horizontal_field(form.primary_group) }}
+                    {{ horizontal_field(form.secondary_groups) }}
+                    {{ horizontal_field(form.signature, rows=5, div_class="col-sm-9") }}
+                    {{ horizontal_field(form.notes, rows=12, div_class="col-sm-9") }}
+                    {{ horizontal_field(form.submit) }}
+                </form>
             </div>
         </div>
     </div>

+ 131 - 132
flaskbb/templates/management/users.html

@@ -2,151 +2,150 @@
 {% set active_management_user_nav=True %}
 
 {% extends theme("management/management_layout.html") %}
-{% block management_content %}
-{% from theme('macros.html') import render_pagination, render_field, group_field, navlink with context %}
 
-<div class="col-md-3">
-    <ul class="nav nav-pills nav-stacked">
-        {{ navlink('management.users', _("Manage Users")) }}
-        {{ navlink('management.banned_users', _('Banned Users')) }}
+{% block breadcrumb %}
+<ol class="breadcrumb flaskbb-breadcrumb">
+    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
+    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
+    <li class="active">{% trans %}Manage Users{% endtrans %}</li>
+</ol>
+{% endblock %}
 
-        {% if current_user|is_admin %}
-            {{ navlink('management.add_user', _("Add User")) }}
-        {% endif %}
-    </ul>
+{% block management_content %}
+{% from theme('macros.html') import render_pagination, group_field, navlink with context %}
+
+<div class="col-md-3 settings-col">
+    <div class="nav-sidebar">
+        <ul class="nav">
+            {{ navlink('management.users', _('Manage Users')) }}
+            {{ navlink('management.banned_users', _('Banned Users')) }}
+
+            {% if current_user|is_admin %}
+                {{ navlink('management.add_user', _("Add User")) }}
+            {% endif %}
+        </ul>
+    </div>
 </div><!--/.col-md-3 -->
 
-<div class="col-md-9">
-    <div class="row">
-        <div class="col-md-12">
-            <div class="panel panel-primary">
-                <div class="panel-heading">
+<div class="col-md-9 settings-col with-left-border">
+    <div class="panel settings-panel">
+        <div class="panel-heading settings-head">
 
-                    <span class="fa fa-user"></span> {% trans %}Users{% endtrans %}
+            <span class="fa fa-user"></span> {% trans %}Users{% endtrans %}
 
-                    <div class="pull-right action-buttons">
-                        <div class="btn-group pull-right">
-                            <button type="button" class="btn btn-default btn-xs" onclick="return show_management_search()">
-                                <span class="fa fa-search" style="margin-right: 0px;"></span> {% trans %}Search{% endtrans %}
-                            </button>
-                        </div>
+            <div class="pull-right action-buttons">
+                <div class="btn-group pull-right">
+                    <button type="button" class="btn btn-default btn-xs" onclick="return show_management_search()">
+                        <span class="fa fa-search"></span> {% trans %}Search{% endtrans %}
+                    </button>
+                </div>
+            </div>
+
+        </div>
+        <div class="panel-body settings-body">
+
+            <div class="settings-search">
+                <form class="search-form" role="form" method="post">
+                    {{ search_form.hidden_tag() }}
+                    <div class="input-group">
+                        {{ group_field(search_form.search_query, css_class="form-control") }}
+                        <span class="input-group-btn">
+                            <button class="btn btn-default" type="button"><span class="fa fa-search"></span></button>
+                        </span>
                     </div>
+                </form>
+            </div>
 
-                </div>
-                <div class="panel-body management-body">
-                    <form class="search-form" role="form" method="post">
-                        {{ search_form.hidden_tag() }}
-                        <div class="input-group">
-                            {{ group_field(search_form.search_query, css_class="form-control") }}
-                            <span class="input-group-btn">
-                                <button class="btn btn-default" type="button"><span class="fa fa-search"></span></button>
-                            </span>
+            <div class="settings-content">
+                <div class="settings-meta row">
+                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
+                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Username{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Posts{% endtrans %}</div>
+                    <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Group{% endtrans %}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2">
+                        <div class="btn-group">
+                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
+                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
+                            </button>
+                            <ul class="dropdown-menu slidedown">
+                                <li>
+                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.ban_user') }}', '{% trans %}Are you sure you want to ban these Users?{% endtrans %}')">
+                                        <span class="fa fa-flag text-warning"></span> {% trans %}Ban selected Users{% endtrans %}
+                                    </a>
+                                </li>
+
+                                <li>
+                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.unban_user') }}', '{% trans %}Are you sure you want to unban these Users?{% endtrans %}')">
+                                        <span class="fa fa-flag text-success"></span> {% trans %}Unban selected Users{% endtrans %}
+                                    </a>
+                                </li>
+
+                                <li>
+                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.delete_user') }}', '{% trans %}Are you sure you want to delete these Users?{% endtrans %}')">
+                                        <span class="fa fa-trash text-danger"></span> {% trans %}Delete selected Users{% endtrans %}
+                                    </a>
+                                </li>
+                            </ul>
                         </div>
-                    </form>
+                    </div>
                 </div>
+            {% for user in users.items %}
+                <div class="row settings-row hover clearfix">
+                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ user.id }}" title="Select User"/></div>
+                    <div class="col-md-2 col-sm-2 col-xs-3"><a href="{{ user.url }}">{{ user.username }}</a></div>
+                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.post_count }}</div>
+                    <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.primary_group.name }}</div>
+                    <div class="col-md-2 col-sm-2 col-xs-2">
+                    {% if current_user|can_edit_user and not user|is_admin or current_user|is_admin %}
+                        <a href="{{ url_for('management.edit_user', user_id = user.id) }}" class="btn btn-icon">
+                            <span class="fa fa-pencil" data-toggle="tooltip" data-placement="top" title="{% trans %}Edit{% endtrans %}"></span>
+                        </a>
+                    {% endif %}
+
+                    {% if current_user|can_ban_user and not user.permissions['banned'] %}
+                        <form class="inline-form" id="ban-{{user.id}}" method="post" action="{{ url_for('management.ban_user', user_id = user.id) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+
+                            <button class="btn btn-icon">
+                                <span class="fa fa-flag text-warning" data-toggle="tooltip" data-placement="top" title="{% trans %}Ban{% endtrans %}"></span>
+                            </button>
+                        </form>
+                    {% endif %}
 
-                    <table class="table table-hover">
-                        <thead>
-                            <tr>
-                                <th><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></th>
-                                <th>#</th>
-                                <th>{% trans %}Username{% endtrans %}</th>
-                                <th>{% trans %}Posts{% endtrans %}</th>
-                                <th>{% trans %}Date registered{% endtrans %}</th>
-                                <th>{% trans %}Group{% endtrans %}</th>
-                                <th>
-                                    <div class="btn-group">
-                                        <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                            <span class="fa fa-cog" style="margin-right: 0px;"></span> {% trans %}Actions{% endtrans %}
-                                        </button>
-                                        <ul class="dropdown-menu slidedown">
-                                            <li>
-                                                <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.ban_user') }}', '{% trans %}Are you sure you want to ban these Users?{% endtrans %}')">
-                                                    <span class="fa fa-flag text-warning"></span> {% trans %}Ban selected Users{% endtrans %}
-                                                </a>
-                                            </li>
-
-                                            <li>
-                                                <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.unban_user') }}', '{% trans %}Are you sure you want to unban these Users?{% endtrans %}')">
-                                                    <span class="fa fa-flag text-success"></span> {% trans %}Unban selected Users{% endtrans %}
-                                                </a>
-                                            </li>
-
-                                            <li>
-                                                <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.delete_user') }}', '{% trans %}Are you sure you want to delete these Users?{% endtrans %}')">
-                                                    <span class="fa fa-trash text-danger"></span> {% trans %}Delete selected Users{% endtrans %}
-                                                </a>
-                                            </li>
-                                        </ul>
-                                    </div>
-                                </th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                        {% for user in users.items %}
-                            <tr class="action-row">
-                                <td><input type="checkbox" name="rowid" class="action-checkbox" value="{{ user.id }}" title="Select User"/></td>
-                                <td>{{ user.id }}</td>
-                                <td><a href="{{ url_for('user.profile', username=user.username) }}">{{ user.username }}</a></td>
-                                <td>{{ user.post_count }}</td>
-                                <td>{{ user.date_joined|format_date('%b %d %Y') }}</td>
-                                <td>{{ user.primary_group.name }}</td>
-                                <td>
-                                    {% if current_user|can_edit_user and not user|is_admin or current_user|is_admin %}
-                                        <a href="{{ url_for('management.edit_user', user_id = user.id) }}">
-                                            <span class="fa fa-pencil text-primary" data-toggle="tooltip" data-placement="top" title="{% trans %}Edit{% endtrans %}"></span>
-                                        </a>
-                                    {% endif %}
-
-                                    {% if current_user|can_ban_user and not user.permissions['banned'] %}
-                                        <form class="inline-form" id="ban-{{user.id}}" method="post" action="{{ url_for('management.ban_user', user_id = user.id) }}">
-                                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                                            <button class="btn btn-link">
-                                                <span class="fa fa-flag text-warning" data-toggle="tooltip" data-placement="top" title="{% trans %}Ban{% endtrans %}"></span>
-                                            </button>
-                                        </form>
-                                    {% endif %}
-
-                                    {% if current_user|can_ban_user and user.permissions['banned'] %}
-                                        <form class="inline-form" id="unban-{{user.id}}" method="post" action="{{ url_for('management.unban_user', user_id = user.id) }}">
-                                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                                            <button class="btn btn-link">
-                                                <span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="{% trans %}Unban{% endtrans %}"></span>
-                                            </button>
-                                        </form>
-                                    {% endif %}
-
-                                    {% if current_user|is_admin %}
-                                    <form class="inline-form" id="delete-{{user.id}}" method="post" action="{{ url_for('management.delete_user', user_id = user.id) }}">
-                                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                                        <button class="btn btn-link">
-                                            <span class="fa fa-trash text-danger" data-toggle="tooltip" data-placement="top" title="{% trans %}Delete{% endtrans %}"></span>
-                                        </button>
-                                    </form>
-                                    {% endif %}
-                                </td>
-                            </tr>
-                        {% else %}
-                            <tr>
-                                <td colspan="6">
-                                    {% trans %}No users found matching your search criteria.{% endtrans %}
-                                </td>
-                            </tr>
-                        {% endfor %}
-                    </tbody>
-                </table>
-
-                <div class="panel-footer">
-                    <div class="row">
-                        <div class="col-md-12">
-                            {{ render_pagination(users, url_for('management.users')) }}
-                        </div>
+                    {% if current_user|can_ban_user and user.permissions['banned'] %}
+                        <form class="inline-form" id="unban-{{user.id}}" method="post" action="{{ url_for('management.unban_user', user_id = user.id) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+
+                            <button class="btn btn-icon">
+                                <span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="{% trans %}Unban{% endtrans %}"></span>
+                            </button>
+                        </form>
+                    {% endif %}
+
+                    {% if current_user|is_admin %}
+                        <form class="inline-form" id="delete-{{user.id}}" method="post" action="{{ url_for('management.delete_user', user_id = user.id) }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+
+                            <button class="btn btn-icon">
+                                <span class="fa fa-trash text-danger" data-toggle="tooltip" data-placement="top" title="{% trans %}Delete{% endtrans %}"></span>
+                            </button>
+                        </form>
+                    {% endif %}
                     </div>
                 </div>
-            </div>
+            {% else %}
+                <div class="row settings-row clearfix">
+                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No users found matching your search criteria.{% endtrans %}</div>
+                </div>
+            {% endfor %}
+
+            </div> <!-- end settings content -->
+        </div>
+
+        <div class="panel-footer settings-footer">
+            {{ render_pagination(users, url_for('management.users')) }}
         </div>
     </div>
 </div>

+ 111 - 46
flaskbb/templates/message/conversation.html

@@ -1,86 +1,151 @@
 {% extends theme("message/message_layout.html") %}
 
 {% block css %}
-    {{ super() }}
     <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
 {% endblock %}
 
 {% block message_content %}
-<div class="panel panel-default">
-    <div class="panel-heading">Subject: <strong>{{ conversation.subject }}</strong></div>
-    <div class="panel-body">
-        <section class="conversation-list">
-            {% if conversation.draft %}
-                {% set messages = [conversation.first_message] %}
-            {% else %}
-                {% set messages = conversation.messages %}
-            {% endif %}
+{# quick check if the conversation is a draft #}
+{% if conversation.draft %}
+    {% set messages = [conversation.first_message] %}
+{% else %}
+    {% set messages = conversation.messages %}
+{% endif %}
+
+<div class="panel conversation-panel">
+    <div class="panel-heading conversation-head">
+        Subject: <strong>{{ conversation.subject }}</strong>
+    </div>
+
+    <div class="panel-body conversation-body">
+        <div class="conversation-box">
             {% for message in messages %}
             <!-- First Comment -->
-            <article class="row" id="mid{{message.id}}">
+            <div class="row conversation-row" id="mid{{message.id}}">
                 {% if current_user.id == message.user_id %}
-                <div class="col-md-2 col-sm-2 hidden-xs">
-                        <figure class="thumbnail">
-                        {% if message.user.avatar %}
-                            <img class="img-responsive" src="{{ message.user.avatar }}" />
+                <div class="col-md-2 col-sm-3 col-xs-12">
+                    <div class="conversation-author author">
+                        <!-- Registered User -->
+                        <div class="author-name"><h4><a href="{{ message.user.url }}">{{ message.user.username }}</a></h4></div>
+
+                        <!-- check if user is online or not -->
+                        {% if message.user|is_online %}
+                        <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
                         {% else %}
-                            <!-- "no" avatar proudly made with Google Drawing.. because lol -->
-                            <img src="{{ url_for('static', filename='img/avatar100x100.png') }}" class="img-responsive" alt="avatar" />
+                        <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
+                        {% endif %}
+                        <div class="author-title"><h5>{{ message.user.primary_group.name }}</h5></div>
+
+                        {% if message.user.avatar %}
+                            <div class="author-avatar"><img src="{{ message.user.avatar }}" alt="avatar"></div>
+                        {% endif %}
+
+                        <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ message.user.date_joined|format_date('%b %d %Y') }}</div>
+                        <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ message.user.post_count }}</div>
+
+                        {% if message.user.website %}
+                        <div class="author-website"><a href="{{ message.user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
                         {% endif %}
-                        <figcaption class="text-center"><strong><a href="{{ message.user.url }}" class="conversation-username">{{ message.user.username }}</a></strong></figcaption>
-                    </figure>
+                    </div>
                 </div>
                 {% endif %}
-                <div class="col-md-10 col-sm-10">
-                    <div class="panel panel-default arrow {% if current_user.id == message.user_id %}left{% else %}right{% endif %}">
-                        <div class="panel-body">
-                            <header class="text-left">
+                <div class="col-md-10 col-sm-9 col-xs-12">
+                    <div class="conversation-message arrow {% if current_user.id == message.user_id %}left{% else %}right{% endif %}">
+                        <div class="message-box">
+
+                            <div class="text-left message-header">
                                 <time class="conversation-date" datetime="{{ message.date_created }}"><i class="fa fa-clock-o"></i> {{ message.date_created|format_date("%d %B %Y - %H:%M") }}</time>
-                            </header>
-                            <div class="conversation-message">
+                            </div>
+
+                            <div class="message-content">
                                 {{ message.message|markup|safe }}
                             </div>
+
+                            <div class="message-footer">
                             {% if conversation.draft %}
                                 <p class="text-right"><a href="{{ url_for('message.edit_conversation', conversation_id=conversation.id) }}" class="btn btn-default btn-sm"><i class="fa fa-pencil"></i> edit</a></p>
                             {% else %}
-                                <p class="text-right"><a href="#" class="btn btn-default btn-sm reply-btn" data-message-id="{{ message.id }}"><i class="fa fa-reply"></i> reply</a></p>
+                                <p class="{% if current_user.id == message.user_id %}left{% else %}right{% endif %}"><a href="#" class="btn btn-default btn-sm reply-btn" data-message-id="{{ message.id }}"><i class="fa fa-reply"></i> reply</a></p>
                             {% endif %}
+                            </div>
+
                         </div>
                     </div>
                 </div>
                 {% if current_user.id != message.user_id %}
-                <div class="col-md-2 col-sm-2 hidden-xs">
-                        <figure class="thumbnail">
-                            {% if message.user.avatar %}
-                                <img class="img-responsive" src="{{ message.user.avatar }}" />
-                            {% else %}
-                                <img src="{{ url_for('static', filename='img/avatar100x100.png') }}" class="img-responsive" alt="avatar" />
-                            {% endif %}
-                        <figcaption class="text-center"><strong><a href="{{ message.user.url }}" class="conversation-username">{{ message.user.username }}</a></strong></figcaption>
-                    </figure>
+                <div class="col-md-2 col-sm-3 col-xs-12">
+                    <div class="conversation-author author">
+                        {% if message.user_id and message.user %}
+                        <!-- Registered User -->
+                        <div class="author-name"><h4><a href="{{ message.user.url }}">{{ message.user.username }}</a></h4></div>
+
+                        <!-- check if user is online or not -->
+                        {% if message.user|is_online %}
+                        <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
+                        {% else %}
+                        <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
+                        {% endif %}
+                        <div class="author-title"><h5>{{ message.user.primary_group.name }}</h5></div>
+
+                        {% if message.user.avatar %}
+                            <div class="author-avatar"><img src="{{ message.user.avatar }}" alt="avatar"></div>
+                        {% endif %}
+
+                        <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ message.user.date_joined|format_date('%b %d %Y') }}</div>
+                        <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ message.user.post_count }}</div>
+                        <div class="author-pm">
+                        <a href="{{ url_for('message.new_conversation') }}?to_user={{ message.user.username }}">{% trans %}Message{% endtrans %}</a>
+                        </div>
+
+                        {% if message.user.website %}
+                        <div class="author-website"><a href="{{ message.user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
+                        {% endif %}
+
+                        {% else %}
+                        <div class="author-name"><h4>{% trans %}Deleted{% endtrans %}</h4></div>
+                        <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
+                        {% endif %}
+                    </div>
                 </div>
                 {% endif %}
-            </article>
+            </div>
         {% endfor %}
-        </section>
+        </div>
     </div>
 </div>
-{% if not conversation.draft %}
-    {% from "macros.html" import render_field, render_submit_field %}
-    <form class="form" action="#" method="post">
-        {{ form.hidden_tag() }}
-
-        {{ render_field(form.message, div_class="col-sm-12 message-content", rows="10", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
 
-        <div class="col-sm-12" style="padding-top: 5px">
-        {{ render_submit_field(form.submit) }}
+{% if not conversation.draft %}
+{% from "macros.html" import render_quickreply, render_submit_field %}
+<form class="form" action="#" method="post">
+    {{ form.hidden_tag() }}
+    <div class="row conversation-reply">
+        <div class="col-md-12 col-sm-12 col-xs-12">
+            <div class="editor-box">
+                <div class="editor">
+                    {{ render_quickreply(form.message, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
+                </div>
+                <div class="editor-submit">
+                    <div class="editor-options pull-left">
+                        <span class="label label-info">Markdown</span>
+                        <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
+                        <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
+                    </div>
+                    {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
+                </div>
+            </div>
         </div>
-    </form>
+    </div>
+</form>
 {% endif %}
 
 {% endblock %}
 
 {% block scripts %}
+    <script>
+    $(function () {
+      $('[data-toggle="tooltip"]').tooltip()
+    })
+    </script>
     <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
     <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
 {% endblock %}

+ 84 - 78
flaskbb/templates/message/conversation_list.html

@@ -1,87 +1,93 @@
-<div class="panel panel-primary conversation">
-    <div class="panel-heading">
-        <span class="glyphicon glyphicon-comment"></span>
-        <h3 class="panel-title">{% trans %}Conversations{% endtrans %}</h3>
-        <span class="label label-info">{{ message_count }}/{{ flaskbb_config["MESSAGE_QUOTA"] }}</span>
+<div class="panel conversation-panel">
+    <div class="panel-heading conversation-head">
+        <div class="row">
+            <div class="col-md-12 col-sm-12 col-xs-12">
+                <div class="pull-left">
+                    <span class="fa fa-comment"></span> {% trans %}Conversations{% endtrans %}
+                </div>
+
+                <div class="pull-right">
+                    <span class="label label-info">{{ message_count }}/{{ flaskbb_config["MESSAGE_QUOTA"] }}</span>
+                </div>
+            </div>
+        </div>
     </div>
-    <div class="panel-body">
-        <ul class="list-group">
-            {% for conversation in conversations.items %}
-            <li class="list-group-item">
-                <div class="row">
-                    <div class="col-xs-2 col-md-1">
-                        {% if conversation.from_user.avatar %}
-                        <img src="{{ conversation.from_user.avatar }}" class="img-circle" alt="avatar" width="65px" height="65px" />
+    <div class="panel-body conversation-body">
+        {% for conversation in conversations.items %}
+        <div class="row conversation-row hover">
+            <!-- avatar -->
+            <div class="col-md-1 col-sm-2 col-xs-2 conversation-avatar">
+                {% if conversation.from_user.avatar %}
+                <img src="{{ conversation.from_user.avatar }}" class="img-circle" alt="avatar" width="65px" height="65px" />
+                {% else %}
+                <img src="{{ url_for('static', filename='img/avatar80x80.png') }}" class="img-circle" alt="avatar" width="65px" height="65px" />
+                {% endif %}
+            </div>
+            <!-- other stuff -->
+            <div class="col-md-11 col-sm-10 col-xs-10 conversation-info">
+                <!-- subject -->
+                <div class="conversation-subject">
+                    <a href="{{ url_for('message.view_conversation', conversation_id=conversation.id) }}">
+                        {% if conversation.unread %}
+                            <strong>{{ conversation.subject }}</strong>
                         {% else %}
-                        <img src="{{ url_for('static', filename='img/avatar80x80.png') }}" class="img-circle" alt="avatar" width="65px" height="65px" />
+                            {{ conversation.subject }}
                         {% endif %}
-                    </div>
-                    <div class="col-xs-10 col-md-11">
-                        <div>
-                            <a href="{{ url_for('message.view_conversation', conversation_id=conversation.id) }}">
-                                {% if conversation.unread %}
-                                    <strong>{{ conversation.subject }}</strong>
-                                {% else %}
-                                    {{ conversation.subject }}
-                                {% endif %}
-                            </a>
-                            <div class="mic-info">
-                                From <a href="{{ conversation.from_user.url }}">{{ conversation.from_user.username }}</a>
-                                to <a href="{{ conversation.to_user.url }}">{{ conversation.to_user.username }}</a>
-                                on {{ conversation.date_created|format_date("%d %B %Y - %H:%M") }}
-
-                            </div>
-                        </div>
-                        <div class="comment-text">
-                            {# the first message of conversation is always the starting message #}
-                            {{ conversation.first_message.message|crop_title(150)|markup|safe }}
-                        </div>
-                        <div class="action">
-                            {% if include_move %}
-                            <form class="inline-form" method="POST" action="{{ url_for('message.move_conversation', conversation_id=conversation.id) }}">
-                                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                <button type="submit" class="btn btn-info btn-xs" title="Move to Trash">
-                                    <span class="fa fa-archive"></span>
-                                </button>
-                            </form>
-                            {% endif %}
+                    </a>
+                </div>
+                <!-- meta info (date, user) -->
+                <div class="conversation-meta">
+                    From <a href="{{ conversation.from_user.url }}">{{ conversation.from_user.username }}</a>
+                    to <a href="{{ conversation.to_user.url }}">{{ conversation.to_user.username }}</a>
+                    on {{ conversation.date_created|format_date("%d %B %Y - %H:%M") }}
+                </div>
+                <!-- actual content -->
+                <div class="conversation-content">
+                    {{ conversation.first_message.message|crop_title(150)|markup|safe }}
+                </div>
+                <!-- actions -->
+                <div class="conversation-actions">
+                    {% if include_move %}
+                    <form class="inline-form" method="POST" action="{{ url_for('message.move_conversation', conversation_id=conversation.id) }}">
+                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                        <button type="submit" class="btn btn-info btn-xs" title="Move to Trash">
+                            <span class="fa fa-archive"></span>
+                        </button>
+                    </form>
+                    {% endif %}
 
-                            {% if include_delete %}
-                            <form class="inline-form" method="POST" action="{{ url_for('message.delete_conversation', conversation_id=conversation.id) }}">
-                                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                <button type="submit" class="btn btn-danger btn-xs" title="Delete">
-                                    <span class="fa fa-trash"></span>
-                                </button>
-                            </form>
-                            {% endif %}
+                    {% if include_delete %}
+                    <form class="inline-form" method="POST" action="{{ url_for('message.delete_conversation', conversation_id=conversation.id) }}">
+                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                        <button type="submit" class="btn btn-danger btn-xs" title="Delete">
+                            <span class="fa fa-trash"></span>
+                        </button>
+                    </form>
+                    {% endif %}
 
-                            {% if include_restore %}
-                            <form class="inline-form" method="POST" action="{{ url_for('message.restore_conversation', conversation_id=conversation.id) }}">
-                                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                <button type="submit" class="btn btn-success btn-xs" title="Restore">
-                                    <span class="fa fa-undo"></span>
-                                </button>
-                            </form>
-                            {% endif %}
+                    {% if include_restore %}
+                    <form class="inline-form" method="POST" action="{{ url_for('message.restore_conversation', conversation_id=conversation.id) }}">
+                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
+                        <button type="submit" class="btn btn-success btn-xs" title="Restore">
+                            <span class="fa fa-undo"></span>
+                        </button>
+                    </form>
+                    {% endif %}
 
-                            {% if include_edit %}
-                            <a class="btn btn-success btn-xs" alt="Edit" title="Edit" href="{{ url_for('message.edit_conversation', conversation_id = conversation.id) }}">
-                                <span class="fa fa-pencil"></span>
-                            </a>
-                            {% endif %}
-                        </div>
-                    </div>
-                </div>
-            </li>
-            {% else %}
-            <li class="list-group-item">
-                <div class="row">
-                    <div class="col-xs-12">
-                        {% trans %}No conversations found.{% endtrans %}
-                    </div>
+                    {% if include_edit %}
+                    <a class="btn btn-success btn-xs" alt="Edit" title="Edit" href="{{ url_for('message.edit_conversation', conversation_id = conversation.id) }}">
+                        <span class="fa fa-pencil"></span>
+                    </a>
+                    {% endif %}
                 </div>
-            </li>
-            {% endfor %}
-        </ul>
+            </div>
+        </div>
+        {% else %}
+        <div class="row conversation-row">
+            <div class="col-md-12 col-sm-12 col-xs-12">
+                {% trans %}No conversations found.{% endtrans %}
+            </div>
+        </div>
+        {% endfor %}
     </div>
 </div>

+ 1 - 1
flaskbb/templates/message/drafts.html

@@ -6,7 +6,7 @@
 
 {% set include_move = True %}
 {% set include_edit = True %}
-{% include "message/conversation_list.html" %}
+{% include theme("message/conversation_list.html") %}
 
 {{ render_pagination(conversations, url_for("message.drafts")) }}
 

+ 1 - 1
flaskbb/templates/message/inbox.html

@@ -5,7 +5,7 @@
 {% block message_content %}
 
 {% set include_move = True %}
-{% include "message/conversation_list.html" %}
+{% include theme("message/conversation_list.html") %}
 
 {{ render_pagination(conversations, url_for("message.inbox")) }}
 

+ 43 - 10
flaskbb/templates/message/message_form.html

@@ -2,20 +2,53 @@
 
 {% extends theme("message/message_layout.html") %}
 
+{% block css %}
+    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
+{% endblock %}
+
 {% block message_content %}
-{% from theme("macros.html") import horizontal_field, render_submit_field %}
-<form class="form-horizontal" role="form" method="post" name="new">
-    <legend>{{ title }}</legend>
+{% from theme("macros.html") import render_submit_field, render_quickreply, render_field %}
+<form class="form-horizontal" role="form" method="post">
     {{ form.hidden_tag() }}
-    {{ horizontal_field(form.to_user)}}
-    {{ horizontal_field(form.subject)}}
-    {{ horizontal_field(form.message, rows=7)}}
+    <div class="panel page-panel">
+        <div class="panel-heading page-head">
+            {{ title }}
+        </div>
+
+        <div class="panel-body page-body">
+            {{ form.hidden_tag() }}
+            <div class="col-md-12 col-sm-12 col-xs-12">
 
-    <div class="form-group row">
-        <div class="col-sm-offset-3 col-lg-9">
-            {{ render_submit_field(form.send_message, input_class="btn btn-success") }}
-            {{ render_submit_field(form.save_message, input_class="btn btn-info") }}
+                {{ render_field(form.to_user, div_class="col-md-6 col-sm-6 col-xs-6") }}
+                {{ render_field(form.subject, div_class="col-md-6 col-sm-6 col-xs-6") }}
+
+                <div class="form-group">
+                    <div class="col-md-12 col-sm-12 col-xs-12">
+                        <div class="editor-box">
+                            <div class="editor">
+                                {{ render_quickreply(form.message, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
+                            </div>
+                            <div class="editor-submit">
+                                <div class="editor-options pull-left">
+                                    <span class="label label-info">Markdown</span>
+                                    <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
+                                    <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
+                                </div>
+                                <div class="pull-right">
+                                    {{ render_submit_field(form.send_message, input_class="btn btn-success") }}
+                                    {{ render_submit_field(form.save_message, input_class="btn btn-info") }}
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
         </div>
     </div>
 </form>
 {% endblock %}
+
+{% block scripts %}
+    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
+    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
+{% endblock %}

+ 5 - 3
flaskbb/templates/message/message_layout.html

@@ -2,17 +2,19 @@
 {% block content %}
 {%- from theme('macros.html') import navlink with context -%}
 
-<ul class="breadcrumb">
+<ol class="breadcrumb flaskbb-breadcrumb">
     <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
     <li><a href="{{ url_for('user.profile', username=current_user.username) }}">{{ current_user.username }}</a></li>
     <li class="active">{% trans %}Private Message{% endtrans %}</li>
-</ul>
+</ol>
 
 <div class="row">
     <div class="col-sm-2">
         <div class="sidebar">
             <ul class="nav sidenav">
-                <a href="{{ url_for('message.new_conversation') }}" class="btn btn-success btn-compose">Compose</a>
+                <div class="sidenav-btn">
+                    <a href="{{ url_for('message.new_conversation') }}" class="btn btn-success">{% trans %}New Message{% endtrans %}</a>
+                </div>
                 {{ navlink('message.inbox', _('Inbox')) }}
                 {{ navlink('message.sent', _('Sent')) }}
                 {{ navlink('message.drafts', _('Drafts')) }}

+ 1 - 1
flaskbb/templates/message/sent.html

@@ -5,7 +5,7 @@
 {% block message_content %}
 
 {% set include_move = True %}
-{% include "message/conversation_list.html" %}
+{% include theme("message/conversation_list.html") %}
 
 {{ render_pagination(conversations, url_for("message.sent")) }}
 

+ 1 - 1
flaskbb/templates/message/trash.html

@@ -6,7 +6,7 @@
 
 {% set include_restore = True %}
 {% set include_delete = True %}
-{% include "message/conversation_list.html" %}
+{% include theme("message/conversation_list.html") %}
 
 {{ render_pagination(conversations, url_for("message.trash")) }}
 

+ 61 - 39
flaskbb/templates/user/all_posts.html

@@ -1,47 +1,69 @@
-{% extends theme('layout.html') %}
-{% from theme('macros.html') import render_pagination %}
+{% extends theme("user/profile_layout.html") %}
+{% from theme('macros.html') import render_pagination, topic_pages %}
 
-{% block content %}
-<ul class="breadcrumb">
+{% block breadcrumb %}
+<ul class="breadcrumb flaskbb-breadcrumb">
     <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li ><a href="{{ user.url }}">{{ user.username }}</a></li>
-    <li class="active">{% trans %}All Posts{% endtrans %}</li>
+    <li><a href="{{ user.url }}">{{ user.username }}</a></li>
+    <li class="active">{% trans %}Posts{% endtrans %}</li>
 </ul>
+{% endblock %}
+
+{% block profile_navigation %}
+<ul class="nav profile-sidenav" id="profile-tabs" role="tablist">
+    <li>
+        <a href="{{ user.url }}">
+            <span class="fa fa-home"></span> {% trans %}Overview{% endtrans %}
+        </a>
+    </li>
+    {#
+    <li>
+        <a href="{{ user.url }}">
+            <span class="fa fa-line-chart"></span> {% trans %}Statistics{% endtrans %}
+        </a>
+    </li>
+    #}
+    <li>
+        <a href="{{ url_for('user.view_all_topics', username=user.username) }}">
+            <span class="fa fa-comments"></span> {% trans %}Topics{% endtrans %}
+        </a>
+    </li>
+
+    <li class="active">
+        <a href="{{ url_for('user.view_all_posts', username=user.username) }}">
+            <span class="fa fa-comment"></span> {% trans %}Posts{% endtrans %}
+        </a>
+    </li>
+</ul>
+{% endblock %}
+
+
+{% block profile_content %}
+<!-- middle column -->
+<div class="col-md-9 col-sm-9 col-xs-12 profile-content">
 
-<div class="pull-left" style="padding-bottom: 10px">
-    {{ render_pagination(posts, url_for('user.view_all_posts', username=user.username)) }}
-</div> <!-- end span pagination -->
-<table class="table table-bordered">
-    <thead>
-        <tr>
-            <th>
-                {% trans user=user.username %}All Posts created by {{user}}{% endtrans %}
-            </th>
-        </tr>
-    </thead>
-    <tbody>
     {% for post in posts.items %}
-        <tr>
-            <td>
-                <strong><a href="{{ post.topic.url }}">{{ post.topic.title }}</a></strong>
-                in <a href="{{ post.topic.forum.url }}">{{ post.topic.forum.title }}</a>
-                <span class="divider"> - </span>
-                <small>{{ post.date_created|time_since }}</small>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                {{ post.content }}
-            </td>
-        </tr>
+    <div class="panel page-panel">
+        <div class="panel-heading page-head">
+            <a href="{{ post.topic.url }}">{{ post.topic.title }}</a>
+        </div>
+        <div class="panel-body page-body topic-content">
+            <div class="col-md-12 col-sm-12 col-xs-12">
+                <div class="topic-created">
+                    {{ post.date_created|format_date('%d %B %Y - %H:%M') }}
+                </div>
+                <div class="topic-content">
+                    {{ post.content|markup|safe }}
+                </div>
+            </div>
+        </div>
+    </div>
     {% else %}
-        <tr>
-            <td>
-                {% trans %}No posts.{% endtrans %}
-            </td>
-        </tr>
+    <div class="row">
+        <div class="col-md-12 col-sm-12 col-xs-12">
+            {% trans %}The user has not written any posts yet.{% endtrans %}
+        </div>
+    </div>
     {% endfor %}
-
-    </tbody>
-</table>
+</div>
 {% endblock %}

+ 67 - 67
flaskbb/templates/user/all_topics.html

@@ -1,80 +1,80 @@
-{% extends theme('layout.html') %}
-{% from theme('macros.html') import render_pagination %}
+{% extends theme("user/profile_layout.html") %}
+{% from theme('macros.html') import render_pagination, topic_pages %}
 
-{% block content %}
-<ul class="breadcrumb">
+{% block breadcrumb %}
+<ul class="breadcrumb flaskbb-breadcrumb">
     <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li ><a href="{{ url_for('user.profile', username=user.username) }}">{{ user.username }}</a></li>
-    <li class="active">{% trans %}All Topics{% endtrans %}</li>
+    <li><a href="{{ user.url }}">{{ user.username }}</a></li>
+    <li class="active">{% trans %}Topics{% endtrans %}</li>
 </ul>
+{% endblock %}
 
-<div class="pull-left">
-    {{ render_pagination(topics, url_for('user.view_all_topics', username=user.username)) }}
-</div> <!-- end span pagination -->
-
+{% block profile_navigation %}
+<ul class="nav profile-sidenav" id="profile-tabs" role="tablist">
+    <li>
+        <a href="{{ user.url }}">
+            <span class="fa fa-home"></span> {% trans %}Overview{% endtrans %}
+        </a>
+    </li>
+    {#
+    <li>
+        <a href="{{ user.url }}">
+            <span class="fa fa-line-chart"></span> {% trans %}Statistics{% endtrans %}
+        </a>
+    </li>
+    #}
+    <li class="active">
+        <a href="{{ url_for('user.view_all_topics', username=user.username) }}">
+            <span class="fa fa-comments"></span> {% trans %}Topics{% endtrans %}
+        </a>
+    </li>
 
-<table class="table table-bordered">
-    <thead>
-        <tr>
-            <th colspan="5">
-                {% trans user=user.username %}All Topics created by {{user}}{% endtrans %}
-            </th>
-        </tr>
-    </thead>
-    <tbody>
-        <tr>
-            <td colspan="2">{% trans %}Topic{% endtrans %}</td>
+    <li>
+        <a href="{{ url_for('user.view_all_posts', username=user.username) }}">
+            <span class="fa fa-comment"></span> {% trans %}Posts{% endtrans %}
+        </a>
+    </li>
+</ul>
+{% endblock %}
 
-            <td>{% trans %}Posts{% endtrans %}</td>
+{% block profile_content %}
+<!-- middle column -->
+<div class="col-md-9 col-sm-9 col-xs-12 profile-content">
 
-            <td>{% trans %}Views{% endtrans %}</td>
+    {% for topic in topics.items %}
 
-            <td>{% trans %}Last Post{% endtrans %}</td>
-        </tr>
+    <div class="panel page-panel">
+        <div class="panel-heading page-head topic-head">
+            <strong><a href="{{ topic.url }}">{{ topic.title }}</a></strong> in <a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a>
+        </div>
 
-        {% for topic in topics.items %}
-        <tr>
-            <td width="4%"></td>
-            <td>
-                <div>
-                    <a href="{{ topic.url }}">{{ topic.title }}</a> <br />
-                    <small>
-                        {% trans %}by{% endtrans %}
-                        {% if topic.user_id %}
-                         <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
-                        {% else %}
-                        {{ topic.username }}
-                        {% endif %}
-                    </small>
+        <div class="panel-body page-body topic-content">
+            <div class="col-md-12 col-sm-12 col-xs-12">
+                <div class="topic-created">
+                    {{ topic.date_created|format_date('%d %B %Y - %H:%M') }}
+                </div>
+                <div class="topic-content">
+                {{ topic.first_post.content|markup|safe }}
                 </div>
-            </td>
-            <td>
-                {{ topic.post_count }}
-            </td>
-            <td>
-                {{ topic.views }}
-            </td>
-            <td>
-                <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-                <small>
-                    {% trans %}by{% endtrans %}
-                    {% if topic.last_post.user_id %}
-                    <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                    {% else %}
-                    {{ topic.last_post.username }}
-                    {% endif %}
-                </small>
-            </td>
-        </tr>
-        {% else %}
-        <tr>
-            <td colspan="5">
-                {% trans %}No topics.{% endtrans %}
-            </td>
-        </tr>
-        {% endfor %}
+            </div>
+        </div>
+    </div>
+
+    {% else %}
+    <div class="row">
+        <div class="col-md-12 col-sm-12 co-xs-12">
+            {% trans %}The user has not opened any topics yet.{% endtrans %}
+        </div>
+    </div> <!-- end forum-row -->
+    {% endfor %}
 
-    </tbody>
-</table>
+    {% if topics.items|length >= 1 %}
+    <div class="col-md-12 col-sm-12 col-xs-12 controls-col">
+        <div class="pull-left">
+            {{ render_pagination(topics, url_for('user.view_all_topics', username=user.username)) }}
+        </div>
+    </div>
+    {% endif %}
 
+</div>
 {% endblock %}

+ 15 - 9
flaskbb/templates/user/change_email.html

@@ -1,13 +1,19 @@
 {% extends theme("user/settings_layout.html") %}
+{% block settings_content %}
 {% from theme("macros.html") import horizontal_field %}
 
-{% block settings_content %}
-<form class="form-horizontal" role="form" method="POST">
-    <legend>{% trans %}Change E-Mail Address{% endtrans %}</legend>
-    {{ form.hidden_tag() }}
-    {{ horizontal_field(form.old_email)}}
-    {{ horizontal_field(form.new_email)}}
-    {{ horizontal_field(form.confirm_new_email)}}
-    {{ horizontal_field(form.submit) }}
-</form>
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}Change E-Mail Address{% endtrans %}
+    </div>
+    <div class="panel-body page-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_field(form.old_email)}}
+            {{ horizontal_field(form.new_email)}}
+            {{ horizontal_field(form.confirm_new_email)}}
+            {{ horizontal_field(form.submit) }}
+        </form>
+    </div>
+</div>
 {% endblock %}

+ 15 - 9
flaskbb/templates/user/change_password.html

@@ -1,13 +1,19 @@
 {% extends theme("user/settings_layout.html") %}
+{% block settings_content %}
 {% from theme("macros.html") import horizontal_field %}
 
-{% block settings_content %}
-<form class="form-horizontal" role="form" method="POST">
-    <legend>{% trans %}Change Password{% endtrans %}</legend>
-    {{ form.hidden_tag() }}
-    {{ horizontal_field(form.old_password)}}
-    {{ horizontal_field(form.new_password)}}
-    {{ horizontal_field(form.confirm_new_password)}}
-    {{ horizontal_field(form.submit) }}
-</form>
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}Change Password{% endtrans %}
+    </div>
+    <div class="panel-body page-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_field(form.old_password)}}
+            {{ horizontal_field(form.new_password)}}
+            {{ horizontal_field(form.confirm_new_password)}}
+            {{ horizontal_field(form.submit) }}
+        </form>
+    </div>
+</div>
 {% endblock %}

+ 29 - 13
flaskbb/templates/user/change_user_details.html

@@ -1,17 +1,33 @@
 {% extends theme("user/settings_layout.html") %}
-{% from theme("macros.html") import horizontal_field, horizontal_select_field %}
+{% block css %}
+    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
+{% endblock %}
 
 {% block settings_content %}
-<form class="form-horizontal" role="form" method="POST">
-    <legend class="">{% trans %}Change User Details{% endtrans %}</legend>
-    {{ form.hidden_tag() }}
-    {{ horizontal_select_field(form.birthday, select_class="form-control", surrounded_div="col-sm-4") }}
-    {{ horizontal_field(form.gender) }}
-    {{ horizontal_field(form.location) }}
-    {{ horizontal_field(form.website) }}
-    {{ horizontal_field(form.avatar) }}
-    {{ horizontal_field(form.signature, rows=5, div_class="col-sm-9") }}
-    {{ horizontal_field(form.notes, rows=12, div_class="col-sm-9") }}
-    {{ horizontal_field(form.submit) }}
-</form>
+{% from theme("macros.html") import horizontal_field, horizontal_select_field %}
+
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}Change User Details{% endtrans %}
+    </div>
+    <div class="panel-body page-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_select_field(form.birthday, select_class="form-control", surrounded_div="col-sm-4") }}
+            {{ horizontal_field(form.gender) }}
+            {{ horizontal_field(form.location) }}
+            {{ horizontal_field(form.website) }}
+            {{ horizontal_field(form.avatar) }}
+            {{ horizontal_field(form.signature, div_class="col-sm-8", rows="5", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
+            {{ horizontal_field(form.notes, div_class="col-sm-8", rows="12", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
+
+            {{ horizontal_field(form.submit) }}
+        </form>
+    </div>
+</div>
+{% endblock %}
+
+{% block scripts %}
+    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
+    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
 {% endblock %}

+ 14 - 8
flaskbb/templates/user/general_settings.html

@@ -1,12 +1,18 @@
 {% extends theme("user/settings_layout.html") %}
+{% block settings_content %}
 {% from theme("macros.html") import horizontal_field %}
 
-{% block settings_content %}
-<form class="form-horizontal" role="form" method="POST">
-    <legend class="">{% trans %}General Settings{% endtrans %}</legend>
-    {{ form.hidden_tag() }}
-    {{ horizontal_field(form.theme) }}
-    {{ horizontal_field(form.language) }}
-    {{ horizontal_field(form.submit) }}
-</form>
+<div class="panel page-panel">
+    <div class="panel-heading page-head">
+        {% trans %}General Settings{% endtrans %}
+    </div>
+    <div class="panel-body page-body">
+        <form class="form-horizontal" role="form" method="POST">
+            {{ form.hidden_tag() }}
+            {{ horizontal_field(form.theme) }}
+            {{ horizontal_field(form.language) }}
+            {{ horizontal_field(form.submit) }}
+        </form>
+    </div>
+</div>
 {% endblock %}

+ 81 - 78
flaskbb/templates/user/profile.html

@@ -1,87 +1,90 @@
-{% extends theme("layout.html") %}
-{% block content %}
-<ul class="breadcrumb">
+{% extends theme("user/profile_layout.html") %}
+
+{% block breadcrumb %}
+<ul class="breadcrumb flaskbb-breadcrumb">
     <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
     <li class="active">{{ user.username }}</li>
 </ul>
+{% endblock %}
 
-<table class="table table-bordered">
-    <thead>
-      <th><a href="{{ user.url }}">{{ user.username }}</a></th>
-      <th>{% trans %}Info{% endtrans %}</th>
-      <th>{% trans %}User Stats{% endtrans %}</th>
-    </thead>
-    <tbody>
-        <tr>
+{% block profile_content %}
+<!-- middle column -->
+<div class="col-md-9 col-sm-9 col-xs-12 profile-content">
 
-          <td width="200px">
-            <table class="table table-borderless">
-              <tbody>
-                {% if user.avatar %}
-                <tr><td><img src="{{ user.avatar }}" alt="Avatar" height="100" width="100"> </td></tr>
-                {% endif %}
-                {% if user|is_online %}
-                <tr><td><span class="label label-success">Online</span></td></tr>
-                {% else %}
-                <tr><td><span class="label label-default">Offline</span></td></tr>
-                {% endif %}
-                <tr><td><a href="{{ url_for('user.view_all_topics', username=user.username) }}">{% trans %}All Topics{% endtrans %}</a></td></tr>
-                <tr><td><a href="{{ url_for('user.view_all_posts', username=user.username) }}">{% trans %}All Posts{% endtrans %}</a></td></tr>
-              </tbody>
-            </table>
-          </td>
 
-          <td>
-            {% if user.notes %}
-                {% autoescape false %}
-                {{ user.notes|markup }}
-                {% endautoescape %}
-            {% else %}
-                {% trans %}User has not added any notes about him.{% endtrans %}
-            {% endif %}
-          </td>
+    <div class="tab-content">
+        <div role="tabpanel" class="tab-pane active" id="overview">
 
-          <td width="250px">
-            <table class="table table-borderless">
-              <tbody>
-                <tr>
-                  <td align="right">{% trans %}Group{% endtrans %}:</td>
-                  <td>{{ user.primary_group.name }}</td>
-                </tr>
-                <tr>
-                  <td align="right">{% trans %}Joined{% endtrans %}:</td>
-                  <td>{{ user.date_joined|format_date('%b %d %Y') }}</td>
-                </tr>
-                <tr>
-                  <td align="right">{% trans %}Posts{% endtrans %}:</td>
-                  <td>{{ user.post_count }} ({{ user.posts_per_day }} per day)</td>
-                </tr>
-                <tr>
-                  <td align="right">{% trans %}Last seen{% endtrans %}:</td>
-                  <td>{%- if user.lastseen -%} {{ user.lastseen|time_since }} {%- else -%} {% trans %}Never seen{% endtrans %} {%- endif -%}</td>
-                </tr>
-                <tr>
-                  <td align="right">{% trans %}Last post{% endtrans %}:</td>
-                  <td>{%- if user.last_post -%}
-                      <a href="{{ user.last_post.url }}">{{ user.last_post.date_created|time_since }}</a>
-                      {%- else -%}
-                        {% trans %}Never{% endtrans %}
-                      {%- endif -%}
-                  </td>
-                </tr>
-                <tr>
-                  <td align="right">{% trans %}Location{% endtrans %}:</td>
-                  <td>{%- if user.location -%} {{ user.location }} {%- else -%} {% trans %}No Info{% endtrans %} {%- endif -%}</td>
-                </tr>
-                <tr>
-                  <td align="right">{% trans %}Birthday{% endtrans %}:</td>
-                  <td>{% if user.birthday %} {{ user.birthday|format_date('%b %d %Y') }} {% else %} {% trans %}No Info{% endtrans %} {% endif %} {% if user.gender %} ({{ user.gender }}) {% endif %}</td>
-                </tr>
-              </tbody>
-            </table>
-          </td>
+            <div class="panel page-panel">
+                <div class="panel-heading page-head">{% trans %}Info{% endtrans %}</div>
+                <div class="panel-body page-body">
+                    <div class="col-md-12 col-sm-12 col-xs-12 profile-field">
+                    {% if user.notes %}
+                        {{ user.notes|markup|safe }}
+                    {% else %}
+                        <p>{% trans %}User has not added any notes about him.{% endtrans %}</p>
+                    {% endif %}
+                    </div>
+                </div>
+            </div> <!-- end profile widget -->
 
-        </tr>
-    </tbody>
-</table>
+
+            {% if user.signature %}
+            <div class="panel page-panel">
+                <div class="panel-heading page-head">{% trans %}Signature{% endtrans %}</div>
+                <div class="panel-body page-body">
+                    <div class="col-md-12 col-sm-12 col-xs-12 profile-field">
+                        {{ user.signature|markup|safe }}
+                    </div>
+                </div>
+            </div> <!-- end profile widget -->
+            {% endif %}
+
+        </div>
+        {# Other information available for use:
+         # TODO: eventually use the information (i don't how i should represent it.. any ideas?)
+        <div role="tabpanel" class="tab-pane" id="info">
+            <div>
+                {% trans %}Group{% endtrans %}:
+                {{ user.primary_group.name }}
+            </div>
+            <div>
+                {% trans %}Joined{% endtrans %}:
+                {{ user.date_joined|format_date('%b %d %Y') }}
+            </div>
+            <div>
+                {% trans %}Posts{% endtrans %}:
+                {{ user.post_count }} ({{ user.posts_per_day }} per day)
+            </div>
+            <div>
+                {% trans %}Last seen{% endtrans %}:
+                {%- if user.lastseen -%} {{ user.lastseen|time_since }} {%- else -%} {% trans %}Never seen{% endtrans %} {%- endif -%}
+            </div>
+            <div>
+                {% trans %}Last post{% endtrans %}:
+                {%- if user.last_post -%}
+                    <a href="{{ user.last_post.url }}">{{ user.last_post.date_created|time_since }}</a>
+                {%- else -%}
+                    {% trans %}Never{% endtrans %}
+                {%- endif -%}
+            </div>
+            <div>
+                {% trans %}Location{% endtrans %}:
+                {%- if user.location -%} {{ user.location }} {%- else -%} {% trans %}No Info{% endtrans %} {%- endif -%}
+            </div>
+            <div>
+                {% trans %}Birthday{% endtrans %}:
+                {% if user.birthday %}
+                    {{ user.birthday|format_date('%b %d %Y') }}
+                {% else %}
+                    {% trans %}No Info{% endtrans %}
+                {% endif %}
+                {% if user.gender %}
+                    ({{ user.gender }})
+                {% endif %}
+            </div>
+        </div>
+        #}
+    </div>
+</div> <!-- end col -->
 {% endblock %}

+ 0 - 0
flaskbb/themes/aurora/templates/user/profile_layout.html → flaskbb/templates/user/profile_layout.html


+ 4 - 5
flaskbb/templates/user/settings_layout.html

@@ -2,23 +2,23 @@
 {% block content %}
 {%- from theme('macros.html') import navlink with context -%}
 
-<ul class="breadcrumb">
+<ol class="breadcrumb flaskbb-breadcrumb">
     <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
     <li><a href="{{ current_user.url }}">{{ current_user.username }}</a></li>
     <li class="active">{% trans %}Settings{% endtrans %}</li>
-</ul>
+</ol>
 
 <div class="row">
     <div class="col-sm-3">
         <div class="sidebar">
             <ul class="nav sidenav">
-                <li class="nav-header">{% trans %}Account Settings{% endtrans %}</li>
+                <li class="sidenav-header">{% trans %}Account Settings{% endtrans %}</li>
                 {{ navlink('user.settings', _('General Settings')) }}
                 {{ navlink('user.change_user_details', _('Change User Details')) }}
                 {{ navlink('user.change_email', _('Change E-Mail Address')) }}
                 {{ navlink('user.change_password', _('Change Password')) }}
             </ul>
-        </div> <!--/.sidebar -->
+        </div>
     </div><!--/.col-sm-3 -->
     <div class="col-sm-9">
         {% block settings_content %}{% endblock %}
@@ -26,4 +26,3 @@
 </div><!--/row-->
 
 {% endblock %}
-

+ 0 - 21
flaskbb/themes/aurora/templates/auth/forgot_password.html

@@ -1,21 +0,0 @@
-{% set page_title = _("Request Password") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}Reset Password{% endtrans %}
-    </div>
-
-    <div class="panel-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_field(form.email) }}
-            {{ horizontal_field(form.submit)}}
-        </form>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 30
flaskbb/themes/aurora/templates/auth/login.html

@@ -1,30 +0,0 @@
-{% set page_title = _("Login") %}
-
-{% extends theme("layout.html") %}
-{% from theme("macros.html") import horizontal_field, render_boolean_field %}
-{% block content %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}Login{% endtrans %}
-    </div>
-
-    <div class="panel-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_field(form.login)}}
-            {{ horizontal_field(form.password)}}
-            {{ horizontal_field(form.remember_me) }}
-            {{ horizontal_field(form.submit) }}
-
-            <div class="form-group">
-                <div class="col-sm-offset-3 col-sm-4">
-                    <a class="pull-left" href="{{ url_for('auth.register') }}"><small>{% trans %}Not a member yet?{% endtrans %}</small></a>
-                    <a class="pull-right" href="{{ url_for('auth.forgot_password') }}"><small>{% trans %}Forgot Password?{% endtrans %}</small></a>
-                </div>
-            </div>
-        </form>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 22
flaskbb/themes/aurora/templates/auth/reauth.html

@@ -1,22 +0,0 @@
-{% set page_title = _("Refresh Login") %}
-{% set active_forum_nav=True %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}Refresh Login{% endtrans %}
-    </div>
-
-    <div class="panel-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_field(form.password)}}
-            {{ horizontal_field(form.submit)}}
-        </form>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 30
flaskbb/themes/aurora/templates/auth/register.html

@@ -1,30 +0,0 @@
-{% set page_title = _("Register") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}Register{% endtrans %}
-    </div>
-
-    <div class="panel-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_field(form.username)}}
-            {{ horizontal_field(form.email)}}
-            {{ horizontal_field(form.password)}}
-            {{ horizontal_field(form.confirm_password)}}
-
-            {% if config["RECAPTCHA_ENABLED"] %}
-                {{ horizontal_field(form.recaptcha) }}
-            {% endif %}
-
-            {{ horizontal_field(form.accept_tos)}}
-            {{ horizontal_field(form.submit)}}
-        </form>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 18
flaskbb/themes/aurora/templates/auth/reset_password.html

@@ -1,18 +0,0 @@
-{% set page_title = _("Reset Password") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<form class="form-horizontal" role="form" method="POST">
-    <h2>{% trans %}Reset Password{% endtrans %}</h2>
-    <hr>
-        {{ form.hidden_tag() }}
-        {{ form.token }}
-        {{ horizontal_field(form.email) }}
-        {{ horizontal_field(form.password) }}
-        {{ horizontal_field(form.confirm_password)}}
-        {{ horizontal_field(form.submit)}}
-</form>
-
-{% endblock %}

+ 0 - 16
flaskbb/themes/aurora/templates/errors/forbidden_page.html

@@ -1,16 +0,0 @@
-{% set page_title = _("No Access - 403") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-
-<div class="panel page-panel">
-    <div class="panel-body page-body">
-        <div class="col-md-12 col-sm-12 col-xs-12">
-            <h1>{% trans %}Forbidden Page{% endtrans %}</h1>
-            <p>{% trans %}You do not have the permission to view this page.{% endtrans %}</p>
-            <p><a href="{{url_for('forum.index')}}">{% trans %}Back to the Forums{% endtrans %}</a></p>
-        </div>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 16
flaskbb/themes/aurora/templates/errors/page_not_found.html

@@ -1,16 +0,0 @@
-{% set page_title = _("Oh noes! 404") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-
-<div class="panel page-panel">
-    <div class="panel-body page-body">
-        <div class="col-md-12 col-sm-12 col-xs-12">
-            <h1>{% trans %}Oops, Page not found!{% endtrans %}</h1>
-            <p>{% trans %}The page you were looking for does not exist.{% endtrans %}</p>
-            <p><a href="{{url_for('forum.index')}}">{% trans %}Back to the Forums{% endtrans %}</a></p>
-        </div>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 15
flaskbb/themes/aurora/templates/errors/server_error.html

@@ -1,15 +0,0 @@
-{% set page_title = _("Server Error - 500") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-
-<div class="panel page-panel">
-    <div class="panel-body page-body">
-        <div class="col-md-12 col-sm-12 col-xs-12">
-            <h1>{% trans %}Server Error{% endtrans %}</h1>
-            <p>{% trans %}Something went wrong!{% endtrans %}</p>
-        </div>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 16
flaskbb/themes/aurora/templates/forum/category.html

@@ -1,16 +0,0 @@
-{% set page_title = category.title %}
-{% set active_forum_nav=True %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-
-<div class="index-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li class="active">{{ category.title }}</li>
-    </ol>
-
-    {% include theme("forum/category_layout.html") %}
-</div>
-
-{% endblock %}

+ 0 - 132
flaskbb/themes/aurora/templates/forum/category_layout.html

@@ -1,132 +0,0 @@
-<div class="panel category-panel">
-    <div class="panel-heading category-head">
-        <a href="{{ category.url }}">{{ category.title }}</a>
-    </div>
-
-    <div class="panel-body category-body">
-        <div class="category-meta">
-            <div class="col-md-5 col-sm-5 col-xs-8 forum-name">{% trans %}Forum{% endtrans %}</div>
-            <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Topics{% endtrans %}</div>
-            <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Posts{% endtrans %}</div>
-            <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">{% trans %}Last Post{% endtrans %}</div>
-        </div>
-        {% for forum, forumsread in forums %}
-        <div class="row category-row hover">
-
-            {% if forum.external %}
-            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
-                <div class="row">
-                    <!-- Icon -->
-                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
-                        <span class="fa fa-external-link forum-external"></span>
-                    </div>
-
-                    <div class="col-md-11 col-sm-10 col-xs-10">
-                        <!-- Forum Name -->
-                        <div class="forum-name">
-                            <span class="forum-link">{% trans %}Link to{% endtrans %}:</span> <a href="{{ forum.url }}">{{ forum.title }}</a>
-                        </div>
-
-                        <!-- Forum Description -->
-                        <div class="forum-description">
-                            {{ forum.description|markup|safe }}
-                        </div>
-                    </div>
-                </div>
-            </div> <!-- end forum-info -->
-
-            <!-- Post Cunt -->
-            <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
-                -
-            </div>
-
-            <!-- Topic Count -->
-            <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
-                -
-            </div>
-
-            <!-- Last Post -->
-            <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
-                ---
-            </div>
-            {% else %}
-            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
-                <div class="row">
-                    <!-- Icon -->
-                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
-                        {% if forum.locked %}
-                            <span class="fa fa-lock forum-locked"></span>
-                        {% elif forum|forum_is_unread(forumsread, current_user) %}
-                            <span class="fa fa-comments forum-unread"></span>
-                        {% else %}
-                            <span class="fa fa-comments-o forum-read"></span>
-                        {% endif %}
-                    </div>
-
-                    <div class="col-md-11 col-sm-10 col-xs-10">
-                        <!-- Forum Name -->
-                        <div class="forum-name">
-                            <a href="{{ forum.url }}">{{ forum.title }}</a>
-                        </div>
-
-                        <!-- Forum Description -->
-                        <div class="forum-description">
-                            {{ forum.description|markup|safe }}
-                        </div>
-
-                        <!-- Forum Moderators -->
-                        {% if forum.show_moderators %}
-                        <div class="forum-moderators">
-                            {% trans %}Moderators{% endtrans %}:
-                            {% for moderator in forum.moderators %}
-                            <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
-                            {% endfor %}
-                        </div>
-                        {% endif %}
-                    </div>
-                </div>
-            </div> <!-- end forum-info -->
-
-            <!-- Post Cunt -->
-            <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
-            {{ forum.topic_count }}
-            </div>
-
-            <!-- Topic Count -->
-            <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
-            {{ forum.post_count }}
-            </div>
-
-            <!-- Last Post -->
-            <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
-                {% if forum.last_post_id %}
-                <div class="last-post-title">
-                    <a href="{{ forum.last_post_url }}" title="{{ forum.last_post_title }}">
-                        {{ forum.last_post_title|crop_title }}
-                    </a>
-                </div>
-
-                <div class="last-post-time">
-                    {{ forum.last_post_created|time_since }}
-                </div>
-
-                <div class="last-post-author">
-                    {% trans %}by{% endtrans %}
-                    {% if forum.last_post_user_id %}
-                    <a href="{{ url_for('user.profile', username=forum.last_post_username) }}">{{ forum.last_post_username }}</a>
-                    {% else %}
-                    {{ forum.last_post_username }}
-                    {% endif %}
-                </div>
-
-                {% else %}
-                {% trans %}No posts.{% endtrans %}
-                {% endif %} {# endif forum.last_post_id #}
-            </div>
-
-        {% endif %} {# endif forum.external #}
-        </div> <!-- end category-content -->
-
-        {% endfor %}
-    </div>
-</div>

+ 0 - 175
flaskbb/themes/aurora/templates/forum/edit_forum.html

@@ -1,175 +0,0 @@
-{% set page_title = forum.title %}
-{% set active_forum_nav=True %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme('macros.html') import render_pagination, topic_pages %}
-
-<form class="form" role="form" method="POST">
-    <div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}"></div>
-
-    <div class="forum-view">
-        <ol class="breadcrumb flaskbb-breadcrumb">
-            <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-            <li><a href="{{ forum.category.url }}">{{ forum.category.title }}</a></li>
-            <li class="active">{{ forum.title }}</li>
-        </ol>
-
-        <div class="row controls-row">
-            <div class="pull-left">
-                {{ render_pagination(topics, forum.url) }}
-            </div> <!-- end span pagination -->
-        </div>
-
-        <div class="panel forum-panel">
-            <div class="panel-heading forum-head">
-                <a href="{{ forum.url }}">{{ forum.title }}</a>
-            </div>
-
-            <div class="panel-body forum-body">
-                <div class="forum-meta">
-                    <div class="col-md-4 col-sm-4 col-xs-6 topic-name">{% trans %}Topic{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
-                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
-                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select-all"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
-                </div>
-
-                {% for topic, topicread in topics.items %}
-                <div class="row forum-row hover clearfix">
-
-                    <div class="col-md-4 col-sm-4 col-xs-6 topic-info">
-                        <div class="row">
-                            <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
-                            {% if topic.locked %}
-                                <span class="fa fa-lock topic-locked"></span>
-                            {% elif topic.important %}
-                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                                    <span class="fa fa-star topic-starred-unread"></span>
-                                {% else %}
-                                    <span class="fa fa-star-o topic-starred-read"></span>
-                                {% endif %}
-                            {% else %}
-                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                                    <span class="fa fa-comment topic-unread"></span>
-                                {% else %}
-                                    <span class="fa fa-comment-o topic-read"></span>
-                                {% endif %}
-                            {% endif %}
-                            </div>
-                            <div class="col-md-11 col-sm-10 col-xs-10">
-                                <div class="topic-name">
-                                    <a href="{{ topic.url }}">{{ topic.title }}</a>
-                                    <!-- Topic Pagination -->
-                                    <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
-                                </div>
-
-                                <div class="topic-author">
-                                    {% trans %}by{% endtrans %}
-                                    {% if topic.user_id %}
-                                     <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
-                                    {% else %}
-                                    {{ topic.username }}
-                                    {% endif %}
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                        {{ topic.post_count }}
-                    </div>
-
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                        {{ topic.views }}
-                    </div>
-
-                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
-                        <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-
-                        <div class="topic-author">
-                            {% trans %}by{% endtrans %}
-                            {% if topic.last_post.user_id %}
-                            <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                            {% else %}
-                            {{ topic.last_post.username }}
-                            {% endif %}
-                        </div>
-                    </div>
-
-                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select">
-                        <input type="checkbox" name="rowid" class="action-checkbox" value="{{ topic.id }}" title="Select Topic"/>
-                    </div>
-                </div>
-                {% else %}
-                <div class="row forum-row clearfix">
-                    <div class="col-md-12 col-sm-12 col-xs-12">
-                        {% trans %}No Topics.{% endtrans %}
-                    </div>
-                </div> <!-- end forum-row -->
-                {% endfor %}
-            </div>
-        </div>
-        <div class="row controls-row">
-            <div class="col-md-2 col-sm-2 col-xs-2 controls-col">
-                <div class="pull-left">
-                    <a class="btn btn-default" href="{{ forum.url }}">
-                        <span class="fa fa-arrow-left"></span> {% trans %}Back{% endtrans %}
-                    </a>
-                </div>
-            </div>
-
-            <div class="col-md-10 col-sm-8 col-xs-8 controls-col">
-                <div class="pull-right">
-                    <div class="form-group">
-
-                        <div class="btn-group" role="group">
-                            <button name="lock" class="btn btn-warning">
-                                <span class="fa fa-lock"></span> {% trans %}Lock{% endtrans %}
-                            </button>
-                            <button name="unlock" class="btn btn-warning">
-                                <span class="fa fa-unlock"></span> {% trans %}Unlock{% endtrans %}
-                            </button>
-                        </div>
-
-                        <div class="btn-group" role="group">
-                            <button name="highlight" class="btn btn-success">
-                                <span class="fa fa-star"></span> {% trans %}Highlight{% endtrans %}
-                            </button>
-                            <button name="trivialize" class="btn btn-success">
-                                <span class="fa fa-star-o"></span> {% trans %}Trivialize{% endtrans %}
-                            </button>
-                        </div>
-
-                        <button name="delete" class="btn btn-danger">
-                            <span class="fa fa-trash-o"></span> {% trans %}Delete{% endtrans %}
-                        </button>
-
-                    </div>
-                </div>
-            </div>
-
-            <div class="col-md-12 col-sm-12 col-xs-12 controls-col">
-                <div class="pull-right">
-                    <div class="form-group ">
-
-                        <div class="form-inline">
-                            <select class="form-control" id="forum" name="forum">
-                                <option selected value="">{% trans %}Move to...{% endtrans %}</option>
-                                {% for forum in available_forums %}
-                                    <option value={{forum.id}}>{{ forum.title }}</option>
-                                {% endfor %}
-                            </select>
-
-                            <button name="move" class="btn btn-info">
-                                <span class="fa fa-plane"></span> {% trans %}Move{% endtrans %}
-                            </button>
-                        </div>
-
-                    </div>
-                </div>
-            </div>
-        </div> <!-- end controls-row -->
-    </div> <!-- end forum-view -->
-</form>
-{% endblock %}

+ 0 - 133
flaskbb/themes/aurora/templates/forum/forum.html

@@ -1,133 +0,0 @@
-{% set page_title = forum.title %}
-{% set active_forum_nav=True %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme('macros.html') import render_pagination, topic_pages %}
-
-<div class="forum-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li><a href="{{ forum.category.url }}">{{ forum.category.title }}</a></li>
-        <li class="active">{{ forum.title }}</li>
-    </ol>
-
-    <div class="row controls-row">
-        <div class="pull-left">
-            {{ render_pagination(topics, forum.url) }}
-        </div> <!-- end span pagination -->
-
-        {% if current_user|post_topic(forum) %}
-        <div class="pull-right">
-            <form class="inline-form" method="post" action="{{ url_for('forum.markread', forum_id=forum.id, slug=forum.slug) }}">
-                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                <button class="btn btn-default">
-                    <span class="fa fa-check"></span> {% trans %}Mark as Read{% endtrans %}
-                </button>
-            </form>
-
-            {% if forum.locked %}
-            <span class="btn btn-primary">
-                <span class="fa fa-lock"></span> {% trans %}Locked{% endtrans %}
-            </span>
-            {% else %}
-            <a href="{{ url_for('forum.new_topic', forum_id=forum.id, slug=forum.slug) }}" class="btn btn-primary">
-                <span class="fa fa-pencil"></span> {% trans %}New Topic{% endtrans %}
-            </a>
-            {% endif %}
-        </div>
-        {% endif %}
-    </div>
-
-    <div class="panel forum-panel">
-        <div class="panel-heading forum-head">
-            <a href="{{ forum.url }}">{{ forum.title }}</a>
-        </div>
-
-        <div class="panel-body forum-body">
-            <div class="forum-meta">
-                <div class="col-md-5 col-sm-5 col-xs-8 topic-name">{% trans %}Topic{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
-                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
-            </div>
-
-            {% for topic, topicread in topics.items %}
-            <div class="row forum-row hover clearfix">
-
-                <div class="col-md-5 col-sm-5 col-xs-8 topic-info">
-                    <div class="row">
-                        <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
-                        {% if topic.locked %}
-                            <span class="fa fa-lock topic-locked"></span>
-                        {% elif topic.important %}
-                            {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                                <span class="fa fa-star topic-starred-unread"></span>
-                            {% else %}
-                                <span class="fa fa-star-o topic-starred-read"></span>
-                            {% endif %}
-                        {% else %}
-                            {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                                <span class="fa fa-comment topic-unread"></span>
-                            {% else %}
-                                <span class="fa fa-comment-o topic-read"></span>
-                            {% endif %}
-                        {% endif %}
-                        </div>
-                        <div class="col-md-11 col-sm-10 col-xs-10">
-                            <div class="topic-name">
-                                <a href="{{ topic.url }}">{{ topic.title }}</a>
-                                <!-- Topic Pagination -->
-                                <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
-                            </div>
-
-                            <div class="topic-author">
-                                {% trans %}by{% endtrans %}
-                                {% if topic.user_id %}
-                                 <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
-                                {% else %}
-                                {{ topic.username }}
-                                {% endif %}
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                    {{ topic.post_count }}
-                </div>
-
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                    {{ topic.views }}
-                </div>
-
-                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
-                    <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-
-                    <div class="topic-author">
-                        {% trans %}by{% endtrans %}
-                        {% if topic.last_post.user_id %}
-                        <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                        {% else %}
-                        {{ topic.last_post.username }}
-                        {% endif %}
-                    </div>
-                </div>
-
-            </div>  <!-- end forum-row -->
-            {% else %}
-            <div class="row forum-row clearfix">
-                <div class="col-md-12 col-sm-12 co-xs-12">
-                    {% trans %}No Topics.{% endtrans %}
-                </div>
-            </div> <!-- end forum-row -->
-            {% endfor %}
-        </div>
-    </div>
-
-    <div class="row controls-row">
-        <a class="btn btn-default" href="{{ url_for('forum.manage_forum', forum_id=forum.id, slug=forum.slug) }}">
-            <span class="fa fa-tasks"></span> {% trans %}Moderation Mode{% endtrans %}
-        </a>
-    </div>
-</div>
-{% endblock %}

+ 0 - 32
flaskbb/themes/aurora/templates/forum/index.html

@@ -1,32 +0,0 @@
-{% extends theme("layout.html") %}
-{% block content %}
-
-<div class="index-view">
-    {% for category, forums in categories %}
-        {% include theme("forum/category_layout.html") %}
-    {% endfor %}
-
-    <div class="panel page-panel">
-        <div class="panel-heading page-head">
-            {% trans %}Board Statistics{% endtrans %}
-            [<a href="{{ url_for('forum.who_is_online') }}" onclick="window.open(this.href, 'wio_window','width=500,height=500'); return false;">{% trans %}Who is online?{% endtrans %}</a>]
-        </div>
-        <div class="panel-body page-body">
-            <div class="row page-row">
-                <div class="col-md-6 col-sm-6 col-xs-12">
-                    <p class="flaskbb-stats">{% trans %}Total number of registered users{% endtrans %}: <strong>{{ user_count }}</strong></p>
-                    <p class="flaskbb-stats">{% trans %}Total number of topics{% endtrans %}: <strong>{{ topic_count }}</strong></p>
-                    <p class="flaskbb-stats">{% trans %}Total number of posts{% endtrans %}: <strong>{{ post_count }}</strong></p>
-                </div>
-                <div class="col-md-6 col-sm-6 col-xs-12">
-                    <p class="flaskbb-stats">{% trans %}Newest registered user{% endtrans %}: {% if newest_user %}<a href="{{ newest_user.url }}">{{ newest_user.username }}</a>{% else %}{% trans %}No users{% endtrans %}{% endif %}</p>
-                    <p class="flaskbb-stats">{% trans %}Registered users online{% endtrans %}: <strong>{{ online_users }}</strong></p>
-                    {% if config["REDIS_ENABLED"] %}
-                    <p class="flaskbb-stats">{% trans %}Guests online{% endtrans %}: <strong>{{ online_guests }}</strong></p>
-                    {% endif %}
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 58
flaskbb/themes/aurora/templates/forum/memberlist.html

@@ -1,58 +0,0 @@
-{% set page_title = _("Memberlist") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme('macros.html') import render_pagination, group_field %}
-
-<div class="page-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li class="active">{% trans %}Memberlist{% endtrans %}</li>
-    </ol>
-
-    <div class="row controls-row">
-        <div class="col-md-8 col-sm-8 col-xs-8 controls-col">
-            <div class="pull-left">
-                {{ render_pagination(users, url_for('forum.memberlist')) }}
-            </div>
-        </div>
-        <div class="col-md-4 col-sm-4 col-xs-4 controls-col">
-            <div class="pull-right">
-              <form class="inline-form" role="form" method="post">
-                  <div class="input-group">
-                      {{ search_form.hidden_tag() }}
-                      {{ group_field(search_form.search_query) }}
-                      <span class="input-group-btn">
-                        <button class="btn btn-primary" type="submit">{% trans %}Search{% endtrans %}</button>
-                      </span>
-                  </div>
-              </form>
-            </div>
-        </div>
-    </div>
-
-    <div class="panel page-panel">
-        <div class="panel-heading page-head">
-            <a href="{{ url_for('forum.memberlist') }}">{% trans %}Memberlist{% endtrans %}</a>
-        </div>
-        <div class="panel-body page-body">
-            <div class="page-meta">
-                <div class="col-md-1 col-sm-1 col-xs-1 meta-item">#</div>
-                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Username{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs meta-item">{% trans %}Posts{% endtrans %}</div>
-                <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
-                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Group{% endtrans %}</div>
-            </div>
-            {% for user in users.items %}
-            <div class="row page-row hover clearfix">
-                <div class="col-md-1 col-sm-1 col-xs-1">{{ user.id }}</div>
-                <div class="col-md-3 col-sm-3 col-xs-5"><a href="{{ user.url }}">{{ user.username }}</a></div>
-                <div class="col-md-2 col-sm-2 hidden-xs">{{ user.post_count }}</div>
-                <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
-                <div class="col-md-3 col-sm-3 col-xs-5">{{ user.primary_group.name }}</div>
-            </div>
-            {% endfor %}
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 60
flaskbb/themes/aurora/templates/forum/new_post.html

@@ -1,60 +0,0 @@
-{% set page_title = _("New Post") %}
-{% set active_forum_nav=True %}
-
-{% extends theme("layout.html") %}
-
-{% block css %}
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
-{% endblock %}
-
-{% block content %}
-{% from theme("macros.html") import render_quickreply, render_submit_field %}
-
-<div class="page-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li><a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a></li>
-        <li><a href="{{ topic.url }}">{{ topic.title }} </a></li>
-        <li class="active">{% trans %}New Post{% endtrans %}</li>
-    </ol>
-
-    <form class="form-horizontal" role="form" method="post">
-        {{ form.hidden_tag() }}
-        <div class="panel page-panel">
-            <div class="panel-heading page-head">
-                {% trans %}New Post{% endtrans %}
-            </div>
-
-            <div class="panel-body page-body">
-                {{ form.hidden_tag() }}
-                <div class="col-md-12 col-sm-12 col-xs-12">
-
-                    <div class="form-group">
-                        <div class="col-md-12 col-sm-12 col-xs-12">
-                            <div class="editor-box">
-                                <div class="editor">
-                                    {{ render_quickreply(form.content, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
-                                </div>
-                                <div class="editor-submit">
-                                    <div class="editor-options pull-left">
-                                        <span class="label label-info">Markdown</span>
-                                        <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
-                                        <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
-                                    </div>
-                                    {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </form>
-</div>
-
-{% endblock %}
-
-{% block scripts %}
-    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
-{% endblock %}

+ 0 - 61
flaskbb/themes/aurora/templates/forum/new_topic.html

@@ -1,61 +0,0 @@
-{% set page_title = _("New Topic") %}
-{% set active_forum_nav=True %}
-
-{% extends theme("layout.html") %}
-
-{% block css %}
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
-{% endblock %}
-
-{% block content %}
-{% from theme("macros.html") import render_field, render_submit_field, render_quickreply %}
-
-<div class="page-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li><a href="{{ forum.url }}">{{ forum.title }}</a></li>
-        <li class="active">{% trans %}New Topic{% endtrans %}</li>
-    </ol>
-
-
-    <form class="form-horizontal" role="form" method="post">
-        {{ form.hidden_tag() }}
-        <div class="panel page-panel">
-            <div class="panel-heading page-head">
-                {% trans %}New Topic{% endtrans %}
-            </div>
-
-            <div class="panel-body page-body">
-                {{ form.hidden_tag() }}
-                <div class="col-md-12 col-sm-12 col-xs-12">
-
-                    {{ render_field(form.title, div_class="col-md-12 col-sm-12 col-xs-12") }}
-
-                    <div class="form-group">
-                        <div class="col-md-12 col-sm-12 col-xs-12">
-                            <div class="editor-box">
-                                <div class="editor">
-                                    {{ render_quickreply(form.content, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
-                                </div>
-                                <div class="editor-submit">
-                                    <div class="editor-options pull-left">
-                                        <span class="label label-info">Markdown</span>
-                                        <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
-                                        <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
-                                    </div>
-                                    {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </form>
-</div>
-{% endblock %}
-
-{% block scripts %}
-    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
-{% endblock %}

+ 0 - 24
flaskbb/themes/aurora/templates/forum/online_users.html

@@ -1,24 +0,0 @@
-{% set page_title = _("Online Users") %}
-
-{% extends theme("layout.html") %}
-
-
-{% block header %}
-{% endblock %}
-
-{% block navigation %}
-{% endblock %}
-
-
-{% block content %}
-
-<legend>{% trans %}Online Users{% endtrans %}</legend>
-{% for user in online_users %}
-    {% if config["REDIS_ENABLED"] %}
-    <a href="{{ url_for('user.profile', username=user) }}">{{ user }}<a>{% if not loop.last %}, {% endif %}
-    {% else %}
-    <a href="{{ url_for('user.profile', username=user.username) }}">{{ user.username }}<a>{% if not loop.last %}, {% endif %}
-    {% endif %}
-{% endfor %}
-
-{% endblock %}

+ 0 - 23
flaskbb/themes/aurora/templates/forum/report_post.html

@@ -1,23 +0,0 @@
-{% set page_title = _("Report Post") %}
-
-{% extends theme("layout.html") %}
-
-{% block header %}
-{% endblock %}
-
-{% block navigation %}
-{% endblock %}
-
-{% block content %}
-{% from theme("macros.html") import render_field %}
-
-<form class="form" role="form" method="post">
-    {{ form.hidden_tag() }}
-    <h3>{% trans %}Report Post{% endtrans %}</h3>
-
-    {{ render_field(form.reason) }}
-
-    <button type="submit" class="btn btn-success">{% trans %}Report{% endtrans %}</button>
-    <a class="btn btn-info" href="#" onclick="window.close();return false;">{% trans %}Close{% endtrans %}</a>
-</form>
-{% endblock %}

+ 0 - 27
flaskbb/themes/aurora/templates/forum/search_form.html

@@ -1,27 +0,0 @@
-{% set page_title = _("Search") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<div class="page-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li class="active">{% trans %}Search{% endtrans %}</li>
-    </ol>
-
-    <div class="panel page-panel">
-        <div class="panel-heading page-head">
-            {% trans %}Search{% endtrans %}
-        </div>
-        <div class="panel-body page-body">
-            <form class="form-horizontal" role="form" method="post">
-                {{ form.hidden_tag() }}
-                {{ horizontal_field(form.search_types)}}
-                {{ horizontal_field(form.search_query)}}
-                {{ horizontal_field(form.submit) }}
-            </form>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 344
flaskbb/themes/aurora/templates/forum/search_result.html

@@ -1,344 +0,0 @@
-{% set page_title = _("Search") %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme('macros.html') import render_pagination, group_field, topic_pages %}
-
-<div class="page-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li class="active">{% trans %}Search{% endtrans %}</li>
-    </ol>
-
-    {% if result['post'] %}
-    <div class="panel topic-panel">
-        <div class="panel-heading topic-head">
-            {% trans %}Posts{% endtrans %}
-        </div>
-        <div class="panel-body topic-body">
-            {% for post in result['post'].all() %}
-            <div id="{{ post.id }}" class="row post-row clearfix">
-
-                <div class="author col-md-2 col-sm-3 col-xs-12">
-                    <!-- Registered User -->
-                    {% if post.user_id %}
-                    <div class="author-name"><h4><a href="{{ user.url }}">{{ user.username }}</a></h4></div>
-
-                    <!-- check if user is online or not -->
-                    {% if user|is_online %}
-                    <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
-                    {% else %}
-                    <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
-                    {% endif %}
-                    <div class="author-title"><h5>{{ user.primary_group.name }}</h5></div>
-
-                    {% if user.avatar %}
-                        <div class="author-avatar"><img src="{{ user.avatar }}" alt="avatar"></div>
-                    {% endif %}
-
-                    <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ user.date_joined|format_date('%b %d %Y') }}</div>
-                    <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ user.post_count }}</div>
-                    <div class="author-pm">
-                        {% if current_user.is_authenticated() and post.user_id %}
-                        <a href="{{ url_for('message.new_conversation') }}?to_user={{ user.username }}">{% trans %}Message{% endtrans %}</a>
-                        {% endif %}
-                    </div>
-
-                    {% if user.website %}
-                    <div class="author-website"><a href="{{ user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
-                    {% endif %}
-
-                    {% else %}
-                    <!-- user deleted or guest -->
-                    <div class="author-name"><h4><a href="{{ user.url }}">{{ post.username }}</a></h4></div>
-                    <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
-                    {% endif %}
-
-                </div>
-
-                <div class="post-box col-md-10 col-sm-9 col-xs-12">
-
-                    <div class="post-meta clearfix">
-                        <div class="pull-left">
-                            <!-- Creation date / Date modified -->
-                            <a href="{{ generate_post_url(post.topic, post, posts.page) }}">
-                                {{ post.date_created|format_date('%d %B %Y - %H:%M') }}
-                            </a>
-                            {% if post.user_id and post.date_modified %}
-                            <small>
-                                (Last modified: {{ post.date_modified|format_date('%d %B %Y - %H:%M') }} by
-                                <a href="{{ url_for('user.profile', username=post.modified_by) }}">{{ post.modified_by }}</a>.)
-                            </small>
-                            {% endif %}
-                        </div>
-
-                        <!-- Post number -->
-                        <div class="pull-right">
-                            <strong>#{{ generate_post_id(posts, loop.index, flaskbb_config["POSTS_PER_PAGE"]) }}</strong>
-                        </div>
-                    </div>
-
-                    <div class="post-content post_body clearfix" id="pid{{ post.id }}">
-                        {{ post.content|markup|safe }}
-                    </div>
-
-                </div>
-            </div>
-        {% else %}
-        <!-- cheating a bit here with page-row :P -->
-        <div class="row page-row clearfix">
-            <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No posts found matching your search criteria.{% endtrans %}</div>
-        </div>
-        {% endfor %}
-    {% endif %}
-
-    {% if result['user'] %}
-    <div class="panel panel-default page-panel">
-        <div class="panel-heading page-head">
-            {% trans %}Users{% endtrans %}
-        </div>
-        <div class="panel-body page-body">
-            <div class="page-meta">
-                <div class="col-md-1 col-sm-1 col-xs-1 meta-item">#</div>
-                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Username{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs meta-item">{% trans %}Posts{% endtrans %}</div>
-                <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
-                <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Group{% endtrans %}</div>
-            </div>
-            {% for user in result['user'].all() %}
-            <div class="row page-row hover clearfix">
-                <div class="col-md-1 col-sm-1 col-xs-1">{{ user.id }}</div>
-                <div class="col-md-3 col-sm-3 col-xs-5"><a href="{{ user.url }}">{{ user.username }}</a></div>
-                <div class="col-md-2 col-sm-2 hidden-xs">{{ user.post_count }}</div>
-                <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
-                <div class="col-md-3 col-sm-3 col-xs-5">{{ user.primary_group.name }}</div>
-            </div>
-            {% else %}
-            <div class="row page-row hover clearfix">
-                <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No users found matching your search criteria.{% endtrans %}</div>
-            </div>
-            {% endfor %}
-        </div>
-    </div>
-    {% endif %}
-
-    {% if result['topic'] %}
-    <div class="panel panel-default forum-panel">
-        <div class="panel-heading forum-head">
-            {% trans %}Topics{% endtrans %}
-        </div>
-
-        <div class="panel-body forum-body">
-            <div class="forum-meta">
-                <div class="col-md-5 col-sm-5 col-xs-8 topic-name">{% trans %}Topic{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
-                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
-            </div>
-
-            {% for topic in result['topic'].all() %}
-            <div class="row forum-row hover clearfix">
-
-                <div class="col-md-5 col-sm-5 col-xs-8 topic-info">
-                    <div class="row">
-                        <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
-                        {% if topic.locked %}
-                            <span class="fa fa-lock topic-locked"></span>
-                        {% elif topic.important %}
-                            <span class="fa fa-star-o topic-starred-read"></span>
-                        {% else %}
-                            <span class="fa fa-comment-o topic-read"></span>
-                        {% endif %}
-                        </div>
-                        <div class="col-md-11 col-sm-10 col-xs-10">
-                            <div class="topic-name">
-                                <a href="{{ topic.url }}">{{ topic.title }}</a>
-                                <!-- Topic Pagination -->
-                                <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
-                            </div>
-
-                            <div class="topic-author">
-                                {% trans %}by{% endtrans %}
-                                {% if topic.user_id %}
-                                 <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
-                                {% else %}
-                                {{ topic.username }}
-                                {% endif %}
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                    {{ topic.post_count }}
-                </div>
-
-                <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                    {{ topic.views }}
-                </div>
-
-                <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
-                    <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-
-                    <div class="topic-author">
-                        {% trans %}by{% endtrans %}
-                        {% if topic.last_post.user_id %}
-                        <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                        {% else %}
-                        {{ topic.last_post.username }}
-                        {% endif %}
-                    </div>
-                </div>
-
-            </div>  <!-- end forum-row -->
-            {% else %}
-            <div class="row forum-row clearfix">
-                <div class="col-md-12 col-sm-12 co-xs-12">
-                    {% trans %}No topics found matching your search criteria.{% endtrans %}
-                </div>
-            </div> <!-- end forum-row -->
-            {% endfor %}
-        </div>
-    </div>
-    {% endif %}
-
-    {% if result['forum'] %}
-    <div class="panel panel-default category-panel">
-        <div class="panel-heading category-head">
-            Forums
-        </div>
-
-        <div class="panel-body category-body">
-            <div class="category-meta">
-                <div class="col-md-5 col-sm-5 col-xs-8 forum-name">{% trans %}Forum{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Topics{% endtrans %}</div>
-                <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Posts{% endtrans %}</div>
-                <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">{% trans %}Last Post{% endtrans %}</div>
-            </div>
-            {% for forum in result['forum'].all() %}
-            <div class="row category-row hover">
-
-                {% if forum.external %}
-                <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
-                    <div class="row">
-                        <!-- Icon -->
-                        <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
-                            <span class="fa fa-external-link forum-external"></span>
-                        </div>
-
-                        <div class="col-md-11 col-sm-10 col-xs-10">
-                            <!-- Forum Name -->
-                            <div class="forum-name">
-                                <span class="forum-link">{% trans %}Link to{% endtrans %}:</span> <a href="{{ forum.url }}">{{ forum.title }}</a>
-                            </div>
-
-                            <!-- Forum Description -->
-                            <div class="forum-description">
-                                {{ forum.description|markup|safe }}
-                            </div>
-                        </div>
-                    </div>
-                </div> <!-- end forum-info -->
-
-                <!-- Post Cunt -->
-                <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
-                    -
-                </div>
-
-                <!-- Topic Count -->
-                <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
-                    -
-                </div>
-
-                <!-- Last Post -->
-                <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
-                    ---
-                </div>
-                {% else %}
-                <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
-                    <div class="row">
-                        <!-- Icon -->
-                        <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
-                            {% if forum.locked %}
-                                <span class="fa fa-lock forum-locked"></span>
-                            {% else %}
-                                <span class="fa fa-comments-o forum-read"></span>
-                            {% endif %}
-                        </div>
-
-                        <div class="col-md-11 col-sm-10 col-xs-10">
-                            <!-- Forum Name -->
-                            <div class="forum-name">
-                                <a href="{{ forum.url }}">{{ forum.title }}</a>
-                            </div>
-
-                            <!-- Forum Description -->
-                            <div class="forum-description">
-                                {{ forum.description|markup|safe }}
-                            </div>
-
-                            <!-- Forum Moderators -->
-                            {% if forum.show_moderators %}
-                            <div class="forum-moderators">
-                                {% trans %}Moderators{% endtrans %}:
-                                {% for moderator in forum.moderators %}
-                                <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
-                                {% endfor %}
-                            </div>
-                            {% endif %}
-                        </div>
-                    </div>
-                </div> <!-- end forum-info -->
-
-                <!-- Post Cunt -->
-                <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
-                {{ forum.topic_count }}
-                </div>
-
-                <!-- Topic Count -->
-                <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
-                {{ forum.post_count }}
-                </div>
-
-                <!-- Last Post -->
-                <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
-                    {% if forum.last_post_id %}
-                    <div class="last-post-title">
-                        <a href="{{ forum.last_post_url }}" title="{{ forum.last_post_title }}">
-                            {{ forum.last_post_title|crop_title }}
-                        </a>
-                    </div>
-
-                    <div class="last-post-time">
-                        {{ forum.last_post_created|time_since }}
-                    </div>
-
-                    <div class="last-post-author">
-                        {% trans %}by{% endtrans %}
-                        {% if forum.last_post_user_id %}
-                        <a href="{{ url_for('user.profile', username=forum.last_post_username) }}">{{ forum.last_post_username }}</a>
-                        {% else %}
-                        {{ forum.last_post_username }}
-                        {% endif %}
-                    </div>
-
-                    {% else %}
-                    {% trans %}No posts.{% endtrans %}
-                    {% endif %} {# endif forum.last_post_id #}
-                </div>
-
-            {% endif %} {# endif forum.external #}
-            </div> <!-- end category-content -->
-            {% else %}
-            <div class="row category-row">
-                <div class="col-md-12 col-sm-12 col-xs-12">
-                    {% trans %}No forums found matching your search criteria.{% endtrans %}
-                </div>
-            </div>
-            {% endfor %}
-        </div>
-    </div>
-    {% endif %}
-
-</div>
-
-{% endblock %}

+ 0 - 186
flaskbb/themes/aurora/templates/forum/topic.html

@@ -1,186 +0,0 @@
-{% extends theme("layout.html") %}
-{% set page_title = _("%(title)s - Topic", title=topic.title) %}
-{% set active_forum_nav=True %}
-
-{% block css %}
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
-{% endblock %}
-
-{% block content %}
-{% from theme('macros.html') import render_pagination, form_field, generate_post_id, generate_post_url %}
-
-<div class="topic-view">
-    <ol class="breadcrumb flaskbb-breadcrumb">
-        <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-        <li><a href="{{ topic.forum.category.url }}">{{ topic.forum.category.title }}</a></li>
-        <li><a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a></li>
-        <li class="active">{{ topic.title }}</li>
-    </ol>
-
-    {% include theme('forum/topic_controls.html') %}
-
-    <div class="panel topic-panel">
-        <div class="panel-heading topic-head">
-            <a href="{{ topic.url }}">{{ topic.title }}</a>
-        </div>
-        <div class="panel-body topic-body">
-            {% for post, user in posts.items %}
-            <div id="{{ post.id }}" class="row post-row clearfix">
-
-                <div class="author col-md-2 col-sm-3 col-xs-12">
-                    <!-- Registered User -->
-                    {% if post.user_id %}
-                    <div class="author-name"><h4><a href="{{ user.url }}">{{ user.username }}</a></h4></div>
-
-                    <!-- check if user is online or not -->
-                    {% if user|is_online %}
-                    <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
-                    {% else %}
-                    <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
-                    {% endif %}
-                    <div class="author-title"><h5>{{ user.primary_group.name }}</h5></div>
-
-                    {% if user.avatar %}
-                        <div class="author-avatar"><img src="{{ user.avatar }}" alt="avatar"></div>
-                    {% endif %}
-
-                    <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ user.date_joined|format_date('%b %d %Y') }}</div>
-                    <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ user.post_count }}</div>
-                    <div class="author-pm">
-                        {% if current_user.is_authenticated() and post.user_id %}
-                        <a href="{{ url_for('message.new_conversation') }}?to_user={{ user.username }}">{% trans %}Message{% endtrans %}</a>
-                        {% endif %}
-                    </div>
-
-                    {% if user.website %}
-                    <div class="author-website"><a href="{{ user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
-                    {% endif %}
-
-                    {% else %}
-                    <!-- user deleted or guest -->
-                    <div class="author-name"><h4><a href="{{ user.url }}">{{ post.username }}</a></h4></div>
-                    <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
-                    {% endif %}
-
-                </div>
-
-                <div class="post-box col-md-10 col-sm-9 col-xs-12">
-
-                    <div class="post-meta clearfix">
-                        <div class="pull-left">
-                            <!-- Creation date / Date modified -->
-                            <a href="{{ generate_post_url(topic, post, posts.page) }}">
-                                {{ post.date_created|format_date('%d %B %Y - %H:%M') }}
-                            </a>
-                            {% if post.user_id and post.date_modified %}
-                            <small>
-                                (Last modified: {{ post.date_modified|format_date('%d %B %Y - %H:%M') }} by
-                                <a href="{{ url_for('user.profile', username=post.modified_by) }}">{{ post.modified_by }}</a>.)
-                            </small>
-                            {% endif %}
-                        </div>
-
-                        <!-- Post number -->
-                        <div class="pull-right">
-                            <strong>#{{ generate_post_id(posts, loop.index, flaskbb_config["POSTS_PER_PAGE"]) }}</strong>
-                        </div>
-                    </div>
-
-                        <div class="post-content clearfix" id="pid{{ post.id }}">
-                        {{ post.content|markup|safe }}
-                        <!-- Signature Begin -->
-                        {% if flaskbb_config["SIGNATURE_ENABLED"] and post.user_id and user.signature %}
-                        <div class="post-signature hidden-xs">
-                        <hr />
-                            {{ user.signature|markup|safe }}
-                        </div>
-                        {% endif %}
-                        <!-- Signature End -->
-                    </div>
-
-                        <div class="post-footer clearfix">
-
-                            <!-- Report/Edit/Delete/Quote Post-->
-                            <div class="post-menu pull-right">
-
-                            {% if current_user|post_reply(topic) %}
-                            <!-- Quick quote -->
-                                <a href="#" class="btn btn-icon icon-reply quote-btn" data-post-id="{{ post.id }}" data-toggle="tooltip" data-placement="top" title="Quote this post"></a>
-                            <!-- Full quote/reply -->
-                                <a href="{{ url_for('forum.reply_post', topic_id=topic.id, post_id=post.id) }}" class="btn btn-icon icon-replyall" data-toggle="tooltip" data-placement="top" title="Full Reply"></a>
-                            {% endif %}
-
-                            {% if current_user|edit_post(post) %}
-                            <!-- Edit Post -->
-                            <a href="{{ url_for('forum.edit_post', post_id=post.id) }}" class="btn btn-icon icon-edit" data-toggle="tooltip" data-placement="top" title="Edit this post"></a>
-                            {% endif %}
-                            {% if topic.first_post_id == post.id %}
-                                {% if current_user|delete_topic(topic) %}
-                                <form class="inline-form" method="post" action="{{ url_for('forum.delete_topic', topic_id=topic.id, slug=topic.slug) }}">
-                                    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                    <button class="btn btn-icon icon-delete" data-toggle="tooltip" data-placement="top" title="Delete this topic"></button>
-                                </form>
-                                {% endif %}
-                            {% else %}
-                                {% if current_user|delete_post(post) %}
-                            <!-- Delete Post -->
-                                <form class="inline-form" method="post" action="{{ url_for('forum.delete_post', post_id=post.id) }}">
-                                    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                    <button  class="btn btn-icon icon-delete" data-toggle="tooltip" data-placement="top" title="Delete this post"></button>
-                                </form>
-                                {% endif %}
-
-                            {% endif %}
-
-                            {% if current_user.is_authenticated() %}
-                            <!-- Report post -->
-                                <a href="{{ url_for('forum.report_post', post_id=post.id) }}" onclick="window.open(this.href, 'wio_window','width=500,height=500'); return false;" class="btn btn-icon icon-report" data-toggle="tooltip" data-placement="top" title="Report this post"></a>
-                            {% endif %}
-
-                            </div> <!-- end post-menu -->
-                        </div> <!-- end footer -->
-
-                </div>
-            </div>
-            {% endfor %}
-
-        </div> <!-- end topic-body -->
-    </div> <!-- end topic-panel -->
-
-    {% include theme('forum/topic_controls.html') %}
-    {% from theme("macros.html") import render_field, render_quickreply, render_submit_field %}
-    {% if form %}
-    <form class="form" action="#" method="post">
-        {{ form.hidden_tag() }}
-        <div class="row">
-            <div class="col-md-offset-2 col-sm-offset-3 col-md-10 col-sm-9 col-xs-12">
-                <div class="editor-box">
-                    <div class="editor quickreply">
-                            {{ render_quickreply(form.content, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
-                    </div>
-                    <div class="editor-submit">
-                        <div class="editor-options pull-left">
-                            <span class="label label-info">Markdown</span>
-                            <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
-                            <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
-                        </div>
-                        {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
-                    </div>
-                </div>
-            </div>
-        </div>
-    </form>
-    {% endif %}
-
-</div>
-{% endblock %}
-
-{% block scripts %}
-    <script>
-    $(function () {
-      $('[data-toggle="tooltip"]').tooltip()
-    })
-    </script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
-{% endblock %}

+ 0 - 102
flaskbb/themes/aurora/templates/forum/topic_controls.html

@@ -1,102 +0,0 @@
-<div class="row controls-row">
-    <div class ="col-md-6 col-sm-6 col-xs-12 controls-col">
-        <div class="pull-left">
-            {{ render_pagination(posts, topic.url) }}
-        </div>
-    </div> <!-- end span pagination -->
-
-{% if current_user.is_authenticated() %}
-    <div class="col-md-6 col-sm-6 col-xs-12 controls-col">
-        <div class="pull-right">
-            {% if current_user|can_moderate(topic.forum) or current_user|delete_topic(topic)%}
-            <!-- Moderation buttons -->
-            <div class="btn-group">
-                <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                    <span class="fa fa-bars" aria-hidden="true"></span> {% trans %}Moderate{% endtrans %} <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu">
-
-                {% if current_user|delete_topic(topic) %}
-                <li>
-                    <form class="inline-form" method="post" action="{{ url_for('forum.delete_topic', topic_id=topic.id, slug=topic.slug) }}">
-                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                        <button class="btn btn-link">
-                            <span class="fa fa-trash-o"></span> {% trans %}Delete Topic{% endtrans %}
-                        </button>
-                    </form>
-                </li>
-                {% endif %}
-
-                {% if current_user|can_moderate(topic.forum) %}
-                    {% if not topic.locked %}
-                    <li>
-                        <form class="inline-form" method="post" action="{{ url_for('forum.lock_topic', topic_id=topic.id, slug=topic.slug) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-link">
-                                <span class="fa fa-lock"></span> {% trans %}Lock Topic{% endtrans %}
-                            </button>
-                        </form>
-                    </li>
-                    {% else %}
-                    <li>
-                        <form class="inline-form" method="post" action="{{ url_for('forum.unlock_topic', topic_id=topic.id, slug=topic.slug) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-link">
-                                <span class="fa fa-unlock"></span> {% trans %}Unlock Topic{% endtrans %}
-                            </button>
-                        </form>
-                    </li>
-                    {% endif %}
-
-                    {% if not topic.important %}
-                    <li>
-                        <form class="inline-form" method="post" action="{{ url_for('forum.highlight_topic', topic_id=topic.id, slug=topic.slug) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-link">
-                                <span class="fa fa-star"></span> {% trans %}Highlight Topic{% endtrans %}
-                            </button>
-                        </form>
-                    </li>
-                    {% else %}
-                    <li>
-                        <form class="inline-form" method="post" action="{{ url_for('forum.trivialize_topic', topic_id=topic.id, slug=topic.slug) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-link">
-                                <span class="fa fa-star-o"></span> {% trans %}Trivialize Topic{% endtrans %}
-                            </button>
-                        </form>
-                    </li>
-                    {% endif %}
-                {% endif %}
-                </ul>
-            </div>
-            <!-- end Moderation buttons -->
-            {% endif %}
-
-            {% if current_user.is_tracking_topic(topic) %}
-            <form class="inline-form" method="post" action="{{ url_for('forum.untrack_topic', topic_id=topic.id, slug=topic.slug) }}">
-                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                <button class="btn btn-default">
-                    <span class="fa fa-tag" aria-hidden="true"></span> {% trans %}Untrack Topic{% endtrans %}
-                </button>
-            </form>
-            {% else %}
-            <form class="inline-form" method="post" action="{{ url_for('forum.track_topic', topic_id=topic.id, slug=topic.slug) }}">
-                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                <button class="btn btn-default">
-                    <span class="fa fa-tag" aria-hidden="true"></span> {% trans %}Track Topic{% endtrans %}
-                </button>
-            </form>
-            {% endif %}
-
-            {% if current_user|post_reply(topic) %}
-            <a href="{{ url_for('forum.new_post', topic_id=topic.id, slug=topic.slug) }}" class="btn btn-primary">
-                <span class="fa fa-pencil"></span> {% trans %}Reply{% endtrans %}
-            </a>
-            {% else %}
-            <div class="btn btn-primary"><span class="fa fa-lock"></span> {% trans %}Locked{% endtrans %}</div>
-            {% endif %}
-        </div>
-    </div>
-{% endif %} {# end current_user.is_authenticated #}
-</div>

+ 0 - 124
flaskbb/themes/aurora/templates/forum/topictracker.html

@@ -1,124 +0,0 @@
-{% set page_title = _("Topic Tracker") %}
-{% set active_forum_nav=False %}
-
-{% extends theme("layout.html") %}
-{% block content %}
-{% from theme('macros.html') import render_pagination, topic_pages %}
-
-<form class="form" role="form" method="POST">
-    <div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}"></div>
-
-    <div class="forum-view">
-
-        <ol class="breadcrumb flaskbb-breadcrumb">
-            <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-            <li class="active">{% trans %}Topic Tracker{% endtrans %}</li>
-        </ol>
-
-        <div class="row controls-row">
-            <div class="pull-left">
-                {{ render_pagination(topics, url_for('forum.topictracker')) }}
-            </div> <!-- end span pagination -->
-        </div>
-
-        <div class="panel forum-panel">
-            <div class="panel-heading forum-head">
-                <a href="{{ url_for('forum.topictracker') }}">{% trans %}Topic Tracker{% endtrans %}</a>
-            </div>
-
-            <div class="panel-body forum-body">
-                <div class="forum-meta">
-                    <div class="col-md-4 col-sm-4 col-xs-6 topic-name">{% trans %}Topic{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
-                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
-                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select-all"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
-                </div>
-
-                {% for topic, topicread in topics.items %}
-                <div class="row forum-row hover clearfix">
-
-                    <div class="col-md-4 col-sm-4 col-xs-6 topic-info">
-                        <div class="row">
-                            <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
-                            {% if topic.locked %}
-                                <span class="fa fa-lock topic-locked"></span>
-                            {% elif topic.important %}
-                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                                    <span class="fa fa-star topic-starred-unread"></span>
-                                {% else %}
-                                    <span class="fa fa-star-o topic-starred-read"></span>
-                                {% endif %}
-                            {% else %}
-                                {% if topic|topic_is_unread(topicread, current_user, forumsread) %}
-                                    <span class="fa fa-comment topic-unread"></span>
-                                {% else %}
-                                    <span class="fa fa-comment-o topic-read"></span>
-                                {% endif %}
-                            {% endif %}
-                            </div>
-                            <div class="col-md-11 col-sm-10 col-xs-10">
-                                <div class="topic-name">
-                                    <a href="{{ topic.url }}">{{ topic.title }}</a>
-                                    <!-- Topic Pagination -->
-                                    <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
-                                </div>
-
-                                <div class="topic-author">
-                                    {% trans %}by{% endtrans %}
-                                    {% if topic.user_id %}
-                                     <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
-                                    {% else %}
-                                    {{ topic.username }}
-                                    {% endif %}
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                        {{ topic.post_count }}
-                    </div>
-
-                    <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
-                        {{ topic.views }}
-                    </div>
-
-                    <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
-                        <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
-
-                        <div class="topic-author">
-                            {% trans %}by{% endtrans %}
-                            {% if topic.last_post.user_id %}
-                            <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
-                            {% else %}
-                            {{ topic.last_post.username }}
-                            {% endif %}
-                        </div>
-                    </div>
-
-                    <div class="col-md-1 col-sm-1 col-xs-2 topic-select">
-                        <input type="checkbox" name="rowid" class="action-checkbox" value="{{ topic.id }}" title="Select Topic"/>
-                    </div>
-                </div>  <!-- end forum-row -->
-                {% else %}
-                <div class="row forum-row clearfix">
-                    <div class="col-md-12 col-sm-12 co-xs-12">
-                        {% trans %}No Topics.{% endtrans %}
-                    </div>
-                </div> <!-- end forum-row -->
-                {% endfor %}
-            </div>
-        </div>
-        <div class="row controls-row">
-            <div class="col-md-12 col-sm-12 col-xs-12 controls-col">
-                <div class="pull-right">
-                    <button name="untrack" class="btn btn-info">
-                        <span class="fa fa-tag"></span> {% trans %}Untrack Topics{% endtrans %}
-                    </button>
-                </div>
-            </div>
-        </div> <!-- end controls-row -->
-    </div>
-</form>
-{% endblock %}

+ 0 - 188
flaskbb/themes/aurora/templates/layout.html

@@ -1,188 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-    <head>
-        <meta charset="utf-8">
-        <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <meta name="viewport" content="width=device-width, initial-scale=1.0">
-        <meta name="description" content="FlaskBB is a forum software written in Flask">
-        <meta name="author" content="FlaskBB Team">
-        <meta name="csrf-token" content="{{ csrf_token() }}">
-        <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
-
-        <title>
-        {% block title %}
-            {%- if not page_title -%}
-                {{ flaskbb_config["PROJECT_TITLE"] }} - {{ flaskbb_config["PROJECT_SUBTITLE"] }}
-            {%- else -%}
-                {{ page_title }} - {{ flaskbb_config["PROJECT_TITLE"] }}
-            {%- endif -%}
-        {% endblock %}
-        </title>
-
-        {% block stylesheets %}
-        <!-- syntax highlighting -->
-        <link rel="stylesheet" href="{{ url_for('static', filename='css/pygments.css') }}">
-        <!-- fontawesome -->
-        <link rel="stylesheet" href="{{ url_for('static', filename='css/font-awesome.min.css') }}" >
-        <!-- bootstrap & aurora theme -->
-        <link rel="stylesheet" href="{{ theme_static('css/styles.css') }}">
-        {% endblock %}
-
-        {# for extra stylesheets. e.q. a template has to add something #}
-        {% block css %}
-        {% endblock %}
-
-        {# for various extra things #}
-        {% block head_extra %}
-        {% endblock %}
-    </head>
-
-    <body>
-
-        <!-- main forum layout -->
-        <div class="flaskbb-layout">
-            <div class="container">
-
-                <!-- forum header - place for the project title and subtitle -->
-                {% block header %}
-                <div class="flaskbb-header">
-                    <div class="flaskbb-meta">
-                        <div class="flaskbb-title">FlaskBB</div>
-                        <div class="flaskbb-subtitle">A lightweight forum software in Flask.</div>
-                    </div>
-                </div>
-                {% endblock %}
-
-                <!-- forum menu - contains all the navigation items -->
-                {% block navigation %}
-                <div class="navbar navbar-default" role="navigation">
-                    <!-- Brand and toggle get grouped for better mobile display -->
-                    <div class="navbar-header">
-                      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" aria-expanded="false">
-                        <span class="sr-only">Toggle navigation</span>
-                        <span class="icon-bar"></span>
-                        <span class="icon-bar"></span>
-                        <span class="icon-bar"></span>
-                      </button>
-                    </div>
-
-                    <div class="collapse navbar-collapse">
-                        <!-- navbar left -->
-                        <ul class="nav navbar-nav forum-nav">
-                            {%- from theme("macros.html") import is_active, topnav with context -%}
-                            {{ emit_event("before-first-navigation-element") }}
-
-                            {{ topnav(endpoint='forum.index', name=_('Forum'), icon='fa fa-comment', active=active_forum_nav) }}
-                            {{ topnav(endpoint='forum.memberlist', name=_('Memberlist'), icon='fa fa-user') }}
-                            {{ topnav(endpoint='forum.search', name=_('Search'), icon='fa fa-search') }}
-
-                            {{ emit_event("after-last-navigation-element") }}
-                        </ul>
-
-                        <!-- navbar right -->
-                        <ul class="nav navbar-nav navbar-right">
-
-                            {% if current_user and current_user.is_authenticated() %}
-                            <!-- Inbox -->
-                            <li class="dropdown {{ is_active('message.inbox') }}">
-                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
-                                    <span class="fa fa-envelope"></span> Inbox <span class="label label-info">{{ current_user.unread_count }}</span>
-                                </a>
-                                <ul class="dropdown-menu dropdown-messages">
-                                    {% for message in current_user.unread_messages %}
-                                    <li>
-                                        <a href="{{ url_for('message.view_conversation', conversation_id=message.id) }}">
-                                            <div>
-                                                <span class="author-name">{{ message.from_user.username }}</span> <span class="pull-right text-muted">{{ message.last_message.date_created|time_since }}</span>
-                                                <div class="message-subject">{{ message.subject }}</div>
-                                            </div>
-                                        </a>
-                                    </li>
-                                    {% else %}
-                                    <li><a href="#">No unread messages.</a></li>
-                                    {% endfor %}
-                                    <li class="divider"></li>
-                                    <li><a href="{{ url_for('message.inbox') }}"><span class="fa fa-envelope"></span> {% trans %}Inbox{% endtrans %}</a></li>
-                                    <li><a href="{{ url_for('message.new_conversation') }}"><span class="fa fa-pencil"></span> {% trans %}New Message{% endtrans %}</a></li>
-                                </ul>
-                            </li>
-
-                            <!-- User Menu -->
-                            <li>
-                                <div class="btn-group navbar-btn user-btn">
-                                    <a class="btn btn-primary" href="{{ url_for('user.profile', username=current_user.username) }}">
-                                        <span class="fa fa-user"></span> {{ current_user.username }}
-                                    </a>
-                                    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
-                                    <ul class="dropdown-menu" role="menu">
-                                        <li><a href="{{ url_for('forum.topictracker') }}"><span class="fa fa-book"></span> {% trans %}Topic Tracker{% endtrans %}</a></li>
-                                        <li class="divider"></li>
-
-                                        <li><a href="{{ url_for('user.settings') }}"><span class="fa fa-cogs"></span> {% trans %}Settings{% endtrans %}</a></li>
-                                        {% if current_user|is_admin_or_moderator %}
-                                        <li><a href="{{ url_for('management.overview') }}"><span class="fa fa-cog"></span> {% trans %}Management{% endtrans %}</a></li>
-                                        <li class="divider"></li>
-                                        {% endif %}
-
-                                        <li><a href="{{ url_for('auth.logout') }}"><span class="fa fa-power-off"></span> {% trans %}Logout{% endtrans %}</a></li>
-                                    </ul>
-                                </div>
-                            </li>
-                            {% else %}
-                            <!-- Not logged in - Login/Register -->
-                            <li>
-                                <div class="btn-group navbar-btn user-btn">
-                                    <a class="btn btn-primary" href="{{ url_for('auth.login') }}">
-                                        <span class="fa fa-user"></span> {% trans %}Login{% endtrans %}
-                                    </a>
-                                    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
-                                    <ul class="dropdown-menu" role="menu">
-                                        <li><a href="{{ url_for('auth.register') }}">{% trans %}Register{% endtrans %}</a></li>
-                                        <li><a href="{{ url_for('auth.forgot_password') }}">{% trans %}Reset Password{% endtrans %}</a></li>
-                                    </ul>
-                                </div>
-                            </li>
-                            {% endif %}
-
-                        </ul> <!-- end navbar right -->
-                    </div> <!-- end navbar-collapse -->
-                </div> <!-- end navbar -->
-                {% endblock %}
-
-                <!-- Place for all the (flashed) messages -->
-                {% block messages %}
-                <div id="flashed-messages">
-                    {% include theme('flashed_messages.html') %}
-                </div>
-                {% endblock %}
-
-                <!-- the actual content block -->
-                {% block content %}
-                {% endblock %}
-            </div> <!-- end container -->
-
-            <!-- the forum footer -->
-            {% block footer %}
-            <footer class="flaskbb-footer">
-                <div class="container">
-                    <p class="text-muted pull-left">powered by <a href="http://flask.pocoo.org">Flask</a></p>
-                    <p class="text-muted pull-right">&copy; 2013 - 2015 <a href="http://flaskbb.org">FlaskBB.org</a></p>
-                </div>
-            </footer>
-            {% endblock %}
-
-        </div> <!-- end flaskbb-layout -->
-
-        {% block javascript %}
-        <!-- libraries and dependencies -->
-        <script src="{{ url_for('static', filename='js/jquery.min.js') }}"></script>
-        <script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
-        <!-- flaskbb's javascript -->
-        <script src="{{ url_for('static', filename='js/flaskbb.js') }}"></script>
-        {% endblock %}
-
-        {# for extra scripts in other templates. #}
-        {% block scripts %}
-        {% endblock %}
-    </body>
-</html>

+ 0 - 125
flaskbb/themes/aurora/templates/management/banned_users.html

@@ -1,125 +0,0 @@
-{% set page_title = _("Banned Users") %}
-{% set active_management_user_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Manage Users{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_pagination, group_field,navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.users', _("Manage Users")) }}
-            {{ navlink('management.banned_users', _('Banned Users')) }}
-
-            {% if current_user|is_admin %}
-                {{ navlink('management.add_user', _("Add User")) }}
-            {% endif %}
-        </ul>
-    </div>
-</div><!--/.col-md-3 -->
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-
-            <span class="fa fa-user-times"></span> {% trans %}Banned Users{% endtrans %}
-
-            <div class="pull-right action-buttons">
-                <div class="btn-group pull-right">
-                    <button type="button" class="btn btn-default btn-xs" onclick="return show_management_search()">
-                        <span class="fa fa-search"></span> {% trans %}Search{% endtrans %}
-                    </button>
-                </div>
-            </div>
-
-        </div>
-        <div class="panel-body settings-body">
-
-            <div class="settings-search">
-                <form class="search-form" role="form" method="post">
-                    {{ search_form.hidden_tag() }}
-                    <div class="input-group">
-                        {{ group_field(search_form.search_query, css_class="form-control") }}
-                        <span class="input-group-btn">
-                            <button class="btn btn-default" type="button"><span class="fa fa-search"></span></button>
-                        </span>
-                    </div>
-                </form>
-            </div>
-
-            <div class="settings-content">
-                <div class="settings-meta row">
-                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
-                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Username{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Posts{% endtrans %}</div>
-                    <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Group{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2">
-                    {% if current_user|can_ban_user %}
-                        <div class="btn-group">
-                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
-                            </button>
-                            <ul class="dropdown-menu slidedown">
-                                <li>
-                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.unban_user') }}', '{% trans %}Are you sure you want to unban these Users?{% endtrans %}')">
-                                        <span class="fa fa-flag text-success"></span> {% trans %}Unban selected Users{% endtrans %}
-                                    </a>
-                                </li>
-                            </ul>
-                        </div>
-                    {% endif %}
-                    </div>
-                </div>
-            {% for user in users.items %}
-                <div class="row settings-row hover clearfix">
-                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ user.id }}" title="Select User"/></div>
-                    <div class="col-md-2 col-sm-2 col-xs-3"><a href="{{ user.url }}">{{ user.username }}</a></div>
-                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.post_count }}</div>
-                    <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.primary_group.name }}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2">
-                    {% if current_user|can_ban_user and user.permissions['banned'] %}
-                        <form class="inline-form" id="unban-{{user.id}}" method="post" action="{{ url_for('management.unban_user', user_id = user.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                            <button class="btn btn-icon">
-                                <span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="{% trans %}Unban{% endtrans %}"></span>
-                            </button>
-                        </form>
-                    {% endif %}
-                    </div>
-                </div>
-            {% else %}
-                <div class="row settings-row clearfix">
-                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No users found matching your search criteria.{% endtrans %}</div>
-                </div>
-            {% endfor %}
-
-            </div> <!-- end settings content -->
-        </div>
-        <div class="panel-footer settings-footer">
-            {{ render_pagination(users, url_for('management.users')) }}
-        </div>
-    </div>
-</div>
-{% endblock %}
-
-{% block scripts %}
-    <script>
-    var bulk_actions = new BulkActions();
-
-    $(function () {
-        $('[data-toggle="tooltip"]').tooltip()
-    })
-    </script>
-{% endblock %}

+ 0 - 49
flaskbb/themes/aurora/templates/management/category_form.html

@@ -1,49 +0,0 @@
-{% set page_title = title %}
-{% set active_management_forum_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{{ title }}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme("macros.html") import render_field, render_submit_field, navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.forums', _("Manage Forums")) }}
-            {{ navlink('management.add_forum', _("Add Forum")) }}
-            {{ navlink('management.add_category', _("Add Category")) }}
-        </ul>
-    </div>
-</div><!--/.col-md-3 -->
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-comments-o"></span> {{ title }}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <form class="form-horizontal settings-form" role="form" method="post">
-                    <div class="col-md-12 col-sm-12 col-xs-12">
-                        {{ form.hidden_tag() }}
-                        {{ render_field(form.title) }}
-                        {{ render_field(form.description, rows=5, div_class="col-md-10") }}
-
-                        {{ render_field(form.position) }}
-                        {{ render_submit_field(form.submit, div_class="form-group col-sm-5") }}
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-
-{% endblock %}

+ 0 - 53
flaskbb/themes/aurora/templates/management/forum_form.html

@@ -1,53 +0,0 @@
-{% set page_title = title %}
-{% set active_management_forum_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{{ title }}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme("macros.html") import render_field, render_submit_field, render_boolean_field, render_select_field, navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.forums', _("Manage Forums")) }}
-            {{ navlink('management.add_forum', _("Add Forum")) }}
-            {{ navlink('management.add_category', _("Add Category")) }}
-        </ul>
-    </div>
-</div><!--/.col-md-3 -->
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-comment-o"></span> {{ title }}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <form class="form-horizontal settings-form" role="form" method="post">
-                    <div class="col-md-12 col-sm-12 col-xs-12">
-                        {{ form.hidden_tag() }}
-                        {{ render_field(form.title) }}
-                        {{ render_field(form.description, rows=5, div_class="col-md-10") }}
-                        {{ render_field(form.category) }}
-                        {{ render_field(form.position) }}
-                        {{ render_field(form.external) }}
-                        {{ render_field(form.moderators) }}
-                        {{ render_boolean_field(form.show_moderators) }}
-                        {{ render_boolean_field(form.locked) }}
-                        {{ render_select_field(form.groups) }}
-                        {{ render_submit_field(form.submit, div_class="form-group col-sm-5") }}
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 175
flaskbb/themes/aurora/templates/management/forums.html

@@ -1,175 +0,0 @@
-{% set page_title = _("Forums") %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Forums{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_pagination, navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-        {{ navlink('management.forums', _("Manage Forums")) }}
-        {{ navlink('management.add_forum', _("Add Forum")) }}
-        {{ navlink('management.add_category', _("Add Category")) }}
-        </ul>
-    </div>
-</div>
-
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-comments"></span> {% trans %}Manage Forums{% endtrans %}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                {% for category in categories %}
-                <div class="panel category-panel">
-                    <div class="panel-heading category-head">
-                        <div class="row">
-                            <div class="col-md-12">
-                                <div class="pull-left">
-                                    <a href="{{ category.url }}"><strong>{{ category.title }}</strong></a>
-                                </div>
-                                <div class="pull-right">
-                                    <a class="btn btn-xs btn-default" href="{{ url_for('management.add_forum', category_id=category.id) }}">
-                                        <span class="fa fa-plus"></span> {% trans %}Add Forum{% endtrans %}
-                                    </a>
-                                    <a class="btn btn-xs btn-success" href="{{ url_for('management.edit_category', category_id = category.id) }}">
-                                        <span class="fa fa-pencil"></span> {% trans %}Edit Category{% endtrans %}
-                                    </a>
-                                    <form class="inline-form" method="post" action="{{ url_for('management.delete_category', category_id=category.id) }}">
-                                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                        <button class="btn btn-xs btn-danger">
-                                            <span class="fa fa-trash"></span> {% trans %}Delete Category{% endtrans %}
-                                        </button>
-                                    </form>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="panel-body category-body">
-                        <div class="category-meta">
-                            <div class="col-md-5 col-sm-5 col-xs-8 forum-name">{% trans %}Forum{% endtrans %}</div>
-                            <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Topics / Posts{% endtrans %}</div>
-                            <div class="col-md-5 col-sm-5 col-xs-4 forum-last-post"></div>
-                        </div>
-                        {% for forum in category.forums %}
-                        <div class="row category-row hover">
-
-                            {% if forum.external %}
-                            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
-                                <div class="row">
-                                    <!-- Icon -->
-                                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
-                                        <span class="fa fa-external-link forum-external"></span>
-                                    </div>
-
-                                    <div class="col-md-11 col-sm-10 col-xs-10">
-                                        <!-- Forum Name -->
-                                        <div class="forum-name">
-                                            <span class="forum-link">{% trans %}Link to{% endtrans %}:</span> <a href="{{ forum.url }}">{{ forum.title }}</a>
-                                        </div>
-
-                                        <!-- Forum Description -->
-                                        <div class="forum-description">
-                                            {{ forum.description|markup|safe }}
-                                        </div>
-                                    </div>
-                                </div>
-                            </div> <!-- end forum-info -->
-
-                            <!-- Post Cunt -->
-                            <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
-                                - -
-                            </div>
-
-                            <!-- Forum Actions -->
-                            <div class="col-md-5 col-sm-5 col-xs-4 forum-last-post">
-                                <div class="forum-actions pull-right">
-                                    <a class="btn btn-sm btn-success" href="{{ url_for('management.edit_forum', forum_id = forum.id) }}">
-                                        <span class="fa fa-pencil"></span> {% trans %}Edit Link{% endtrans %}
-                                    </a>
-
-                                    <form class="inline-form" method="post" action="{{ url_for('management.delete_forum', forum_id=forum.id) }}">
-                                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                        <button class="btn btn-sm btn-danger"><span class="fa fa-trash"></span> {% trans %}Delete Link{% endtrans %}</button>
-                                    </form>
-                                </div>
-                            </div>
-                            {% else %}
-                            <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
-                                <div class="row">
-                                    <!-- Icon -->
-                                    <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
-                                        {% if forum.locked %}
-                                            <span class="fa fa-lock forum-locked"></span>
-                                        {% else %}
-                                            <span class="fa fa-comments-o forum-read"></span>
-                                        {% endif %}
-                                    </div>
-
-                                    <div class="col-md-11 col-sm-10 col-xs-10">
-                                        <!-- Forum Name -->
-                                        <div class="forum-name">
-                                            <a href="{{ forum.url }}">{{ forum.title }}</a>
-                                        </div>
-
-                                        <!-- Forum Description -->
-                                        <div class="forum-description">
-                                            {{ forum.description|markup|safe }}
-                                        </div>
-
-                                        <!-- Forum Moderators -->
-                                        {% if forum.show_moderators %}
-                                        <div class="forum-moderators">
-                                            {% trans %}Moderators{% endtrans %}:
-                                            {% for moderator in forum.moderators %}
-                                            <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
-                                            {% endfor %}
-                                        </div>
-                                        {% endif %}
-                                    </div>
-                                </div>
-                            </div> <!-- end forum-info -->
-
-                            <!-- Post Cunt -->
-                            <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
-                                {{ forum.topic_count }} / {{ forum.post_count }}
-                            </div>
-
-                            <!-- Forum Actions -->
-                            <div class="col-md-5 col-sm-5 col-xs-4 forum-last-post">
-                                <div class="forum-actions pull-right">
-                                    <a class="btn btn-sm btn-primary" href="{{ url_for('management.edit_forum', forum_id = forum.id) }}">
-                                        <span class="fa fa-pencil"></span> {% trans %}Edit Forum{% endtrans %}
-                                    </a>
-
-                                    <form class="inline-form" method="post" action="{{ url_for('management.delete_forum', forum_id=forum.id) }}">
-                                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                                        <button class="btn btn-sm btn-danger"><span class="fa fa-trash"></span> {% trans %}Delete Forum{% endtrans %}</button>
-                                    </form>
-                                </div>
-                            </div>
-
-                        {% endif %} {# endif forum.external #}
-                        </div> <!-- end category-content -->
-
-                        {% endfor %}
-                    </div>
-                </div>
-                {% endfor %}
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 63
flaskbb/themes/aurora/templates/management/group_form.html

@@ -1,63 +0,0 @@
-{% set page_title = title %}
-{% set active_management_group_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Manage Groups{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme("macros.html") import render_field, render_boolean_field, render_submit_field, navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.groups', _("Manage Groups")) }}
-            {{ navlink('management.add_group', _("Add Group")) }}
-        </ul>
-    </div>
-</div>
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-user-plus"></span> {{ title }}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <form class="form-horizontal settings-form" role="form" method="post">
-                    <div class="col-md-12 col-sm-12 col-xs-12">
-                        {{ form.hidden_tag() }}
-                        {{ render_field(form.name) }}
-
-                        {{ render_field(form.description, rows="4", div_class="col-md-10") }}
-
-                        {{ render_boolean_field(form.admin) }}
-                        {{ render_boolean_field(form.super_mod) }}
-
-                        {{ render_boolean_field(form.mod) }}
-                        {{ render_boolean_field(form.banned) }}
-                        {{ render_boolean_field(form.guest) }}
-
-                        {{ render_boolean_field(form.mod_edituser) }}
-                        {{ render_boolean_field(form.mod_banuser) }}
-
-                        {{ render_boolean_field(form.editpost) }}
-                        {{ render_boolean_field(form.deletepost) }}
-                        {{ render_boolean_field(form.deletetopic) }}
-                        {{ render_boolean_field(form.posttopic) }}
-                        {{ render_boolean_field(form.postreply) }}
-
-                        {{ render_submit_field(form.submit, div_class="form-group col-sm-5") }}
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 91
flaskbb/themes/aurora/templates/management/groups.html

@@ -1,91 +0,0 @@
-{% set page_title = _("Groups") %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Manage Groups{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_pagination, navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.groups', _("Manage Groups")) }}
-            {{ navlink('management.add_group', _("Add Group")) }}
-        </ul>
-    </div>
-</div>
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-users"></span> {% trans %}Groups{% endtrans %}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <div class="settings-meta row">
-                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
-                    <div class="col-md-4 col-sm-4 col-xs-5 meta-item">{% trans %}Group Name{% endtrans %}</div>
-                    <div class="col-md-5 col-sm-5 hidden-xs meta-item">{% trans %}Description{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-5">
-                        <div class="btn-group">
-                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
-                            </button>
-                            <ul class="dropdown-menu slidedown">
-                                <li>
-                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.delete_group') }}', '{% trans %}Are you sure you want to delete these Groups?{% endtrans %}')">
-                                        <span class="fa fa-trash text-danger"></span> {% trans %}Delete selected Groups{% endtrans %}
-                                    </a>
-                                </li>
-                            </ul>
-                        </div>
-                    </div>
-                </div>
-
-            {% for group in groups.items %}
-                <div class="row settings-row hover clearfix">
-                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ group.id }}" title="Select Group"/></div>
-                    <div class="col-md-4 col-sm-4 col-xs-5">{{ group.name }}</div>
-                    <div class="col-md-5 col-sm-5 hidden-xs">{{ group.description }}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-5">
-                        <a href="{{ url_for('management.edit_group', group_id = group.id) }}" class="btn btn-icon">
-                            <span class="fa fa-pencil text-primary" data-toggle="tooltip" data-placement="top" title="{% trans %}Edit{% endtrans %}"></span>
-                        </a>
-                        <form class="inline-form" id="delete-{{group.id}}" method="post" action="{{ url_for('management.delete_group', group_id=group.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-icon">
-                                <span class="fa fa-trash text-danger" data-toggle="tooltip" data-placement="top" title="{% trans %}Delete{% endtrans %}"></span>
-                            </button>
-                        </form>
-                    </div>
-                </div>
-            {% else %}
-                <div class="row settings-row clearfix">
-                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No groups found.{% endtrans %}</div>
-                </div>
-            {% endfor %}
-            </div>
-        </div>
-        <div class="panel-footer settings-footer">
-            {{ render_pagination(groups, url_for('management.groups')) }}
-        </div>
-    </div>
-</div>
-{% endblock %}
-
-{% block scripts %}
-    <script>
-    var bulk_actions = new BulkActions();
-
-    $(function () {
-        $('[data-toggle="tooltip"]').tooltip()
-    })
-    </script>
-{% endblock %}

+ 0 - 28
flaskbb/themes/aurora/templates/management/management_layout.html

@@ -1,28 +0,0 @@
-{% extends theme("layout.html") %}
-
-{% block content %}
-{%- from theme('macros.html') import navlink with context -%}
-
-{% block breadcrumb %}
-{% endblock %}
-
-<div class="panel panel-tabs management-panel">
-    <div class="panel-heading management-head">
-        <ul class="nav nav-tabs nav-justified">
-        {{ navlink('management.overview', _('Overview'), 'fa fa-tasks') }}
-        {{ navlink('management.users', _('Users'), 'fa fa-user', active=active_management_user_nav) }}
-        {{ navlink('management.unread_reports', _('Reports'), 'fa fa-flag', active=active_management_report_nav) }}
-
-        {% if current_user|is_admin %}
-            {{ navlink('management.settings', _('Settings'), 'fa fa-cogs') }}
-            {{ navlink('management.groups', _('Groups'), 'fa fa-users', active=active_management_group_nav) }}
-            {{ navlink('management.forums', _('Forums'), 'fa fa-comments',active=active_management_forum_nav) }}
-            {{ navlink('management.plugins', _('Plugins'), 'fa fa-puzzle-piece') }}
-        {% endif %}
-        </ul>
-    </div>
-    <div class="panel-body management-body">
-        {% block management_content %}{% endblock %}
-    </div>
-</div>
-{% endblock %}

+ 0 - 130
flaskbb/themes/aurora/templates/management/overview.html

@@ -1,130 +0,0 @@
-{% set page_title = _("Overview") %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li class="active">{% trans %}Management{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-<div class="col-md-12 settings-col">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-tasks"></span> {% trans %}Overview{% endtrans %}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <div class="stats">
-                    <div class="row stats-row">
-                        <div class="col-md-12 col-sm-12 col-xs-12">
-                            <!-- TODO: (Later) Show new reports, updates, etc -->
-                            <div class="alert-message alert-message-success">
-                                <h4>Everything seems alright.</h4>
-                                <p>No new notifications.</p>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="row stats-row">
-                        <div class="col-md-4 col-sm-4 col-xs-4">
-                            <div class="stats-widget">
-                                <div class="icon">
-                                     <i class="fa fa-users text-success"></i>
-                                </div>
-                                <div class="text">
-                                    <var>{{ all_users }}</var>
-                                    <label class="text-muted">users</label>
-                                </div>
-                            </div>
-                        </div>
-
-                        <div class="col-md-4 col-sm-4 col-xs-4">
-                            <div class="stats-widget">
-                                <div class="icon">
-                                     <i class="fa fa-comment text-primary"></i>
-                                </div>
-                                <div class="text">
-                                    <var>{{ post_count }}</var>
-                                    <label class="text-muted">posts</label>
-                                </div>
-                            </div>
-                        </div>
-
-                        <div class="col-md-4 col-sm-4 col-xs-4">
-                            <div class="stats-widget">
-                                <div class="icon">
-                                     <i class="fa fa-comments text-info"></i>
-                                </div>
-                                <div class="text">
-                                    <var>{{ topic_count }}</var>
-                                    <label class="text-muted">topics</label>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="row stats-row">
-
-                        <div class="col-md-4 col-sm-4 col-xs-4">
-                            <div class="row stats-heading">Statistics</div>
-
-                            <div class="row stats-item">
-                                <div class="key pull-left">Registered Users</div><div class="value pull-right">{{ all_users }}</div>
-                            </div>
-                            <div class="row stats-item">
-                                <div class="key pull-left">Online Users</div><div class="value pull-right">{{ online_users }}</div>
-                            </div>
-                            <div class="row stats-item">
-                                <div class="key pull-left">Banned Users</div><div class="value pull-right">{{ banned_users }}</div>
-                            </div>
-                            <div class="row stats-item">
-                                <div class="key pull-left">Groups</div><div class="value pull-right">{{ all_groups }}</div>
-                            </div>
-                            <div class="row stats-item">
-                                <div class="key pull-left">Topics</div><div class="value pull-right">{{ topic_count }}</div>
-                            </div>
-                            <div class="row stats-item">
-                                <div class="key pull-left">Posts</div><div class="value pull-right">{{ post_count }}</div>
-                            </div>
-                            <div class="row stats-item">
-                                <div class="key pull-left">Reports</div><div class="value pull-right">{{ report_count }}</div>
-                            </div>
-                        </div>
-
-                        <div class="col-md-4 col-sm-4 col-xs-4">
-                            <div class="row stats-heading">Components</div>
-
-                            <div class="row stats-item">
-                                <div class="key pull-left">FlaskBB</div><div class="value pull-right">{{ flaskbb_version }}</div>
-                            </div>
-                            <!--  TODO: Implement a API. one day..
-                            <div class="row stats-item">
-                                <div class="key pull-left">FlaskBB API</div><div class="value pull-right">v1</div>
-                            </div>
-                            -->
-                            <div class="row stats-item">
-                                <div class="key pull-left">Flask</div><div class="value pull-right">{{ flask_version }}</div>
-                            </div>
-                            <div class="row stats-item">
-                                <div class="key pull-left">Python</div><div class="value pull-right">{{ python_version }}</div>
-                            </div>
-                        </div>
-
-                        <div class="col-md-4 col-sm-4 col-xs-4">
-                            <div class="row stats-heading">Plugins</div>
-
-                            {% for plugin in plugins %}
-
-                            <div class="row stats-item">
-                                <div class="key pull-left">{{ plugin.name }}</div><div class="value pull-right">{{ plugin.version }}</div>
-                            </div>
-                            {% endfor %}
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 76
flaskbb/themes/aurora/templates/management/plugins.html

@@ -1,76 +0,0 @@
-{% set page_title = _("Plugins") %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Plugins{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_pagination %}
-
-<div class="col-md-12 settings-col">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-puzzle-piece"></span> {% trans %}Manage Plugins{% endtrans %}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <div class="settings-meta">
-                    <div class="row settings-row">
-                        <div class="col-md-4 col-sm-4 col-xs-4 meta-item">{% trans %}Plugin{% endtrans %}</div>
-                        <div class="col-md-4 col-sm-4 col-xs-4 meta-item">{% trans %}Information{% endtrans %}</div>
-                        <div class="col-md-4 col-sm-4 col-xs-4 meta-item">{% trans %}Manage{% endtrans %}</div>
-                    </div>
-                </div>
-                {% for plugin in plugins %}
-                <div class="row settings-row hover with-border-bottom">
-                    <div class="col-md-4 col-sm-4 col-xs-4">
-                    {% if plugin.website %}
-                      <a href="{{ plugin.website }}">{{ plugin.name }}</a>
-                    {% else %}
-                      {{ plugin.name }}
-                    {% endif %}
-                    </div>
-                    <div class="col-md-4 col-sm-4 col-xs-4">
-                        <div class="plugin-version">{% trans %}Version{% endtrans %}: {{ plugin.version }}</div>
-                        <div class="plugin-description">{{ plugin.description }}</div>
-                        <div class="plugin-author">{% trans %}by{% endtrans %} {{ plugin.author }}</div>
-                    </div>
-                    <div class="col-md-4 col-sm-4 col-xs-4">
-                        {% if not plugin.enabled %}
-                        <form class="inline-form" method="post" action="{{ url_for('management.enable_plugin', plugin=plugin.identifier) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-success">{% trans %}Enable{% endtrans %}</button>
-                        </form>
-                        {% else %}
-                        <form class="inline-form" method="post" action="{{ url_for('management.disable_plugin', plugin=plugin.identifier) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-warning">{% trans %}Disable{% endtrans %}</button>
-                        </form>
-                        {% endif %}
-
-                        {% if plugin.installable and not plugin.uninstallable %}
-                        <form class="inline-form" method="post" action="{{ url_for('management.install_plugin', plugin=plugin.identifier) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-info">{% trans %}Install{% endtrans %}</button>
-                        </form>
-                        {% endif %}
-                        {% if plugin.uninstallable %}
-                        <form class="inline-form" method="post" action="{{ url_for('management.uninstall_plugin', plugin=plugin.identifier) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-danger">{% trans %}Uninstall{% endtrans %}</button>
-                        </form>
-                        {% endif %}
-                    </div>
-                </div>
-                {% endfor %}
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 64
flaskbb/themes/aurora/templates/management/reports.html

@@ -1,64 +0,0 @@
-{% set page_title = _("Reports") %}
-{% set active_management_report_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Reports{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_pagination, navlink with context %}
-
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.unread_reports', _("Show unread reports")) }}
-            {{ navlink('management.reports', _("Show all reports")) }}
-        </ul>
-    </div>
-</div>
-
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-flag"></span> {% trans %}All Reports{% endtrans %}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <div class="settings-meta row">
-                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item">#</div>
-                    <div class="col-md-1 col-sm-2 col-xs-2 meta-item">{% trans %}Poster{% endtrans %}</div>
-                    <div class="col-md-3 col-sm-3 col-xs-3 meta-item">{% trans %}Topic{% endtrans %}</div>
-                    <div class="col-md-3 col-sm-4 col-xs-3 meta-item">{% trans %}Reason{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2 meta-item">{% trans %}Reporter{% endtrans %}</div>
-                    <div class="col-md-2 hidden-sm hidden-xs meta-item">{% trans %}Reported{% endtrans %}</div>
-                </div>
-            {% for report in reports.items %}
-                <div class="row settings-row hover clearfix">
-                    <div class="col-md-1 col-sm-1 col-xs-1">{{ report.id }}</div>
-                    <div class="col-md-1 col-sm-2 col-xs-2"><a href="{{ report.post.user.url }}">{{ report.post.user.username }}</a></div>
-                    <div class="col-md-3 col-sm-3 col-xs-3"><a href="{{ report.post.url }}" target="_blank">{{ report.post.topic.title }}</a></div>
-                    <div class="col-md-3 col-sm-4 col-xs-3">{{ report.reason }}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2">{{ report.reporter.username }}</div>
-                    <div class="col-md-2 hidden-sm hidden-xs">{{ report.reported|time_since }}</div>
-                </div>
-            {% else %}
-                <div class="row settings-row clearfix">
-                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No unread reports.{% endtrans %}</div>
-                </div>
-            {% endfor %}
-            </div>
-            <div class="panel-footer settings-footer">
-                {{ render_pagination(reports, url_for('management.unread_reports')) }}
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 71
flaskbb/themes/aurora/templates/management/settings.html

@@ -1,71 +0,0 @@
-{% set page_title = active_group.name %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{{ active_group.name }}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_boolean_field, render_select_field, render_field, navlink with context %}
-
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-        {% for group in all_groups %}
-            {% if group.key == active_group.key %}
-                <li class="active"><a href="{{ url_for('management.settings', slug=group.key) }}">{{ group.name }}</a></li>
-            {% else %}
-                <li><a href="{{ url_for('management.settings', slug=group.key) }}">{{ group.name }}</a></li>
-            {% endif %}
-        {% endfor %}
-        </ul>
-    </div>
-</div><!--/.col-md-3 -->
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-cogs"></span> {{ active_group.name }}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <form class="form-horizontal settings-form" role="form" method="post">
-                    <div class="col-md-12 col-sm-12 col-xs-12">
-
-                        {{ form.hidden_tag() }}
-                        {% for field in form %}
-                            {% if field.type not in ["TextField", "IntegerField"] %}
-                                {% if field.type == "BooleanField" %}
-                                    {{ render_boolean_field(field) }}
-                                {% endif %}
-
-                                {% if field.type in ["SelectField", "SelectMultipleField"] %}
-                                    {{ render_select_field(field) }}
-                                {% endif %}
-                            {% else %}
-                                {{ render_field(field) }}
-                            {% endif %}
-                        {% endfor %}
-
-                        <div class="form-group">
-                            <div class="col-sm-5">
-                                <button type="submit" class="btn btn-success">
-                                    {% trans %}Save{% endtrans %}
-                                </button>
-                            </div>
-                        </div>
-
-                    </div> <!-- end col-md-12...-->
-                </form>
-
-            </div>
-        </div> <!-- end settings-body -->
-    </div>
-</div>
-{% endblock %}

+ 0 - 96
flaskbb/themes/aurora/templates/management/unread_reports.html

@@ -1,96 +0,0 @@
-{% set page_title = _("Unread Reports") %}
-{% set active_management_report_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Unread Reports{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_pagination, navlink with context %}
-
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.unread_reports', _("Show unread reports")) }}
-            {{ navlink('management.reports', _("Show all reports")) }}
-        </ul>
-    </div>
-</div>
-
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-flag"></span> {% trans %}Unread Reports{% endtrans %}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <div class="settings-meta row">
-                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
-                    <div class="col-md-1 col-sm-2 col-xs-2 meta-item">{% trans %}Poster{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-3 col-xs-3 meta-item">{% trans %}Topic{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-4 col-xs-3 meta-item">{% trans %}Reason{% endtrans %}</div>
-                    <div class="col-md-2 hidden-sm hidden-xs meta-item">{% trans %}Reporter{% endtrans %}</div>
-                    <div class="col-md-2 hidden-sm hidden-xs meta-item">{% trans %}Reported{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2">
-                        <div class="btn-group">
-                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
-                            </button>
-                            <ul class="dropdown-menu slidedown">
-                                <li>
-                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.report_markread') }}', '{% trans %}Are you sure you want to mark these Reports as read?{% endtrans %}')">
-                                        <span class="fa fa-flag-o text-primary"></span> {% trans %}Mark as Read{% endtrans %}
-                                    </a>
-                                </li>
-                            </ul>
-                        </div>
-                    </div>
-                </div>
-            {% for report in reports.items %}
-                <div class="row settings-row hover clearfix">
-                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ report.id }}" title="Select Report"/></div>
-                    <div class="col-md-1 col-sm-2 col-xs-2"><a href="{{ report.post.user.url }}">{{ report.post.user.username }}</a></div>
-                    <div class="col-md-2 col-sm-3 col-xs-3"><a href="{{ report.post.url }}" target="_blank">{{ report.post.topic.title }}</a></div>
-                    <div class="col-md-2 col-sm-4 col-xs-3">{{ report.reason }}</div>
-                    <div class="col-md-2 hidden-sm hidden-xs">{{ report.reporter.username }}</div>
-                    <div class="col-md-2 hidden-sm hidden-xs">{{ report.reported|time_since }}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2">
-                        <form class="inline-form" id="read-{{report.id}}" method="post" action="{{ url_for('management.report_markread', report_id=report.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                            <button class="btn btn-icon">
-                                <span class="fa fa-flag-o text-primary" data-toggle="tooltip" data-placement="top" title="{% trans %}Mark as Read{% endtrans %}"></span>
-                            </button>
-                        </form>
-                    </div>
-                </div>
-            {% else %}
-                <div class="row settings-row clearfix">
-                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No unread reports.{% endtrans %}</div>
-                </div>
-            {% endfor %}
-            </div>
-            <div class="panel-footer settings-footer">
-                {{ render_pagination(reports, url_for('management.unread_reports')) }}
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}
-
-{% block scripts %}
-    <script>
-    var bulk_actions = new BulkActions();
-
-    $(function () {
-        $('[data-toggle="tooltip"]').tooltip()
-    })
-    </script>
-{% endblock %}

+ 0 - 57
flaskbb/themes/aurora/templates/management/user_form.html

@@ -1,57 +0,0 @@
-{% set page_title = title %}
-{% set active_management_user_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Manage Users{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme("macros.html") import horizontal_field, horizontal_select_field, navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.users', _("Manage Users")) }}
-            {{ navlink('management.banned_users', _('Banned Users')) }}
-
-            {% if current_user|is_admin %}
-                {{ navlink('management.add_user', _("Add User")) }}
-            {% endif %}
-        </ul>
-    </div>
-</div><!--/.col-md-3 -->
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-            <span class="fa fa-user-plus"></span> {{ title }}
-        </div>
-        <div class="panel-body settings-body">
-            <div class="settings-content">
-                <form class="form-horizontal settings-form" role="form" method="post">
-                    {{ form.hidden_tag() }}
-                    {{ horizontal_field(form.username) }}
-                    {{ horizontal_field(form.email) }}
-                    {{ horizontal_field(form.password) }}
-                    {{ horizontal_select_field(form.birthday, surrounded_div="col-sm-4") }}
-                    {{ horizontal_field(form.gender) }}
-                    {{ horizontal_field(form.location) }}
-                    {{ horizontal_field(form.website) }}
-                    {{ horizontal_field(form.avatar) }}
-                    {{ horizontal_field(form.primary_group) }}
-                    {{ horizontal_field(form.secondary_groups) }}
-                    {{ horizontal_field(form.signature, rows=5, div_class="col-sm-9") }}
-                    {{ horizontal_field(form.notes, rows=12, div_class="col-sm-9") }}
-                    {{ horizontal_field(form.submit) }}
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-{% endblock %}

+ 0 - 162
flaskbb/themes/aurora/templates/management/users.html

@@ -1,162 +0,0 @@
-{% set page_title = _("Users") %}
-{% set active_management_user_nav=True %}
-
-{% extends theme("management/management_layout.html") %}
-
-{% block breadcrumb %}
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('management.overview') }}">{% trans %}Management{% endtrans %}</a></li>
-    <li class="active">{% trans %}Manage Users{% endtrans %}</li>
-</ol>
-{% endblock %}
-
-{% block management_content %}
-{% from theme('macros.html') import render_pagination, group_field, navlink with context %}
-
-<div class="col-md-3 settings-col">
-    <div class="nav-sidebar">
-        <ul class="nav">
-            {{ navlink('management.users', _('Manage Users')) }}
-            {{ navlink('management.banned_users', _('Banned Users')) }}
-
-            {% if current_user|is_admin %}
-                {{ navlink('management.add_user', _("Add User")) }}
-            {% endif %}
-        </ul>
-    </div>
-</div><!--/.col-md-3 -->
-
-<div class="col-md-9 settings-col with-left-border">
-    <div class="panel settings-panel">
-        <div class="panel-heading settings-head">
-
-            <span class="fa fa-user"></span> {% trans %}Users{% endtrans %}
-
-            <div class="pull-right action-buttons">
-                <div class="btn-group pull-right">
-                    <button type="button" class="btn btn-default btn-xs" onclick="return show_management_search()">
-                        <span class="fa fa-search"></span> {% trans %}Search{% endtrans %}
-                    </button>
-                </div>
-            </div>
-
-        </div>
-        <div class="panel-body settings-body">
-
-            <div class="settings-search">
-                <form class="search-form" role="form" method="post">
-                    {{ search_form.hidden_tag() }}
-                    <div class="input-group">
-                        {{ group_field(search_form.search_query, css_class="form-control") }}
-                        <span class="input-group-btn">
-                            <button class="btn btn-default" type="button"><span class="fa fa-search"></span></button>
-                        </span>
-                    </div>
-                </form>
-            </div>
-
-            <div class="settings-content">
-                <div class="settings-meta row">
-                    <div class="col-md-1 col-sm-1 col-xs-1 meta-item"><input type="checkbox" name="rowtoggle" class="action-checkall" title="Select All"/></div>
-                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Username{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Posts{% endtrans %}</div>
-                    <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-3 meta-item">{% trans %}Group{% endtrans %}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2">
-                        <div class="btn-group">
-                            <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
-                                <span class="fa fa-cog"></span> {% trans %}Actions{% endtrans %}
-                            </button>
-                            <ul class="dropdown-menu slidedown">
-                                <li>
-                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.ban_user') }}', '{% trans %}Are you sure you want to ban these Users?{% endtrans %}')">
-                                        <span class="fa fa-flag text-warning"></span> {% trans %}Ban selected Users{% endtrans %}
-                                    </a>
-                                </li>
-
-                                <li>
-                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.unban_user') }}', '{% trans %}Are you sure you want to unban these Users?{% endtrans %}')">
-                                        <span class="fa fa-flag text-success"></span> {% trans %}Unban selected Users{% endtrans %}
-                                    </a>
-                                </li>
-
-                                <li>
-                                    <a href="javascript:void(0)" onclick="return bulk_actions.execute('{{ url_for('management.delete_user') }}', '{% trans %}Are you sure you want to delete these Users?{% endtrans %}')">
-                                        <span class="fa fa-trash text-danger"></span> {% trans %}Delete selected Users{% endtrans %}
-                                    </a>
-                                </li>
-                            </ul>
-                        </div>
-                    </div>
-                </div>
-            {% for user in users.items %}
-                <div class="row settings-row hover clearfix">
-                    <div class="col-md-1 col-sm-1 col-xs-1"><input type="checkbox" name="rowid" class="action-checkbox" value="{{ user.id }}" title="Select User"/></div>
-                    <div class="col-md-2 col-sm-2 col-xs-3"><a href="{{ user.url }}">{{ user.username }}</a></div>
-                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.post_count }}</div>
-                    <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-3">{{ user.primary_group.name }}</div>
-                    <div class="col-md-2 col-sm-2 col-xs-2">
-                    {% if current_user|can_edit_user and not user|is_admin or current_user|is_admin %}
-                        <a href="{{ url_for('management.edit_user', user_id = user.id) }}" class="btn btn-icon">
-                            <span class="fa fa-pencil" data-toggle="tooltip" data-placement="top" title="{% trans %}Edit{% endtrans %}"></span>
-                        </a>
-                    {% endif %}
-
-                    {% if current_user|can_ban_user and not user.permissions['banned'] %}
-                        <form class="inline-form" id="ban-{{user.id}}" method="post" action="{{ url_for('management.ban_user', user_id = user.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                            <button class="btn btn-icon">
-                                <span class="fa fa-flag text-warning" data-toggle="tooltip" data-placement="top" title="{% trans %}Ban{% endtrans %}"></span>
-                            </button>
-                        </form>
-                    {% endif %}
-
-                    {% if current_user|can_ban_user and user.permissions['banned'] %}
-                        <form class="inline-form" id="unban-{{user.id}}" method="post" action="{{ url_for('management.unban_user', user_id = user.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                            <button class="btn btn-icon">
-                                <span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="{% trans %}Unban{% endtrans %}"></span>
-                            </button>
-                        </form>
-                    {% endif %}
-
-                    {% if current_user|is_admin %}
-                        <form class="inline-form" id="delete-{{user.id}}" method="post" action="{{ url_for('management.delete_user', user_id = user.id) }}">
-                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-
-                            <button class="btn btn-icon">
-                                <span class="fa fa-trash text-danger" data-toggle="tooltip" data-placement="top" title="{% trans %}Delete{% endtrans %}"></span>
-                            </button>
-                        </form>
-                    {% endif %}
-                    </div>
-                </div>
-            {% else %}
-                <div class="row settings-row clearfix">
-                    <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No users found matching your search criteria.{% endtrans %}</div>
-                </div>
-            {% endfor %}
-
-            </div> <!-- end settings content -->
-        </div>
-
-        <div class="panel-footer settings-footer">
-            {{ render_pagination(users, url_for('management.users')) }}
-        </div>
-    </div>
-</div>
-{% endblock %}
-
-{% block scripts %}
-    <script>
-    var bulk_actions = new BulkActions();
-
-    $(function () {
-        $('[data-toggle="tooltip"]').tooltip()
-    })
-    </script>
-{% endblock %}

+ 0 - 151
flaskbb/themes/aurora/templates/message/conversation.html

@@ -1,151 +0,0 @@
-{% extends theme("message/message_layout.html") %}
-
-{% block css %}
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
-{% endblock %}
-
-{% block message_content %}
-{# quick check if the conversation is a draft #}
-{% if conversation.draft %}
-    {% set messages = [conversation.first_message] %}
-{% else %}
-    {% set messages = conversation.messages %}
-{% endif %}
-
-<div class="panel conversation-panel">
-    <div class="panel-heading conversation-head">
-        Subject: <strong>{{ conversation.subject }}</strong>
-    </div>
-
-    <div class="panel-body conversation-body">
-        <div class="conversation-box">
-            {% for message in messages %}
-            <!-- First Comment -->
-            <div class="row conversation-row" id="mid{{message.id}}">
-                {% if current_user.id == message.user_id %}
-                <div class="col-md-2 col-sm-3 col-xs-12">
-                    <div class="conversation-author author">
-                        <!-- Registered User -->
-                        <div class="author-name"><h4><a href="{{ message.user.url }}">{{ message.user.username }}</a></h4></div>
-
-                        <!-- check if user is online or not -->
-                        {% if message.user|is_online %}
-                        <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
-                        {% else %}
-                        <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
-                        {% endif %}
-                        <div class="author-title"><h5>{{ message.user.primary_group.name }}</h5></div>
-
-                        {% if message.user.avatar %}
-                            <div class="author-avatar"><img src="{{ message.user.avatar }}" alt="avatar"></div>
-                        {% endif %}
-
-                        <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ message.user.date_joined|format_date('%b %d %Y') }}</div>
-                        <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ message.user.post_count }}</div>
-
-                        {% if message.user.website %}
-                        <div class="author-website"><a href="{{ message.user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
-                        {% endif %}
-                    </div>
-                </div>
-                {% endif %}
-                <div class="col-md-10 col-sm-9 col-xs-12">
-                    <div class="conversation-message arrow {% if current_user.id == message.user_id %}left{% else %}right{% endif %}">
-                        <div class="message-box">
-
-                            <div class="text-left message-header">
-                                <time class="conversation-date" datetime="{{ message.date_created }}"><i class="fa fa-clock-o"></i> {{ message.date_created|format_date("%d %B %Y - %H:%M") }}</time>
-                            </div>
-
-                            <div class="message-content">
-                                {{ message.message|markup|safe }}
-                            </div>
-
-                            <div class="message-footer">
-                            {% if conversation.draft %}
-                                <p class="text-right"><a href="{{ url_for('message.edit_conversation', conversation_id=conversation.id) }}" class="btn btn-default btn-sm"><i class="fa fa-pencil"></i> edit</a></p>
-                            {% else %}
-                                <p class="{% if current_user.id == message.user_id %}left{% else %}right{% endif %}"><a href="#" class="btn btn-default btn-sm reply-btn" data-message-id="{{ message.id }}"><i class="fa fa-reply"></i> reply</a></p>
-                            {% endif %}
-                            </div>
-
-                        </div>
-                    </div>
-                </div>
-                {% if current_user.id != message.user_id %}
-                <div class="col-md-2 col-sm-3 col-xs-12">
-                    <div class="conversation-author author">
-                        {% if message.user_id and message.user %}
-                        <!-- Registered User -->
-                        <div class="author-name"><h4><a href="{{ message.user.url }}">{{ message.user.username }}</a></h4></div>
-
-                        <!-- check if user is online or not -->
-                        {% if message.user|is_online %}
-                        <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
-                        {% else %}
-                        <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
-                        {% endif %}
-                        <div class="author-title"><h5>{{ message.user.primary_group.name }}</h5></div>
-
-                        {% if message.user.avatar %}
-                            <div class="author-avatar"><img src="{{ message.user.avatar }}" alt="avatar"></div>
-                        {% endif %}
-
-                        <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ message.user.date_joined|format_date('%b %d %Y') }}</div>
-                        <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ message.user.post_count }}</div>
-                        <div class="author-pm">
-                        <a href="{{ url_for('message.new_conversation') }}?to_user={{ message.user.username }}">{% trans %}Message{% endtrans %}</a>
-                        </div>
-
-                        {% if message.user.website %}
-                        <div class="author-website"><a href="{{ message.user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
-                        {% endif %}
-
-                        {% else %}
-                        <div class="author-name"><h4>{% trans %}Deleted{% endtrans %}</h4></div>
-                        <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
-                        {% endif %}
-                    </div>
-                </div>
-                {% endif %}
-            </div>
-        {% endfor %}
-        </div>
-    </div>
-</div>
-
-{% if not conversation.draft %}
-{% from "macros.html" import render_quickreply, render_submit_field %}
-<form class="form" action="#" method="post">
-    {{ form.hidden_tag() }}
-    <div class="row conversation-reply">
-        <div class="col-md-12 col-sm-12 col-xs-12">
-            <div class="editor-box">
-                <div class="editor">
-                    {{ render_quickreply(form.message, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
-                </div>
-                <div class="editor-submit">
-                    <div class="editor-options pull-left">
-                        <span class="label label-info">Markdown</span>
-                        <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
-                        <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
-                    </div>
-                    {{ render_submit_field(form.submit, input_class="btn btn-success pull-right") }}
-                </div>
-            </div>
-        </div>
-    </div>
-</form>
-{% endif %}
-
-{% endblock %}
-
-{% block scripts %}
-    <script>
-    $(function () {
-      $('[data-toggle="tooltip"]').tooltip()
-    })
-    </script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
-{% endblock %}

+ 0 - 93
flaskbb/themes/aurora/templates/message/conversation_list.html

@@ -1,93 +0,0 @@
-<div class="panel conversation-panel">
-    <div class="panel-heading conversation-head">
-        <div class="row">
-            <div class="col-md-12 col-sm-12 col-xs-12">
-                <div class="pull-left">
-                    <span class="fa fa-comment"></span> {% trans %}Conversations{% endtrans %}
-                </div>
-
-                <div class="pull-right">
-                    <span class="label label-info">{{ message_count }}/{{ flaskbb_config["MESSAGE_QUOTA"] }}</span>
-                </div>
-            </div>
-        </div>
-    </div>
-    <div class="panel-body conversation-body">
-        {% for conversation in conversations.items %}
-        <div class="row conversation-row hover">
-            <!-- avatar -->
-            <div class="col-md-1 col-sm-2 col-xs-2 conversation-avatar">
-                {% if conversation.from_user.avatar %}
-                <img src="{{ conversation.from_user.avatar }}" class="img-circle" alt="avatar" width="65px" height="65px" />
-                {% else %}
-                <img src="{{ url_for('static', filename='img/avatar80x80.png') }}" class="img-circle" alt="avatar" width="65px" height="65px" />
-                {% endif %}
-            </div>
-            <!-- other stuff -->
-            <div class="col-md-11 col-sm-10 col-xs-10 conversation-info">
-                <!-- subject -->
-                <div class="conversation-subject">
-                    <a href="{{ url_for('message.view_conversation', conversation_id=conversation.id) }}">
-                        {% if conversation.unread %}
-                            <strong>{{ conversation.subject }}</strong>
-                        {% else %}
-                            {{ conversation.subject }}
-                        {% endif %}
-                    </a>
-                </div>
-                <!-- meta info (date, user) -->
-                <div class="conversation-meta">
-                    From <a href="{{ conversation.from_user.url }}">{{ conversation.from_user.username }}</a>
-                    to <a href="{{ conversation.to_user.url }}">{{ conversation.to_user.username }}</a>
-                    on {{ conversation.date_created|format_date("%d %B %Y - %H:%M") }}
-                </div>
-                <!-- actual content -->
-                <div class="conversation-content">
-                    {{ conversation.first_message.message|crop_title(150)|markup|safe }}
-                </div>
-                <!-- actions -->
-                <div class="conversation-actions">
-                    {% if include_move %}
-                    <form class="inline-form" method="POST" action="{{ url_for('message.move_conversation', conversation_id=conversation.id) }}">
-                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                        <button type="submit" class="btn btn-info btn-xs" title="Move to Trash">
-                            <span class="fa fa-archive"></span>
-                        </button>
-                    </form>
-                    {% endif %}
-
-                    {% if include_delete %}
-                    <form class="inline-form" method="POST" action="{{ url_for('message.delete_conversation', conversation_id=conversation.id) }}">
-                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                        <button type="submit" class="btn btn-danger btn-xs" title="Delete">
-                            <span class="fa fa-trash"></span>
-                        </button>
-                    </form>
-                    {% endif %}
-
-                    {% if include_restore %}
-                    <form class="inline-form" method="POST" action="{{ url_for('message.restore_conversation', conversation_id=conversation.id) }}">
-                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
-                        <button type="submit" class="btn btn-success btn-xs" title="Restore">
-                            <span class="fa fa-undo"></span>
-                        </button>
-                    </form>
-                    {% endif %}
-
-                    {% if include_edit %}
-                    <a class="btn btn-success btn-xs" alt="Edit" title="Edit" href="{{ url_for('message.edit_conversation', conversation_id = conversation.id) }}">
-                        <span class="fa fa-pencil"></span>
-                    </a>
-                    {% endif %}
-                </div>
-            </div>
-        </div>
-        {% else %}
-        <div class="row conversation-row">
-            <div class="col-md-12 col-sm-12 col-xs-12">
-                {% trans %}No conversations found.{% endtrans %}
-            </div>
-        </div>
-        {% endfor %}
-    </div>
-</div>

+ 0 - 13
flaskbb/themes/aurora/templates/message/drafts.html

@@ -1,13 +0,0 @@
-{% set page_title = _("Drafts") %}
-
-{% from theme('macros.html') import render_pagination %}
-{% extends theme("message/message_layout.html") %}
-{% block message_content %}
-
-{% set include_move = True %}
-{% set include_edit = True %}
-{% include theme("message/conversation_list.html") %}
-
-{{ render_pagination(conversations, url_for("message.drafts")) }}
-
-{% endblock %}

+ 0 - 12
flaskbb/themes/aurora/templates/message/inbox.html

@@ -1,12 +0,0 @@
-{% set page_title = _("Inbox") %}
-
-{% from theme('macros.html') import render_pagination %}
-{% extends theme("message/message_layout.html") %}
-{% block message_content %}
-
-{% set include_move = True %}
-{% include theme("message/conversation_list.html") %}
-
-{{ render_pagination(conversations, url_for("message.inbox")) }}
-
-{% endblock %}

+ 0 - 54
flaskbb/themes/aurora/templates/message/message_form.html

@@ -1,54 +0,0 @@
-{% set page_title = title %}
-
-{% extends theme("message/message_layout.html") %}
-
-{% block css %}
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
-{% endblock %}
-
-{% block message_content %}
-{% from theme("macros.html") import render_submit_field, render_quickreply, render_field %}
-<form class="form-horizontal" role="form" method="post">
-    {{ form.hidden_tag() }}
-    <div class="panel page-panel">
-        <div class="panel-heading page-head">
-            {{ title }}
-        </div>
-
-        <div class="panel-body page-body">
-            {{ form.hidden_tag() }}
-            <div class="col-md-12 col-sm-12 col-xs-12">
-
-                {{ render_field(form.to_user, div_class="col-md-6 col-sm-6 col-xs-6") }}
-                {{ render_field(form.subject, div_class="col-md-6 col-sm-6 col-xs-6") }}
-
-                <div class="form-group">
-                    <div class="col-md-12 col-sm-12 col-xs-12">
-                        <div class="editor-box">
-                            <div class="editor">
-                                {{ render_quickreply(form.message, div_class="new-message", rows=7, cols=75, placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'false', 'id': 'quickreply-editor'}) }}
-                            </div>
-                            <div class="editor-submit">
-                                <div class="editor-options pull-left">
-                                    <span class="label label-info">Markdown</span>
-                                    <a class="label label-success" href="#">help</a> <!-- TODO: add markdown cheat sheet -->
-                                    <a class="label label-success" href="#">emojis</a> <!-- TODO: add emoji cheat sheet -->
-                                </div>
-                                <div class="pull-right">
-                                    {{ render_submit_field(form.send_message, input_class="btn btn-success") }}
-                                    {{ render_submit_field(form.save_message, input_class="btn btn-info") }}
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </div>
-</form>
-{% endblock %}
-
-{% block scripts %}
-    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
-{% endblock %}

+ 0 - 29
flaskbb/themes/aurora/templates/message/message_layout.html

@@ -1,29 +0,0 @@
-{% extends theme("layout.html") %}
-{% block content %}
-{%- from theme('macros.html') import navlink with context -%}
-
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ url_for('user.profile', username=current_user.username) }}">{{ current_user.username }}</a></li>
-    <li class="active">{% trans %}Private Message{% endtrans %}</li>
-</ol>
-
-<div class="row">
-    <div class="col-sm-2">
-        <div class="sidebar">
-            <ul class="nav sidenav">
-                <div class="sidenav-btn">
-                    <a href="{{ url_for('message.new_conversation') }}" class="btn btn-success">{% trans %}New Message{% endtrans %}</a>
-                </div>
-                {{ navlink('message.inbox', _('Inbox')) }}
-                {{ navlink('message.sent', _('Sent')) }}
-                {{ navlink('message.drafts', _('Drafts')) }}
-                {{ navlink('message.trash', _('Trash')) }}
-            </ul>
-        </div><!--/.sidebar -->
-    </div><!--/.col-sm-3 -->
-    <div class="col-sm-10">
-        {% block message_content %}{% endblock %}
-    </div><!--/.col-sm-9 -->
-</div><!--/.row -->
-{% endblock %}

+ 0 - 12
flaskbb/themes/aurora/templates/message/sent.html

@@ -1,12 +0,0 @@
-{% set page_title = _("Sent Messages") %}
-
-{% from theme('macros.html') import render_pagination %}
-{% extends theme("message/message_layout.html") %}
-{% block message_content %}
-
-{% set include_move = True %}
-{% include theme("message/conversation_list.html") %}
-
-{{ render_pagination(conversations, url_for("message.sent")) }}
-
-{% endblock %}

+ 0 - 13
flaskbb/themes/aurora/templates/message/trash.html

@@ -1,13 +0,0 @@
-{% set page_title = _("Trash") %}
-
-{% from theme('macros.html') import render_pagination %}
-{% extends theme("message/message_layout.html") %}
-{% block message_content %}
-
-{% set include_restore = True %}
-{% set include_delete = True %}
-{% include theme("message/conversation_list.html") %}
-
-{{ render_pagination(conversations, url_for("message.trash")) }}
-
-{% endblock %}

+ 0 - 69
flaskbb/themes/aurora/templates/user/all_posts.html

@@ -1,69 +0,0 @@
-{% extends theme("user/profile_layout.html") %}
-{% from theme('macros.html') import render_pagination, topic_pages %}
-
-{% block breadcrumb %}
-<ul class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ user.url }}">{{ user.username }}</a></li>
-    <li class="active">{% trans %}Posts{% endtrans %}</li>
-</ul>
-{% endblock %}
-
-{% block profile_navigation %}
-<ul class="nav profile-sidenav" id="profile-tabs" role="tablist">
-    <li>
-        <a href="{{ user.url }}">
-            <span class="fa fa-home"></span> {% trans %}Overview{% endtrans %}
-        </a>
-    </li>
-    {#
-    <li>
-        <a href="{{ user.url }}">
-            <span class="fa fa-line-chart"></span> {% trans %}Statistics{% endtrans %}
-        </a>
-    </li>
-    #}
-    <li>
-        <a href="{{ url_for('user.view_all_topics', username=user.username) }}">
-            <span class="fa fa-comments"></span> {% trans %}Topics{% endtrans %}
-        </a>
-    </li>
-
-    <li class="active">
-        <a href="{{ url_for('user.view_all_posts', username=user.username) }}">
-            <span class="fa fa-comment"></span> {% trans %}Posts{% endtrans %}
-        </a>
-    </li>
-</ul>
-{% endblock %}
-
-
-{% block profile_content %}
-<!-- middle column -->
-<div class="col-md-9 col-sm-9 col-xs-12 profile-content">
-
-    {% for post in posts.items %}
-    <div class="panel page-panel">
-        <div class="panel-heading page-head">
-            <a href="{{ post.topic.url }}">{{ post.topic.title }}</a>
-        </div>
-        <div class="panel-body page-body topic-content">
-            <div class="col-md-12 col-sm-12 col-xs-12">
-                <div class="topic-created">
-                    {{ post.date_created|format_date('%d %B %Y - %H:%M') }}
-                </div>
-                <div class="topic-content">
-                    {{ post.content|markup|safe }}
-                </div>
-            </div>
-        </div>
-    </div>
-    {% else %}
-    <div class="row">
-        <div class="col-md-12 col-sm-12 col-xs-12">
-            {% trans %}The user has not written any posts yet.{% endtrans %}
-        </div>
-    </div>
-    {% endfor %}
-</div>
-{% endblock %}

+ 0 - 80
flaskbb/themes/aurora/templates/user/all_topics.html

@@ -1,80 +0,0 @@
-{% extends theme("user/profile_layout.html") %}
-{% from theme('macros.html') import render_pagination, topic_pages %}
-
-{% block breadcrumb %}
-<ul class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ user.url }}">{{ user.username }}</a></li>
-    <li class="active">{% trans %}Topics{% endtrans %}</li>
-</ul>
-{% endblock %}
-
-{% block profile_navigation %}
-<ul class="nav profile-sidenav" id="profile-tabs" role="tablist">
-    <li>
-        <a href="{{ user.url }}">
-            <span class="fa fa-home"></span> {% trans %}Overview{% endtrans %}
-        </a>
-    </li>
-    {#
-    <li>
-        <a href="{{ user.url }}">
-            <span class="fa fa-line-chart"></span> {% trans %}Statistics{% endtrans %}
-        </a>
-    </li>
-    #}
-    <li class="active">
-        <a href="{{ url_for('user.view_all_topics', username=user.username) }}">
-            <span class="fa fa-comments"></span> {% trans %}Topics{% endtrans %}
-        </a>
-    </li>
-
-    <li>
-        <a href="{{ url_for('user.view_all_posts', username=user.username) }}">
-            <span class="fa fa-comment"></span> {% trans %}Posts{% endtrans %}
-        </a>
-    </li>
-</ul>
-{% endblock %}
-
-{% block profile_content %}
-<!-- middle column -->
-<div class="col-md-9 col-sm-9 col-xs-12 profile-content">
-
-    {% for topic in topics.items %}
-
-    <div class="panel page-panel">
-        <div class="panel-heading page-head topic-head">
-            <strong><a href="{{ topic.url }}">{{ topic.title }}</a></strong> in <a href="{{ topic.forum.url }}">{{ topic.forum.title }}</a>
-        </div>
-
-        <div class="panel-body page-body topic-content">
-            <div class="col-md-12 col-sm-12 col-xs-12">
-                <div class="topic-created">
-                    {{ topic.date_created|format_date('%d %B %Y - %H:%M') }}
-                </div>
-                <div class="topic-content">
-                {{ topic.first_post.content|markup|safe }}
-                </div>
-            </div>
-        </div>
-    </div>
-
-    {% else %}
-    <div class="row">
-        <div class="col-md-12 col-sm-12 co-xs-12">
-            {% trans %}The user has not opened any topics yet.{% endtrans %}
-        </div>
-    </div> <!-- end forum-row -->
-    {% endfor %}
-
-    {% if topics.items|length >= 1 %}
-    <div class="col-md-12 col-sm-12 col-xs-12 controls-col">
-        <div class="pull-left">
-            {{ render_pagination(topics, url_for('user.view_all_topics', username=user.username)) }}
-        </div>
-    </div>
-    {% endif %}
-
-</div>
-{% endblock %}

+ 0 - 19
flaskbb/themes/aurora/templates/user/change_email.html

@@ -1,19 +0,0 @@
-{% extends theme("user/settings_layout.html") %}
-{% block settings_content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}Change E-Mail Address{% endtrans %}
-    </div>
-    <div class="panel-body page-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_field(form.old_email)}}
-            {{ horizontal_field(form.new_email)}}
-            {{ horizontal_field(form.confirm_new_email)}}
-            {{ horizontal_field(form.submit) }}
-        </form>
-    </div>
-</div>
-{% endblock %}

+ 0 - 19
flaskbb/themes/aurora/templates/user/change_password.html

@@ -1,19 +0,0 @@
-{% extends theme("user/settings_layout.html") %}
-{% block settings_content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}Change Password{% endtrans %}
-    </div>
-    <div class="panel-body page-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_field(form.old_password)}}
-            {{ horizontal_field(form.new_password)}}
-            {{ horizontal_field(form.confirm_new_password)}}
-            {{ horizontal_field(form.submit) }}
-        </form>
-    </div>
-</div>
-{% endblock %}

+ 0 - 33
flaskbb/themes/aurora/templates/user/change_user_details.html

@@ -1,33 +0,0 @@
-{% extends theme("user/settings_layout.html") %}
-{% block css %}
-    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap-markdown.min.css') }}">
-{% endblock %}
-
-{% block settings_content %}
-{% from theme("macros.html") import horizontal_field, horizontal_select_field %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}Change User Details{% endtrans %}
-    </div>
-    <div class="panel-body page-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_select_field(form.birthday, select_class="form-control", surrounded_div="col-sm-4") }}
-            {{ horizontal_field(form.gender) }}
-            {{ horizontal_field(form.location) }}
-            {{ horizontal_field(form.website) }}
-            {{ horizontal_field(form.avatar) }}
-            {{ horizontal_field(form.signature, div_class="col-sm-8", rows="5", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
-            {{ horizontal_field(form.notes, div_class="col-sm-8", rows="12", placeholder="", **{'data-provide': 'markdown', 'data-autofocus': 'true', 'id': 'quickreply-editor'}) }}
-
-            {{ horizontal_field(form.submit) }}
-        </form>
-    </div>
-</div>
-{% endblock %}
-
-{% block scripts %}
-    <script type="text/javascript" src="{{ url_for('static', filename='js/marked.js') }}"></script>
-    <script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap-markdown.js') }}"></script>
-{% endblock %}

+ 0 - 18
flaskbb/themes/aurora/templates/user/general_settings.html

@@ -1,18 +0,0 @@
-{% extends theme("user/settings_layout.html") %}
-{% block settings_content %}
-{% from theme("macros.html") import horizontal_field %}
-
-<div class="panel page-panel">
-    <div class="panel-heading page-head">
-        {% trans %}General Settings{% endtrans %}
-    </div>
-    <div class="panel-body page-body">
-        <form class="form-horizontal" role="form" method="POST">
-            {{ form.hidden_tag() }}
-            {{ horizontal_field(form.theme) }}
-            {{ horizontal_field(form.language) }}
-            {{ horizontal_field(form.submit) }}
-        </form>
-    </div>
-</div>
-{% endblock %}

+ 0 - 90
flaskbb/themes/aurora/templates/user/profile.html

@@ -1,90 +0,0 @@
-{% extends theme("user/profile_layout.html") %}
-
-{% block breadcrumb %}
-<ul class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li class="active">{{ user.username }}</li>
-</ul>
-{% endblock %}
-
-{% block profile_content %}
-<!-- middle column -->
-<div class="col-md-9 col-sm-9 col-xs-12 profile-content">
-
-
-    <div class="tab-content">
-        <div role="tabpanel" class="tab-pane active" id="overview">
-
-            <div class="panel page-panel">
-                <div class="panel-heading page-head">{% trans %}Info{% endtrans %}</div>
-                <div class="panel-body page-body">
-                    <div class="col-md-12 col-sm-12 col-xs-12 profile-field">
-                    {% if user.notes %}
-                        {{ user.notes|markup|safe }}
-                    {% else %}
-                        <p>{% trans %}User has not added any notes about him.{% endtrans %}</p>
-                    {% endif %}
-                    </div>
-                </div>
-            </div> <!-- end profile widget -->
-
-
-            {% if user.signature %}
-            <div class="panel page-panel">
-                <div class="panel-heading page-head">{% trans %}Signature{% endtrans %}</div>
-                <div class="panel-body page-body">
-                    <div class="col-md-12 col-sm-12 col-xs-12 profile-field">
-                        {{ user.signature|markup|safe }}
-                    </div>
-                </div>
-            </div> <!-- end profile widget -->
-            {% endif %}
-
-        </div>
-        {# Other information available for use:
-         # TODO: eventually use the information (i don't how i should represent it.. any ideas?)
-        <div role="tabpanel" class="tab-pane" id="info">
-            <div>
-                {% trans %}Group{% endtrans %}:
-                {{ user.primary_group.name }}
-            </div>
-            <div>
-                {% trans %}Joined{% endtrans %}:
-                {{ user.date_joined|format_date('%b %d %Y') }}
-            </div>
-            <div>
-                {% trans %}Posts{% endtrans %}:
-                {{ user.post_count }} ({{ user.posts_per_day }} per day)
-            </div>
-            <div>
-                {% trans %}Last seen{% endtrans %}:
-                {%- if user.lastseen -%} {{ user.lastseen|time_since }} {%- else -%} {% trans %}Never seen{% endtrans %} {%- endif -%}
-            </div>
-            <div>
-                {% trans %}Last post{% endtrans %}:
-                {%- if user.last_post -%}
-                    <a href="{{ user.last_post.url }}">{{ user.last_post.date_created|time_since }}</a>
-                {%- else -%}
-                    {% trans %}Never{% endtrans %}
-                {%- endif -%}
-            </div>
-            <div>
-                {% trans %}Location{% endtrans %}:
-                {%- if user.location -%} {{ user.location }} {%- else -%} {% trans %}No Info{% endtrans %} {%- endif -%}
-            </div>
-            <div>
-                {% trans %}Birthday{% endtrans %}:
-                {% if user.birthday %}
-                    {{ user.birthday|format_date('%b %d %Y') }}
-                {% else %}
-                    {% trans %}No Info{% endtrans %}
-                {% endif %}
-                {% if user.gender %}
-                    ({{ user.gender }})
-                {% endif %}
-            </div>
-        </div>
-        #}
-    </div>
-</div> <!-- end col -->
-{% endblock %}

+ 0 - 28
flaskbb/themes/aurora/templates/user/settings_layout.html

@@ -1,28 +0,0 @@
-{% extends theme("layout.html") %}
-{% block content %}
-{%- from theme('macros.html') import navlink with context -%}
-
-<ol class="breadcrumb flaskbb-breadcrumb">
-    <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
-    <li><a href="{{ current_user.url }}">{{ current_user.username }}</a></li>
-    <li class="active">{% trans %}Settings{% endtrans %}</li>
-</ol>
-
-<div class="row">
-    <div class="col-sm-3">
-        <div class="sidebar">
-            <ul class="nav sidenav">
-                <li class="sidenav-header">{% trans %}Account Settings{% endtrans %}</li>
-                {{ navlink('user.settings', _('General Settings')) }}
-                {{ navlink('user.change_user_details', _('Change User Details')) }}
-                {{ navlink('user.change_email', _('Change E-Mail Address')) }}
-                {{ navlink('user.change_password', _('Change Password')) }}
-            </ul>
-        </div>
-    </div><!--/.col-sm-3 -->
-    <div class="col-sm-9">
-        {% block settings_content %}{% endblock %}
-    </div><!--/.col-sm-9 -->
-</div><!--/row-->
-
-{% endblock %}