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