nodebb-theme-persona 11.2.20 → 11.2.21

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 (216) 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/bootstrap/.csscomb.json +297 -297
  12. package/less/bootstrap/.csslintrc +19 -19
  13. package/less/bootstrap/alerts.less +73 -73
  14. package/less/bootstrap/badges.less +66 -66
  15. package/less/bootstrap/bootstrap.less +50 -50
  16. package/less/bootstrap/breadcrumbs.less +26 -26
  17. package/less/bootstrap/button-groups.less +243 -243
  18. package/less/bootstrap/buttons.less +160 -160
  19. package/less/bootstrap/carousel.less +269 -269
  20. package/less/bootstrap/close.less +34 -34
  21. package/less/bootstrap/code.less +69 -69
  22. package/less/bootstrap/component-animations.less +33 -33
  23. package/less/bootstrap/forms.less +574 -574
  24. package/less/bootstrap/glyphicons.less +305 -305
  25. package/less/bootstrap/grid.less +84 -84
  26. package/less/bootstrap/input-groups.less +166 -166
  27. package/less/bootstrap/jumbotron.less +50 -50
  28. package/less/bootstrap/labels.less +64 -64
  29. package/less/bootstrap/list-group.less +124 -124
  30. package/less/bootstrap/media.less +61 -61
  31. package/less/bootstrap/mixins/alerts.less +14 -14
  32. package/less/bootstrap/mixins/background-variant.less +8 -8
  33. package/less/bootstrap/mixins/border-radius.less +18 -18
  34. package/less/bootstrap/mixins/buttons.less +52 -52
  35. package/less/bootstrap/mixins/center-block.less +7 -7
  36. package/less/bootstrap/mixins/clearfix.less +22 -22
  37. package/less/bootstrap/mixins/forms.less +85 -85
  38. package/less/bootstrap/mixins/gradients.less +59 -59
  39. package/less/bootstrap/mixins/grid-framework.less +91 -91
  40. package/less/bootstrap/mixins/grid.less +122 -122
  41. package/less/bootstrap/mixins/hide-text.less +21 -21
  42. package/less/bootstrap/mixins/image.less +33 -33
  43. package/less/bootstrap/mixins/labels.less +12 -12
  44. package/less/bootstrap/mixins/list-group.less +29 -29
  45. package/less/bootstrap/mixins/nav-divider.less +10 -10
  46. package/less/bootstrap/mixins/nav-vertical-align.less +9 -9
  47. package/less/bootstrap/mixins/opacity.less +8 -8
  48. package/less/bootstrap/mixins/pagination.less +23 -23
  49. package/less/bootstrap/mixins/panels.less +24 -24
  50. package/less/bootstrap/mixins/progress-bar.less +10 -10
  51. package/less/bootstrap/mixins/reset-filter.less +8 -8
  52. package/less/bootstrap/mixins/resize.less +6 -6
  53. package/less/bootstrap/mixins/responsive-visibility.less +15 -15
  54. package/less/bootstrap/mixins/size.less +10 -10
  55. package/less/bootstrap/mixins/tab-focus.less +9 -9
  56. package/less/bootstrap/mixins/table-row.less +28 -28
  57. package/less/bootstrap/mixins/text-emphasis.less +8 -8
  58. package/less/bootstrap/mixins/text-overflow.less +8 -8
  59. package/less/bootstrap/mixins/vendor-prefixes.less +227 -227
  60. package/less/bootstrap/mixins.less +39 -39
  61. package/less/bootstrap/modals.less +150 -150
  62. package/less/bootstrap/navbar.less +660 -660
  63. package/less/bootstrap/navs.less +242 -242
  64. package/less/bootstrap/normalize.less +427 -427
  65. package/less/bootstrap/pager.less +54 -54
  66. package/less/bootstrap/pagination.less +88 -88
  67. package/less/bootstrap/panels.less +265 -265
  68. package/less/bootstrap/popovers.less +135 -135
  69. package/less/bootstrap/print.less +107 -107
  70. package/less/bootstrap/progress-bars.less +87 -87
  71. package/less/bootstrap/responsive-embed.less +35 -35
  72. package/less/bootstrap/responsive-utilities.less +194 -194
  73. package/less/bootstrap/scaffolding.less +161 -161
  74. package/less/bootstrap/tables.less +234 -234
  75. package/less/bootstrap/theme.less +273 -273
  76. package/less/bootstrap/thumbnails.less +36 -36
  77. package/less/bootstrap/tooltip.less +102 -102
  78. package/less/bootstrap/type.less +302 -302
  79. package/less/bootstrap/utilities.less +55 -55
  80. package/less/bootstrap/variables.less +861 -861
  81. package/less/bootstrap/wells.less +29 -29
  82. package/less/bootstrap-flipped.css +1550 -1550
  83. package/less/categories.less +235 -235
  84. package/less/chats.less +622 -622
  85. package/less/flags.less +42 -42
  86. package/less/footer.less +17 -17
  87. package/less/ip-blacklist.less +6 -6
  88. package/less/keyframes.less +152 -152
  89. package/less/mobile.less +291 -291
  90. package/less/modules/composer-default.less +16 -16
  91. package/less/modules/cookie-consent.less +12 -12
  92. package/less/modules/fab.less +32 -32
  93. package/less/modules/morph.less +268 -268
  94. package/less/modules/necro-post.less +8 -8
  95. package/less/modules/nprogress.less +80 -80
  96. package/less/modules/usercard.less +64 -64
  97. package/less/noscript.less +82 -82
  98. package/less/notifications.less +37 -37
  99. package/less/outgoing.less +8 -8
  100. package/less/persona.less +47 -47
  101. package/less/post-queue.less +19 -19
  102. package/less/register.less +75 -75
  103. package/less/rtl.less +132 -132
  104. package/less/style.less +303 -303
  105. package/less/tags.less +36 -36
  106. package/less/topics_list.less +15 -15
  107. package/less/users.less +72 -72
  108. package/less/variables.less +6 -6
  109. package/package.json +1 -1
  110. package/public/.eslintrc +2 -2
  111. package/public/admin.js +23 -23
  112. package/public/modules/autohidingnavbar.js +220 -220
  113. package/templates/account/blocks.tpl +34 -34
  114. package/templates/account/categories.tpl +28 -28
  115. package/templates/account/consent.tpl +68 -68
  116. package/templates/account/edit/email.tpl +30 -30
  117. package/templates/account/edit/password.tpl +31 -31
  118. package/templates/account/edit/username.tpl +29 -29
  119. package/templates/account/followers.tpl +16 -16
  120. package/templates/account/following.tpl +16 -16
  121. package/templates/account/groups.tpl +16 -16
  122. package/templates/account/info.tpl +187 -187
  123. package/templates/account/posts.tpl +18 -18
  124. package/templates/account/sessions.tpl +31 -31
  125. package/templates/account/topics.tpl +30 -30
  126. package/templates/account/uploads.tpl +42 -42
  127. package/templates/admin/plugins/persona.tpl +28 -28
  128. package/templates/alert.tpl +15 -15
  129. package/templates/categories.tpl +31 -31
  130. package/templates/category.tpl +62 -62
  131. package/templates/chats.tpl +15 -15
  132. package/templates/flags/list.tpl +71 -71
  133. package/templates/footer.tpl +18 -18
  134. package/templates/groups/details.tpl +272 -272
  135. package/templates/groups/list.tpl +46 -46
  136. package/templates/groups/members.tpl +8 -8
  137. package/templates/ip-blacklist.tpl +55 -55
  138. package/templates/login.tpl +90 -90
  139. package/templates/modules/taskbar.tpl +2 -2
  140. package/templates/modules/usercard.tpl +36 -36
  141. package/templates/notifications.tpl +64 -64
  142. package/templates/partials/acceptTos.tpl +8 -8
  143. package/templates/partials/account/category-item.tpl +22 -22
  144. package/templates/partials/account/header.tpl +46 -46
  145. package/templates/partials/breadcrumbs.tpl +18 -18
  146. package/templates/partials/buttons/newTopic.tpl +15 -15
  147. package/templates/partials/categories/item.tpl +46 -46
  148. package/templates/partials/categories/lastpost.tpl +26 -26
  149. package/templates/partials/categories/link.tpl +10 -10
  150. package/templates/partials/category/sort.tpl +14 -14
  151. package/templates/partials/category/subcategory.tpl +17 -17
  152. package/templates/partials/category/tags.tpl +4 -4
  153. package/templates/partials/category/tools.tpl +80 -80
  154. package/templates/partials/category/watch.tpl +22 -22
  155. package/templates/partials/category-filter-content.tpl +18 -18
  156. package/templates/partials/category-filter-right.tpl +2 -2
  157. package/templates/partials/category-filter.tpl +2 -2
  158. package/templates/partials/category-selector-right.tpl +2 -2
  159. package/templates/partials/category-selector.tpl +2 -2
  160. package/templates/partials/change_owner_modal.tpl +22 -22
  161. package/templates/partials/chats/dropdown.tpl +33 -33
  162. package/templates/partials/chats/messages.tpl +6 -6
  163. package/templates/partials/chats/recent_room.tpl +24 -24
  164. package/templates/partials/chats-menu.tpl +10 -10
  165. package/templates/partials/cookie-consent.tpl +4 -4
  166. package/templates/partials/delete_posts_modal.tpl +18 -18
  167. package/templates/partials/fork_thread_modal.tpl +21 -21
  168. package/templates/partials/groups/list.tpl +20 -20
  169. package/templates/partials/groups/memberlist.tpl +39 -39
  170. package/templates/partials/menu.tpl +238 -230
  171. package/templates/partials/merge_topics_modal.tpl +57 -57
  172. package/templates/partials/modals/flag_modal.tpl +44 -44
  173. package/templates/partials/modals/manage_room.tpl +10 -10
  174. package/templates/partials/modals/manage_room_users.tpl +6 -6
  175. package/templates/partials/modals/post_history.tpl +36 -36
  176. package/templates/partials/modals/rename_room.tpl +3 -3
  177. package/templates/partials/modals/votes_modal.tpl +10 -10
  178. package/templates/partials/move_thread_modal.tpl +16 -16
  179. package/templates/partials/paginator.tpl +44 -44
  180. package/templates/partials/post_bar.tpl +20 -20
  181. package/templates/partials/posts_list.tpl +7 -7
  182. package/templates/partials/quick-search-results.tpl +30 -30
  183. package/templates/partials/slideout-menu.tpl +26 -26
  184. package/templates/partials/tags_list.tpl +4 -4
  185. package/templates/partials/thread_tools.tpl +7 -7
  186. package/templates/partials/topic/badge.tpl +4 -4
  187. package/templates/partials/topic/browsing-users.tpl +12 -12
  188. package/templates/partials/topic/deleted-message.tpl +10 -10
  189. package/templates/partials/topic/navigation-post.tpl +11 -11
  190. package/templates/partials/topic/navigator.tpl +31 -31
  191. package/templates/partials/topic/necro-post.tpl +2 -2
  192. package/templates/partials/topic/post-menu.tpl +4 -4
  193. package/templates/partials/topic/post.tpl +104 -104
  194. package/templates/partials/topic/quickreply.tpl +20 -20
  195. package/templates/partials/topic/reply-button.tpl +26 -26
  196. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  197. package/templates/partials/topic/sort.tpl +9 -9
  198. package/templates/partials/topic/stats.tpl +11 -11
  199. package/templates/partials/topic/tags.tpl +4 -4
  200. package/templates/partials/topic/watch.tpl +20 -20
  201. package/templates/partials/users_list.tpl +39 -39
  202. package/templates/partials/users_list_menu.tpl +10 -10
  203. package/templates/popular.tpl +61 -61
  204. package/templates/post-queue.tpl +75 -75
  205. package/templates/recent.tpl +51 -51
  206. package/templates/reset.tpl +23 -23
  207. package/templates/reset_code.tpl +41 -41
  208. package/templates/tag.tpl +35 -35
  209. package/templates/tags.tpl +30 -30
  210. package/templates/top.tpl +61 -61
  211. package/templates/tos.tpl +4 -4
  212. package/templates/unread.tpl +49 -49
  213. package/templates/unsubscribe.tpl +6 -6
  214. package/templates/users.tpl +47 -47
  215. package/theme.json +6 -6
  216. 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>