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