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