nodebb-theme-persona 11.3.2 → 11.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/.eslintrc +2 -2
  2. package/README.md +14 -14
  3. package/languages/de/persona.json +3 -3
  4. package/languages/en-GB/persona.json +2 -2
  5. package/languages/en-US/persona.json +2 -2
  6. package/languages/fr/persona.json +3 -3
  7. package/languages/pl/persona.json +3 -3
  8. package/languages/pt-PT/persona.json +2 -2
  9. package/languages/tr/persona.json +4 -4
  10. package/languages/zh-CN/persona.json +4 -4
  11. package/less/account.less +1 -1
  12. package/less/bootstrap/.csscomb.json +297 -297
  13. package/less/bootstrap/.csslintrc +19 -19
  14. package/less/bootstrap/alerts.less +73 -73
  15. package/less/bootstrap/badges.less +66 -66
  16. package/less/bootstrap/bootstrap.less +50 -50
  17. package/less/bootstrap/breadcrumbs.less +26 -26
  18. package/less/bootstrap/button-groups.less +243 -243
  19. package/less/bootstrap/buttons.less +160 -160
  20. package/less/bootstrap/carousel.less +269 -269
  21. package/less/bootstrap/close.less +34 -34
  22. package/less/bootstrap/code.less +69 -69
  23. package/less/bootstrap/component-animations.less +33 -33
  24. package/less/bootstrap/forms.less +574 -574
  25. package/less/bootstrap/glyphicons.less +305 -305
  26. package/less/bootstrap/grid.less +84 -84
  27. package/less/bootstrap/input-groups.less +166 -166
  28. package/less/bootstrap/jumbotron.less +50 -50
  29. package/less/bootstrap/labels.less +64 -64
  30. package/less/bootstrap/list-group.less +124 -124
  31. package/less/bootstrap/media.less +61 -61
  32. package/less/bootstrap/mixins/alerts.less +14 -14
  33. package/less/bootstrap/mixins/background-variant.less +8 -8
  34. package/less/bootstrap/mixins/border-radius.less +18 -18
  35. package/less/bootstrap/mixins/buttons.less +52 -52
  36. package/less/bootstrap/mixins/center-block.less +7 -7
  37. package/less/bootstrap/mixins/clearfix.less +22 -22
  38. package/less/bootstrap/mixins/forms.less +85 -85
  39. package/less/bootstrap/mixins/gradients.less +59 -59
  40. package/less/bootstrap/mixins/grid-framework.less +91 -91
  41. package/less/bootstrap/mixins/grid.less +122 -122
  42. package/less/bootstrap/mixins/hide-text.less +21 -21
  43. package/less/bootstrap/mixins/image.less +33 -33
  44. package/less/bootstrap/mixins/labels.less +12 -12
  45. package/less/bootstrap/mixins/list-group.less +29 -29
  46. package/less/bootstrap/mixins/nav-divider.less +10 -10
  47. package/less/bootstrap/mixins/nav-vertical-align.less +9 -9
  48. package/less/bootstrap/mixins/opacity.less +8 -8
  49. package/less/bootstrap/mixins/pagination.less +23 -23
  50. package/less/bootstrap/mixins/panels.less +24 -24
  51. package/less/bootstrap/mixins/progress-bar.less +10 -10
  52. package/less/bootstrap/mixins/reset-filter.less +8 -8
  53. package/less/bootstrap/mixins/resize.less +6 -6
  54. package/less/bootstrap/mixins/responsive-visibility.less +15 -15
  55. package/less/bootstrap/mixins/size.less +10 -10
  56. package/less/bootstrap/mixins/tab-focus.less +9 -9
  57. package/less/bootstrap/mixins/table-row.less +28 -28
  58. package/less/bootstrap/mixins/text-emphasis.less +8 -8
  59. package/less/bootstrap/mixins/text-overflow.less +8 -8
  60. package/less/bootstrap/mixins/vendor-prefixes.less +227 -227
  61. package/less/bootstrap/mixins.less +39 -39
  62. package/less/bootstrap/modals.less +150 -150
  63. package/less/bootstrap/navbar.less +660 -660
  64. package/less/bootstrap/navs.less +242 -242
  65. package/less/bootstrap/normalize.less +427 -427
  66. package/less/bootstrap/pager.less +54 -54
  67. package/less/bootstrap/pagination.less +88 -88
  68. package/less/bootstrap/panels.less +265 -265
  69. package/less/bootstrap/popovers.less +135 -135
  70. package/less/bootstrap/print.less +107 -107
  71. package/less/bootstrap/progress-bars.less +87 -87
  72. package/less/bootstrap/responsive-embed.less +35 -35
  73. package/less/bootstrap/responsive-utilities.less +194 -194
  74. package/less/bootstrap/scaffolding.less +161 -161
  75. package/less/bootstrap/tables.less +234 -234
  76. package/less/bootstrap/theme.less +273 -273
  77. package/less/bootstrap/thumbnails.less +36 -36
  78. package/less/bootstrap/tooltip.less +102 -102
  79. package/less/bootstrap/type.less +302 -302
  80. package/less/bootstrap/utilities.less +55 -55
  81. package/less/bootstrap/variables.less +861 -861
  82. package/less/bootstrap/wells.less +29 -29
  83. package/less/bootstrap-flipped.css +1550 -1550
  84. package/less/categories.less +235 -235
  85. package/less/chats.less +622 -622
  86. package/less/flags.less +42 -42
  87. package/less/footer.less +17 -17
  88. package/less/ip-blacklist.less +6 -6
  89. package/less/keyframes.less +152 -152
  90. package/less/mixins.less +6 -0
  91. package/less/mobile.less +291 -291
  92. package/less/modules/composer-default.less +16 -16
  93. package/less/modules/cookie-consent.less +12 -12
  94. package/less/modules/fab.less +32 -32
  95. package/less/modules/morph.less +268 -268
  96. package/less/modules/necro-post.less +8 -8
  97. package/less/modules/nprogress.less +80 -80
  98. package/less/modules/usercard.less +64 -64
  99. package/less/noscript.less +82 -82
  100. package/less/notifications.less +37 -37
  101. package/less/outgoing.less +8 -8
  102. package/less/persona.less +47 -47
  103. package/less/post-queue.less +19 -19
  104. package/less/register.less +75 -75
  105. package/less/rtl.less +132 -132
  106. package/less/style.less +4 -0
  107. package/less/tags.less +36 -36
  108. package/less/topic.less +7 -1
  109. package/less/users.less +72 -72
  110. package/less/variables.less +6 -6
  111. package/package.json +1 -1
  112. package/public/.eslintrc +2 -2
  113. package/public/admin.js +15 -24
  114. package/public/modules/autohidingnavbar.js +220 -220
  115. package/public/modules/quickreply.js +11 -14
  116. package/public/persona.js +27 -24
  117. package/templates/account/blocks.tpl +34 -34
  118. package/templates/account/categories.tpl +28 -28
  119. package/templates/account/consent.tpl +68 -68
  120. package/templates/account/edit/email.tpl +30 -30
  121. package/templates/account/edit/password.tpl +31 -31
  122. package/templates/account/edit/username.tpl +29 -29
  123. package/templates/account/followers.tpl +16 -16
  124. package/templates/account/following.tpl +16 -16
  125. package/templates/account/groups.tpl +16 -16
  126. package/templates/account/info.tpl +187 -187
  127. package/templates/account/posts.tpl +18 -18
  128. package/templates/account/sessions.tpl +31 -31
  129. package/templates/account/topics.tpl +30 -30
  130. package/templates/account/uploads.tpl +42 -42
  131. package/templates/admin/plugins/persona.tpl +28 -28
  132. package/templates/alert.tpl +15 -15
  133. package/templates/categories.tpl +31 -31
  134. package/templates/category.tpl +62 -62
  135. package/templates/chats.tpl +15 -15
  136. package/templates/flags/list.tpl +71 -71
  137. package/templates/footer.tpl +18 -18
  138. package/templates/groups/details.tpl +272 -272
  139. package/templates/groups/list.tpl +46 -46
  140. package/templates/groups/members.tpl +8 -8
  141. package/templates/ip-blacklist.tpl +55 -55
  142. package/templates/login.tpl +90 -90
  143. package/templates/modules/taskbar.tpl +2 -2
  144. package/templates/modules/usercard.tpl +36 -36
  145. package/templates/notifications.tpl +64 -64
  146. package/templates/partials/acceptTos.tpl +8 -8
  147. package/templates/partials/account/category-item.tpl +22 -22
  148. package/templates/partials/account/header.tpl +46 -46
  149. package/templates/partials/breadcrumbs.tpl +18 -18
  150. package/templates/partials/buttons/newTopic.tpl +15 -15
  151. package/templates/partials/categories/item.tpl +46 -46
  152. package/templates/partials/categories/lastpost.tpl +26 -26
  153. package/templates/partials/categories/link.tpl +10 -10
  154. package/templates/partials/category/sort.tpl +14 -14
  155. package/templates/partials/category/subcategory.tpl +17 -17
  156. package/templates/partials/category/tags.tpl +4 -4
  157. package/templates/partials/category/tools.tpl +80 -80
  158. package/templates/partials/category/watch.tpl +22 -22
  159. package/templates/partials/category-filter-content.tpl +18 -18
  160. package/templates/partials/category-filter-right.tpl +2 -2
  161. package/templates/partials/category-filter.tpl +2 -2
  162. package/templates/partials/category-selector-right.tpl +2 -2
  163. package/templates/partials/category-selector.tpl +2 -2
  164. package/templates/partials/change_owner_modal.tpl +22 -22
  165. package/templates/partials/chats/dropdown.tpl +33 -33
  166. package/templates/partials/chats/messages.tpl +6 -6
  167. package/templates/partials/chats/recent_room.tpl +24 -24
  168. package/templates/partials/chats-menu.tpl +10 -10
  169. package/templates/partials/cookie-consent.tpl +4 -4
  170. package/templates/partials/delete_posts_modal.tpl +18 -18
  171. package/templates/partials/fork_thread_modal.tpl +21 -21
  172. package/templates/partials/groups/list.tpl +20 -20
  173. package/templates/partials/groups/memberlist.tpl +39 -39
  174. package/templates/partials/menu.tpl +238 -238
  175. package/templates/partials/merge_topics_modal.tpl +57 -57
  176. package/templates/partials/modals/flag_modal.tpl +44 -44
  177. package/templates/partials/modals/manage_room.tpl +10 -10
  178. package/templates/partials/modals/manage_room_users.tpl +6 -6
  179. package/templates/partials/modals/post_history.tpl +36 -36
  180. package/templates/partials/modals/rename_room.tpl +3 -3
  181. package/templates/partials/modals/votes_modal.tpl +10 -10
  182. package/templates/partials/move_thread_modal.tpl +16 -16
  183. package/templates/partials/paginator.tpl +44 -44
  184. package/templates/partials/post_bar.tpl +20 -20
  185. package/templates/partials/posts_list.tpl +7 -7
  186. package/templates/partials/quick-search-results.tpl +30 -30
  187. package/templates/partials/slideout-menu.tpl +26 -26
  188. package/templates/partials/tags_list.tpl +4 -4
  189. package/templates/partials/thread_tools.tpl +7 -7
  190. package/templates/partials/topic/badge.tpl +4 -4
  191. package/templates/partials/topic/browsing-users.tpl +12 -12
  192. package/templates/partials/topic/deleted-message.tpl +10 -10
  193. package/templates/partials/topic/navigation-post.tpl +11 -11
  194. package/templates/partials/topic/navigator.tpl +31 -31
  195. package/templates/partials/topic/necro-post.tpl +2 -2
  196. package/templates/partials/topic/post-menu.tpl +4 -4
  197. package/templates/partials/topic/post.tpl +104 -104
  198. package/templates/partials/topic/quickreply.tpl +20 -20
  199. package/templates/partials/topic/reply-button.tpl +26 -26
  200. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  201. package/templates/partials/topic/sort.tpl +9 -9
  202. package/templates/partials/topic/stats.tpl +11 -11
  203. package/templates/partials/topic/tags.tpl +4 -4
  204. package/templates/partials/topic/watch.tpl +20 -20
  205. package/templates/partials/users_list.tpl +39 -39
  206. package/templates/partials/users_list_menu.tpl +10 -10
  207. package/templates/popular.tpl +61 -61
  208. package/templates/post-queue.tpl +75 -75
  209. package/templates/recent.tpl +51 -51
  210. package/templates/reset.tpl +23 -23
  211. package/templates/reset_code.tpl +41 -41
  212. package/templates/tag.tpl +35 -35
  213. package/templates/tags.tpl +30 -30
  214. package/templates/top.tpl +61 -61
  215. package/templates/tos.tpl +4 -4
  216. package/templates/unread.tpl +49 -49
  217. package/templates/unsubscribe.tpl +6 -6
  218. package/templates/users.tpl +47 -47
  219. package/theme.json +6 -6
  220. package/theme.less +1 -1
