]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+videos/+video-watch/video-watch.component.scss
Translated using Weblate (Spanish)
[github/Chocobozzz/PeerTube.git] / client / src / app / +videos / +video-watch / video-watch.component.scss
CommitLineData
63c4db6d
C
1@import '_variables';
2@import '_mixins';
19f22055 3@import '_bootstrap-variables';
e2f01c47 4@import '_miniature';
19f22055 5
9a18a625 6$player-factor: 1.7; // 16/9
dd4f25ee 7$video-info-margin-left: 44px;
63c4db6d 8
9a18a625
C
9@function getPlayerHeight($width){
10 @return calc(#{$width} / #{$player-factor})
11}
12
13@function getPlayerWidth($height){
14 @return calc(#{$height} * #{$player-factor})
15}
16
17@mixin playlist-below-player {
72675ebe
C
18 width: 100% !important;
19 height: auto !important;
20 max-height: 300px !important;
67c68723 21 max-width: initial;
72675ebe 22 border-bottom: 1px solid $separator-border-color !important;
9a18a625
C
23}
24
25.root {
9a18a625
C
26 &.theater-enabled #video-wrapper {
27 flex-direction: column;
28 justify-content: center;
29
30 #videojs-wrapper {
31 width: 100%;
32 }
33
03652b31 34 ::ng-deep .video-js {
9a18a625
C
35 $height: calc(100vh - #{$header-height} - #{$theater-bottom-space});
36
37 height: $height;
38 width: 100%;
466e3f20 39 max-width: initial;
9a18a625
C
40 }
41
03652b31 42 my-video-watch-playlist ::ng-deep .playlist {
9a18a625
C
43 @include playlist-below-player;
44 }
45 }
191764f3
C
46}
47
5baee5fc 48.blocked-label {
191764f3
C
49 font-weight: $font-semibold;
50}
51
e2f01c47 52#video-wrapper {
be6a4802
C
53 background-color: #000;
54 display: flex;
55 justify-content: center;
6d88de72 56
3143ae17
C
57 #videojs-wrapper {
58 display: flex;
59 justify-content: center;
60 flex-grow: 1;
61 }
62
6d88de72
C
63 .remote-server-down {
64 color: #fff;
65 display: flex;
66 flex-direction: column;
67 align-items: center;
68 text-align: center;
69 justify-content: center;
70 background-color: #141313;
71 width: 100%;
6d88de72 72 font-size: 24px;
3b492bff 73 height: 500px;
6d88de72
C
74
75 @media screen and (max-width: 1000px) {
76 font-size: 20px;
77 }
7b272fd7 78
acbffe9c 79 @media screen and (max-width: 600px) {
6d88de72 80 font-size: 16px;
b9828abe 81 }
6d88de72
C
82 }
83
03652b31 84 ::ng-deep .video-js {
58f3c3f1
C
85 width: 100%;
86 max-width: getPlayerWidth(66vh);
bbe697ca 87 height: 66vh;
3b492bff 88
7b272fd7
C
89 // VideoJS create an inner video player
90 video {
91 outline: 0;
b9828abe 92 position: relative !important;
7b272fd7 93 }
be6a4802 94 }
054a103b 95
3b492bff
C
96 @media screen and (max-width: 600px) {
97 .remote-server-down,
03652b31 98 ::ng-deep .video-js {
3b492bff 99 width: 100vw;
9a18a625 100 height: getPlayerHeight(100vw)
3b492bff 101 }
054a103b 102 }
e56b20f5
C
103}
104
bbe0f064 105.alert {
2186386c 106 text-align: center;
2b3f1919 107 border-radius: 0;
2186386c
C
108}
109
7fc441cc
RK
110.flex-direction-column {
111 flex-direction: column;
112}
113
9c89a45c
C
114#video-not-found {
115 height: 300px;
116 line-height: 300px;
117 margin-top: 50px;
118 text-align: center;
fb4fd623
C
119 font-weight: $font-semibold;
120 font-size: 15px;
9c89a45c
C
121}
122
b1fa3eba 123.video-bottom {
9a18a625 124 display: flex;
46788f21 125 margin-top: 1.5rem;
d1992b93 126
b1fa3eba
C
127 .video-info {
128 flex-grow: 1;
20acba1c
C
129 // Set min width for flex item
130 min-width: 1px;
e452d2e2 131 max-width: 100%;
3eeeb87f 132
1f788f20 133 .video-info-first-row {
b1fa3eba 134 display: flex;
1f788f20 135
196b7790 136 & > div:first-child {
1f788f20
C
137 flex-grow: 1;
138 }
d1992b93 139
b1fa3eba 140 .video-info-name {
b2731bff 141 margin-right: 30px;
196b7790 142 min-height: 40px; // Align with the action buttons
b1fa3eba
C
143 font-size: 27px;
144 font-weight: $font-semibold;
145 flex-grow: 1;
146 }
09223546 147
7fc441cc 148 .video-info-first-row-bottom {
5def76eb
RK
149 display: flex;
150 flex-wrap: wrap;
7fc441cc
RK
151 align-items: center;
152 width: 100%;
153 }
154
1f788f20 155 .video-info-date-views {
a0dedc02 156 align-self: start;
8ff3f883
C
157 margin-bottom: 10px;
158 margin-right: 10px;
a0dedc02 159 font-size: 1em;
1f788f20
C
160 }
161
162 .video-info-channel {
163 font-weight: $font-semibold;
164 font-size: 15px;
95166f9a
C
165
166 a {
167 @include disable-default-a-behaviour;
168
e66883b3 169 color: pvar(--mainForegroundColor);
95166f9a
C
170
171 &:hover {
172 opacity: 0.8;
173 }
52d9f792
C
174
175 img {
176 @include avatar(18px);
177
94dfca3e 178 margin: -2px 5px 0 0;
52d9f792 179 }
95166f9a 180 }
22a16e36 181
dd4f25ee
RK
182 .video-info-channel-left {
183 flex-grow: 1;
1f788f20 184
dd4f25ee
RK
185 .video-info-channel-left-links {
186 display: flex;
187 flex-direction: column;
188 position: relative;
9d45db29 189 line-height: 1.37;
b7f5b524 190
dd4f25ee
RK
191 a:nth-of-type(2) {
192 font-weight: 500;
193 font-size: 90%;
194 }
b40a2193
K
195
196 a.single-link {
197 margin-top: 7px;
198 }
b7f5b524
C
199 }
200 }
6e33bf28 201
dd4f25ee
RK
202 my-subscribe-button {
203 margin-left: 5px;
6e33bf28 204 }
1f788f20 205 }
b2731bff 206
c199c427 207 my-feed {
244e76a5
RK
208 margin-left: 5px;
209 margin-top: 1px;
210 }
211
1f788f20 212 .video-actions-rates {
7fc441cc 213 margin: 0 0 10px 0;
2303a803 214 align-items: start;
7fc441cc 215 width: max-content;
5def76eb 216 margin-left: auto;
09223546 217
1f788f20
C
218 .video-actions {
219 height: 40px; // Align with the title
1f788f20
C
220 display: flex;
221 align-items: center;
09223546 222
3a0fb65c
C
223 .action-button:not(:first-child),
224 .action-dropdown,
225 my-video-actions-dropdown {
0240da5c 226 margin-left: 5px;
1f788f20 227 }
0727cab0 228
0240da5c 229 ::ng-deep.action-button {
1f788f20 230 @include peertube-button;
457bb213 231 @include button-with-icon(21px, 0, -1px);
e66883b3 232 @include apply-svg-color(pvar(--actionButtonColor));
7b272fd7 233
0240da5c 234 font-size: 100%;
1f788f20
C
235 font-weight: $font-semibold;
236 display: inline-block;
237 padding: 0 10px 0 10px;
07fa4c97 238 white-space: nowrap;
0240da5c 239 background-color: transparent !important;
e66883b3 240 color: pvar(--actionButtonColor);
0240da5c 241 text-transform: uppercase;
7b272fd7 242
63347a0f
C
243 &::after {
244 display: none;
245 }
246
0240da5c
RK
247 &:hover {
248 opacity: 0.9;
249 }
250
251 &.action-button-like,
252 &.action-button-dislike {
253 filter: brightness(120%);
254
0d3a9be9 255 .count {
c41c0e28 256 margin: 0 5px;
0d3a9be9
C
257 }
258 }
259
1f788f20 260 &.action-button-like.activated {
0d3a9be9 261 .count {
e66883b3 262 color: pvar(--activatedActionButtonColor);
0d3a9be9
C
263 }
264
457bb213 265 my-global-icon {
e66883b3 266 @include apply-svg-color(pvar(--activatedActionButtonColor));
1f788f20 267 }
7b272fd7 268 }
6e33bf28 269
1f788f20 270 &.action-button-dislike.activated {
0d3a9be9 271 .count {
e66883b3 272 color: pvar(--activatedActionButtonColor);
0d3a9be9
C
273 }
274
457bb213 275 my-global-icon {
e66883b3 276 @include apply-svg-color(pvar(--activatedActionButtonColor));
1f788f20 277 }
7b272fd7 278 }
457bb213 279
2fcc2294 280 &.action-button-support {
e66883b3 281 color: pvar(--supportButtonColor);
2fcc2294 282
0240da5c 283 my-global-icon {
e66883b3 284 @include apply-svg-color(pvar(--supportButtonColor));
2fcc2294 285 }
0240da5c 286 }
2fcc2294 287
0240da5c 288 &.action-button-support {
2fcc2294 289 my-global-icon {
0240da5c 290 ::ng-deep path:first-child {
e66883b3 291 fill: pvar(--supportButtonHeartColor) !important;
0240da5c 292 }
2fcc2294
C
293 }
294 }
295
f0a39880
C
296 &.action-button-save {
297 my-global-icon {
298 top: 0 !important;
299 right: -1px;
300 }
301 }
302
457bb213
C
303 .icon-text {
304 margin-left: 3px;
305 }
b1fa3eba 306 }
4e1b0973 307 }
6a9e1d42 308
223b24e6 309 .video-info-likes-dislikes-bar-outer-container {
2de7f588
RK
310 position: relative;
311 }
312
223b24e6 313 .video-info-likes-dislikes-bar-inner-container {
2de7f588 314 position: absolute;
223b24e6 315 height: 20px;
2de7f588
RK
316 }
317
1f788f20 318 .video-info-likes-dislikes-bar {
2d9fea16
RK
319 $likes-bar-height: 2px;
320 height: $likes-bar-height;
321 margin-top: -$likes-bar-height;
0240da5c
RK
322 width: 120px;
323 background-color: #ccc;
2d9fea16
RK
324 position: relative;
325 top: 10px;
6a9e1d42 326
1f788f20
C
327 .likes-bar {
328 height: 100%;
0240da5c
RK
329 background-color: #909090;
330
331 &.liked {
e66883b3 332 background-color: pvar(--activatedActionButtonColor);
0240da5c 333 }
1f788f20 334 }
6a9e1d42
C
335 }
336 }
d1992b93
C
337 }
338
b1fa3eba
C
339 .video-info-description {
340 margin: 20px 0;
dd4f25ee 341 margin-left: $video-info-margin-left;
b1fa3eba 342 font-size: 15px;
d1992b93 343
54a932e8 344 .video-info-description-html {
7a14004b 345 @include peertube-word-wrap;
b29bf61d
RK
346
347 /deep/ a {
348 text-decoration: none;
349 }
54a932e8
C
350 }
351
9e9afa45
C
352 .glyphicon, .description-loading {
353 margin-left: 3px;
354 }
355
80958c78
C
356 .description-loading {
357 display: inline-block;
358 }
359
b1fa3eba 360 .video-info-description-more {
2de96f4d 361 cursor: pointer;
b1fa3eba 362 font-weight: $font-semibold;
e66883b3 363 color: pvar(--greyForegroundColor);
b1fa3eba 364 font-size: 14px;
2de96f4d
C
365
366 .glyphicon {
367 position: relative;
368 top: 2px;
369 }
370 }
09223546
C
371 }
372
dd4f25ee
RK
373 .video-attributes {
374 margin-left: $video-info-margin-left;
375 }
376
1f788f20
C
377 .video-attributes .video-attribute {
378 font-size: 13px;
379 display: block;
380 margin-bottom: 12px;
381
382 .video-attribute-label {
adb115f5 383 min-width: 142px;
c6c357ac 384 padding-right: 5px;
1f788f20 385 display: inline-block;
e66883b3 386 color: pvar(--greyForegroundColor);
1f788f20 387 font-weight: $font-bold;
3eeeb87f 388 }
4278710d
C
389
390 a.video-attribute-value {
391 @include disable-default-a-behaviour;
e66883b3 392 color: pvar(--mainForegroundColor);
4278710d
C
393
394 &:hover {
395 opacity: 0.9;
396 }
397 }
398
399 &.video-attribute-tags {
400 .video-attribute-value:not(:nth-child(2)) {
401 &::before {
402 content: ', '
403 }
404 }
405 }
3eeeb87f 406 }
41c3dfac
C
407 }
408
03652b31 409 ::ng-deep .other-videos {
1c66c35c 410 padding-left: 15px;
10475dea 411 min-width: $video-miniature-width;
f7ecffa4 412
5def76eb
RK
413 @media screen and (min-width: 1800px - (3* $video-miniature-width)) {
414 width: min-content;
415 }
416
41c3dfac 417 .title-page {
dd4f25ee 418 margin: 0 !important;
41c3dfac
C
419 }
420
8ff3f883 421 .video-miniature {
41c3dfac 422 display: flex;
94dfca3e 423 width: max-content;
41c3dfac 424 height: 100%;
46788f21 425 padding-bottom: 20px;
9e01e510 426 flex-wrap: wrap;
c8277d71 427 }
a01f107b 428
c8277d71
RK
429 .video-bottom {
430 @media screen and (max-width: 1800px - (3* $video-miniature-width)) {
431 margin-left: 1rem;
41c3dfac 432 }
5dfb7c1d
RK
433 @media screen and (max-width: 500px) {
434 margin-left: 0;
435 margin-top: .5rem;
436 }
41c3dfac 437 }
a01f107b 438 }
d1992b93 439}
41c3dfac 440
1d6587aa
C
441my-video-comments {
442 display: inline-block;
66467298 443 width: 100%;
1d6587aa
C
444 margin-bottom: 20px;
445}
446
2b3b76ab
C
447// If the view is not expanded, take into account the menu
448.privacy-concerns {
d3217560 449 z-index: z(dropdown) + 1;
2b3b76ab
C
450 width: calc(100% - #{$menu-width});
451}
452
8ff3f883
C
453@media screen and (max-width: $small-view) {
454 .privacy-concerns {
28e0e40d 455 margin-left: $menu-width - 15px; // Menu is absolute
8ff3f883
C
456 }
457}
458
2b3b76ab
C
459:host-context(.expanded) {
460 .privacy-concerns {
461 width: 100%;
28e0e40d 462 margin-left: -15px;
2b3b76ab
C
463 }
464}
465
466.privacy-concerns {
467 position: fixed;
468 bottom: 0;
555fdc8c 469 z-index: z(privacymsg);
2b3b76ab
C
470
471 padding: 5px 15px;
472
473 display: flex;
28e0e40d 474 flex-wrap: nowrap;
2b3b76ab 475 align-items: center;
a7d3671d 476 justify-content: space-between;
2b3b76ab
C
477 background-color: rgba(0, 0, 0, 0.9);
478 color: #fff;
479
480 .privacy-concerns-text {
481 margin: 0 5px;
482 }
483
484 a {
485 @include disable-default-a-behaviour;
486
e66883b3 487 color: pvar(--mainColor);
2b3b76ab
C
488 transition: color 0.3s;
489
490 &:hover {
491 color: #fff;
492 }
493 }
494
d3217560 495 .privacy-concerns-button {
2b3b76ab
C
496 padding: 5px 8px 5px 7px;
497 margin-left: auto;
498 border-radius: 3px;
d3217560 499 white-space: nowrap;
2b3b76ab
C
500 cursor: pointer;
501 transition: background-color 0.3s;
502 font-weight: $font-semibold;
503
504 &:hover {
505 background-color: #000;
506 }
507 }
d3217560
RK
508
509 .privacy-concerns-okay {
e66883b3 510 background-color: pvar(--mainColor);
d3217560
RK
511 margin-left: 10px;
512 }
2b3b76ab
C
513}
514
07fa4c97 515@media screen and (max-width: 1600px) {
8ff3f883
C
516 .video-bottom .video-info .video-attributes .video-attribute {
517 margin-bottom: 5px;
b9828abe
C
518 }
519}
b2731bff 520
23f4c3d4 521@media screen and (max-width: 1300px) {
2b3b76ab
C
522 .privacy-concerns {
523 font-size: 12px;
524 padding: 2px 5px;
525
526 .privacy-concerns-text {
527 margin: 0;
528 }
529 }
07fa4c97
C
530}
531
9a18a625 532@media screen and (max-width: 1100px) {
3143ae17
C
533 #video-wrapper {
534 flex-direction: column;
535 justify-content: center;
536
03652b31 537 my-video-watch-playlist ::ng-deep .playlist {
3143ae17
C
538 @include playlist-below-player;
539 }
540 }
541
9a18a625
C
542 .video-bottom {
543 flex-direction: column;
544
03652b31 545 ::ng-deep .other-videos {
9a18a625
C
546 padding-left: 0 !important;
547
03652b31 548 ::ng-deep .video-miniature {
9a18a625
C
549 flex-direction: row;
550 width: auto;
551 }
552 }
553 }
554}
555
1f788f20 556@media screen and (max-width: 600px) {
b2731bff 557 .video-bottom {
c2a89b70 558 margin-top: 20px !important;
46788f21 559 padding-bottom: 20px !important;
1f788f20
C
560
561 .video-info {
93ea9c47 562 padding: 0;
1f788f20
C
563
564 .video-info-first-row {
565
566 .video-info-name {
567 font-size: 20px;
568 height: auto;
569 }
570 }
571 }
b2731bff 572 }
2b3b76ab 573
03652b31 574 ::ng-deep .other-videos .video-miniature {
9a18a625 575 flex-direction: column;
a8981e0b
C
576 }
577
2b3b76ab
C
578 .privacy-concerns {
579 width: 100%;
580
581 strong {
582 display: none;
583 }
584 }
b2731bff 585}
07fa4c97
C
586
587@media screen and (max-width: 450px) {
93ea9c47
C
588 .video-bottom {
589 .action-button .icon-text {
590 display: none !important;
591 }
592
593 .video-info .video-info-first-row {
594 .video-info-name {
595 font-size: 18px;
596 }
597
598 .video-info-date-views {
599 font-size: 14px;
600 }
601
602 .video-actions-rates {
603 margin-top: 10px;
604 }
605 }
606
607 .video-info-description {
608 font-size: 14px !important;
609 }
07fa4c97
C
610 }
611}