]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/sass/application.scss
Refactor how we use icons
[github/Chocobozzz/PeerTube.git] / client / src / sass / application.scss
CommitLineData
161b061d 1$icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/';
e203f2e0 2@import '_bootstrap';
63c4db6d 3
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
2a19a1e4 11$assets-path: '../assets/';
b335ccec 12@import './player/index';
c893d451 13@import './loading-bar';
e31f6ad6 14
bbe0f064
C
15@import './primeng-custom';
16
383bfc83
C
17[hidden] {
18 display: none !important;
19}
a64668c0 20
b33f657c 21body {
dcbc29d5
C
22 /*** theme ***/
23 // now beware node-sass requires interpolation
24 // for css custom properties #{$var}
25 --mainColor: #{$orange-color};
457bb213 26 --mainHoverColor: #{$orange-hover-color};
dcbc29d5
C
27 --mainBackgroundColor: #{$bg-color};
28 --mainForegroundColor: #{$fg-color};
1d9d9cfd
RK
29 --menuBackgroundColor: #{$menu-background};
30 --menuForegroundColor: #{$menu-color};
dcbc29d5 31 --submenuColor: #{$sub-menu-color};
db6d617d 32 --inputColor: #{$input-background-color};
dcbc29d5
C
33 --inputPlaceholderColor: #{$input-placeholder-color};
34
8a8e02a4 35 font-family: $main-fonts;
b33f657c 36 font-weight: $font-regular;
9a0fc840 37 color: var(--mainForegroundColor);
b34a444e 38 font-size: 14px;
b33f657c
C
39}
40
73e09f27
C
41#incompatible-browser {
42 display: none;
43 text-align: center;
44 position: absolute;
45 width: 100%;
46 top: 45%;
47}
48
07fa4c97
C
49strong {
50 font-weight: $font-semibold;
51}
52
383bfc83
C
53input.readonly {
54 /* Force blank on readonly inputs */
20c3a59e 55 background-color: var(--inputColor) !important;
0ac5edd9 56}
57
63347a0f
C
58input, textarea {
59 outline: none;
20c3a59e 60 color: var(--mainForegroundColor);
63347a0f
C
61}
62
a7f9fae9
C
63.btn-outline-secondary {
64 border-color: $input-border-color;
65}
66
d235f6b0
C
67label {
68 font-weight: $font-bold;
69 font-size: 15px;
09223546
C
70}
71
a2b817d3
C
72.form-error {
73 display: block;
41a676db 74 color: $red;
a2b817d3
C
75 margin-top: 5px;
76}
77
78.input-error {
41a676db 79 border-color: $red !important;
a2b817d3
C
80}
81
2d9fea16
RK
82.fullWidth {
83 width: 100%;
84 margin-left: auto;
85 margin-right: auto;
86 max-width: initial;
87}
88
383bfc83
C
89.glyphicon-black {
90 color: black;
91}
92
383bfc83 93.main-col {
c30745f3 94 margin-left: $menu-width;
b34a444e 95 width: auto;
9bf9d2a5 96
c30745f3 97 .margin-content {
d178b5c1
C
98 margin-left: $not-expanded-horizontal-margins;
99 margin-right: $not-expanded-horizontal-margins;
b34a444e 100 flex-grow: 1;
c30745f3
C
101 }
102
103 .sub-menu {
9a0fc840 104 background-color: var(--submenuColor);
c30745f3
C
105 width: 100%;
106 height: 81px;
107 margin-bottom: 30px;
108 display: flex;
109 align-items: center;
d178b5c1 110 padding-left: $not-expanded-horizontal-margins;
22a16e36 111 padding-right: $not-expanded-horizontal-margins;
c30745f3
C
112 }
113
114 // Override some properties if the main content is expanded (no menu on the left)
115 &.expanded {
116 margin-left: 0;
117
118 .margin-content {
119 margin-left: $expanded-horizontal-margins;
120 margin-right: $expanded-horizontal-margins;
121 }
122
123 .sub-menu {
124 padding-left: $expanded-horizontal-margins;
22a16e36 125 padding-right: $expanded-horizontal-margins;
c30745f3 126 }
602eb142 127 }
383bfc83 128}
602eb142 129
59aa1e5e 130.title-page {
9a0fc840 131 color: var(--mainForegroundColor);
59aa1e5e
C
132 font-size: 16px;
133 display: inline-block;
134 margin-right: 55px;
135 font-weight: $font-semibold;
136 @include disable-default-a-behaviour;
137
138 &.active, &.title-page-single {
9a0fc840 139 border-bottom: 2px solid var(--mainColor);
59aa1e5e
C
140 font-weight: $font-bold;
141 margin-top: 30px;
142 margin-bottom: 25px;
143 }
cadb46d8
C
144
145 &:hover, &:active, &:focus {
9a0fc840 146 color: var(--mainForegroundColor);
04e0fc48 147 }
1952a538
C
148
149 @media screen and (max-width: 500px) {
150 margin-right: 20px;
151 }
cadb46d8 152}
04e0fc48 153
cd83ea1b
C
154.admin-sub-header {
155 display: flex;
156 align-items: center;
157 margin-bottom: 30px;
158
08c1efbe 159 .form-sub-title {
cd83ea1b
C
160 flex-grow: 1;
161 }
65b247dd
C
162
163 .admin-sub-nav a {
164 @include disable-default-a-behaviour;
165
166 font-size: 16px;
9a0fc840 167 color: var(--mainForegroundColor);
65b247dd
C
168 padding: 5px 15px;
169 border-radius: 0.25rem;
170
171 &.active {
172 font-weight: $font-semibold;
173 background-color: #f0f0f0;
9a0fc840 174 color: #000;
65b247dd
C
175 }
176 }
cd83ea1b
C
177}
178
08c1efbe 179.form-sub-title {
04e0fc48
C
180 font-size: 20px;
181 font-weight: bold;
59aa1e5e
C
182}
183
315cc0cc
C
184// Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d
185.glyphicon-refresh-animate {
4635f59d 186 animation: spin .7s infinite linear;
315cc0cc
C
187}
188
189@keyframes spin {
190 from { transform: scale(1) rotate(0deg);}
191 to { transform: scale(1) rotate(360deg);}
192}
193
04e0fc48 194// Bootstrap customizations
7b272fd7
C
195.dropdown-menu {
196 border-radius: 3px;
197 box-shadow: 0 3px 6px;
198 font-size: 15px;
199
200 .dropdown-item {
201 padding: 3px 15px;
660d11e9
RK
202
203 &:active {
204 color: #000 !important;
205 }
206 }
207
208 button {
209 @include disable-default-a-behaviour;
7b272fd7
C
210 }
211
212 a {
660d11e9 213 @include disable-default-a-behaviour;
7b272fd7
C
214 color: #000 !important;
215 }
216}
0727cab0
C
217
218.modal {
9a0fc840
RK
219 .modal-content {
220 background-color: var(--mainBackgroundColor);
221 }
222
0727cab0
C
223 .modal-header {
224 border-bottom: none;
5f0805d3 225 margin-bottom: 5px;
0727cab0 226
5f0805d3
C
227 .modal-title {
228 font-size: 20px;
229 font-weight: $font-semibold;
230 }
231
457bb213 232 my-global-icon {
5f0805d3
C
233 @include icon(24px);
234
235 position: relative;
63347a0f 236 top: 3px;
5f0805d3 237 float: right;
63347a0f
C
238
239 margin: 0;
240 padding: 0;
241 opacity: 1;
5f0805d3
C
242 }
243 }
244
245 .inputs {
5f0805d3
C
246 margin-bottom: 0;
247 text-align: right;
248
249 .action-button-cancel {
250 @include peertube-button;
251 @include grey-button;
252
253 display: inline-block;
254 margin-right: 10px;
255 }
256
257 .action-button-submit {
258 @include peertube-button;
259 @include orange-button;
0727cab0
C
260 }
261 }
262}
263
63347a0f
C
264// Nav customizations
265.nav .nav-link {
266 display: flex !important;
267 align-items: center;
268 height: 30px !important;
269 padding: 10px 15px !important;
270}
04e0fc48 271
63347a0f
C
272.nav.nav-pills {
273 font-size: 16px !important;
274
275 .nav-link.active {
276 font-weight: $font-semibold !important;
277 }
278
279 a {
280 @include disable-default-a-behaviour;
281
9a0fc840 282 color: var(--mainForegroundColor);
6de36768
C
283 }
284}
04e0fc48 285
63347a0f 286ngb-tabset.bootstrap {
bbe0f064 287
63347a0f 288 .nav-link {
6de36768 289 &, & a {
6de36768 290 @include disable-default-a-behaviour;
63347a0f 291
9a0fc840 292 color: var(--mainForegroundColor) !important;
04e0fc48
C
293 }
294 }
04e0fc48
C
295}
296
1fd3ef3f
RK
297.nav-tabs .nav-link.active {
298 background-color: var(--mainBackgroundColor) !important;
299 border-bottom: none;
300}
301
0727cab0
C
302.orange-button {
303 @include peertube-button;
304 @include orange-button;
305}
306
307.orange-button-link {
308 @include peertube-button-link;
309 @include orange-button;
310}
311
312.grey-button {
313 @include peertube-button;
314 @include grey-button;
315}
316
317.grey-button-link {
318 @include peertube-button-link;
319 @include grey-button;
320}
20206dfb 321
fb4fd623
C
322// In tables, don't have a hover different background
323table {
324 .action-button-edit, .action-button-delete {
325 &:hover, &:active, &:focus, &[disabled], &.disabled {
457bb213 326 background-color: $grey-background-color !important;
fb4fd623
C
327 }
328 }
329}
330
2d3741d6
C
331.no-results {
332 height: 40vh;
333 display: flex;
334 align-items: center;
335 justify-content: center;
336 font-size: 16px;
337 font-weight: $font-semibold;
338}
339
19f22055 340@media screen and (max-width: 1600px) {
2303a803
RK
341 .main-col {
342 &.expanded {
343 .margin-content {
344 margin-left: $expanded-horizontal-margins/2;
345 margin-right: $expanded-horizontal-margins/2;
346 }
347 }
348 }
349}
350
1f788f20
C
351@media screen and (max-width: 900px) {
352 .main-col {
2303a803 353 &.expanded {
1f788f20 354 .margin-content {
2303a803
RK
355 margin-left: $expanded-horizontal-margins/3;
356 margin-right: $expanded-horizontal-margins/3;
1f788f20 357 }
dd778941
C
358
359 .sub-menu {
360 padding-left: 50px;
22a16e36
C
361
362 .title-page {
363 font-size: 15px;
364 }
dd778941 365 }
1f788f20
C
366 }
367 }
368}
369
8ff3f883 370@media screen and (max-width: $small-view) {
20206dfb
C
371 .main-col {
372 margin-left: 0;
373
374 &, &.expanded {
375 .margin-content {
6693df9d
C
376 margin-left: 15px;
377 margin-right: 15px;
20206dfb
C
378 }
379
380 .sub-menu {
dd778941 381 padding-left: 15px;
22a16e36 382 padding-right: 15px;
20206dfb
C
383 margin-bottom: 10px;
384 }
385
386 input[type=text], input[type=password] {
387 width: 100% !important;
388 }
389 }
390 }
457bb213 391}