@@ -1,17 +1,17 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
-
4
- <div class="users row">
5
- <h1>[[pages:{template.name}, {username}]]</h1>
6
-
7
- <ul id="users-container" class="users-container" data-nextstart="{nextStart}">
8
- <!-- IMPORT partials/users_list.tpl -->
9
- </ul>
10
-
11
- <!-- IF !users.length -->
12
- <div class="alert alert-warning text-center">[[user:follows_no_one]]</div>
13
- <!-- ENDIF !users.length -->
14
-
15
- <!-- IMPORT partials/paginator.tpl -->
16
- </div>
1
+ <div class="account">
2
+ <!-- IMPORT partials/account/header.tpl -->
3
+
4
+ <div class="users row">
5
+ <h1>[[pages:{template.name}, {username}]]</h1>
6
+
7
+ <ul id="users-container" class="users-container" data-nextstart="{nextStart}">
8
+ <!-- IMPORT partials/users_list.tpl -->
9
+ </ul>
10
+
11
+ <!-- IF !users.length -->
12
+ <div class="alert alert-warning text-center">[[user:follows_no_one]]</div>
13
+ <!-- ENDIF !users.length -->
14
+
15
+ <!-- IMPORT partials/paginator.tpl -->
16
+ </div>
17
17
  </div>
