See commit 2a97572 fix #397 (regression)
[oweals/peertube.git] / client / src / app / videos / +video-watch / video-watch.component.scss
1 @import '_variables';
2 @import '_mixins';
3
4 #video-element-wrapper {
5   background-color: #000;
6   display: flex;
7   justify-content: center;
8
9   /deep/ .video-js {
10     width: 888px;
11     height: 500px;
12
13     @media screen and (max-width: 600px) {
14       height: auto;
15       max-height: calc(100vh - #{$header-height});
16     }
17
18     // VideoJS create an inner video player
19     video {
20       outline: 0;
21       position: relative !important;
22     }
23   }
24 }
25
26 #video-not-found {
27   height: 300px;
28   line-height: 300px;
29   margin-top: 50px;
30   text-align: center;
31   font-weight: $font-semibold;
32   font-size: 15px;
33 }
34
35 .video-bottom {
36   margin-top: 40px;
37   display: flex;
38
39   .video-info {
40     flex-grow: 1;
41     margin-right: 40px;
42     // Set min width for flex item
43     min-width: 1px;
44
45     .video-info-first-row {
46       display: flex;
47
48       & > div:first-child {
49         flex-grow: 1;
50       }
51
52       .video-info-name {
53         margin-right: 30px;
54         min-height: 40px; // Align with the action buttons
55         font-size: 27px;
56         font-weight: $font-semibold;
57         flex-grow: 1;
58       }
59
60       .video-info-date-views {
61         font-size: 16px;
62         margin-bottom: 10px;
63         flex-grow: 1;
64       }
65
66       .video-info-channel {
67         font-weight: $font-semibold;
68         font-size: 15px;
69       }
70
71       .video-info-by {
72         display: flex;
73         align-items: center;
74         font-size: 13px;
75
76         a {
77           color: black;
78           display: inline-block;
79         }
80
81         img {
82           @include avatar(18px);
83
84           margin-left: 7px;
85         }
86       }
87
88       my-video-feed {
89         margin-left: 5px;
90         margin-top: 1px;
91       }
92
93       .video-actions-rates {
94         display: flex;
95         flex-direction: column;
96         align-items: flex-end;
97
98         .video-actions {
99           height: 40px; // Align with the title
100           display: flex;
101           align-items: center;
102
103           .action-button:not(:first-child), .action-more {
104             margin-left: 10px;
105           }
106
107           .action-button {
108             @include peertube-button;
109             @include grey-button;
110
111             font-size: 15px;
112             font-weight: $font-semibold;
113             display: inline-block;
114             padding: 0 10px 0 10px;
115             white-space: nowrap;
116
117             .icon {
118               @include icon(21px);
119
120               position: relative;
121               top: -2px;
122
123               &.icon-like {
124                 background-image: url('../../../assets/images/video/like-grey.svg');
125               }
126
127               &.icon-dislike {
128                 background-image: url('../../../assets/images/video/dislike-grey.svg');
129               }
130
131               &.icon-support {
132                 background-image: url('../../../assets/images/video/heart.svg');
133               }
134
135               &.icon-share {
136                 background-image: url('../../../assets/images/video/share.svg');
137               }
138
139               &.icon-more {
140                 background-image: url('../../../assets/images/video/more.svg');
141                 top: -1px;
142               }
143             }
144
145             &.action-button-share {
146               width: 82px;
147             }
148
149             &.action-button-like.activated {
150               background-color: #39CC0B;
151
152               .icon-like {
153                 background-image: url('../../../assets/images/video/like-white.svg');
154               }
155             }
156
157             &.action-button-dislike.activated {
158               background-color: #FF0000;
159
160               .icon-dislike {
161                 background-image: url('../../../assets/images/video/dislike-white.svg');
162               }
163             }
164           }
165
166           .action-more {
167             display: inline-block;
168
169             .dropdown-menu .dropdown-item {
170               padding: 6px 24px;
171
172               .icon {
173                 @include icon(24px);
174
175                 margin-right: 10px;
176                 position: relative;
177                 top: -1px;
178
179                 &.icon-download {
180                   background-image: url('../../../assets/images/video/download-black.svg');
181                 }
182
183                 &.icon-edit {
184                   background-image: url('../../../assets/images/global/edit-black.svg');
185                 }
186
187                 &.icon-alert {
188                   background-image: url('../../../assets/images/video/alert.svg');
189                 }
190
191                 &.icon-blacklist {
192                   background-image: url('../../../assets/images/video/blacklist.svg');
193                 }
194               }
195             }
196           }
197         }
198
199         .video-info-likes-dislikes-bar {
200           height: 5px;
201           width: 186px;
202           background-color: #E5E5E5;
203           margin-top: 25px;
204
205           .likes-bar {
206             height: 100%;
207             background-color: #39CC0B;
208           }
209         }
210       }
211     }
212
213     .video-info-description {
214       margin: 20px 0;
215       font-size: 15px;
216
217       .video-info-description-html {
218         word-break: normal;
219         word-wrap: normal;
220         text-align: justify;
221       }
222
223       .description-loading {
224         display: inline-block;
225       }
226
227       .video-info-description-more {
228         cursor: pointer;
229         font-weight: $font-semibold;
230         color: #585858;
231         font-size: 14px;
232
233         .glyphicon {
234           position: relative;
235           top: 2px;
236         }
237       }
238     }
239
240     .video-attributes .video-attribute {
241       font-size: 13px;
242       display: block;
243       margin-bottom: 12px;
244
245       .video-attribute-label {
246         width: 86px;
247         display: inline-block;
248         color: #585858;
249         font-weight: $font-bold;
250       }
251     }
252   }
253
254   .other-videos {
255     padding-left: 1em;
256         
257     .title-page {
258       margin-top: 0;
259     }
260
261     /deep/ .video-miniature {
262       display: flex;
263       height: 100%;
264       margin-bottom: 20px;
265
266       .video-miniature-information {
267         margin-left: 10px;
268       }
269     }
270   }
271 }
272
273 // If the view is not expanded, take into account the menu
274 .privacy-concerns {
275   width: calc(100% - #{$menu-width});
276 }
277
278 :host-context(.expanded) {
279   .privacy-concerns {
280     width: 100%;
281   }
282 }
283
284 .privacy-concerns {
285   position: fixed;
286   bottom: 0;
287
288   padding: 5px 15px;
289
290   display: flex;
291   align-items: center;
292   justify-content: flex-start;
293   background-color: rgba(0, 0, 0, 0.9);
294   color: #fff;
295
296   .privacy-concerns-text {
297     margin: 0 5px;
298   }
299
300   a {
301     @include disable-default-a-behaviour;
302
303     color: $orange-color;
304     transition: color 0.3s;
305
306     &:hover {
307       color: #fff;
308     }
309   }
310
311   .privacy-concerns-okay {
312     background-color: $orange-color;
313     padding: 5px 8px 5px 7px;
314     margin-left: auto;
315     border-radius: 3px;
316     cursor: pointer;
317     transition: background-color 0.3s;
318     font-weight: $font-semibold;
319
320     &:hover {
321       background-color: #000;
322     }
323   }
324 }
325
326
327 @media screen and (max-width: 1600px) {
328   .video-bottom {
329     .video-info {
330       margin-right: 20px;
331
332       .video-info-first-row {
333         flex-direction: column;
334         margin-bottom: 30px;
335
336         .video-actions-rates {
337           margin-top: 20px;
338           align-items: left;
339
340           .video-info-likes-dislikes-bar {
341             margin-top: 10px;
342           }
343         }
344       }
345
346       .video-info-date-views {
347         flex-direction: column;
348         margin-bottom: 30px;
349
350         .video-info-likes-dislikes-bar {
351           margin-top: 0;
352         }
353       }
354
355       .video-attributes .video-attribute {
356         margin-bottom: 5px;
357       }
358     }
359   }
360 }
361
362 @media screen and (max-width: 1300px) {
363   .other-videos {
364     display: none;
365   }
366
367   .privacy-concerns {
368     font-size: 12px;
369     padding: 2px 5px;
370
371     .privacy-concerns-text {
372       margin: 0;
373     }
374   }
375 }
376
377 @media screen and (max-width: 600px) {
378   .video-bottom {
379     margin: 20px 0 0 0;
380
381     .video-info {
382
383       .video-info-first-row {
384
385         .video-info-name {
386           font-size: 20px;
387           height: auto;
388         }
389       }
390     }
391   }
392
393   .privacy-concerns {
394     width: 100%;
395
396     strong {
397       display: none;
398     }
399   }
400 }
401
402 @media screen and (max-width: 450px) {
403   .video-bottom  .action-button .icon-text {
404     display: none !important;
405   }
406 }