]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/videos/+video-watch/video-watch.component.scss
1354de32e0f24bcf0750ff64a451b59dfc921985
[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
130 .video-info-by {
131
132 a {
133 @include disable-default-a-behaviour;
134
135 display: inline;
136 align-items: center;
137 font-size: 13px;
138 color: #000;
139
140 span:hover {
141 opacity: 0.8;
142 }
143
144 img {
145 @include avatar(18px);
146
147 margin-top: -2px;
148 margin-left: 7px;
149 }
150 }
151
152 my-help {
153 position: relative;
154 top: 1px;
155 margin-left: 2px;
156 }
157 }
158
159 my-video-feed {
160 margin-left: 5px;
161 margin-top: 1px;
162 }
163
164 .video-actions-rates {
165 display: flex;
166 flex-direction: column;
167 align-items: flex-end;
168
169 .video-actions {
170 height: 40px; // Align with the title
171 display: flex;
172 align-items: center;
173
174 .action-button:not(:first-child), .action-more {
175 margin-left: 10px;
176 }
177
178 .action-button {
179 @include peertube-button;
180 @include grey-button;
181
182 font-size: 15px;
183 font-weight: $font-semibold;
184 display: inline-block;
185 padding: 0 10px 0 10px;
186 white-space: nowrap;
187
188 &::after {
189 display: none;
190 }
191
192 .icon {
193 @include icon(21px);
194
195 position: relative;
196 top: -2px;
197
198 &.icon-like {
199 background-image: url('../../../assets/images/video/like-grey.svg');
200 }
201
202 &.icon-dislike {
203 background-image: url('../../../assets/images/video/dislike-grey.svg');
204 }
205
206 &.icon-support {
207 background-image: url('../../../assets/images/video/heart.svg');
208 }
209
210 &.icon-share {
211 background-image: url('../../../assets/images/video/share.svg');
212 }
213
214 &.icon-more {
215 background-image: url('../../../assets/images/video/more.svg');
216 top: -1px;
217 }
218 }
219
220 .icon-text {
221 margin-left: 3px;
222 }
223
224 &.action-button-like.activated {
225 background-color: #39CC0B;
226
227 .icon-like {
228 background-image: url('../../../assets/images/video/like-white.svg');
229 }
230 }
231
232 &.action-button-dislike.activated {
233 background-color: #FF0000;
234
235 .icon-dislike {
236 background-image: url('../../../assets/images/video/dislike-white.svg');
237 }
238 }
239 }
240
241 .action-more {
242 display: inline-block;
243
244 .dropdown-menu .dropdown-item {
245 padding: 6px 24px;
246
247 .icon {
248 @include icon(24px);
249
250 margin-right: 10px;
251 position: relative;
252 top: -1px;
253
254 &.icon-download {
255 background-image: url('../../../assets/images/video/download-black.svg');
256 }
257
258 &.icon-edit {
259 background-image: url('../../../assets/images/global/edit-black.svg');
260 }
261
262 &.icon-alert {
263 background-image: url('../../../assets/images/video/alert.svg');
264 }
265
266 &.icon-blacklist {
267 background-image: url('../../../assets/images/video/blacklist.svg');
268 }
269
270 &.icon-unblacklist {
271 background-image: url('../../../assets/images/global/undo.svg');
272 }
273
274 &.icon-delete {
275 background-image: url('../../../assets/images/global/delete-black.svg');
276 }
277 }
278 }
279 }
280 }
281
282 .video-info-likes-dislikes-bar {
283 height: 5px;
284 width: 186px;
285 background-color: #E5E5E5;
286 margin-top: 25px;
287
288 .likes-bar {
289 height: 100%;
290 background-color: #39CC0B;
291 }
292 }
293 }
294 }
295
296 .video-info-description {
297 margin: 20px 0;
298 font-size: 15px;
299
300 .video-info-description-html {
301 @include peertube-word-wrap;
302 }
303
304 .glyphicon, .description-loading {
305 margin-left: 3px;
306 }
307
308 .description-loading {
309 display: inline-block;
310 }
311
312 .video-info-description-more {
313 cursor: pointer;
314 font-weight: $font-semibold;
315 color: #585858;
316 font-size: 14px;
317
318 .glyphicon {
319 position: relative;
320 top: 2px;
321 }
322 }
323 }
324
325 .video-attributes .video-attribute {
326 font-size: 13px;
327 display: block;
328 margin-bottom: 12px;
329
330 .video-attribute-label {
331 min-width: 91px;
332 padding-right: 5px;
333 display: inline-block;
334 color: #585858;
335 font-weight: $font-bold;
336 }
337
338 a.video-attribute-value {
339 @include disable-default-a-behaviour;
340 color: #000;
341
342 &:hover {
343 opacity: 0.9;
344 }
345 }
346
347 &.video-attribute-tags {
348 .video-attribute-value:not(:nth-child(2)) {
349 &::before {
350 content: ', '
351 }
352 }
353 }
354 }
355 }
356
357 .other-videos {
358 padding-left: 1em;
359
360 .title-page {
361 margin-top: 0;
362 }
363
364 /deep/ .video-miniature {
365 display: flex;
366 height: 100%;
367 margin-bottom: 20px;
368 flex-wrap: wrap;
369
370 .video-miniature-information {
371 flex-grow: 1;
372 margin-left: 10px;
373 }
374 }
375 }
376 }
377
378 // If the view is not expanded, take into account the menu
379 .privacy-concerns {
380 width: calc(100% - #{$menu-width});
381 }
382
383 :host-context(.expanded) {
384 .privacy-concerns {
385 width: 100%;
386 }
387 }
388
389 .privacy-concerns {
390 position: fixed;
391 bottom: 0;
392
393 padding: 5px 15px;
394
395 display: flex;
396 align-items: center;
397 justify-content: flex-start;
398 background-color: rgba(0, 0, 0, 0.9);
399 color: #fff;
400
401 .privacy-concerns-text {
402 margin: 0 5px;
403 }
404
405 a {
406 @include disable-default-a-behaviour;
407
408 color: $orange-color;
409 transition: color 0.3s;
410
411 &:hover {
412 color: #fff;
413 }
414 }
415
416 .privacy-concerns-okay {
417 background-color: $orange-color;
418 padding: 5px 8px 5px 7px;
419 margin-left: auto;
420 border-radius: 3px;
421 cursor: pointer;
422 transition: background-color 0.3s;
423 font-weight: $font-semibold;
424
425 &:hover {
426 background-color: #000;
427 }
428 }
429 }
430
431
432 @media screen and (max-width: 1600px) {
433 .video-bottom {
434 .video-info {
435 margin-right: 20px;
436
437 .video-info-first-row {
438 flex-direction: column;
439 margin-bottom: 30px;
440
441 .video-actions-rates {
442 margin-top: 20px;
443 align-items: start;
444
445 .video-info-likes-dislikes-bar {
446 margin-top: 10px;
447 }
448 }
449 }
450
451 .video-info-date-views {
452 flex-direction: column;
453 margin-bottom: 30px;
454
455 .video-info-likes-dislikes-bar {
456 margin-top: 0;
457 }
458 }
459
460 .video-attributes .video-attribute {
461 margin-bottom: 5px;
462 }
463 }
464 }
465 }
466
467 @media screen and (max-width: 1300px) {
468 .video-bottom {
469 flex-direction: column;
470 }
471
472 .other-videos {
473 padding-left: 0 !important;
474 }
475
476 .privacy-concerns {
477 font-size: 12px;
478 padding: 2px 5px;
479
480 .privacy-concerns-text {
481 margin: 0;
482 }
483 }
484 }
485
486 @media screen and (max-width: 600px) {
487 .video-bottom {
488 margin: 20px 0 0 0;
489
490 .video-info {
491
492 .video-info-first-row {
493
494 .video-info-name {
495 font-size: 20px;
496 height: auto;
497 }
498 }
499 }
500 }
501
502 .other-videos {
503 /deep/ .video-miniature {
504 flex-direction: column;
505
506 .video-miniature-information {
507 margin-left: 0 !important;
508 }
509 }
510 }
511
512 .privacy-concerns {
513 width: 100%;
514
515 strong {
516 display: none;
517 }
518 }
519 }
520
521 @media screen and (max-width: 450px) {
522 .video-bottom .action-button .icon-text {
523 display: none !important;
524 }
525 }