@@ -1,17 +1,17 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
-
4
- <div class="row">
5
- <h1>[[pages:{template.name}, {username}]]</h1>
6
-
7
- <div class="groups list">
8
- <div component="groups/container" id="groups-list" class="row">
9
- <!-- IF !groups.length -->
10
- <div class="alert alert-warning text-center">[[groups:no_groups_found]]</div>
11
- <!-- ELSE -->
12
- <!-- IMPORT partials/groups/list.tpl -->
13
- <!-- ENDIF !groups.length -->
14
- </div>
15
- </div>
16
- </div>
1
+ <div class="account">
2
+ <!-- IMPORT partials/account/header.tpl -->
3
+
4
+ <div class="row">
5
+ <h1>[[pages:{template.name}, {username}]]</h1>
6
+
7
+ <div class="groups list">
8
+ <div component="groups/container" id="groups-list" class="row">
9
+ <!-- IF !groups.length -->
10
+ <div class="alert alert-warning text-center">[[groups:no_groups_found]]</div>
11
+ <!-- ELSE -->
12
+ <!-- IMPORT partials/groups/list.tpl -->
13
+ <!-- ENDIF !groups.length -->
14
+ </div>
15
+ </div>
16
+ </div>
17
17
  </div>
@@ -1,188 +1,188 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
-
4
- <!-- IF sessions.length -->
5
- <div class="row">
6
- <div class="col-xs-12 col-md-12">
7
- <h4>[[global:sessions]]</h4>
8
- <ul class="list-group" component="user/sessions">
9
- {{{each sessions}}}
10
- <li class="list-group-item" data-uuid="{../uuid}">
11
- <div class="pull-right">
12
- <!-- IF isSelfOrAdminOrGlobalModerator -->
13
- <!-- IF !../current -->
14
- <button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
15
- <!-- ENDIF !../current -->
16
- <!-- ENDIF isSelfOrAdminOrGlobalModerator -->
17
- {function.userAgentIcons}
18
- <i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
19
- </div>
20
- {../browser} {../version} on {../platform}<br />
21
- <small class="timeago text-muted" title="{../datetimeISO}"></small>
22
- <ul>
23
- <li><strong>[[global:ip_address]]</strong>: {../ip}</li>
24
- </ul>
25
- </li>
26
- {{{end}}}
27
- </ul>
28
- </div>
29
- </div>
30
- <!-- ENDIF sessions.length -->
31
-
32
- <div class="row">
33
- <div class="col-sm-6">
34
- <div class="panel panel-default">
35
- <div class="panel-heading">
36
- <h3 class="panel-title">[[global:recentips]]</h3>
37
- </div>
38
- <div class="panel-body">
39
- <ul>
40
- {{{each ips}}}
41
- <li>{@value}</li>
42
- {{{end}}}
43
- </ul>
44
- </div>
45
- </div>
46
-
47
- <div class="panel panel-default">
48
- <div class="panel-heading">
49
- <h3 class="panel-title">[[user:info.username-history]]</h3>
50
- </div>
51
- <div class="panel-body">
52
- <ul class="list-group">
53
- {{{each usernames}}}
54
- <li class="list-group-item">
55
- {../value}
56
- <small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
57
- </li>
58
- {{{end}}}
59
- </ul>
60
- </div>
61
- </div>
62
-
63
- <div class="panel panel-default">
64
- <div class="panel-heading">
65
- <h3 class="panel-title">[[user:info.email-history]]</h3>
66
- </div>
67
- <div class="panel-body">
68
- <ul class="list-group">
69
- {{{each emails}}}
70
- <li class="list-group-item">
71
- {../value}
72
- <small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
73
- </li>
74
- {{{end}}}
75
- </ul>
76
- </div>
77
- </div>
78
- </div>
79
- <div class="col-sm-6">
80
- <div class="panel panel-default">
81
- <div class="panel-heading">
82
- <h3 class="panel-title">[[user:info.latest-flags]]</h3>
83
- </div>
84
- <div class="panel-body">
85
- <!-- IF history.flags.length -->
86
- <ul class="recent-flags">
87
- {{{each history.flags}}}
88
- <li>
89
- <p>
90
- {{{ if history.flags.targetPurged }}}
91
- <div>[[flags:target-purged]]</div>
92
- {{{ else }}}
93
- <a class="title" href="{config.relative_path}/post/{../pid}">{../title}</a><br />
94
- {{{ end }}}
95
- <span class="timestamp">[[flags:flagged-timeago-readable, {../timestampISO}, {../timestampReadable}]]</span>
96
- </p>
97
- </li>
98
- {{{end}}}
99
- </ul>
100
- <!-- ELSE -->
101
- <div class="alert alert-success">[[user:info.no-flags]]</div>
102
- <!-- ENDIF history.flags.length -->
103
- </div>
104
- </div>
105
-
106
- <div class="panel panel-default">
107
- <div class="panel-heading">
108
- <h3 class="panel-title">
109
-
110
- [[user:info.ban-history]]
111
-
112
- <!-- IF !banned -->
113
- <!-- IF !isSelf -->
114
- <button class="btn btn-xs pull-right btn-danger" component="account/ban">[[user:ban_account]]</button>
115
- <!-- ENDIF !isSelf -->
116
- <!-- ELSE -->
117
- <!-- IF !isSelf -->
118
- <button class="btn btn-xs pull-right btn-success" component="account/unban">[[user:unban_account]]</button>
119
- <!-- ENDIF !isSelf -->
120
- <!-- ENDIF !banned -->
121
- </h3>
122
- </div>
123
- <div class="panel-body">
124
- <!-- IF history.bans.length -->
125
- <ul class="ban-history">
126
- {{{each history.bans}}}
127
- <li>
128
- <p>
129
- <a href="{config.relative_path}/user/{history.bans.user.userslug}">{buildAvatar(history.bans.user, "sm", true)}</a>
130
- <strong>
131
- <a href="<!-- IF history.bans.user.userslug -->{config.relative_path}/user/{history.bans.user.userslug}<!-- ELSE -->#<!-- ENDIF history.bans.user.userslug -->" itemprop="author" data-username="{history.bans.user.username}" data-uid="{history.bans.user.uid}">{history.bans.user.username}</a>
132
- </strong>
133
- <span class="timestamp timeago" title="{../timestampISO}"></span> &mdash; {../timestampReadable}<br />
134
- <!-- IF ../until -->
135
- <span class="expiry">[[user:info.banned-until, {../untilReadable}]]</span><br />
136
- <!-- ELSE -->
137
- <span class="expiry">[[user:info.banned-permanently]]</span><br />
138
- <!-- ENDIF ../until -->
139
- <span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {../reason}</span>
140
- </p>
141
- </li>
142
- {{{end}}}
143
- </ul>
144
- <!-- ELSE -->
145
- <div class="alert alert-success">[[user:info.no-ban-history]]</div>
146
- <!-- ENDIF history.bans.length -->
147
- </div>
148
- </div>
149
- <!-- IF isAdminOrGlobalModerator -->
150
- <div class="panel panel-default">
151
- <div class="panel-heading">
152
- <h3 class="panel-title">[[user:info.moderation-note]]</h3>
153
- </div>
154
- <div class="panel-body">
155
- <textarea component="account/moderation-note" class="form-control"></textarea>
156
- <br/>
157
- <button class="btn btn-sm pull-right btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
158
- <br/>
159
- <div component="account/moderation-note/list">
160
- {{{each moderationNotes}}}
161
- <hr/>
162
-
163
- <div class="clearfix">
164
- <div class="pull-left">
165
- <a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->">{buildAvatar(moderationNotes.user, "sm", true)}</a>
166
- <strong>
167
- <a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->" itemprop="author" data-username="{moderationNotes.user.username}" data-uid="{moderationNotes.user.uid}">{moderationNotes.user.username}</a>
168
- </strong>
169
-
170
- <div class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
171
- <span class="timeago" title="{moderationNotes.timestampISO}"></span>
172
- </div>
173
- <br />
174
-
175
- <div class="content">
176
- {moderationNotes.note}
177
- </div>
178
- </div>
179
- </div>
180
- {{{end}}}
181
- </div>
182
- <!-- IMPORT partials/paginator.tpl -->
183
- </div>
184
- </div>
185
- <!-- ENDIF isAdminOrGlobalModerator -->
186
- </div>
187
- </div>
1
+ <div class="account">
2
+ <!-- IMPORT partials/account/header.tpl -->
3
+
4
+ <!-- IF sessions.length -->
5
+ <div class="row">
6
+ <div class="col-xs-12 col-md-12">
7
+ <h4>[[global:sessions]]</h4>
8
+ <ul class="list-group" component="user/sessions">
9
+ {{{each sessions}}}
10
+ <li class="list-group-item" data-uuid="{../uuid}">
11
+ <div class="pull-right">
12
+ <!-- IF isSelfOrAdminOrGlobalModerator -->
13
+ <!-- IF !../current -->
14
+ <button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
15
+ <!-- ENDIF !../current -->
16
+ <!-- ENDIF isSelfOrAdminOrGlobalModerator -->
17
+ {function.userAgentIcons}
18
+ <i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
19
+ </div>
20
+ {../browser} {../version} on {../platform}<br />
21
+ <small class="timeago text-muted" title="{../datetimeISO}"></small>
22
+ <ul>
23
+ <li><strong>[[global:ip_address]]</strong>: {../ip}</li>
24
+ </ul>
25
+ </li>
26
+ {{{end}}}
27
+ </ul>
28
+ </div>
29
+ </div>
30
+ <!-- ENDIF sessions.length -->
31
+
32
+ <div class="row">
33
+ <div class="col-sm-6">
34
+ <div class="panel panel-default">
35
+ <div class="panel-heading">
36
+ <h3 class="panel-title">[[global:recentips]]</h3>
37
+ </div>
38
+ <div class="panel-body">
39
+ <ul>
40
+ {{{each ips}}}
41
+ <li>{@value}</li>
42
+ {{{end}}}
43
+ </ul>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="panel panel-default">
48
+ <div class="panel-heading">
49
+ <h3 class="panel-title">[[user:info.username-history]]</h3>
50
+ </div>
51
+ <div class="panel-body">
52
+ <ul class="list-group">
53
+ {{{each usernames}}}
54
+ <li class="list-group-item">
55
+ {../value}
56
+ <small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
57
+ </li>
58
+ {{{end}}}
59
+ </ul>
60
+ </div>
61
+ </div>
62
+
63
+ <div class="panel panel-default">
64
+ <div class="panel-heading">
65
+ <h3 class="panel-title">[[user:info.email-history]]</h3>
66
+ </div>
67
+ <div class="panel-body">
68
+ <ul class="list-group">
69
+ {{{each emails}}}
70
+ <li class="list-group-item">
71
+ {../value}
72
+ <small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
73
+ </li>
74
+ {{{end}}}
75
+ </ul>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ <div class="col-sm-6">
80
+ <div class="panel panel-default">
81
+ <div class="panel-heading">
82
+ <h3 class="panel-title">[[user:info.latest-flags]]</h3>
83
+ </div>
84
+ <div class="panel-body">
85
+ <!-- IF history.flags.length -->
86
+ <ul class="recent-flags">
87
+ {{{each history.flags}}}
88
+ <li>
89
+ <p>
90
+ {{{ if history.flags.targetPurged }}}
91
+ <div>[[flags:target-purged]]</div>
92
+ {{{ else }}}
93
+ <a class="title" href="{config.relative_path}/post/{../pid}">{../title}</a><br />
94
+ {{{ end }}}
95
+ <span class="timestamp">[[flags:flagged-timeago-readable, {../timestampISO}, {../timestampReadable}]]</span>
96
+ </p>
97
+ </li>
98
+ {{{end}}}
99
+ </ul>
100
+ <!-- ELSE -->
101
+ <div class="alert alert-success">[[user:info.no-flags]]</div>
102
+ <!-- ENDIF history.flags.length -->
103
+ </div>
104
+ </div>
105
+
106
+ <div class="panel panel-default">
107
+ <div class="panel-heading">
108
+ <h3 class="panel-title">
109
+
110
+ [[user:info.ban-history]]
111
+
112
+ <!-- IF !banned -->
113
+ <!-- IF !isSelf -->
114
+ <button class="btn btn-xs pull-right btn-danger" component="account/ban">[[user:ban_account]]</button>
115
+ <!-- ENDIF !isSelf -->
116
+ <!-- ELSE -->
117
+ <!-- IF !isSelf -->
118
+ <button class="btn btn-xs pull-right btn-success" component="account/unban">[[user:unban_account]]</button>
119
+ <!-- ENDIF !isSelf -->
120
+ <!-- ENDIF !banned -->
121
+ </h3>
122
+ </div>
123
+ <div class="panel-body">
124
+ <!-- IF history.bans.length -->
125
+ <ul class="ban-history">
126
+ {{{each history.bans}}}
127
+ <li>
128
+ <p>
129
+ <a href="{config.relative_path}/user/{history.bans.user.userslug}">{buildAvatar(history.bans.user, "sm", true)}</a>
130
+ <strong>
131
+ <a href="<!-- IF history.bans.user.userslug -->{config.relative_path}/user/{history.bans.user.userslug}<!-- ELSE -->#<!-- ENDIF history.bans.user.userslug -->" itemprop="author" data-username="{history.bans.user.username}" data-uid="{history.bans.user.uid}">{history.bans.user.username}</a>
132
+ </strong>
133
+ <span class="timestamp timeago" title="{../timestampISO}"></span> &mdash; {../timestampReadable}<br />
134
+ <!-- IF ../until -->
135
+ <span class="expiry">[[user:info.banned-until, {../untilReadable}]]</span><br />
136
+ <!-- ELSE -->
137
+ <span class="expiry">[[user:info.banned-permanently]]</span><br />
138
+ <!-- ENDIF ../until -->
139
+ <span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {../reason}</span>
140
+ </p>
141
+ </li>
142
+ {{{end}}}
143
+ </ul>
144
+ <!-- ELSE -->
145
+ <div class="alert alert-success">[[user:info.no-ban-history]]</div>
146
+ <!-- ENDIF history.bans.length -->
147
+ </div>
148
+ </div>
149
+ <!-- IF isAdminOrGlobalModerator -->
150
+ <div class="panel panel-default">
151
+ <div class="panel-heading">
152
+ <h3 class="panel-title">[[user:info.moderation-note]]</h3>
153
+ </div>
154
+ <div class="panel-body">
155
+ <textarea component="account/moderation-note" class="form-control"></textarea>
156
+ <br/>
157
+ <button class="btn btn-sm pull-right btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
158
+ <br/>
159
+ <div component="account/moderation-note/list">
160
+ {{{each moderationNotes}}}
161
+ <hr/>
162
+
163
+ <div class="clearfix">
164
+ <div class="pull-left">
165
+ <a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->">{buildAvatar(moderationNotes.user, "sm", true)}</a>
166
+ <strong>
167
+ <a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->" itemprop="author" data-username="{moderationNotes.user.username}" data-uid="{moderationNotes.user.uid}">{moderationNotes.user.username}</a>
168
+ </strong>
169
+
170
+ <div class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
171
+ <span class="timeago" title="{moderationNotes.timestampISO}"></span>
172
+ </div>
173
+ <br />
174
+
175
+ <div class="content">
176
+ {moderationNotes.note}
177
+ </div>
178
+ </div>
179
+ </div>
180
+ {{{end}}}
181
+ </div>
182
+ <!-- IMPORT partials/paginator.tpl -->
183
+ </div>
184
+ </div>
185
+ <!-- ENDIF isAdminOrGlobalModerator -->
186
+ </div>
187
+ </div>
188
188
  </div>
