nodebb-theme-persona 12.0.2 → 12.0.3

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 (200) 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-US/persona.json +2 -2
  5. package/languages/fr/persona.json +3 -3
  6. package/languages/pl/persona.json +3 -3
  7. package/languages/pt-PT/persona.json +2 -2
  8. package/languages/tr/persona.json +4 -4
  9. package/languages/zh-CN/persona.json +4 -4
  10. package/less/bootstrap/.csscomb.json +297 -297
  11. package/less/bootstrap/.csslintrc +19 -19
  12. package/less/bootstrap/alerts.less +73 -73
  13. package/less/bootstrap/badges.less +66 -66
  14. package/less/bootstrap/bootstrap.less +50 -50
  15. package/less/bootstrap/breadcrumbs.less +26 -26
  16. package/less/bootstrap/button-groups.less +243 -243
  17. package/less/bootstrap/buttons.less +160 -160
  18. package/less/bootstrap/carousel.less +269 -269
  19. package/less/bootstrap/close.less +34 -34
  20. package/less/bootstrap/code.less +69 -69
  21. package/less/bootstrap/component-animations.less +33 -33
  22. package/less/bootstrap/forms.less +574 -574
  23. package/less/bootstrap/glyphicons.less +305 -305
  24. package/less/bootstrap/grid.less +84 -84
  25. package/less/bootstrap/input-groups.less +166 -166
  26. package/less/bootstrap/jumbotron.less +50 -50
  27. package/less/bootstrap/labels.less +64 -64
  28. package/less/bootstrap/list-group.less +124 -124
  29. package/less/bootstrap/media.less +61 -61
  30. package/less/bootstrap/mixins/alerts.less +14 -14
  31. package/less/bootstrap/mixins/background-variant.less +8 -8
  32. package/less/bootstrap/mixins/border-radius.less +18 -18
  33. package/less/bootstrap/mixins/buttons.less +52 -52
  34. package/less/bootstrap/mixins/center-block.less +7 -7
  35. package/less/bootstrap/mixins/clearfix.less +22 -22
  36. package/less/bootstrap/mixins/forms.less +85 -85
  37. package/less/bootstrap/mixins/gradients.less +59 -59
  38. package/less/bootstrap/mixins/grid-framework.less +91 -91
  39. package/less/bootstrap/mixins/grid.less +122 -122
  40. package/less/bootstrap/mixins/hide-text.less +21 -21
  41. package/less/bootstrap/mixins/image.less +33 -33
  42. package/less/bootstrap/mixins/labels.less +12 -12
  43. package/less/bootstrap/mixins/list-group.less +29 -29
  44. package/less/bootstrap/mixins/nav-divider.less +10 -10
  45. package/less/bootstrap/mixins/nav-vertical-align.less +9 -9
  46. package/less/bootstrap/mixins/opacity.less +8 -8
  47. package/less/bootstrap/mixins/pagination.less +23 -23
  48. package/less/bootstrap/mixins/panels.less +24 -24
  49. package/less/bootstrap/mixins/progress-bar.less +10 -10
  50. package/less/bootstrap/mixins/reset-filter.less +8 -8
  51. package/less/bootstrap/mixins/resize.less +6 -6
  52. package/less/bootstrap/mixins/responsive-visibility.less +15 -15
  53. package/less/bootstrap/mixins/size.less +10 -10
  54. package/less/bootstrap/mixins/tab-focus.less +9 -9
  55. package/less/bootstrap/mixins/table-row.less +28 -28
  56. package/less/bootstrap/mixins/text-emphasis.less +8 -8
  57. package/less/bootstrap/mixins/text-overflow.less +8 -8
  58. package/less/bootstrap/mixins/vendor-prefixes.less +227 -227
  59. package/less/bootstrap/mixins.less +39 -39
  60. package/less/bootstrap/modals.less +150 -150
  61. package/less/bootstrap/navbar.less +660 -660
  62. package/less/bootstrap/navs.less +242 -242
  63. package/less/bootstrap/normalize.less +427 -427
  64. package/less/bootstrap/pager.less +54 -54
  65. package/less/bootstrap/pagination.less +88 -88
  66. package/less/bootstrap/panels.less +265 -265
  67. package/less/bootstrap/popovers.less +135 -135
  68. package/less/bootstrap/print.less +107 -107
  69. package/less/bootstrap/progress-bars.less +87 -87
  70. package/less/bootstrap/responsive-embed.less +35 -35
  71. package/less/bootstrap/responsive-utilities.less +194 -194
  72. package/less/bootstrap/scaffolding.less +161 -161
  73. package/less/bootstrap/tables.less +234 -234
  74. package/less/bootstrap/theme.less +273 -273
  75. package/less/bootstrap/thumbnails.less +36 -36
  76. package/less/bootstrap/tooltip.less +102 -102
  77. package/less/bootstrap/type.less +302 -302
  78. package/less/bootstrap/utilities.less +55 -55
  79. package/less/bootstrap/variables.less +861 -861
  80. package/less/bootstrap/wells.less +29 -29
  81. package/less/bootstrap-flipped.css +1550 -1550
  82. package/less/categories.less +235 -235
  83. package/less/flags.less +42 -42
  84. package/less/footer.less +17 -17
  85. package/less/ip-blacklist.less +6 -6
  86. package/less/keyframes.less +152 -152
  87. package/less/modules/composer-default.less +16 -16
  88. package/less/modules/cookie-consent.less +12 -12
  89. package/less/modules/fab.less +32 -32
  90. package/less/modules/morph.less +268 -268
  91. package/less/modules/necro-post.less +8 -8
  92. package/less/modules/nprogress.less +80 -80
  93. package/less/modules/usercard.less +64 -64
  94. package/less/noscript.less +82 -82
  95. package/less/notifications.less +37 -37
  96. package/less/outgoing.less +8 -8
  97. package/less/persona.less +47 -47
  98. package/less/post-queue.less +19 -19
  99. package/less/register.less +75 -75
  100. package/less/rtl.less +132 -132
  101. package/less/tags.less +36 -36
  102. package/less/users.less +72 -72
  103. package/less/variables.less +6 -6
  104. package/package.json +1 -1
  105. package/public/.eslintrc +2 -2
  106. package/public/modules/autohidingnavbar.js +220 -220
  107. package/templates/account/blocks.tpl +34 -34
  108. package/templates/account/categories.tpl +28 -28
  109. package/templates/account/consent.tpl +68 -68
  110. package/templates/account/edit/email.tpl +30 -30
  111. package/templates/account/edit/password.tpl +31 -31
  112. package/templates/account/edit/username.tpl +29 -29
  113. package/templates/account/followers.tpl +16 -16
  114. package/templates/account/following.tpl +16 -16
  115. package/templates/account/groups.tpl +16 -16
  116. package/templates/account/info.tpl +230 -187
  117. package/templates/account/posts.tpl +18 -18
  118. package/templates/account/sessions.tpl +31 -31
  119. package/templates/account/topics.tpl +30 -30
  120. package/templates/account/uploads.tpl +42 -42
  121. package/templates/admin/plugins/persona.tpl +28 -28
  122. package/templates/alert.tpl +15 -15
  123. package/templates/categories.tpl +31 -31
  124. package/templates/category.tpl +62 -62
  125. package/templates/chats.tpl +16 -16
  126. package/templates/flags/detail.tpl +8 -1
  127. package/templates/flags/list.tpl +71 -71
  128. package/templates/groups/details.tpl +272 -272
  129. package/templates/groups/list.tpl +46 -46
  130. package/templates/groups/members.tpl +8 -8
  131. package/templates/ip-blacklist.tpl +55 -55
  132. package/templates/modules/usercard.tpl +36 -36
  133. package/templates/notifications.tpl +64 -64
  134. package/templates/partials/acceptTos.tpl +8 -8
  135. package/templates/partials/account/category-item.tpl +22 -22
  136. package/templates/partials/account/header.tpl +46 -46
  137. package/templates/partials/breadcrumbs.tpl +18 -18
  138. package/templates/partials/buttons/newTopic.tpl +15 -15
  139. package/templates/partials/categories/item.tpl +46 -46
  140. package/templates/partials/categories/lastpost.tpl +26 -26
  141. package/templates/partials/categories/link.tpl +10 -10
  142. package/templates/partials/category/sort.tpl +14 -14
  143. package/templates/partials/category/subcategory.tpl +17 -17
  144. package/templates/partials/category/tags.tpl +4 -4
  145. package/templates/partials/category/tools.tpl +80 -80
  146. package/templates/partials/category/watch.tpl +22 -22
  147. package/templates/partials/category-filter-content.tpl +16 -16
  148. package/templates/partials/category-filter-right.tpl +2 -2
  149. package/templates/partials/category-filter.tpl +2 -2
  150. package/templates/partials/category-selector-right.tpl +2 -2
  151. package/templates/partials/category-selector.tpl +2 -2
  152. package/templates/partials/change_owner_modal.tpl +22 -22
  153. package/templates/partials/chats/messages.tpl +6 -6
  154. package/templates/partials/chats-menu.tpl +40 -40
  155. package/templates/partials/cookie-consent.tpl +4 -4
  156. package/templates/partials/delete_posts_modal.tpl +18 -18
  157. package/templates/partials/fork_thread_modal.tpl +21 -21
  158. package/templates/partials/groups/list.tpl +20 -20
  159. package/templates/partials/groups/memberlist.tpl +39 -39
  160. package/templates/partials/merge_topics_modal.tpl +57 -57
  161. package/templates/partials/modals/flag_modal.tpl +44 -44
  162. package/templates/partials/modals/manage_room.tpl +10 -10
  163. package/templates/partials/modals/manage_room_users.tpl +6 -6
  164. package/templates/partials/modals/post_history.tpl +36 -36
  165. package/templates/partials/modals/rename_room.tpl +3 -3
  166. package/templates/partials/modals/votes_modal.tpl +10 -10
  167. package/templates/partials/move_thread_modal.tpl +16 -16
  168. package/templates/partials/paginator.tpl +44 -44
  169. package/templates/partials/post_bar.tpl +20 -20
  170. package/templates/partials/posts_list.tpl +7 -7
  171. package/templates/partials/quick-search-results.tpl +30 -30
  172. package/templates/partials/slideout-menu.tpl +4 -4
  173. package/templates/partials/tags_list.tpl +4 -4
  174. package/templates/partials/thread_tools.tpl +7 -7
  175. package/templates/partials/topic/badge.tpl +4 -4
  176. package/templates/partials/topic/browsing-users.tpl +1 -0
  177. package/templates/partials/topic/deleted-message.tpl +10 -10
  178. package/templates/partials/topic/navigation-post.tpl +11 -11
  179. package/templates/partials/topic/necro-post.tpl +2 -2
  180. package/templates/partials/topic/post.tpl +105 -105
  181. package/templates/partials/topic/quickreply.tpl +25 -25
  182. package/templates/partials/topic/reply-button.tpl +26 -26
  183. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  184. package/templates/partials/topic/sort.tpl +9 -9
  185. package/templates/partials/topic/stats.tpl +11 -11
  186. package/templates/partials/topic/tags.tpl +4 -4
  187. package/templates/partials/topic/watch.tpl +20 -20
  188. package/templates/partials/users_list_menu.tpl +10 -10
  189. package/templates/popular.tpl +61 -61
  190. package/templates/recent.tpl +51 -51
  191. package/templates/reset.tpl +23 -23
  192. package/templates/reset_code.tpl +41 -41
  193. package/templates/tag.tpl +35 -35
  194. package/templates/tags.tpl +30 -30
  195. package/templates/top.tpl +61 -61
  196. package/templates/tos.tpl +4 -4
  197. package/templates/unread.tpl +49 -49
  198. package/templates/users.tpl +47 -47
  199. package/theme.json +6 -6
  200. package/theme.less +1 -1
