]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/sass/application.scss
Add support button in channel page
[github/Chocobozzz/PeerTube.git] / client / src / sass / application.scss
CommitLineData
161b061d 1$icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/';
63c4db6d 2
9b8a7aa8 3@import '_bootstrap-variables';
dcbc29d5
C
4@import '_variables';
5@import '_mixins';
6
fa40cbc3 7@import '_fonts';
63c4db6d 8
d592e0a9 9@import '~video.js/dist/video-js.css';
c893d451 10
583eb04b 11$assets-path: '../../assets/';
b335ccec 12@import './player/index';
e31f6ad6 13
2f4c784a 14@import './bootstrap';
bbe0f064 15@import './primeng-custom';
02c01341 16@import './ng-select.scss';
bbe0f064 17
100d9ce2
C
18@import './classes.scss';
19
383bfc83
C
20[hidden] {
21 display: none !important;
22}
a64668c0 23
b33f657c 24body {
dcbc29d5 25 /*** theme ***/
4f926722 26 // now beware sass requires interpolation
dcbc29d5 27 // for css custom properties #{$var}
680b5496
RK
28 --mainColor: #{$main-color};
29 --mainColorLighter: #{$main-color-lighter};
a6d5ff76 30 --mainColorLightest: #{$main-color-lightest};
680b5496 31 --mainHoverColor: #{$main-hover-color};
dcbc29d5
C
32 --mainBackgroundColor: #{$bg-color};
33 --mainForegroundColor: #{$fg-color};
680b5496 34 --secondaryColor: #{$secondary-color};
2fcc2294 35
c123027f 36 --greyForegroundColor: #{$grey-foreground-color};
441e453a 37 --greyBackgroundColor: #{$grey-background-color};
c123027f 38
1d9d9cfd
RK
39 --menuBackgroundColor: #{$menu-background};
40 --menuForegroundColor: #{$menu-color};
60c35932 41
dcbc29d5 42 --submenuColor: #{$sub-menu-color};
60c35932 43 --channelBackgroundColor: #{$channel-background-color};
2fcc2294 44
3bf07dd8 45 --inputForegroundColor: #{$input-foreground-color};
14aa8556 46 --inputBackgroundColor: #{$input-background-color};
dcbc29d5
C
47 --inputPlaceholderColor: #{$input-placeholder-color};
48
3bf07dd8 49 --textareaForegroundColor: #{$textarea-foreground-color};
b15fe00f 50 --textareaBackgroundColor: #{$textarea-background-color};
f33dc6ab 51 --markdownTextareaBackgroundColor: #{$markdown-textarea-background-color};
b15fe00f 52
0240da5c
RK
53 --actionButtonColor: #{$grey-foreground-color};
54 --supportButtonBackgroundColor: #{transparent};
e66883b3 55 --supportButtonColor: #{pvar(--actionButtonColor)};
0240da5c 56 --supportButtonHeartColor: #{$support-button-heart};
2fcc2294 57
5f57df54
C
58 --activatedActionButtonColor: #{$activated-action-button-color};
59
e752c75e 60 --expanded-horizontal-margin-content: #{$expanded-horizontal-margins};
10846ef6 61
8a8e02a4 62 font-family: $main-fonts;
b33f657c 63 font-weight: $font-regular;
e66883b3
RK
64 color: pvar(--mainForegroundColor);
65 background-color: pvar(--mainBackgroundColor);
b34a444e 66 font-size: 14px;
8110705d 67 // On desktop browsers, make sure vertical scroll bar is always visible
68 // Allow to disable the scrollbar instead of hide it when the content fit the body
69 // And not move the content and header horizontally sticked to right when the content is updating
70 overflow-y: scroll;
b33f657c
C
71}
72
52cc0d54 73::selection {
e66883b3
RK
74 color: pvar(--mainBackgroundColor);
75 background-color: pvar(--mainHoverColor);
52cc0d54
RK
76}
77
2ca72354 78noscript,
73e09f27 79#incompatible-browser {
2ca72354
CE
80 display: block;
81 font-size: 1.2rem;
82 max-width: 600px;
83 margin: 1rem auto;
73e09f27
C
84}
85
07fa4c97
C
86strong {
87 font-weight: $font-semibold;
88}
89
383bfc83
C
90input.readonly {
91 /* Force blank on readonly inputs */
e66883b3 92 background-color: pvar(--inputBackgroundColor) !important;
0ac5edd9 93}
94
63347a0f
C
95input, textarea {
96 outline: none;
84065945 97 color: pvar(--inputForegroundColor);
63347a0f
C
98}
99
adcf9212
CC
100button {
101 background: unset;
102 @include disable-outline;
103}
104
d235f6b0
C
105label {
106 font-weight: $font-bold;
107 font-size: 15px;
09223546
C
108}
109
fd9c3c8d 110code {
111 background-color: pvar(--greyBackgroundColor);
a742b4b0 112 color: pvar(--greyForegroundColor);
fd9c3c8d 113 border-radius: 3px;
114 padding: .2em .4em;
115 margin: auto .4em;
116 font-size: 75%;
117 display: inline-block;
118 vertical-align: middle;
119}
120
a2b817d3
C
121.form-error {
122 display: block;
41a676db 123 color: $red;
a2b817d3
C
124 margin-top: 5px;
125}
126
f8b530e0
RK
127.input-error
128my-input-toggle-hidden ::ng-deep input {
41a676db 129 border-color: $red !important;
a2b817d3
C
130}
131
2d9fea16
RK
132.fullWidth {
133 width: 100%;
134 margin-left: auto;
135 margin-right: auto;
136 max-width: initial;
137}
138
383bfc83
C
139.glyphicon-black {
140 color: black;
141}
142
c4741804 143.row {
947d0102 144 margin: 0 !important;
c4741804
RK
145}
146
383bfc83 147.main-col {
c30745f3 148 margin-left: $menu-width;
c4741804 149 width: calc(100% - #{$menu-width});
a6d5ff76 150 outline: none;
9bf9d2a5 151
c30745f3 152 .margin-content {
d178b5c1
C
153 margin-left: $not-expanded-horizontal-margins;
154 margin-right: $not-expanded-horizontal-margins;
b34a444e 155 flex-grow: 1;
c30745f3
C
156 }
157
158 .sub-menu {
e66883b3 159 background-color: pvar(--submenuColor);
c30745f3 160 width: 100%;
c30745f3
C
161 display: flex;
162 align-items: center;
d178b5c1 163 padding-left: $not-expanded-horizontal-margins;
22a16e36 164 padding-right: $not-expanded-horizontal-margins;
7034b3c9 165 height: $sub-menu-height;
166 margin-bottom: $sub-menu-margin-bottom;
ae2dd046
C
167
168 &.sub-menu-fixed {
ae2dd046 169 position: fixed;
d6eace77 170 z-index: #{z('sub-menu') - 1};
a949f676 171 }
c30745f3
C
172 }
173
7034b3c9 174 // Use an appropriate offset top when sub-menu fixed
175 .margin-content.offset-content {
176 padding-top: $sub-menu-height + $sub-menu-margin-bottom;
177 }
178
c30745f3
C
179 // Override some properties if the main content is expanded (no menu on the left)
180 &.expanded {
181 margin-left: 0;
c4741804 182 width: 100%;
c30745f3
C
183
184 .margin-content {
10846ef6
C
185 margin-left: var(--expanded-horizontal-margin-content);
186 margin-right: var(--expanded-horizontal-margin-content);
c30745f3
C
187 }
188
189 .sub-menu {
10846ef6
C
190 padding-left: var(--expanded-horizontal-margin-content);
191 padding-right: var(--expanded-horizontal-margin-content);
c30745f3 192 }
602eb142 193 }
b15fe00f
K
194
195 &.lock-scroll .main-row > router-outlet + * {
196 // Lock and hide body scrollbars
197 position: fixed;
198
199 // Lock and hide sub-menu scrollbars
200 .sub-menu {
201 overflow-x: hidden;
202 }
203 }
383bfc83 204}
602eb142 205
59aa1e5e 206.title-page {
ed5bb517 207 opacity: 0.6;
e66883b3 208 color: pvar(--mainForegroundColor);
59aa1e5e
C
209 font-size: 16px;
210 display: inline-block;
211 margin-right: 55px;
212 font-weight: $font-semibold;
213 @include disable-default-a-behaviour;
214
ed5bb517
K
215 border-bottom: 2px solid transparent;
216
217 &.title-page-single {
59aa1e5e
C
218 margin-top: 30px;
219 margin-bottom: 25px;
220 }
cadb46d8 221
d6ed9ccc 222 &.active {
ed5bb517 223 border-bottom-color: pvar(--mainColor);
d6ed9ccc
RK
224 }
225
226 &.title-page-single {
227 font-size: 125%;
228 }
229
cadb46d8 230 &:hover, &:active, &:focus {
e66883b3 231 color: pvar(--mainForegroundColor);
04e0fc48 232 }
1952a538 233
ed5bb517
K
234 &.active, &:hover, &:active, &:focus, &.title-page-single {
235 opacity: 1;
236 outline: 0px hidden !important;
237 }
238
ece3029b 239 @media screen and (max-width: $mobile-view) {
2c3abc4f 240 margin-right: 15px;
1952a538 241 }
cadb46d8 242}
04e0fc48 243
482fa503
RK
244.title-page-about,
245.title-page-settings {
e61151b0 246 white-space: nowrap;
482fa503 247 font-size: 115%;
482fa503
RK
248}
249
cd83ea1b
C
250.admin-sub-header {
251 display: flex;
252 align-items: center;
253 margin-bottom: 30px;
254
08c1efbe 255 .form-sub-title {
cd83ea1b
C
256 flex-grow: 1;
257 }
65b247dd
C
258
259 .admin-sub-nav a {
260 @include disable-default-a-behaviour;
261
262 font-size: 16px;
e66883b3 263 color: pvar(--mainForegroundColor);
65b247dd
C
264 padding: 5px 15px;
265 border-radius: 0.25rem;
ed5bb517
K
266 font-weight: $font-semibold;
267 opacity: 0.6;
65b247dd
C
268
269 &.active {
a742b4b0 270 background-color: pvar(--submenuColor);
ed5bb517
K
271 }
272
273 &.active, &:hover, &:active, &:focus {
274 opacity: 1;
65b247dd
C
275 }
276 }
cd83ea1b
C
277}
278
08c1efbe 279.form-sub-title {
04e0fc48
C
280 font-size: 20px;
281 font-weight: bold;
59aa1e5e
C
282}
283
fb4fd623
C
284// In tables, don't have a hover different background
285table {
286 .action-button-edit, .action-button-delete {
287 &:hover, &:active, &:focus, &[disabled], &.disabled {
457bb213 288 background-color: $grey-background-color !important;
fb4fd623
C
289 }
290 }
291}
292
2d3741d6
C
293.no-results {
294 height: 40vh;
22839330
RK
295 max-height: 500px;
296
2d3741d6 297 display: flex;
82f443de 298 flex-direction: column;
2d3741d6
C
299 align-items: center;
300 justify-content: center;
301 font-size: 16px;
302 font-weight: $font-semibold;
303}
304
eb7c7a51
RK
305.dropdown-item {
306 @include dropdown-with-icon-item;
307
308 my-global-icon {
309 width: 22px;
310 height: 22px;
311 }
312}
313
7034b3c9 314/* offsetTop for scrollToAnchor */
315
45e0d669
RK
316.anchor {
317 position: relative;
7034b3c9 318 top: #{-($header-height + 20px)};
319}
320
321.offset-content { // if sub-menu fixed
322 .anchor {
323 top: #{-($header-height + $sub-menu-height + 20px)};
324 }
45e0d669
RK
325}
326
c29039e7
C
327.form-group-description {
328 @extend .text-muted;
329
330 font-size: 90%;
331 margin-top: 10px;
332}
333
4872e946
C
334ngx-loading-bar {
335 z-index: z(header) + 1 !important;
336}
337
165ee292 338@media screen and (max-width: #{breakpoint(xxl)}) {
2303a803
RK
339 .main-col {
340 &.expanded {
341 .margin-content {
e752c75e 342 --expanded-horizontal-margin-content: #{$expanded-horizontal-margins/2};
2303a803
RK
343 }
344 }
345 }
346}
347
165ee292 348@media screen and (max-width: #{breakpoint(lg)}) {
1def3c52 349 /* the following applies from 500px to 900px and is partially overriden from 500px to 800px by changes below to $small-view */
1f788f20 350 .main-col {
1def3c52
RK
351 &, &.expanded {
352 .margin-content {
e752c75e 353 --expanded-horizontal-margin-content: #{$expanded-horizontal-margins/3};
1def3c52 354 }
dd778941 355
1def3c52
RK
356 .sub-menu {
357 padding-left: 50px;
358 padding-right: 50px;
22a16e36 359
1def3c52
RK
360 .title-page {
361 font-size: 17px;
362 }
dd778941 363 }
1f788f20
C
364 }
365 }
366}
367
1f6d2449 368@media screen and (min-width: $mobile-view) and (max-width: $small-view) {
ac6ac4e2 369 .main-col {
370 width: 100%;
371 }
372}
373
8ff3f883 374@media screen and (max-width: $small-view) {
20206dfb
C
375 .main-col {
376 margin-left: 0;
377
378 &, &.expanded {
379 .margin-content {
10846ef6 380 --expanded-horizontal-margin-content: 15px;
20206dfb
C
381 }
382
383 .sub-menu {
2c3abc4f 384 width: 100vw;
dd778941 385 padding-left: 15px;
22a16e36 386 padding-right: 15px;
4682468d 387 margin-bottom: $sub-menu-margin-bottom-small-view;
8544d8f5 388 overflow-x: auto;
20206dfb
C
389 }
390
7034b3c9 391 // Use an appropriate offset top when sub-menu fixed
392 .margin-content.offset-content {
393 padding-top: $sub-menu-height + $sub-menu-margin-bottom-small-view;
394 }
395
7a03209d
K
396 .admin-sub-header {
397 @include admin-sub-header-responsive(15px*2);
398 }
399
b15fe00f
K
400 my-markdown-textarea {
401 .root {
402 max-width: 100% !important;
403 }
404 }
405
4682468d
K
406 input[type=text],
407 input[type=password],
408 input[type=email],
c285180a 409 textarea,
410 .peertube-select-container {
225a7682 411 flex-grow: 1;
20206dfb 412 }
25a42e29
RK
413
414 .caption input[type=text] {
415 width: unset !important;
416 flex-grow: 1;
417 }
20206dfb
C
418 }
419 }
457bb213 420}
7a03209d 421
165ee292 422// overflow-databale responsive rules
c2a89b70 423@media screen and (min-width: #{breakpoint(lg)}) {
165ee292
K
424 .main-col {
425 &.expanded {
c2a89b70 426 @include overflow-datatable(breakpoint(lg), $expanded-horizontal-margins/2, $mobile-paginator: false);
165ee292
K
427 }
428
429 &:not(.expanded) {
c2a89b70 430 @include overflow-datatable(breakpoint(lg), $not-expanded-horizontal-margins + $menu-width/2, $mobile-paginator: false);
165ee292
K
431 }
432 }
433}
434
435@media screen and (max-width: #{breakpoint(lg)}) {
436 .main-col {
437 &.expanded {
438 @include overflow-datatable(breakpoint(lg), $expanded-horizontal-margins/3);
439 }
440
441 &:not(.expanded) {
c2a89b70 442 @include overflow-datatable(breakpoint(lg), $expanded-horizontal-margins/3 + $menu-width/2);
165ee292
K
443 }
444 }
445}
446
447@media screen and (max-width: $small-view) {
448 .main-col {
449 &:not(.expanded),
450 &.expanded {
451 @include overflow-datatable(breakpoint(lg), 15px);
452 }
453 }
454}
455
7a03209d
K
456@media screen and (min-width: $small-view) and (max-width: #{$small-view + $menu-width}) {
457 .main-col {
458 &:not(.expanded) {
459 .admin-sub-header {
c2a89b70 460 @include admin-sub-header-responsive($expanded-horizontal-margins/3 + $menu-width/2);
7a03209d 461 }
8544d8f5
K
462
463 .sub-menu {
464 overflow-x: auto;
465 width: calc(100vw - #{$menu-width});
466 }
7a03209d
K
467 }
468 }
469}