@@ -1,19 +1,19 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
-
4
- <div class="row">
5
- <h1>{title}</h1>
6
-
7
- <!-- IF !posts.length -->
8
- <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
9
- <!-- ENDIF !posts.length -->
10
-
11
- <div class="col-xs-12">
12
- <!-- IMPORT partials/posts_list.tpl -->
13
-
14
- <!-- IF config.usePagination -->
15
- <!-- IMPORT partials/paginator.tpl -->
16
- <!-- ENDIF config.usePagination -->
17
- </div>
18
- </div>
1
+ <div class="account">
2
+ <!-- IMPORT partials/account/header.tpl -->
3
+
4
+ <div class="row">
5
+ <h1>{title}</h1>
6
+
7
+ <!-- IF !posts.length -->
8
+ <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
9
+ <!-- ENDIF !posts.length -->
10
+
11
+ <div class="col-xs-12">
12
+ <!-- IMPORT partials/posts_list.tpl -->
13
+
14
+ <!-- IF config.usePagination -->
15
+ <!-- IMPORT partials/paginator.tpl -->
16
+ <!-- ENDIF config.usePagination -->
17
+ </div>
18
+ </div>
19
19
  </div>
@@ -1,32 +1,32 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
-
4
- <!-- IF sessions.length -->
5
- <div class="row">
6
- <div class="col-xs-12 col-md-12">
7
- <p class="lead">[[user:sessions.description]]</p>
8
- <hr />
9
- <ul class="list-group" component="user/sessions">
10
- {{{each sessions}}}
11
- <li class="list-group-item" data-uuid="{../uuid}">
12
- <div class="pull-right">
13
- <!-- IF isSelfOrAdminOrGlobalModerator -->
14
- <!-- IF !../current -->
15
- <button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
16
- <!-- ENDIF !../current -->
17
- <!-- ENDIF isSelfOrAdminOrGlobalModerator -->
18
- {function.userAgentIcons}
19
- <i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
20
- </div>
21
- {../browser} {../version} on {../platform}<br />
22
- <small class="timeago text-muted" title="{../datetimeISO}"></small>
23
- <ul>
24
- <li><strong>[[global:ip_address]]</strong>: {../ip}</li>
25
- </ul>
26
- </li>
27
- {{{end}}}
28
- </ul>
29
- </div>
30
- </div>
31
- <!-- ENDIF sessions.length -->
1
+ <div class="account">
2
+ <!-- IMPORT partials/account/header.tpl -->
3
+
4
+ <!-- IF sessions.length -->
5
+ <div class="row">
6
+ <div class="col-xs-12 col-md-12">
7
+ <p class="lead">[[user:sessions.description]]</p>
8
+ <hr />
9
+ <ul class="list-group" component="user/sessions">
10
+ {{{each sessions}}}
11
+ <li class="list-group-item" data-uuid="{../uuid}">
12
+ <div class="pull-right">
13
+ <!-- IF isSelfOrAdminOrGlobalModerator -->
14
+ <!-- IF !../current -->
15
+ <button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
16
+ <!-- ENDIF !../current -->
17
+ <!-- ENDIF isSelfOrAdminOrGlobalModerator -->
18
+ {function.userAgentIcons}
19
+ <i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
20
+ </div>
21
+ {../browser} {../version} on {../platform}<br />
22
+ <small class="timeago text-muted" title="{../datetimeISO}"></small>
23
+ <ul>
24
+ <li><strong>[[global:ip_address]]</strong>: {../ip}</li>
25
+ </ul>
26
+ </li>
27
+ {{{end}}}
28
+ </ul>
29
+ </div>
30
+ </div>
31
+ <!-- ENDIF sessions.length -->
32
32
  </div>
