nodebb-theme-persona 11.3.10 → 11.3.14

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 (215) 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 +627 -622
  85. package/less/flags.less +42 -42
  86. package/less/footer.less +17 -17
  87. package/less/groups.less +1 -1
  88. package/less/ip-blacklist.less +6 -6
  89. package/less/keyframes.less +152 -152
  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/tags.less +36 -36
  105. package/less/users.less +72 -72
  106. package/less/variables.less +6 -6
  107. package/package.json +1 -1
  108. package/public/.eslintrc +2 -2
  109. package/public/modules/autohidingnavbar.js +220 -220
  110. package/templates/account/blocks.tpl +34 -34
  111. package/templates/account/categories.tpl +28 -28
  112. package/templates/account/consent.tpl +68 -68
  113. package/templates/account/edit/email.tpl +30 -30
  114. package/templates/account/edit/password.tpl +31 -31
  115. package/templates/account/edit/username.tpl +29 -29
  116. package/templates/account/followers.tpl +16 -16
  117. package/templates/account/following.tpl +16 -16
  118. package/templates/account/groups.tpl +16 -16
  119. package/templates/account/info.tpl +187 -187
  120. package/templates/account/posts.tpl +18 -18
  121. package/templates/account/sessions.tpl +31 -31
  122. package/templates/account/topics.tpl +30 -30
  123. package/templates/account/uploads.tpl +42 -42
  124. package/templates/admin/plugins/persona.tpl +28 -28
  125. package/templates/alert.tpl +15 -15
  126. package/templates/categories.tpl +31 -31
  127. package/templates/category.tpl +62 -62
  128. package/templates/chats.tpl +15 -15
  129. package/templates/flags/list.tpl +71 -71
  130. package/templates/footer.tpl +18 -18
  131. package/templates/groups/details.tpl +272 -272
  132. package/templates/groups/list.tpl +46 -46
  133. package/templates/groups/members.tpl +8 -8
  134. package/templates/ip-blacklist.tpl +55 -55
  135. package/templates/login.tpl +90 -90
  136. package/templates/modules/taskbar.tpl +2 -2
  137. package/templates/modules/usercard.tpl +36 -36
  138. package/templates/notifications.tpl +64 -64
  139. package/templates/partials/acceptTos.tpl +8 -8
  140. package/templates/partials/account/category-item.tpl +22 -22
  141. package/templates/partials/account/header.tpl +46 -46
  142. package/templates/partials/breadcrumbs.tpl +18 -18
  143. package/templates/partials/buttons/newTopic.tpl +15 -15
  144. package/templates/partials/categories/item.tpl +46 -46
  145. package/templates/partials/categories/lastpost.tpl +26 -26
  146. package/templates/partials/categories/link.tpl +10 -10
  147. package/templates/partials/category/sort.tpl +14 -14
  148. package/templates/partials/category/subcategory.tpl +17 -17
  149. package/templates/partials/category/tags.tpl +4 -4
  150. package/templates/partials/category/tools.tpl +80 -80
  151. package/templates/partials/category/watch.tpl +22 -22
  152. package/templates/partials/category-filter-content.tpl +18 -18
  153. package/templates/partials/category-filter-right.tpl +2 -2
  154. package/templates/partials/category-filter.tpl +2 -2
  155. package/templates/partials/category-selector-right.tpl +2 -2
  156. package/templates/partials/category-selector.tpl +2 -2
  157. package/templates/partials/change_owner_modal.tpl +22 -22
  158. package/templates/partials/chats/dropdown.tpl +33 -33
  159. package/templates/partials/chats/messages.tpl +6 -6
  160. package/templates/partials/chats/recent_room.tpl +24 -24
  161. package/templates/partials/chats-menu.tpl +10 -10
  162. package/templates/partials/cookie-consent.tpl +4 -4
  163. package/templates/partials/delete_posts_modal.tpl +18 -18
  164. package/templates/partials/fork_thread_modal.tpl +21 -21
  165. package/templates/partials/groups/list.tpl +20 -20
  166. package/templates/partials/groups/memberlist.tpl +39 -39
  167. package/templates/partials/menu.tpl +247 -247
  168. package/templates/partials/merge_topics_modal.tpl +57 -57
  169. package/templates/partials/modals/flag_modal.tpl +44 -44
  170. package/templates/partials/modals/manage_room.tpl +10 -10
  171. package/templates/partials/modals/manage_room_users.tpl +6 -6
  172. package/templates/partials/modals/post_history.tpl +36 -36
  173. package/templates/partials/modals/rename_room.tpl +3 -3
  174. package/templates/partials/modals/votes_modal.tpl +10 -10
  175. package/templates/partials/move_thread_modal.tpl +16 -16
  176. package/templates/partials/paginator.tpl +44 -44
  177. package/templates/partials/post_bar.tpl +20 -20
  178. package/templates/partials/posts_list.tpl +7 -7
  179. package/templates/partials/quick-search-results.tpl +30 -30
  180. package/templates/partials/slideout-menu.tpl +26 -26
  181. package/templates/partials/tags_list.tpl +4 -4
  182. package/templates/partials/thread_tools.tpl +7 -7
  183. package/templates/partials/topic/badge.tpl +4 -4
  184. package/templates/partials/topic/browsing-users.tpl +12 -12
  185. package/templates/partials/topic/deleted-message.tpl +10 -10
  186. package/templates/partials/topic/navigation-post.tpl +11 -11
  187. package/templates/partials/topic/navigator.tpl +32 -32
  188. package/templates/partials/topic/necro-post.tpl +2 -2
  189. package/templates/partials/topic/post-menu.tpl +4 -4
  190. package/templates/partials/topic/post.tpl +104 -104
  191. package/templates/partials/topic/quickreply.tpl +20 -20
  192. package/templates/partials/topic/reply-button.tpl +26 -26
  193. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  194. package/templates/partials/topic/sort.tpl +9 -9
  195. package/templates/partials/topic/stats.tpl +11 -11
  196. package/templates/partials/topic/tags.tpl +4 -4
  197. package/templates/partials/topic/watch.tpl +20 -20
  198. package/templates/partials/topics_list.tpl +1 -1
  199. package/templates/partials/users_list.tpl +39 -39
  200. package/templates/partials/users_list_menu.tpl +10 -10
  201. package/templates/popular.tpl +61 -61
  202. package/templates/post-queue.tpl +82 -82
  203. package/templates/recent.tpl +51 -51
  204. package/templates/reset.tpl +23 -23
  205. package/templates/reset_code.tpl +41 -41
  206. package/templates/tag.tpl +35 -35
  207. package/templates/tags.tpl +30 -30
  208. package/templates/top.tpl +61 -61
  209. package/templates/topic.tpl +2 -2
  210. package/templates/tos.tpl +4 -4
  211. package/templates/unread.tpl +49 -49
  212. package/templates/unsubscribe.tpl +6 -6
  213. package/templates/users.tpl +47 -47
  214. package/theme.json +6 -6
  215. package/theme.less +1 -1