@@ -1,272 +1,272 @@
1
- <div component="groups/container" class="groups details row">
2
- <div component="groups/cover" style="background-image: url({group.cover:url}); background-position: {group.cover:position};">
3
- <!-- IF group.isOwner -->
4
- <div class="controls">
5
- <span class="upload"><i class="fa fa-fw fa-4x fa-upload"></i></span>
6
- <span class="resize"><i class="fa fa-fw fa-4x fa-arrows"></i></span>
7
- <span class="remove"><i class="fa fa-fw fa-4x fa-times"></i></span>
8
- </div>
9
- <div class="save">[[groups:cover-save]] <i class="fa fa-fw fa-floppy-o"></i></div>
10
- <div class="indicator">[[groups:cover-saving]] <i class="fa fa-fw fa-refresh fa-spin"></i></div>
11
- <!-- ENDIF group.isOwner -->
12
- </div>
13
-
14
- <div class="col-xs-12">
15
- <!-- IMPORT partials/breadcrumbs.tpl -->
16
- </div>
17
-
18
- <div class="col-lg-4 col-xs-12">
19
- <div class="panel panel-default">
20
- <div class="panel-heading">
21
- <h3 class="panel-title">
22
- <i class="fa fa-list-ul"></i> [[groups:details.title]]
23
- <!-- IF group.private --><span class="label label-info">[[groups:details.private]]</span><!-- ENDIF group.private -->
24
- <!-- IF group.hidden --><span class="label label-info">[[groups:details.hidden]]</span>&nbsp;<!-- ENDIF group.hidden -->
25
- </h3>
26
- </div>
27
- <div class="panel-body">
28
- <h1>{group.displayName}</h1>
29
- <p>{group.descriptionParsed}</p>
30
- <!-- IF isAdmin -->
31
- <div class="pull-right">
32
- <a href="{config.relative_path}/admin/manage/groups/{group.nameEncoded}" target="_blank" class="btn btn-info"><i class="fa fa-gear"></i> [[user:edit]]</a>
33
- </div>
34
- <!-- ENDIF isAdmin -->
35
- <!-- IF loggedIn -->
36
- <div class="pull-right">
37
- {function.membershipBtn, group}&nbsp;
38
- </div>
39
- <!-- ENDIF loggedIn -->
40
- </div>
41
- </div>
42
- <div class="panel panel-default">
43
- <div class="panel-heading">
44
- <h3 class="panel-title"><i class="fa fa-users"></i> [[groups:details.members]]</h3>
45
- </div>
46
- <div class="panel-body">
47
- <!-- IMPORT partials/groups/memberlist.tpl -->
48
- </div>
49
- </div>
50
- <!-- IF group.isOwner -->
51
- <div class="panel panel-default">
52
- <div class="panel-heading">
53
- <h3 class="panel-title clearfix">
54
- <i class="fa fa-clock-o"></i> [[groups:details.pending]]
55
- <!-- IF group.pending.length -->
56
- <div class="btn-group pull-right">
57
- <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
58
- [[global:more]] <span class="caret"></span>
59
- </button>
60
- <ul class="dropdown-menu" role="menu">
61
- <li><a href="#" data-ajaxify="false" data-action="acceptAll">[[groups:pending.accept_all]]</a></li>
62
- <li><a href="#" data-ajaxify="false" data-action="rejectAll">[[groups:pending.reject_all]]</a></li>
63
- </ul>
64
- </div>
65
- <!-- ENDIF group.pending.length -->
66
- </h3>
67
- </div>
68
- <div class="panel-body">
69
- <table component="groups/pending" class="table table-striped table-hover">
70
- <!-- IF !group.pending.length -->
71
- <div class="alert alert-info">[[groups:pending.none]]</div>
72
- <!-- ENDIF !group.pending.length -->
73
- {{{each group.pending}}}
74
- <tr data-uid="{group.pending.uid}">
75
- <td>
76
- <a href="{config.relative_path}/user/{group.pending.userslug}">{buildAvatar(group.pending, "sm", true)}</a>
77
- </td>
78
- <td class="member-name">
79
- <a href="{config.relative_path}/user/{group.pending.userslug}">{group.pending.username}</a>
80
- </td>
81
- <td>
82
- <div class="btn-group pull-right">
83
- <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
84
- [[global:more]] <span class="caret"></span>
85
- </button>
86
- <ul class="dropdown-menu" role="menu">
87
- <li><a href="#" data-ajaxify="false" data-action="accept">[[groups:pending.accept]]</a></li>
88
- <li><a href="#" data-ajaxify="false" data-action="reject">[[groups:pending.reject]]</a></li>
89
- </ul>
90
- </div>
91
- </td>
92
- </tr>
93
- {{{end}}}
94
- </table>
95
- </div>
96
- </div>
97
- <div class="panel panel-default">
98
- <div class="panel-heading">
99
- <h3 class="panel-title clearfix">
100
- <i class="fa fa-gift"></i> [[groups:details.invited]]
101
- </h3>
102
- </div>
103
- <div class="panel-body">
104
- <div class="input-group">
105
- <input class="form-control" type="text" component="groups/members/invite" placeholder="[[groups:invited.search]]"/>
106
- <span class="input-group-addon search-button"><i class="fa fa-search"></i></span>
107
- </div>
108
-
109
- <div class="form-group">
110
- <textarea class="form-control" component="groups/members/bulk-invite" placeholder="[[groups:bulk-invite-instructions]]"></textarea>
111
- </div>
112
-
113
- <div class="form-group clearfix">
114
- <button class="btn btn-default btn-sm pull-right" component="groups/members/bulk-invite-button">[[groups:bulk-invite]]</button>
115
- </div>
116
-
117
- <table component="groups/invited" class="table table-striped table-hover">
118
- <!-- IF !group.invited.length -->
119
- <div class="alert alert-info">[[groups:invited.none]]</div>
120
- <!-- ENDIF !group.invited.length -->
121
- {{{each group.invited}}}
122
- <tr data-uid="{group.invited.uid}">
123
- <td>
124
- <a href="{config.relative_path}/user/{group.invited.userslug}">{buildAvatar(group.invited, "sm", true)}</a>
125
- </td>
126
- <td class="member-name">
127
- <a href="{config.relative_path}/user/{group.invited.userslug}">{group.invited.username}</a>
128
- </td>
129
- <td>
130
- <div class="btn-group pull-right">
131
- <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
132
- [[global:more]] <span class="caret"></span>
133
- </button>
134
- <ul class="dropdown-menu" role="menu">
135
- <li><a href="#" data-ajaxify="false" data-action="rescindInvite">[[groups:invited.uninvite]]</a></li>
136
- </ul>
137
- </div>
138
- </td>
139
- </tr>
140
- {{{end}}}
141
- </table>
142
- </div>
143
- </div>
144
-
145
- <div class="panel panel-default">
146
- <div class="panel-heading pointer" data-toggle="collapse" data-target=".options">
147
- <h3 class="panel-title">
148
- <i class="fa fa-caret-down pull-right"></i>
149
- <i class="fa fa-cogs"></i> [[groups:details.owner_options]]
150
- </h3>
151
- </div>
152
-
153
- <div class="panel-body options collapse">
154
- <form component="groups/settings" role="form">
155
- <div class="form-group">
156
- <label for="name">[[groups:details.group_name]]</label>
157
- <input <!-- IF group.system -->readonly<!-- ENDIF group.system --> class="form-control" name="name" id="name" type="text" value="{group.displayName}" />
158
- </div>
159
- <div class="form-group">
160
- <label for="name">[[groups:details.description]]</label>
161
- <textarea class="form-control" name="description" id="description" type="text" maxlength="255">{group.description}</textarea>
162
- </div>
163
-
164
- <hr />
165
- <div class="form-group">
166
- <label for="memberPostCids">[[groups:details.member-post-cids]]</label>
167
- <div class="row">
168
- <div class="col-md-6">
169
- <input id="memberPostCids" type="text" class="form-control" value="{group.memberPostCids}">
170
- </div>
171
- <div class="col-md-6 member-post-cids-selector">
172
- <!-- IMPORT partials/category-selector.tpl -->
173
- </div>
174
- </div>
175
- </div>
176
-
177
- <hr />
178
-
179
- <div class="form-group user-title-option">
180
- <label for="userTitle">[[groups:details.badge_text]]</label>
181
- <input component="groups/userTitleOption" class="form-control" name="userTitle" id="userTitle" type="text" maxlength="40" value="{group.userTitleEscaped}"<!-- IF !group.userTitleEnabled --> disabled<!-- ENDIF !group.userTitleEnabled --> />
182
- </div>
183
-
184
- <div class="form-group user-title-option">
185
- <label>[[groups:details.badge_preview]]</label><br />
186
- <span class="label<!-- IF !group.userTitleEnabled --> hide<!-- ENDIF !group.userTitleEnabled -->" style="color: {group.textColor}; background-color: {group.labelColor}"><i class="fa<!-- IF group.icon --> {group.icon}<!-- ENDIF group.icon -->"></i> <span class="label-text"><!-- IF group.userTitle -->{group.userTitle}<!-- ELSE -->{group.displayName}<!-- ENDIF group.userTitle --></span></span>
187
-
188
- <hr/>
189
- <button component="groups/userTitleOption" type="button" class="btn btn-default btn-sm" data-action="icon-select"<!-- IF !group.userTitleEnabled --> disabled<!-- ENDIF !group.userTitleEnabled -->>[[groups:details.change_icon]]</button>
190
- <div>
191
- <label for="labelColor" class="badge-color-label">[[groups:details.change_label_colour]]</label>
192
- <input component="groups/userTitleOption" type="color" name="labelColor" value="<!-- IF group.labelColor -->{group.labelColor}<!-- ENDIF group.labelColor -->" />
193
- </div>
194
- <div>
195
- <label for="color" class="badge-color-label">[[groups:details.change_text_colour]]</label>
196
- <input component="groups/userTitleOption" type="color" name="textColor" value="<!-- IF group.textColor -->{group.textColor}<!-- ENDIF group.textColor -->" />
197
- </div>
198
- <input type="hidden" name="icon" value="<!-- IF group.icon -->{group.icon}<!-- ENDIF group.icon -->" />
199
-
200
- <div id="icons" class="hidden">
201
- <div class="icon-container">
202
- <div class="row fa-icons">
203
- <i class="fa fa-doesnt-exist"></i>
204
- <!-- IMPORT partials/fontawesome.tpl -->
205
- </div>
206
- </div>
207
- </div>
208
- </div>
209
- <hr />
210
- <div class="checkbox">
211
- <label>
212
- <input name="userTitleEnabled" type="checkbox"<!-- IF group.userTitleEnabled --> checked<!-- ENDIF group.userTitleEnabled -->> <strong>[[groups:details.userTitleEnabled]]</strong>
213
- </label>
214
- </div>
215
- <div class="checkbox">
216
- <label>
217
- <input name="private" type="checkbox"<!-- IF group.private --> checked<!-- ENDIF group.private -->> <strong>[[groups:details.private]]</strong>
218
- <!-- IF !allowPrivateGroups -->
219
- <p class="help-block">
220
- [[groups:details.private_system_help]]
221
- </p>
222
- <!-- ENDIF !allowPrivateGroups -->
223
- <p class="help-block">
224
- [[groups:details.private_help]]
225
- </p>
226
- </label>
227
- </div>
228
- <div class="checkbox">
229
- <label>
230
- <input name="disableJoinRequests" type="checkbox"<!-- IF group.disableJoinRequests --> checked<!-- ENDIF group.disableJoinRequests -->> <strong>[[groups:details.disableJoinRequests]]</strong>
231
- </label>
232
- </div>
233
- <div class="checkbox">
234
- <label>
235
- <input name="disableLeave" type="checkbox"{{{if group.disableLeave}}} checked{{{end}}}> <strong>[[groups:details.disableLeave]]</strong>
236
- </label>
237
- </div>
238
- <div class="checkbox">
239
- <label>
240
- <input name="hidden" type="checkbox"<!-- IF group.hidden --> checked<!-- ENDIF group.hidden -->> <strong>[[groups:details.hidden]]</strong>
241
- <p class="help-block">
242
- [[groups:details.hidden_help]]
243
- </p>
244
- </label>
245
- </div>
246
-
247
- <button class="btn btn-link btn-xs pull-right" type="button" data-action="delete">[[groups:details.delete_group]]</button>
248
- <button class="btn btn-primary" type="button" data-action="update">[[global:save_changes]]</button>
249
- </form>
250
- </div>
251
- </div>
252
- <!-- ENDIF group.isOwner -->
253
- <div data-widget-area="left">
254
- {{{each widgets.left}}}
255
- {{widgets.left.html}}
256
- {{{end}}}
257
- </div>
258
- </div>
259
- <div class="col-lg-8 col-xs-12">
260
- <div class="col-lg-11">
261
- <!-- IF !posts.length -->
262
- <div class="alert alert-info">[[groups:details.has_no_posts]]</div>
263
- <!-- ENDIF !posts.length -->
264
- <!-- IMPORT partials/posts_list.tpl -->
265
- </div>
266
- <div data-widget-area="right">
267
- {{{each widgets.right}}}
268
- {{widgets.right.html}}
269
- {{{end}}}
270
- </div>
271
- </div>
272
- </div>
1
+ <div component="groups/container" class="groups details row">
2
+ <div component="groups/cover" style="background-image: url({group.cover:url}); background-position: {group.cover:position};">
3
+ <!-- IF group.isOwner -->
4
+ <div class="controls">
5
+ <span class="upload"><i class="fa fa-fw fa-4x fa-upload"></i></span>
6
+ <span class="resize"><i class="fa fa-fw fa-4x fa-arrows"></i></span>
7
+ <span class="remove"><i class="fa fa-fw fa-4x fa-times"></i></span>
8
+ </div>
9
+ <div class="save">[[groups:cover-save]] <i class="fa fa-fw fa-floppy-o"></i></div>
10
+ <div class="indicator">[[groups:cover-saving]] <i class="fa fa-fw fa-refresh fa-spin"></i></div>
11
+ <!-- ENDIF group.isOwner -->
12
+ </div>
13
+
14
+ <div class="col-xs-12">
15
+ <!-- IMPORT partials/breadcrumbs.tpl -->
16
+ </div>
17
+
18
+ <div class="col-lg-4 col-xs-12">
19
+ <div class="panel panel-default">
20
+ <div class="panel-heading">
21
+ <h3 class="panel-title">
22
+ <i class="fa fa-list-ul"></i> [[groups:details.title]]
23
+ <!-- IF group.private --><span class="label label-info">[[groups:details.private]]</span><!-- ENDIF group.private -->
24
+ <!-- IF group.hidden --><span class="label label-info">[[groups:details.hidden]]</span>&nbsp;<!-- ENDIF group.hidden -->
25
+ </h3>
26
+ </div>
27
+ <div class="panel-body">
28
+ <h1>{group.displayName}</h1>
29
+ <p>{group.descriptionParsed}</p>
30
+ <!-- IF isAdmin -->
31
+ <div class="pull-right">
32
+ <a href="{config.relative_path}/admin/manage/groups/{group.nameEncoded}" target="_blank" class="btn btn-info"><i class="fa fa-gear"></i> [[user:edit]]</a>
33
+ </div>
34
+ <!-- ENDIF isAdmin -->
35
+ <!-- IF loggedIn -->
36
+ <div class="pull-right">
37
+ {function.membershipBtn, group}&nbsp;
38
+ </div>
39
+ <!-- ENDIF loggedIn -->
40
+ </div>
41
+ </div>
42
+ <div class="panel panel-default">
43
+ <div class="panel-heading">
44
+ <h3 class="panel-title"><i class="fa fa-users"></i> [[groups:details.members]]</h3>
45
+ </div>
46
+ <div class="panel-body">
47
+ <!-- IMPORT partials/groups/memberlist.tpl -->
48
+ </div>
49
+ </div>
50
+ <!-- IF group.isOwner -->
51
+ <div class="panel panel-default">
52
+ <div class="panel-heading">
53
+ <h3 class="panel-title clearfix">
54
+ <i class="fa fa-clock-o"></i> [[groups:details.pending]]
55
+ <!-- IF group.pending.length -->
56
+ <div class="btn-group pull-right">
57
+ <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
58
+ [[global:more]] <span class="caret"></span>
59
+ </button>
60
+ <ul class="dropdown-menu" role="menu">
61
+ <li><a href="#" data-ajaxify="false" data-action="acceptAll">[[groups:pending.accept_all]]</a></li>
62
+ <li><a href="#" data-ajaxify="false" data-action="rejectAll">[[groups:pending.reject_all]]</a></li>
63
+ </ul>
64
+ </div>
65
+ <!-- ENDIF group.pending.length -->
66
+ </h3>
67
+ </div>
68
+ <div class="panel-body">
69
+ <table component="groups/pending" class="table table-striped table-hover">
70
+ <!-- IF !group.pending.length -->
71
+ <div class="alert alert-info">[[groups:pending.none]]</div>
72
+ <!-- ENDIF !group.pending.length -->
73
+ {{{each group.pending}}}
74
+ <tr data-uid="{group.pending.uid}">
75
+ <td>
76
+ <a href="{config.relative_path}/user/{group.pending.userslug}">{buildAvatar(group.pending, "sm", true)}</a>
77
+ </td>
78
+ <td class="member-name">
79
+ <a href="{config.relative_path}/user/{group.pending.userslug}">{group.pending.username}</a>
80
+ </td>
81
+ <td>
82
+ <div class="btn-group pull-right">
83
+ <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
84
+ [[global:more]] <span class="caret"></span>
85
+ </button>
86
+ <ul class="dropdown-menu" role="menu">
87
+ <li><a href="#" data-ajaxify="false" data-action="accept">[[groups:pending.accept]]</a></li>
88
+ <li><a href="#" data-ajaxify="false" data-action="reject">[[groups:pending.reject]]</a></li>
89
+ </ul>
90
+ </div>
91
+ </td>
92
+ </tr>
93
+ {{{end}}}
94
+ </table>
95
+ </div>
96
+ </div>
97
+ <div class="panel panel-default">
98
+ <div class="panel-heading">
99
+ <h3 class="panel-title clearfix">
100
+ <i class="fa fa-gift"></i> [[groups:details.invited]]
101
+ </h3>
102
+ </div>
103
+ <div class="panel-body">
104
+ <div class="input-group">
105
+ <input class="form-control" type="text" component="groups/members/invite" placeholder="[[groups:invited.search]]"/>
106
+ <span class="input-group-addon search-button"><i class="fa fa-search"></i></span>
107
+ </div>
108
+
109
+ <div class="form-group">
110
+ <textarea class="form-control" component="groups/members/bulk-invite" placeholder="[[groups:bulk-invite-instructions]]"></textarea>
111
+ </div>
112
+
113
+ <div class="form-group clearfix">
114
+ <button class="btn btn-default btn-sm pull-right" component="groups/members/bulk-invite-button">[[groups:bulk-invite]]</button>
115
+ </div>
116
+
117
+ <table component="groups/invited" class="table table-striped table-hover">
118
+ <!-- IF !group.invited.length -->
119
+ <div class="alert alert-info">[[groups:invited.none]]</div>
120
+ <!-- ENDIF !group.invited.length -->
121
+ {{{each group.invited}}}
122
+ <tr data-uid="{group.invited.uid}">
123
+ <td>
124
+ <a href="{config.relative_path}/user/{group.invited.userslug}">{buildAvatar(group.invited, "sm", true)}</a>
125
+ </td>
126
+ <td class="member-name">
127
+ <a href="{config.relative_path}/user/{group.invited.userslug}">{group.invited.username}</a>
128
+ </td>
129
+ <td>
130
+ <div class="btn-group pull-right">
131
+ <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
132
+ [[global:more]] <span class="caret"></span>
133
+ </button>
134
+ <ul class="dropdown-menu" role="menu">
135
+ <li><a href="#" data-ajaxify="false" data-action="rescindInvite">[[groups:invited.uninvite]]</a></li>
136
+ </ul>
137
+ </div>
138
+ </td>
139
+ </tr>
140
+ {{{end}}}
141
+ </table>
142
+ </div>
143
+ </div>
144
+
145
+ <div class="panel panel-default">
146
+ <div class="panel-heading pointer" data-toggle="collapse" data-target=".options">
147
+ <h3 class="panel-title">
148
+ <i class="fa fa-caret-down pull-right"></i>
149
+ <i class="fa fa-cogs"></i> [[groups:details.owner_options]]
150
+ </h3>
151
+ </div>
152
+
153
+ <div class="panel-body options collapse">
154
+ <form component="groups/settings" role="form">
155
+ <div class="form-group">
156
+ <label for="name">[[groups:details.group_name]]</label>
157
+ <input <!-- IF group.system -->readonly<!-- ENDIF group.system --> class="form-control" name="name" id="name" type="text" value="{group.displayName}" />
158
+ </div>
159
+ <div class="form-group">
160
+ <label for="name">[[groups:details.description]]</label>
161
+ <textarea class="form-control" name="description" id="description" type="text" maxlength="255">{group.description}</textarea>
162
+ </div>
163
+
164
+ <hr />
165
+ <div class="form-group">
166
+ <label for="memberPostCids">[[groups:details.member-post-cids]]</label>
167
+ <div class="row">
168
+ <div class="col-md-6">
169
+ <input id="memberPostCids" type="text" class="form-control" value="{group.memberPostCids}">
170
+ </div>
171
+ <div class="col-md-6 member-post-cids-selector">
172
+ <!-- IMPORT partials/category-selector.tpl -->
173
+ </div>
174
+ </div>
175
+ </div>
176
+
177
+ <hr />
178
+
179
+ <div class="form-group user-title-option">
180
+ <label for="userTitle">[[groups:details.badge_text]]</label>
181
+ <input component="groups/userTitleOption" class="form-control" name="userTitle" id="userTitle" type="text" maxlength="40" value="{group.userTitleEscaped}"<!-- IF !group.userTitleEnabled --> disabled<!-- ENDIF !group.userTitleEnabled --> />
182
+ </div>
183
+
184
+ <div class="form-group user-title-option">
185
+ <label>[[groups:details.badge_preview]]</label><br />
186
+ <span class="label<!-- IF !group.userTitleEnabled --> hide<!-- ENDIF !group.userTitleEnabled -->" style="color: {group.textColor}; background-color: {group.labelColor}"><i class="fa<!-- IF group.icon --> {group.icon}<!-- ENDIF group.icon -->"></i> <span class="label-text"><!-- IF group.userTitle -->{group.userTitle}<!-- ELSE -->{group.displayName}<!-- ENDIF group.userTitle --></span></span>
187
+
188
+ <hr/>
189
+ <button component="groups/userTitleOption" type="button" class="btn btn-default btn-sm" data-action="icon-select"<!-- IF !group.userTitleEnabled --> disabled<!-- ENDIF !group.userTitleEnabled -->>[[groups:details.change_icon]]</button>
190
+ <div>
191
+ <label for="labelColor" class="badge-color-label">[[groups:details.change_label_colour]]</label>
192
+ <input component="groups/userTitleOption" type="color" name="labelColor" value="<!-- IF group.labelColor -->{group.labelColor}<!-- ENDIF group.labelColor -->" />
193
+ </div>
194
+ <div>
195
+ <label for="color" class="badge-color-label">[[groups:details.change_text_colour]]</label>
196
+ <input component="groups/userTitleOption" type="color" name="textColor" value="<!-- IF group.textColor -->{group.textColor}<!-- ENDIF group.textColor -->" />
197
+ </div>
198
+ <input type="hidden" name="icon" value="<!-- IF group.icon -->{group.icon}<!-- ENDIF group.icon -->" />
199
+
200
+ <div id="icons" class="hidden">
201
+ <div class="icon-container">
202
+ <div class="row fa-icons">
203
+ <i class="fa fa-doesnt-exist"></i>
204
+ <!-- IMPORT partials/fontawesome.tpl -->
205
+ </div>
206
+ </div>
207
+ </div>
208
+ </div>
209
+ <hr />
210
+ <div class="checkbox">
211
+ <label>
212
+ <input name="userTitleEnabled" type="checkbox"<!-- IF group.userTitleEnabled --> checked<!-- ENDIF group.userTitleEnabled -->> <strong>[[groups:details.userTitleEnabled]]</strong>
213
+ </label>
214
+ </div>
215
+ <div class="checkbox">
216
+ <label>
217
+ <input name="private" type="checkbox"<!-- IF group.private --> checked<!-- ENDIF group.private -->> <strong>[[groups:details.private]]</strong>
218
+ <!-- IF !allowPrivateGroups -->
219
+ <p class="help-block">
220
+ [[groups:details.private_system_help]]
221
+ </p>
222
+ <!-- ENDIF !allowPrivateGroups -->
223
+ <p class="help-block">
224
+ [[groups:details.private_help]]
225
+ </p>
226
+ </label>
227
+ </div>
228
+ <div class="checkbox">
229
+ <label>
230
+ <input name="disableJoinRequests" type="checkbox"<!-- IF group.disableJoinRequests --> checked<!-- ENDIF group.disableJoinRequests -->> <strong>[[groups:details.disableJoinRequests]]</strong>
231
+ </label>
232
+ </div>
233
+ <div class="checkbox">
234
+ <label>
235
+ <input name="disableLeave" type="checkbox"{{{if group.disableLeave}}} checked{{{end}}}> <strong>[[groups:details.disableLeave]]</strong>
236
+ </label>
237
+ </div>
238
+ <div class="checkbox">
239
+ <label>
240
+ <input name="hidden" type="checkbox"<!-- IF group.hidden --> checked<!-- ENDIF group.hidden -->> <strong>[[groups:details.hidden]]</strong>
241
+ <p class="help-block">
242
+ [[groups:details.hidden_help]]
243
+ </p>
244
+ </label>
245
+ </div>
246
+
247
+ <button class="btn btn-link btn-xs pull-right" type="button" data-action="delete">[[groups:details.delete_group]]</button>
248
+ <button class="btn btn-primary" type="button" data-action="update">[[global:save_changes]]</button>
249
+ </form>
250
+ </div>
251
+ </div>
252
+ <!-- ENDIF group.isOwner -->
253
+ <div data-widget-area="left">
254
+ {{{each widgets.left}}}
255
+ {{widgets.left.html}}
256
+ {{{end}}}
257
+ </div>
258
+ </div>
259
+ <div class="col-lg-8 col-xs-12">
260
+ <div class="col-lg-11">
261
+ <!-- IF !posts.length -->
262
+ <div class="alert alert-info">[[groups:details.has_no_posts]]</div>
263
+ <!-- ENDIF !posts.length -->
264
+ <!-- IMPORT partials/posts_list.tpl -->
265
+ </div>
266
+ <div data-widget-area="right">
267
+ {{{each widgets.right}}}
268
+ {{widgets.right.html}}
269
+ {{{end}}}
270
+ </div>
271
+ </div>
272
+ </div>