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