package/less/chats.less CHANGED
@@ -1,622 +1,627 @@
1
- // Make chats page edge-to-edge
2
- .page-user-chats {
3
- padding-top: 50px;
4
-
5
- #content.container {
6
- width: auto;
7
- padding: 0;
8
- }
9
-
10
- .navbar {
11
- margin-bottom: 0;
12
- }
13
-
14
- #panel {
15
- padding-top: 0px;
16
- padding-bottom: 0px;
17
- }
18
-
19
- [data-widget-area="header"], [data-widget-area="footer"] {
20
- display: none;
21
- }
22
- }
23
-
24
- /* Styles common to both full chat and chat modal */
25
- .chats-full, .chat-modal {
26
- display: flex;
27
- flex-wrap: nowrap;
28
-
29
- [component="chat/nav-wrapper"] {
30
- flex: 1;
31
- flex-direction: column;
32
- box-shadow: 0 3px 9px rgba(0,0,0,.5);
33
-
34
- .chats-list {
35
- flex: 1;
36
- overflow-y: auto;
37
- margin-bottom: 0;
38
- height: ~"calc(100% - 3em)";
39
- }
40
-
41
- .chat-search {
42
- background-color: @panel-default-heading-bg;
43
- border-bottom: 1px solid @gray-dark;
44
-
45
- input {
46
- background-color: @gray-dark;
47
- color: @gray-lighter;
48
- border-radius: 0;
49
- border: none;
50
- height: ~"calc(3em - 2px)";
51
- }
52
-
53
- ul {
54
- width: 100%;
55
- }
56
- }
57
-
58
- [component="chat/search/list"] {
59
- padding: 0;
60
- overflow-x: hidden;
61
- overflow-y: auto;
62
- border-top: 1px solid @gray-lighter;
63
-
64
- li {
65
- position: relative;
66
- clear: both;
67
- list-style-type: none;
68
- padding: .5em;
69
- height: 70px;
70
- cursor: pointer;
71
- border-left: 1px solid;
72
- border-right: 1px solid;
73
- border-bottom: 1px solid;
74
- border-color: #eee;
75
- background: #fff;
76
-
77
- i {
78
- position: relative;
79
- left: -30px;
80
- font-size: 20px;
81
- top: -20px;
82
- }
83
-
84
- img, .user-icon {
85
- .user-icon-style(50px, 2.4rem, 50%);
86
- margin-top: 4px;
87
- margin-right: 13px;
88
- margin-left: .5em;
89
- }
90
- }
91
- }
92
- }
93
-
94
- [component="chat/main-wrapper"] {
95
- flex: 3;
96
-
97
- .alert {
98
- margin: 1em;
99
- }
100
- }
101
-
102
- [component="chat/messages"] {
103
- display: flex;
104
- flex-direction: column;
105
- height: 100%;
106
-
107
- .chat-content {
108
- flex: 1;
109
- }
110
- }
111
-
112
- [component="chat/header"] {
113
- padding: @panel-heading-padding;
114
- background-color: @gray-dark;
115
- border-bottom: none;
116
- color: @gray-lighter;
117
-
118
- span {
119
- font-weight: 500;
120
- }
121
-
122
- .close {
123
- margin-left: 0.5em;
124
- color: @gray-lighter;
125
- }
126
-
127
- .members {
128
- a {
129
- font-weight: 600;
130
- color: @gray-lighter;
131
- }
132
- }
133
-
134
- .dropdown {
135
- .avatar {
136
- margin-right: 0.5em;
137
- }
138
- }
139
- }
140
-
141
- .modal-header .dropdown {
142
- .avatar {
143
- margin-right: 0.5em;
144
- }
145
- }
146
-
147
- [component="chat/composer"] {
148
- display: flex;
149
- position: relative;
150
-
151
- [component="chat/input"] {
152
- flex: 1;
153
- box-shadow: none;
154
- border: 0;
155
- border: 1px solid @gray-lighter;
156
- border-radius: 0;
157
- }
158
-
159
- [data-action="send"] {
160
- width: 5em;
161
- height: 100%;
162
- }
163
-
164
- [component="chat/message/remaining"] {
165
- position: absolute;
166
- right: 5.25em;
167
- z-index: 2;
168
- bottom: 0;
169
- color: @gray-light;
170
- }
171
- }
172
- }
173
-
174
- .chats-page {
175
- margin-top: 10px;
176
- }
177
-
178
- .chat-list {
179
- margin-top: -6px;
180
- margin-left: -1px;
181
- }
182
-
183
- .chats-list {
184
- padding: 0;
185
- overflow-x: hidden;
186
- overflow-y: auto;
187
- border-top: 1px solid @gray-lighter;
188
-
189
- > li.no_active {
190
- height: initial;
191
- padding-bottom: 0.5rem;
192
- text-align: center;
193
- }
194
-
195
- > li {
196
- position: relative;
197
- clear: both;
198
- list-style-type: none;
199
- padding: 0.5em;
200
- height: 80px;
201
- .pointer;
202
-
203
- border-left: 1px solid;
204
- border-right: 1px solid;
205
- border-bottom: 1px solid;
206
- border-color: @gray-lighter;
207
-
208
- &.typing {
209
- .username:after {
210
- visibility: visible;
211
- }
212
- }
213
-
214
- &.unread {
215
- background: lighten(@brand-primary, 35%);
216
- border-bottom: 0;
217
-
218
- }
219
-
220
- .teaser-content {
221
- display: block;
222
- white-space: nowrap;
223
- overflow: hidden;
224
- text-overflow: ellipsis;
225
- font-size: 13px;
226
- opacity: 0.8;
227
- }
228
-
229
- .room-name {
230
- white-space: nowrap;
231
- overflow: hidden;
232
- text-overflow: ellipsis;
233
- display: block;
234
- [component="chat/title"] {
235
- overflow: hidden;
236
- white-space: nowrap;
237
- text-overflow: ellipsis;
238
- max-width: 350px;
239
- display: inline-block;
240
- }
241
- }
242
-
243
- .teaser-content, .room-name {
244
- padding-left: 80px;
245
- }
246
-
247
- &.bg-primary {
248
- background: @brand-primary;
249
- border-bottom: 0;
250
- }
251
-
252
- .username {
253
- font-size: 14px;
254
-
255
- &:after {
256
- display: inline-block;
257
- font-family: "FontAwesome";
258
- content: "\f11c";
259
- margin-left: 0.5em;
260
- visibility: hidden;
261
- }
262
- }
263
-
264
- .teaser-timestamp {
265
- font-size: 10px;
266
- margin-top: 10px;
267
- }
268
-
269
- a {
270
- .text-ellipsis;
271
- }
272
-
273
- p {
274
- margin: 0;
275
- white-space: nowrap;
276
- overflow: hidden;
277
- text-overflow: ellipsis;
278
- height: 20px;
279
- }
280
-
281
- .status {
282
- position: absolute;
283
- left: 50px;
284
- font-size: 20px;
285
- top: 10px;
286
- }
287
-
288
- .leave {
289
- opacity: 0.5;
290
- &:hover {
291
- opacity: 1.0;
292
- }
293
- }
294
-
295
- .members {
296
- padding-left: 1rem;
297
- margin-bottom: 0.5rem;
298
- z-index: 1;
299
- position: absolute;
300
- bottom: 2px;
301
- left: 53px;
302
-
303
- li {
304
- display: inline-block;
305
- width: 16px;
306
- padding: 0;
307
- margin: 0;
308
-
309
- &:first-child {
310
- display: none;
311
- }
312
-
313
- .avatar {
314
- border: 2px solid white;
315
- width: 28px;
316
- height: 28px;
317
- line-height: 26px;
318
- vertical-align: bottom;
319
- }
320
-
321
- img {
322
- margin-top: -4px;
323
- }
324
- }
325
- }
326
-
327
- .main-avatar {
328
- position: absolute;
329
- top: 0px;
330
- left: 0px;
331
-
332
- .avatar {
333
- height: 80px;
334
- width: 80px;
335
- font-size: 40px;
336
- border-radius: 0;
337
- }
338
- }
339
-
340
- .avatar-placeholder {
341
- height: 80px;
342
- width: 80px;
343
- background: @gray-lighter;
344
- position: absolute;
345
- top: 0px;
346
- left: 0px;
347
- }
348
- }
349
- }
350
-
351
- .chat-modal {
352
- z-index: @zindex-modal;
353
- }
354
-
355
- /* Chat modal specific styles */
356
- .chat-modal {
357
- .modal-header {
358
- padding: 0.25em 1em;
359
-
360
- h4 {
361
- font-size: 1.5rem;
362
- font-weight: bold;
363
- min-height: 20px;
364
-
365
- i {
366
- font-size: 14px;
367
- vertical-align: center;
368
-
369
- &.fa-keyboard-o {
370
- .animation(topic-reply-pulse 2s ease-in infinite);
371
- }
372
- }
373
- }
374
-
375
- .close {
376
- padding: 0.5em;
377
- }
378
-
379
- .users-tag-container span:only-of-type [data-role="remove"] {
380
- display: none;
381
- }
382
- }
383
-
384
- .modal-body {
385
- display: flex;
386
- flex-direction: column;
387
- height: 400px;
388
-
389
- .chat-content {
390
- flex: 1;
391
- }
392
- }
393
- }
394
-
395
- .expanded-chat, .chat-modal {
396
- .chat-content {
397
- .fix-lists;
398
- overflow-y: auto;
399
- overflow-x: hidden;
400
- resize: none;
401
- word-wrap: break-word;
402
- margin: 0;
403
- padding: 0;
404
-
405
- li.chat-message {
406
- position: relative;
407
- list-style-type: none;
408
- font-weight: 300;
409
- padding: 0 1.428rem;
410
- margin-right: 1.428rem;
411
- transition: opacity .5s ease;
412
-
413
- &:first-child {
414
- padding-top: 1.428rem;
415
- }
416
-
417
- &:last-child {
418
- margin-bottom: 1.428rem;
419
- }
420
-
421
- &[data-break="true"] {
422
- padding-top: 1rem;
423
- margin-top: 1rem;
424
- border-top: 1px solid @gray-lighter;
425
- }
426
-
427
- &[data-break="true"]:first-child {
428
- border-top: 0;
429
- margin-top: -1.5px;
430
- }
431
-
432
- &.deleted {
433
- .message-body-wrapper .controls {
434
- [data-action] {
435
- display: none;
436
- }
437
-
438
- [data-action="restore"] {
439
- display: inline;
440
- }
441
- }
442
-
443
- .message-body {
444
- opacity: 0.3;
445
- }
446
- }
447
-
448
- .chat-user-image {
449
- .user-icon-style(32px, 1.6rem, 50%);
450
- float: left;
451
- }
452
-
453
- .chat-user {
454
- display: inline-block;
455
- margin-left: 13px;
456
-
457
- a {
458
- color: @text-color;
459
- }
460
- }
461
-
462
- .chat-timestamp {
463
- color: @gray-light;
464
- font-size: 1rem;
465
- display: inline-block;
466
- margin-left: 10px;
467
- .user-select(none);
468
- }
469
-
470
- .chat-edited {
471
- margin-left: 5px;
472
- margin-top: 2px;
473
- }
474
-
475
- &[data-self="0"] + [data-self="0"], &[data-self="1"] + [data-self="1"] {
476
- &[data-break="false"] {
477
- .message-header {
478
- display: none;
479
- }
480
- }
481
- }
482
-
483
- .message-body-wrapper {
484
- margin-left: 45px;
485
-
486
- .message-body {
487
- padding: 7px 10px;
488
- overflow-y: hidden;
489
-
490
- p {
491
- margin: 7px 0 0 0;
492
- line-height: 2rem;
493
- }
494
-
495
- p:first-child {
496
- margin: 0;
497
- }
498
- }
499
-
500
- .controls {
501
- display: none;
502
-
503
- position: absolute;
504
- bottom: 5px;
505
- right: 30px;
506
- border: 1px solid @dropdown-border;
507
- .box-shadow(0 6px 12px rgba(0,0,0,.175));
508
-
509
- [data-action="restore"] {
510
- display: none;
511
- }
512
- }
513
-
514
- &:hover {
515
- .message-body {
516
- background: @dropdown-link-hover-bg;
517
- }
518
-
519
- .controls {
520
- display: block;
521
- }
522
- }
523
- }
524
- }
525
-
526
- li.system-message {
527
- list-style-type: none;
528
- text-align: center;
529
- color: @gray-light;
530
- font-size: 1.25rem;
531
- padding: 1rem 0;
532
-
533
- &::before, &::after {
534
- display: inline-block;
535
- width: 10%;
536
- content: '';
537
- border-top: 1px solid @gray-lighter;
538
- position: relative;
539
- top: -0.3rem;
540
- margin: 0 2rem;
541
- }
542
- }
543
- }
544
-
545
- .user-typing {
546
- color: @gray-light;
547
- margin: 1.428rem 0;
548
- }
549
-
550
- .selected[data-since] {
551
- font-weight: bold;
552
- }
553
-
554
- .modal-dialog {
555
- margin: 0 auto;
556
- }
557
-
558
- textarea {
559
- resize: none;
560
- }
561
-
562
- .since-bar {
563
- display: block;
564
- padding: 1rem 0;
565
- text-align: center;
566
- }
567
-
568
- .controlsToggle {
569
- margin-right: 10px;
570
- }
571
- }
572
-
573
- .expanded-chat {
574
- h1 {
575
- margin: 0px;
576
- padding-bottom: 20px;
577
- }
578
-
579
- .chat-content {
580
- padding-top: 10px;
581
- }
582
-
583
- .input-group {
584
- z-index: 1;
585
- }
586
- }
587
-
588
- [component="chat/manage-modal"] {
589
- .list-group-item .avatar {
590
- margin-right: 1em;
591
- }
592
-
593
- div+span {
594
- margin: -4px;
595
- }
596
- }
597
-
598
- /* Mobile handling of chat page */
599
- @media (max-width: @screen-sm) {
600
- .page-user-chats {
601
- padding-bottom: 0;
602
-
603
- [component="chat/nav-wrapper"][data-loaded="1"] {
604
- display: none;
605
- }
606
-
607
- [component="chat/nav-wrapper"][data-loaded="0"] + [component="chat/main-wrapper"] {
608
- display: none;
609
- }
610
- }
611
-
612
- [data-action="pop-out"] {
613
- display: none;
614
- }
615
- }
616
-
617
- /* Mobile handling of chat modal */
618
- @media (max-width: @screen-sm-max) {
619
- .chat-modal {
620
- z-index: @zindex-popover + 10;
621
- }
622
- }
1
+ // Make chats page edge-to-edge
2
+ .page-user-chats {
3
+ padding-top: 50px;
4
+
5
+ #content.container {
6
+ width: auto;
7
+ padding: 0;
8
+ }
9
+
10
+ .navbar {
11
+ margin-bottom: 0;
12
+ }
13
+
14
+ #panel {
15
+ padding-top: 0px;
16
+ padding-bottom: 0px;
17
+ }
18
+
19
+ [data-widget-area="header"], [data-widget-area="footer"] {
20
+ display: none;
21
+ }
22
+ }
23
+
24
+ /* Styles common to both full chat and chat modal */
25
+ .chats-full, .chat-modal {
26
+ display: flex;
27
+ flex-wrap: nowrap;
28
+ height: calc(100vh - var(--panel-offset) - 70px);
29
+
30
+ [component="chat/nav-wrapper"] {
31
+ flex: 1;
32
+ flex-direction: column;
33
+ box-shadow: 0 3px 9px rgba(0,0,0,.5);
34
+
35
+ .chats-list {
36
+ flex: 1;
37
+ overflow-y: auto;
38
+ margin-bottom: 0;
39
+ height: ~"calc(100% - 3em)";
40
+ }
41
+
42
+ .chat-search {
43
+ background-color: @panel-default-heading-bg;
44
+ border-bottom: 1px solid @gray-dark;
45
+
46
+ input {
47
+ background-color: @gray-dark;
48
+ color: @gray-lighter;
49
+ border-radius: 0;
50
+ border: none;
51
+ height: ~"calc(3em - 2px)";
52
+ }
53
+
54
+ ul {
55
+ width: 100%;
56
+ }
57
+ }
58
+
59
+ [component="chat/search/list"] {
60
+ padding: 0;
61
+ overflow-x: hidden;
62
+ overflow-y: auto;
63
+ border-top: 1px solid @gray-lighter;
64
+
65
+ li {
66
+ position: relative;
67
+ clear: both;
68
+ list-style-type: none;
69
+ padding: .5em;
70
+ height: 70px;
71
+ cursor: pointer;
72
+ border-left: 1px solid;
73
+ border-right: 1px solid;
74
+ border-bottom: 1px solid;
75
+ border-color: #eee;
76
+ background: #fff;
77
+
78
+ i {
79
+ position: relative;
80
+ left: -30px;
81
+ font-size: 20px;
82
+ top: -20px;
83
+ }
84
+
85
+ img, .user-icon {
86
+ .user-icon-style(50px, 2.4rem, 50%);
87
+ margin-top: 4px;
88
+ margin-right: 13px;
89
+ margin-left: .5em;
90
+ }
91
+ }
92
+ }
93
+ }
94
+
95
+ [component="chat/main-wrapper"] {
96
+ flex: 3;
97
+
98
+ .alert {
99
+ margin: 1em;
100
+ }
101
+ }
102
+
103
+ [component="chat/messages"] {
104
+ display: flex;
105
+ flex-direction: column;
106
+ height: 100%;
107
+
108
+ .chat-content {
109
+ flex: 1;
110
+ }
111
+ }
112
+
113
+ [component="chat/header"] {
114
+ padding: @panel-heading-padding;
115
+ background-color: @gray-dark;
116
+ border-bottom: none;
117
+ color: @gray-lighter;
118
+
119
+ span {
120
+ font-weight: 500;
121
+ }
122
+
123
+ .close {
124
+ margin-left: 0.5em;
125
+ color: @gray-lighter;
126
+ }
127
+
128
+ .members {
129
+ a {
130
+ font-weight: 600;
131
+ color: @gray-lighter;
132
+ }
133
+ }
134
+
135
+ .dropdown {
136
+ .avatar {
137
+ margin-right: 0.5em;
138
+ }
139
+ }
140
+ }
141
+
142
+ .modal-header .dropdown {
143
+ .avatar {
144
+ margin-right: 0.5em;
145
+ }
146
+ }
147
+
148
+ [component="chat/composer"] {
149
+ display: flex;
150
+ position: relative;
151
+
152
+ [component="chat/input"] {
153
+ flex: 1;
154
+ box-shadow: none;
155
+ border: 0;
156
+ border: 1px solid @gray-lighter;
157
+ border-radius: 0;
158
+ }
159
+
160
+ [data-action="send"] {
161
+ width: 5em;
162
+ height: 100%;
163
+ }
164
+
165
+ [component="chat/message/remaining"] {
166
+ position: absolute;
167
+ right: 5.25em;
168
+ z-index: 2;
169
+ bottom: 0;
170
+ color: @gray-light;
171
+ }
172
+ }
173
+ }
174
+
175
+ .chats-page {
176
+ margin-top: 10px;
177
+ }
178
+
179
+ .chat-list {
180
+ margin-top: -6px;
181
+ margin-left: -1px;
182
+ }
183
+
184
+ .chats-list {
185
+ padding: 0;
186
+ overflow-x: hidden;
187
+ overflow-y: auto;
188
+ border-top: 1px solid @gray-lighter;
189
+
190
+ > li.no_active {
191
+ height: initial;
192
+ padding-bottom: 0.5rem;
193
+ text-align: center;
194
+ }
195
+
196
+ > li {
197
+ position: relative;
198
+ clear: both;
199
+ list-style-type: none;
200
+ padding: 0.5em;
201
+ height: 80px;
202
+ .pointer;
203
+
204
+ border-left: 1px solid;
205
+ border-right: 1px solid;
206
+ border-bottom: 1px solid;
207
+ border-color: @gray-lighter;
208
+
209
+ &.typing {
210
+ .username:after {
211
+ visibility: visible;
212
+ }
213
+ }
214
+
215
+ &.unread {
216
+ background: lighten(@brand-primary, 35%);
217
+ border-bottom: 0;
218
+
219
+ }
220
+
221
+ .teaser-content {
222
+ display: block;
223
+ white-space: nowrap;
224
+ overflow: hidden;
225
+ text-overflow: ellipsis;
226
+ font-size: 13px;
227
+ opacity: 0.8;
228
+ }
229
+
230
+ .room-name {
231
+ white-space: nowrap;
232
+ overflow: hidden;
233
+ text-overflow: ellipsis;
234
+ display: block;
235
+ [component="chat/title"] {
236
+ overflow: hidden;
237
+ white-space: nowrap;
238
+ text-overflow: ellipsis;
239
+ max-width: 350px;
240
+ display: inline-block;
241
+ }
242
+ }
243
+
244
+ .teaser-content, .room-name {
245
+ padding-left: 80px;
246
+ }
247
+
248
+ &.bg-primary {
249
+ background: @brand-primary;
250
+ border-bottom: 0;
251
+ }
252
+
253
+ .username {
254
+ font-size: 14px;
255
+
256
+ &:after {
257
+ display: inline-block;
258
+ font-family: "FontAwesome";
259
+ content: "\f11c";
260
+ margin-left: 0.5em;
261
+ visibility: hidden;
262
+ }
263
+ }
264
+
265
+ .teaser-timestamp {
266
+ font-size: 10px;
267
+ margin-top: 10px;
268
+ }
269
+
270
+ a {
271
+ .text-ellipsis;
272
+ }
273
+
274
+ p {
275
+ margin: 0;
276
+ white-space: nowrap;
277
+ overflow: hidden;
278
+ text-overflow: ellipsis;
279
+ height: 20px;
280
+ }
281
+
282
+ .status {
283
+ position: absolute;
284
+ left: 50px;
285
+ font-size: 20px;
286
+ top: 10px;
287
+ }
288
+
289
+ .leave {
290
+ opacity: 0.5;
291
+ &:hover {
292
+ opacity: 1.0;
293
+ }
294
+ }
295
+
296
+ .members {
297
+ padding-left: 1rem;
298
+ margin-bottom: 0.5rem;
299
+ z-index: 1;
300
+ position: absolute;
301
+ bottom: 2px;
302
+ left: 53px;
303
+
304
+ li {
305
+ display: inline-block;
306
+ width: 16px;
307
+ padding: 0;
308
+ margin: 0;
309
+
310
+ &:first-child {
311
+ display: none;
312
+ }
313
+
314
+ .avatar {
315
+ border: 2px solid white;
316
+ width: 28px;
317
+ height: 28px;
318
+ line-height: 26px;
319
+ vertical-align: bottom;
320
+ }
321
+
322
+ img {
323
+ margin-top: -4px;
324
+ }
325
+ }
326
+ }
327
+
328
+ .main-avatar {
329
+ position: absolute;
330
+ top: 0px;
331
+ left: 0px;
332
+
333
+ .avatar {
334
+ height: 80px;
335
+ width: 80px;
336
+ font-size: 40px;
337
+ border-radius: 0;
338
+ }
339
+ }
340
+
341
+ .avatar-placeholder {
342
+ height: 80px;
343
+ width: 80px;
344
+ background: @gray-lighter;
345
+ position: absolute;
346
+ top: 0px;
347
+ left: 0px;
348
+ }
349
+ }
350
+ }
351
+
352
+ .chat-modal {
353
+ z-index: @zindex-modal;
354
+ }
355
+
356
+ /* Chat modal specific styles */
357
+ .chat-modal {
358
+ .modal-header {
359
+ padding: 0.25em 1em;
360
+
361
+ h4 {
362
+ font-size: 1.5rem;
363
+ font-weight: bold;
364
+ min-height: 20px;
365
+
366
+ i {
367
+ font-size: 14px;
368
+ vertical-align: center;
369
+
370
+ &.fa-keyboard-o {
371
+ .animation(topic-reply-pulse 2s ease-in infinite);
372
+ }
373
+ }
374
+ }
375
+
376
+ .close {
377
+ padding: 0.5em;
378
+ }
379
+
380
+ .users-tag-container span:only-of-type [data-role="remove"] {
381
+ display: none;
382
+ }
383
+ }
384
+
385
+ .modal-body {
386
+ display: flex;
387
+ flex-direction: column;
388
+ height: 400px;
389
+
390
+ .chat-content {
391
+ flex: 1;
392
+ }
393
+ }
394
+ }
395
+
396
+ .expanded-chat, .chat-modal {
397
+ .chat-content {
398
+ .fix-lists;
399
+ overflow-y: auto;
400
+ overflow-x: hidden;
401
+ resize: none;
402
+ word-wrap: break-word;
403
+ margin: 0;
404
+ padding: 0;
405
+
406
+ li.chat-message {
407
+ position: relative;
408
+ list-style-type: none;
409
+ font-weight: 300;
410
+ padding: 0 1.428rem;
411
+ margin-right: 1.428rem;
412
+ transition: opacity .5s ease;
413
+
414
+ &:first-child {
415
+ padding-top: 1.428rem;
416
+ }
417
+
418
+ &:last-child {
419
+ margin-bottom: 1.428rem;
420
+ }
421
+
422
+ &[data-break="true"] {
423
+ padding-top: 1rem;
424
+ margin-top: 1rem;
425
+ border-top: 1px solid @gray-lighter;
426
+ }
427
+
428
+ &[data-break="true"]:first-child {
429
+ border-top: 0;
430
+ margin-top: -1.5px;
431
+ }
432
+
433
+ &.deleted {
434
+ .message-body-wrapper .controls {
435
+ [data-action] {
436
+ display: none;
437
+ }
438
+
439
+ [data-action="restore"] {
440
+ display: inline;
441
+ }
442
+ }
443
+
444
+ .message-body {
445
+ opacity: 0.3;
446
+ }
447
+ }
448
+
449
+ .chat-user-image {
450
+ .user-icon-style(32px, 1.6rem, 50%);
451
+ float: left;
452
+ }
453
+
454
+ .chat-user {
455
+ display: inline-block;
456
+ margin-left: 13px;
457
+
458
+ a {
459
+ color: @text-color;
460
+ }
461
+ }
462
+
463
+ .chat-timestamp {
464
+ color: @gray-light;
465
+ font-size: 1rem;
466
+ display: inline-block;
467
+ margin-left: 10px;
468
+ .user-select(none);
469
+ }
470
+
471
+ .chat-edited {
472
+ margin-left: 5px;
473
+ margin-top: 2px;
474
+ }
475
+
476
+ &[data-self="0"] + [data-self="0"], &[data-self="1"] + [data-self="1"] {
477
+ &[data-break="false"] {
478
+ .message-header {
479
+ display: none;
480
+ }
481
+ }
482
+ }
483
+
484
+ .message-body-wrapper {
485
+ margin-left: 45px;
486
+
487
+ .message-body {
488
+ padding: 7px 10px;
489
+ overflow-y: hidden;
490
+
491
+ p {
492
+ margin: 7px 0 0 0;
493
+ line-height: 2rem;
494
+ }
495
+
496
+ p:first-child {
497
+ margin: 0;
498
+ }
499
+ }
500
+
501
+ .controls {
502
+ display: none;
503
+
504
+ position: absolute;
505
+ bottom: 5px;
506
+ right: 30px;
507
+ border: 1px solid @dropdown-border;
508
+ .box-shadow(0 6px 12px rgba(0,0,0,.175));
509
+
510
+ [data-action="restore"] {
511
+ display: none;
512
+ }
513
+ }
514
+
515
+ &:hover {
516
+ .message-body {
517
+ background: @dropdown-link-hover-bg;
518
+ }
519
+
520
+ .controls {
521
+ display: block;
522
+ }
523
+ }
524
+ }
525
+ }
526
+
527
+ li.system-message {
528
+ list-style-type: none;
529
+ text-align: center;
530
+ color: @gray-light;
531
+ font-size: 1.25rem;
532
+ padding: 1rem 0;
533
+
534
+ &::before, &::after {
535
+ display: inline-block;
536
+ width: 10%;
537
+ content: '';
538
+ border-top: 1px solid @gray-lighter;
539
+ position: relative;
540
+ top: -0.3rem;
541
+ margin: 0 2rem;
542
+ }
543
+ }
544
+ }
545
+
546
+ .user-typing {
547
+ color: @gray-light;
548
+ margin: 1.428rem 0;
549
+ }
550
+
551
+ .selected[data-since] {
552
+ font-weight: bold;
553
+ }
554
+
555
+ .modal-dialog {
556
+ margin: 0 auto;
557
+ }
558
+
559
+ textarea {
560
+ resize: none;
561
+ }
562
+
563
+ .since-bar {
564
+ display: block;
565
+ padding: 1rem 0;
566
+ text-align: center;
567
+ }
568
+
569
+ .controlsToggle {
570
+ margin-right: 10px;
571
+ }
572
+ }
573
+
574
+ .expanded-chat {
575
+ h1 {
576
+ margin: 0px;
577
+ padding-bottom: 20px;
578
+ }
579
+
580
+ .chat-content {
581
+ padding-top: 10px;
582
+ }
583
+
584
+ .input-group {
585
+ z-index: 1;
586
+ }
587
+ }
588
+
589
+ [component="chat/manage-modal"] {
590
+ .list-group-item .avatar {
591
+ margin-right: 1em;
592
+ }
593
+
594
+ div+span {
595
+ margin: -4px;
596
+ }
597
+ }
598
+
599
+ /* Mobile handling of chat page */
600
+ @media (max-width: @screen-sm) {
601
+ .page-user-chats {
602
+ padding-bottom: 0;
603
+
604
+ [component="chat/nav-wrapper"][data-loaded="1"] {
605
+ display: none;
606
+ }
607
+
608
+ [component="chat/nav-wrapper"][data-loaded="0"] + [component="chat/main-wrapper"] {
609
+ display: none;
610
+ }
611
+
612
+ .chats-full, .chat-modal {
613
+ height: calc(100vh - var(--panel-offset));
614
+ }
615
+ }
616
+
617
+ [data-action="pop-out"] {
618
+ display: none;
619
+ }
620
+ }
621
+
622
+ /* Mobile handling of chat modal */
623
+ @media (max-width: @screen-sm-max) {
624
+ .chat-modal {
625
+ z-index: @zindex-popover + 10;
626
+ }
627
+ }