nodebb-theme-persona 11.2.19 → 11.3.0

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 (223) 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 +2 -2
  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/category.less +1 -1
  86. package/less/chats.less +622 -622
  87. package/less/flags.less +42 -42
  88. package/less/footer.less +17 -17
  89. package/less/groups.less +201 -201
  90. package/less/ip-blacklist.less +6 -6
  91. package/less/keyframes.less +152 -152
  92. package/less/mixins.less +0 -7
  93. package/less/mobile.less +291 -291
  94. package/less/modules/composer-default.less +16 -16
  95. package/less/modules/cookie-consent.less +12 -12
  96. package/less/modules/fab.less +32 -32
  97. package/less/modules/morph.less +268 -268
  98. package/less/modules/necro-post.less +8 -8
  99. package/less/modules/nprogress.less +80 -80
  100. package/less/modules/usercard.less +64 -64
  101. package/less/noscript.less +82 -82
  102. package/less/notifications.less +37 -37
  103. package/less/outgoing.less +8 -8
  104. package/less/persona.less +47 -47
  105. package/less/post-queue.less +19 -19
  106. package/less/register.less +75 -75
  107. package/less/rtl.less +132 -132
  108. package/less/style.less +303 -303
  109. package/less/tags.less +36 -36
  110. package/less/topic.less +2 -2
  111. package/less/topics_list.less +15 -15
  112. package/less/users.less +72 -72
  113. package/less/variables.less +6 -6
  114. package/package.json +1 -1
  115. package/public/.eslintrc +2 -2
  116. package/public/admin.js +23 -23
  117. package/public/modules/autohidingnavbar.js +220 -220
  118. package/public/persona.js +12 -4
  119. package/templates/account/blocks.tpl +34 -34
  120. package/templates/account/categories.tpl +28 -28
  121. package/templates/account/consent.tpl +68 -68
  122. package/templates/account/edit/email.tpl +30 -30
  123. package/templates/account/edit/password.tpl +31 -31
  124. package/templates/account/edit/username.tpl +29 -29
  125. package/templates/account/followers.tpl +16 -16
  126. package/templates/account/following.tpl +16 -16
  127. package/templates/account/groups.tpl +16 -16
  128. package/templates/account/info.tpl +187 -187
  129. package/templates/account/posts.tpl +18 -18
  130. package/templates/account/sessions.tpl +31 -31
  131. package/templates/account/topics.tpl +30 -30
  132. package/templates/account/uploads.tpl +42 -42
  133. package/templates/admin/plugins/persona.tpl +28 -28
  134. package/templates/alert.tpl +15 -15
  135. package/templates/categories.tpl +31 -31
  136. package/templates/category.tpl +62 -62
  137. package/templates/chats.tpl +15 -15
  138. package/templates/flags/list.tpl +71 -71
  139. package/templates/footer.tpl +18 -18
  140. package/templates/groups/details.tpl +272 -272
  141. package/templates/groups/list.tpl +46 -46
  142. package/templates/groups/members.tpl +8 -8
  143. package/templates/ip-blacklist.tpl +55 -55
  144. package/templates/login.tpl +90 -90
  145. package/templates/modules/taskbar.tpl +2 -2
  146. package/templates/modules/usercard.tpl +36 -36
  147. package/templates/notifications.tpl +64 -64
  148. package/templates/partials/acceptTos.tpl +8 -8
  149. package/templates/partials/account/category-item.tpl +22 -22
  150. package/templates/partials/account/header.tpl +46 -46
  151. package/templates/partials/breadcrumbs.tpl +18 -18
  152. package/templates/partials/buttons/newTopic.tpl +15 -15
  153. package/templates/partials/categories/item.tpl +46 -46
  154. package/templates/partials/categories/lastpost.tpl +26 -26
  155. package/templates/partials/categories/link.tpl +10 -10
  156. package/templates/partials/category/sort.tpl +14 -14
  157. package/templates/partials/category/subcategory.tpl +17 -17
  158. package/templates/partials/category/tags.tpl +4 -4
  159. package/templates/partials/category/tools.tpl +80 -80
  160. package/templates/partials/category/watch.tpl +22 -22
  161. package/templates/partials/category-filter-content.tpl +18 -18
  162. package/templates/partials/category-filter-right.tpl +2 -2
  163. package/templates/partials/category-filter.tpl +2 -2
  164. package/templates/partials/category-selector-right.tpl +2 -2
  165. package/templates/partials/category-selector.tpl +2 -2
  166. package/templates/partials/change_owner_modal.tpl +22 -22
  167. package/templates/partials/chats/dropdown.tpl +33 -33
  168. package/templates/partials/chats/messages.tpl +6 -6
  169. package/templates/partials/chats/recent_room.tpl +24 -24
  170. package/templates/partials/chats-menu.tpl +10 -10
  171. package/templates/partials/cookie-consent.tpl +4 -4
  172. package/templates/partials/delete_posts_modal.tpl +18 -18
  173. package/templates/partials/fork_thread_modal.tpl +21 -21
  174. package/templates/partials/groups/list.tpl +20 -20
  175. package/templates/partials/groups/memberlist.tpl +39 -39
  176. package/templates/partials/menu.tpl +238 -230
  177. package/templates/partials/merge_topics_modal.tpl +57 -57
  178. package/templates/partials/modals/flag_modal.tpl +44 -44
  179. package/templates/partials/modals/manage_room.tpl +10 -10
  180. package/templates/partials/modals/manage_room_users.tpl +6 -6
  181. package/templates/partials/modals/post_history.tpl +36 -36
  182. package/templates/partials/modals/rename_room.tpl +3 -3
  183. package/templates/partials/modals/votes_modal.tpl +10 -10
  184. package/templates/partials/move_thread_modal.tpl +16 -16
  185. package/templates/partials/paginator.tpl +44 -44
  186. package/templates/partials/post_bar.tpl +20 -20
  187. package/templates/partials/posts_list.tpl +7 -7
  188. package/templates/partials/quick-search-results.tpl +30 -30
  189. package/templates/partials/slideout-menu.tpl +26 -26
  190. package/templates/partials/tags_list.tpl +4 -4
  191. package/templates/partials/thread_tools.tpl +7 -7
  192. package/templates/partials/topic/badge.tpl +4 -4
  193. package/templates/partials/topic/browsing-users.tpl +12 -12
  194. package/templates/partials/topic/deleted-message.tpl +10 -10
  195. package/templates/partials/topic/navigation-post.tpl +11 -11
  196. package/templates/partials/topic/navigator.tpl +31 -31
  197. package/templates/partials/topic/necro-post.tpl +2 -2
  198. package/templates/partials/topic/post-menu.tpl +4 -4
  199. package/templates/partials/topic/post.tpl +104 -104
  200. package/templates/partials/topic/quickreply.tpl +20 -20
  201. package/templates/partials/topic/reply-button.tpl +26 -26
  202. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  203. package/templates/partials/topic/sort.tpl +9 -9
  204. package/templates/partials/topic/stats.tpl +11 -11
  205. package/templates/partials/topic/tags.tpl +4 -4
  206. package/templates/partials/topic/watch.tpl +20 -20
  207. package/templates/partials/users_list.tpl +39 -39
  208. package/templates/partials/users_list_menu.tpl +10 -10
  209. package/templates/popular.tpl +61 -61
  210. package/templates/post-queue.tpl +75 -75
  211. package/templates/recent.tpl +51 -51
  212. package/templates/reset.tpl +23 -23
  213. package/templates/reset_code.tpl +41 -41
  214. package/templates/tag.tpl +35 -35
  215. package/templates/tags.tpl +30 -30
  216. package/templates/top.tpl +61 -61
  217. package/templates/topic.tpl +1 -1
  218. package/templates/tos.tpl +4 -4
  219. package/templates/unread.tpl +49 -49
  220. package/templates/unsubscribe.tpl +6 -6
  221. package/templates/users.tpl +47 -47
  222. package/theme.json +6 -6
  223. 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>