@@ -1,30 +1,30 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
-
4
- <div class="row">
5
- <h1>{title}</h1>
6
- <!-- IF showSort -->
7
- <div class="row clearfix">
8
- <div class="pull-right btn-group bottom-sheet" component="thread/sort">
9
- <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"><span>[[topic:sort_by]]</span> <span class="caret"></span></button>
10
- <ul class="dropdown-menu dropdown-menu-right">
11
- {{{each sortOptions }}}
12
- <li><a href="{config.relative_path}{sortOptions.url}"><i class="fa fa-fw {{{if sortOptions.selected}}}fa-check{{{end}}}"></i>{sortOptions.name}</a></li>
13
- {{{end}}}
14
- </ul>
15
- </div>
16
- </div>
17
- <!-- ENDIF showSort -->
18
-
19
- <!-- IF !topics.length -->
20
- <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
21
- <!-- ENDIF !topics.length -->
22
-
23
- <div class="category">
24
- <!-- IMPORT partials/topics_list.tpl -->
25
- <!-- IF config.usePagination -->
26
- <!-- IMPORT partials/paginator.tpl -->
27
- <!-- ENDIF config.usePagination -->
28
- </div>
29
- </div>
30
- </div>
1
+ <div class="account">
2
+ <!-- IMPORT partials/account/header.tpl -->
3
+
4
+ <div class="row">
5
+ <h1>{title}</h1>
6
+ <!-- IF showSort -->
7
+ <div class="row clearfix">
8
+ <div class="pull-right btn-group bottom-sheet" component="thread/sort">
9
+ <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"><span>[[topic:sort_by]]</span> <span class="caret"></span></button>
10
+ <ul class="dropdown-menu dropdown-menu-right">
11
+ {{{each sortOptions }}}
12
+ <li><a href="{config.relative_path}{sortOptions.url}"><i class="fa fa-fw {{{if sortOptions.selected}}}fa-check{{{end}}}"></i>{sortOptions.name}</a></li>
13
+ {{{end}}}
14
+ </ul>
15
+ </div>
16
+ </div>
17
+ <!-- ENDIF showSort -->
18
+
19
+ <!-- IF !topics.length -->
20
+ <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
21
+ <!-- ENDIF !topics.length -->
22
+
23
+ <div class="category">
24
+ <!-- IMPORT partials/topics_list.tpl -->
25
+ <!-- IF config.usePagination -->
26
+ <!-- IMPORT partials/paginator.tpl -->
27
+ <!-- ENDIF config.usePagination -->
28
+ </div>
29
+ </div>
30
+ </div>