]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/videos/+video-watch/video-watch.component.scss
Fix tests
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / +video-watch / video-watch.component.scss
1 @import '_variables';
2 @import '_mixins';
3
4 .root-row {
5 flex-direction: column;
6 }
7
8 .blacklisted-label {
9 font-weight: $font-semibold;
10 }
11
12 #video-element-wrapper {
13 background-color: #000;
14 display: flex;
15 justify-content: center;
16 flex-grow: 1;
17
18 .remote-server-down {
19 color: #fff;
20 display: flex;
21 flex-direction: column;
22 align-items: center;
23 text-align: center;
24 justify-content: center;
25 background-color: #141313;
26 width: 100%;
27 font-size: 24px;
28 height: 500px;
29
30 @media screen and (max-width: 1000px) {
31 font-size: 20px;
32 }
33
34 @media screen and (max-width: 600px) {
35 font-size: 16px;
36 }
37 }
38
39 /deep/ .video-js {
40 width: 888px;
41 height: 500px;
42
43 &.vjs-theater-enabled {
44 height: calc(100vh - #{$header-height} - #{$theater-bottom-space});
45 width: 100%;
46 }
47
48 // VideoJS create an inner video player
49 video {
50 outline: 0;
51 position: relative !important;
52 }
53 }
54
55 @media screen and (max-width: 600px) {
56 .remote-server-down,
57 /deep/ .video-js {
58 width: 100vw;
59 height: calc(100vw / 1.7); // 16/9
60 }
61 }
62 }
63
64 .alert {
65 text-align: center;
66 }
67
68 #video-not-found {
69 height: 300px;
70 line-height: 300px;
71 margin-top: 50px;
72 text-align: center;
73 font-weight: $font-semibold;
74 font-size: 15px;
75 }
76
77 .video-bottom {
78 margin-top: 40px;
79 display: flex;
80 flex-grow: 1;
81
82 .video-info {
83 flex-grow: 1;
84 margin-right: 40px;
85 // Set min width for flex item
86 min-width: 1px;
87
88 .video-info-first-row {
89 display: flex;
90
91 & > div:first-child {
92 flex-grow: 1;
93 }
94
95 .video-info-name {
96 margin-right: 30px;
97 min-height: 40px; // Align with the action buttons
98 font-size: 27px;
99 font-weight: $font-semibold;
100 flex-grow: 1;
101 }
102
103 .video-info-date-views {
104 font-size: 16px;
105 margin-bottom: 10px;
106 flex-grow: 1;
107 }
108
109 .video-info-channel {
110 font-weight: $font-semibold;
111 font-size: 15px;
112
113 a {
114 @include disable-default-a-behaviour;
115
116 color: #000;
117
118 &:hover {
119 opacity: 0.8;
120 }
121
122 img {
123 @include avatar(18px);
124
125 margin: -2px 2px 0 5px;
126 }
127 }
128
129 my-subscribe-button {
130 /deep/ span[role=button] {
131 font-size: 13px !important;
132 }
133
134 margin-left: 5px;
135 }
136 }
137
138 .video-info-by {
139
140 a {
141 @include disable-default-a-behaviour;
142
143 display: inline;
144 align-items: center;
145 font-size: 13px;
146 color: #000;
147
148 span:hover {
149 opacity: 0.8;
150 }
151
152 img {
153 @include avatar(18px);
154
155 margin-top: -2px;
156 margin-left: 7px;
157 }
158 }
159
160 my-help {
161 position: relative;
162 top: 1px;
163 margin-left: 2px;
164 }
165 }
166
167 my-video-feed {
168 margin-left: 5px;
169 margin-top: 1px;
170 }
171
172 .video-actions-rates {
173 display: flex;
174 flex-direction: column;
175 align-items: flex-end;
176
177 .video-actions {
178 height: 40px; // Align with the title
179 display: flex;
180 align-items: center;
181
182 .action-button:not(:first-child), .action-more {
183 margin-left: 10px;
184 }
185
186 .action-button {
187 @include peertube-button;
188 @include grey-button;
189
190 font-size: 15px;
191 font-weight: $font-semibold;
192 display: inline-block;
193 padding: 0 10px 0 10px;
194 white-space: nowrap;
195
196 &::after {
197 display: none;
198 }
199
200 .icon {
201 @include icon(21px);
202
203 position: relative;
204 top: -2px;
205
206 &.icon-like {
207 background-image: url('../../../assets/images/video/like-grey.svg');
208 }
209
210 &.icon-dislike {
211 background-image: url('../../../assets/images/video/dislike-grey.svg');
212 }
213
214 &.icon-support {
215 background-image: url('../../../assets/images/video/heart.svg');
216 }
217
218 &.icon-share {
219 background-image: url('../../../assets/images/video/share.svg');
220 }
221
222 &.icon-more {
223 background-image: url('../../../assets/images/video/more.svg');
224 top: -1px;
225 }
226 }
227
228 .icon-text {
229 margin-left: 3px;
230 }
231
232 &.action-button-like.activated {
233 background-color: #39CC0B;
234
235 .icon-like {
236 background-image: url('../../../assets/images/video/like-white.svg');
237 }
238 }
239
240 &.action-button-dislike.activated {
241 background-color: #FF0000;
242
243 .icon-dislike {
244 background-image: url('../../../assets/images/video/dislike-white.svg');
245 }
246 }
247 }
248
249 .action-more {
250 display: inline-block;
251
252 .dropdown-menu .dropdown-item {
253 padding: 6px 24px;
254
255 .icon {
256 @include icon(24px);
257
258 margin-right: 10px;
259 position: relative;
260 top: -1px;
261
262 &.icon-download {
263 background-image: url('../../../assets/images/video/download-black.svg');
264 }
265
266 &.icon-edit {
267 background-image: url('../../../assets/images/global/edit-black.svg');
268 }
269
270 &.icon-alert {
271 background-image: url('../../../assets/images/video/alert.svg');
272 }
273
274 &.icon-blacklist {
275 background-image: url('../../../assets/images/video/blacklist.svg');
276 }
277
278 &.icon-unblacklist {
279 background-image: url('../../../assets/images/global/undo.svg');
280 }
281
282 &.icon-delete {
283 background-image: url('../../../assets/images/global/delete-black.svg');
284 }
285 }
286 }
287 }
288 }
289
290 .video-info-likes-dislikes-bar {
291 height: 5px;
292 width: 186px;
293 background-color: #E5E5E5;
294 margin-top: 25px;
295
296 .likes-bar {
297 height: 100%;
298 background-color: #39CC0B;
299 }
300 }
301 }
302 }
303
304 .video-info-description {
305 margin: 20px 0;
306 font-size: 15px;
307
308 .video-info-description-html {
309 @include peertube-word-wrap;
310 }
311
312 .glyphicon, .description-loading {
313 margin-left: 3px;
314 }
315
316 .description-loading {
317 display: inline-block;
318 }
319
320 .video-info-description-more {
321 cursor: pointer;
322 font-weight: $font-semibold;
323 color: #585858;
324 font-size: 14px;
325
326 .glyphicon {
327 position: relative;
328 top: 2px;
329 }
330 }
331 }
332
333 .video-attributes .video-attribute {
334 font-size: 13px;
335 display: block;
336 margin-bottom: 12px;
337
338 .video-attribute-label {
339 min-width: 91px;
340 padding-right: 5px;
341 display: inline-block;
342 color: #585858;
343 font-weight: $font-bold;
344 }
345
346 a.video-attribute-value {
347 @include disable-default-a-behaviour;
348 color: #000;
349
350 &:hover {
351 opacity: 0.9;
352 }
353 }
354
355 &.video-attribute-tags {
356 .video-attribute-value:not(:nth-child(2)) {
357 &::before {
358 content: ', '
359 }
360 }
361 }
362 }
363 }
364
365 .other-videos {
366 padding-left: 1em;
367
368 .title-page {
369 margin-top: 0;
370 }
371
372 /deep/ .video-miniature {
373 display: flex;
374 height: 100%;
375 margin-bottom: 20px;
376 flex-wrap: wrap;
377
378 .video-miniature-information {
379 flex-grow: 1;
380 }
381
382 .video-thumbnail {
383 margin-right: 10px
384 }
385 }
386 }
387 }
388
389 // If the view is not expanded, take into account the menu
390 .privacy-concerns {
391 width: calc(100% - #{$menu-width});
392 }
393
394 :host-context(.expanded) {
395 .privacy-concerns {
396 width: 100%;
397 }
398 }
399
400 .privacy-concerns {
401 position: fixed;
402 bottom: 0;
403
404 padding: 5px 15px;
405
406 display: flex;
407 align-items: center;
408 justify-content: flex-start;
409 background-color: rgba(0, 0, 0, 0.9);
410 color: #fff;
411
412 .privacy-concerns-text {
413 margin: 0 5px;
414 }
415
416 a {
417 @include disable-default-a-behaviour;
418
419 color: $orange-color;
420 transition: color 0.3s;
421
422 &:hover {
423 color: #fff;
424 }
425 }
426
427 .privacy-concerns-okay {
428 background-color: $orange-color;
429 padding: 5px 8px 5px 7px;
430 margin-left: auto;
431 border-radius: 3px;
432 cursor: pointer;
433 transition: background-color 0.3s;
434 font-weight: $font-semibold;
435
436 &:hover {
437 background-color: #000;
438 }
439 }
440 }
441
442
443 @media screen and (max-width: 1600px) {
444 .video-bottom {
445 .video-info {
446 margin-right: 20px;
447
448 .video-info-first-row {
449 flex-direction: column;
450 margin-bottom: 30px;
451
452 .video-actions-rates {
453 margin-top: 20px;
454 align-items: start;
455
456 .video-info-likes-dislikes-bar {
457 margin-top: 10px;
458 }
459 }
460 }
461
462 .video-info-date-views {
463 flex-direction: column;
464 margin-bottom: 30px;
465
466 .video-info-likes-dislikes-bar {
467 margin-top: 0;
468 }
469 }
470
471 .video-attributes .video-attribute {
472 margin-bottom: 5px;
473 }
474 }
475 }
476 }
477
478 @media screen and (max-width: 1300px) {
479 .video-bottom {
480 flex-direction: column;
481 }
482
483 .other-videos {
484 padding-left: 0 !important;
485 }
486
487 .privacy-concerns {
488 font-size: 12px;
489 padding: 2px 5px;
490
491 .privacy-concerns-text {
492 margin: 0;
493 }
494 }
495 }
496
497 @media screen and (max-width: 600px) {
498 .video-bottom {
499 margin: 20px 0 0 0;
500
501 .video-info {
502
503 .video-info-first-row {
504
505 .video-info-name {
506 font-size: 20px;
507 height: auto;
508 }
509 }
510 }
511 }
512
513 .other-videos {
514 /deep/ .video-miniature {
515 flex-direction: column;
516 }
517 }
518
519 .privacy-concerns {
520 width: 100%;
521
522 strong {
523 display: none;
524 }
525 }
526 }
527
528 @media screen and (max-width: 450px) {
529 .video-bottom .action-button .icon-text {
530 display: none !important;
531 }
532 }