diff options
Diffstat (limited to 'client/src/sass')
-rw-r--r-- | client/src/sass/application.scss | 178 | ||||
-rw-r--r-- | client/src/sass/bootstrap.scss | 211 | ||||
-rw-r--r-- | client/src/sass/class-helpers.scss | 270 | ||||
-rw-r--r-- | client/src/sass/classes.scss | 34 | ||||
-rw-r--r-- | client/src/sass/include/_actor.scss | 8 | ||||
-rw-r--r-- | client/src/sass/include/_badges.scss | 61 | ||||
-rw-r--r-- | client/src/sass/include/_bootstrap-variables.scss | 10 | ||||
-rw-r--r-- | client/src/sass/include/_icons.scss | 58 | ||||
-rw-r--r-- | client/src/sass/include/_mixins.scss | 130 | ||||
-rw-r--r-- | client/src/sass/include/_nav.scss | 1 | ||||
-rw-r--r-- | client/src/sass/include/_variables.scss | 21 | ||||
-rw-r--r-- | client/src/sass/ng-select.scss | 3 | ||||
-rw-r--r-- | client/src/sass/player/_player-variables.scss | 2 | ||||
-rw-r--r-- | client/src/sass/player/peertube-skin.scss | 9 | ||||
-rw-r--r-- | client/src/sass/player/playlist.scss | 2 | ||||
-rw-r--r-- | client/src/sass/player/settings-menu.scss | 1 | ||||
-rw-r--r-- | client/src/sass/primeng-custom.scss | 198 | ||||
-rw-r--r-- | client/src/sass/z-index.scss | 1 |
18 files changed, 612 insertions, 586 deletions
diff --git a/client/src/sass/application.scss b/client/src/sass/application.scss index 84b575eb3..add01fb71 100644 --- a/client/src/sass/application.scss +++ b/client/src/sass/application.scss | |||
@@ -1,28 +1,20 @@ | |||
1 | $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | ||
2 | |||
3 | @use 'sass:math'; | 1 | @use 'sass:math'; |
4 | 2 | ||
5 | @use '_variables' as *; | 3 | @use '_variables' as *; |
6 | @use '_mixins' as *; | 4 | @use '_mixins' as *; |
5 | @use '_icons' as *; | ||
7 | 6 | ||
8 | @use '_fonts'; | 7 | @use '_fonts'; |
9 | 8 | ||
10 | @use './classes'; | 9 | @use './class-helpers'; |
11 | |||
12 | @use './custom-markup'; | 10 | @use './custom-markup'; |
13 | |||
14 | @use './ng-select'; | 11 | @use './ng-select'; |
15 | 12 | ||
16 | // Needs an import because we extends glyphicon icons in primeng | ||
17 | @import './bootstrap'; | 13 | @import './bootstrap'; |
18 | @import './primeng-custom'; | 14 | @import './primeng-custom'; |
19 | 15 | ||
20 | @import './z-index'; | 16 | @import './z-index'; |
21 | 17 | ||
22 | [hidden] { | ||
23 | display: none !important; | ||
24 | } | ||
25 | |||
26 | body { | 18 | body { |
27 | /*** theme ***/ | 19 | /*** theme ***/ |
28 | // now beware sass requires interpolation | 20 | // now beware sass requires interpolation |
@@ -30,6 +22,7 @@ body { | |||
30 | --mainColor: #{$main-color}; | 22 | --mainColor: #{$main-color}; |
31 | --mainColorLighter: #{$main-color-lighter}; | 23 | --mainColorLighter: #{$main-color-lighter}; |
32 | --mainColorLightest: #{$main-color-lightest}; | 24 | --mainColorLightest: #{$main-color-lightest}; |
25 | --mainColorVeryLight: #{$main-color-very-light}; | ||
33 | 26 | ||
34 | --mainHoverColor: #{$main-hover-color}; | 27 | --mainHoverColor: #{$main-hover-color}; |
35 | --mainBackgroundHoverColor: #{$main-background-hover-color}; | 28 | --mainBackgroundHoverColor: #{$main-background-hover-color}; |
@@ -37,8 +30,6 @@ body { | |||
37 | --mainBackgroundColor: #{$bg-color}; | 30 | --mainBackgroundColor: #{$bg-color}; |
38 | --mainForegroundColor: #{$fg-color}; | 31 | --mainForegroundColor: #{$fg-color}; |
39 | 32 | ||
40 | --secondaryColor: #{$secondary-color}; | ||
41 | |||
42 | --greyForegroundColor: #{$grey-foreground-color}; | 33 | --greyForegroundColor: #{$grey-foreground-color}; |
43 | --greyBackgroundColor: #{$grey-background-color}; | 34 | --greyBackgroundColor: #{$grey-background-color}; |
44 | --greySecondaryBackgroundColor: #{$grey-background-hover-color}; | 35 | --greySecondaryBackgroundColor: #{$grey-background-hover-color}; |
@@ -73,7 +64,7 @@ body { | |||
73 | font-weight: $font-regular; | 64 | font-weight: $font-regular; |
74 | color: pvar(--mainForegroundColor); | 65 | color: pvar(--mainForegroundColor); |
75 | background-color: pvar(--mainBackgroundColor); | 66 | background-color: pvar(--mainBackgroundColor); |
76 | font-size: 14px; | 67 | font-size: 1rem; |
77 | // On desktop browsers, make sure vertical scroll bar is always visible | 68 | // On desktop browsers, make sure vertical scroll bar is always visible |
78 | // Allow to disable the scrollbar instead of hide it when the content fit the body | 69 | // Allow to disable the scrollbar instead of hide it when the content fit the body |
79 | // And not move the content and header horizontally sticked to right when the content is updating | 70 | // And not move the content and header horizontally sticked to right when the content is updating |
@@ -96,6 +87,10 @@ noscript, | |||
96 | margin: 1rem auto; | 87 | margin: 1rem auto; |
97 | } | 88 | } |
98 | 89 | ||
90 | a { | ||
91 | text-decoration: none; | ||
92 | } | ||
93 | |||
99 | strong { | 94 | strong { |
100 | font-weight: $font-semibold; | 95 | font-weight: $font-semibold; |
101 | } | 96 | } |
@@ -119,7 +114,7 @@ button { | |||
119 | 114 | ||
120 | label { | 115 | label { |
121 | font-weight: $font-bold; | 116 | font-weight: $font-bold; |
122 | font-size: 15px; | 117 | margin-bottom: 0.5rem; |
123 | } | 118 | } |
124 | 119 | ||
125 | code { | 120 | code { |
@@ -133,35 +128,6 @@ code { | |||
133 | vertical-align: middle; | 128 | vertical-align: middle; |
134 | } | 129 | } |
135 | 130 | ||
136 | .form-error, | ||
137 | .form-warning { | ||
138 | display: block; | ||
139 | margin-top: 5px; | ||
140 | } | ||
141 | |||
142 | .form-error { | ||
143 | color: $red; | ||
144 | } | ||
145 | |||
146 | .input-error, | ||
147 | my-input-toggle-hidden ::ng-deep input { | ||
148 | border-color: $red !important; | ||
149 | } | ||
150 | |||
151 | .full-width { | ||
152 | width: 100%; | ||
153 | margin: 0 auto; | ||
154 | max-width: initial; | ||
155 | } | ||
156 | |||
157 | .glyphicon-black { | ||
158 | color: #000; | ||
159 | } | ||
160 | |||
161 | .row { | ||
162 | margin: 0 !important; | ||
163 | } | ||
164 | |||
165 | .main-col { | 131 | .main-col { |
166 | @include margin-left($menu-width); | 132 | @include margin-left($menu-width); |
167 | 133 | ||
@@ -215,115 +181,31 @@ my-input-toggle-hidden ::ng-deep input { | |||
215 | } | 181 | } |
216 | } | 182 | } |
217 | 183 | ||
218 | .title-page { | ||
219 | @include disable-default-a-behaviour; | ||
220 | @include margin-right(55px); | ||
221 | |||
222 | opacity: 0.6; | ||
223 | color: pvar(--mainForegroundColor); | ||
224 | font-size: 16px; | ||
225 | display: inline-block; | ||
226 | font-weight: $font-semibold; | ||
227 | border-bottom: 2px solid transparent; | ||
228 | |||
229 | &.title-page-single { | ||
230 | margin-top: 30px; | ||
231 | margin-bottom: 25px; | ||
232 | } | ||
233 | |||
234 | &.active { | ||
235 | border-bottom-color: pvar(--mainColor); | ||
236 | } | ||
237 | |||
238 | &.title-page-single { | ||
239 | font-size: 125%; | ||
240 | } | ||
241 | |||
242 | &:hover, | ||
243 | &:active, | ||
244 | &:focus { | ||
245 | color: pvar(--mainForegroundColor); | ||
246 | } | ||
247 | |||
248 | &.active, | ||
249 | &:hover, | ||
250 | &:active, | ||
251 | &:focus, | ||
252 | &.title-page-single { | ||
253 | opacity: 1; | ||
254 | outline: 0 hidden !important; | ||
255 | } | ||
256 | |||
257 | @media screen and (max-width: $mobile-view) { | ||
258 | @include margin-left(15px); | ||
259 | } | ||
260 | } | ||
261 | |||
262 | .title-page-about, | ||
263 | .title-page-settings { | ||
264 | white-space: nowrap; | ||
265 | font-size: 115%; | ||
266 | } | ||
267 | |||
268 | .admin-sub-header { | ||
269 | display: flex; | ||
270 | align-items: center; | ||
271 | margin-bottom: 30px; | ||
272 | } | ||
273 | |||
274 | // In tables, don't have a hover different background | 184 | // In tables, don't have a hover different background |
275 | table { | 185 | table { |
276 | .action-button-edit, | 186 | my-edit-button, |
277 | .action-button-delete { | 187 | my-delete-button { |
278 | &:hover, | 188 | .action-button { |
279 | &:active, | 189 | &:hover, |
280 | &:focus, | 190 | &:active, |
281 | &[disabled], | 191 | &:focus, |
282 | &.disabled { | 192 | &[disabled], |
283 | background-color: $grey-background-color !important; | 193 | &.disabled { |
194 | background-color: pvar(--greyBackgroundColor) !important; | ||
195 | opacity: 0.8; | ||
196 | } | ||
284 | } | 197 | } |
285 | } | 198 | } |
286 | } | 199 | } |
287 | 200 | ||
288 | .no-results { | 201 | my-global-icon[iconName=external-link] { |
289 | height: 40vh; | 202 | margin: 0 0.3em; |
290 | max-height: 500px; | 203 | width: 0.9em; |
291 | 204 | height: 0.9em; | |
292 | display: flex; | 205 | display: inline-block; |
293 | flex-direction: column; | 206 | color: pvar(--inputPlaceholderColor); |
294 | align-items: center; | ||
295 | justify-content: center; | ||
296 | font-size: 16px; | ||
297 | font-weight: $font-semibold; | ||
298 | } | ||
299 | |||
300 | .dropdown-item { | ||
301 | @include dropdown-with-icon-item; | ||
302 | |||
303 | my-global-icon { | ||
304 | width: 22px; | ||
305 | height: 22px; | ||
306 | } | ||
307 | } | ||
308 | |||
309 | /* offsetTop for scrollToAnchor */ | ||
310 | |||
311 | .anchor { | ||
312 | position: relative; | 207 | position: relative; |
313 | top: #{-($header-height + 20px)}; | 208 | top: -0.1em; |
314 | } | ||
315 | |||
316 | .offset-content { // if sub-menu fixed | ||
317 | .anchor { | ||
318 | top: #{-($header-height + $sub-menu-height + 20px)}; | ||
319 | } | ||
320 | } | ||
321 | |||
322 | .form-group-description { | ||
323 | @extend .muted !optional; | ||
324 | |||
325 | font-size: 90%; | ||
326 | margin-top: 10px; | ||
327 | } | 209 | } |
328 | 210 | ||
329 | @media screen and (max-width: #{breakpoint(xxl)}) { | 211 | @media screen and (max-width: #{breakpoint(xxl)}) { |
@@ -342,7 +224,7 @@ table { | |||
342 | --videosHorizontalMarginContent: #{pvar(--horizontalMarginContent)}; | 224 | --videosHorizontalMarginContent: #{pvar(--horizontalMarginContent)}; |
343 | } | 225 | } |
344 | 226 | ||
345 | /* the following applies from 500px to 900px and is partially overriden from 500px to 800px by changes below to $small-view */ | 227 | /* the following applies from 500px to 900px and is partially overridden from 500px to 800px by changes below to $small-view */ |
346 | .main-col, | 228 | .main-col, |
347 | .main-col.expanded { | 229 | .main-col.expanded { |
348 | --horizontalMarginContent: #{math.div($expanded-horizontal-margins, 3)}; | 230 | --horizontalMarginContent: #{math.div($expanded-horizontal-margins, 3)}; |
@@ -382,10 +264,6 @@ table { | |||
382 | padding-top: $sub-menu-height + $sub-menu-margin-bottom-small-view; | 264 | padding-top: $sub-menu-height + $sub-menu-margin-bottom-small-view; |
383 | } | 265 | } |
384 | 266 | ||
385 | .admin-sub-header { | ||
386 | flex-direction: column; | ||
387 | } | ||
388 | |||
389 | my-markdown-textarea { | 267 | my-markdown-textarea { |
390 | .root { | 268 | .root { |
391 | max-width: 100% !important; | 269 | max-width: 100% !important; |
diff --git a/client/src/sass/bootstrap.scss b/client/src/sass/bootstrap.scss index bc37134dd..49585a124 100644 --- a/client/src/sass/bootstrap.scss +++ b/client/src/sass/bootstrap.scss | |||
@@ -1,5 +1,3 @@ | |||
1 | $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | ||
2 | |||
3 | @use '_variables' as *; | 1 | @use '_variables' as *; |
4 | @use '_mixins' as *; | 2 | @use '_mixins' as *; |
5 | 3 | ||
@@ -7,67 +5,43 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
7 | 5 | ||
8 | @import '~bootstrap/scss/functions'; | 6 | @import '~bootstrap/scss/functions'; |
9 | @import '~bootstrap/scss/variables'; | 7 | @import '~bootstrap/scss/variables'; |
10 | |||
11 | @import '~bootstrap/scss/mixins'; | 8 | @import '~bootstrap/scss/mixins'; |
9 | @import '~bootstrap/scss/utilities'; | ||
10 | |||
12 | @import '~bootstrap/scss/root'; | 11 | @import '~bootstrap/scss/root'; |
13 | @import '~bootstrap/scss/reboot'; | 12 | @import '~bootstrap/scss/reboot'; |
14 | @import '~bootstrap/scss/type'; | 13 | @import '~bootstrap/scss/type'; |
15 | @import '~bootstrap/scss/grid'; | 14 | @import '~bootstrap/scss/grid'; |
16 | @import '~bootstrap/scss/tables'; | ||
17 | @import '~bootstrap/scss/forms'; | 15 | @import '~bootstrap/scss/forms'; |
18 | @import '~bootstrap/scss/buttons'; | 16 | @import '~bootstrap/scss/buttons'; |
19 | @import '~bootstrap/scss/dropdown'; | 17 | @import '~bootstrap/scss/dropdown'; |
20 | @import '~bootstrap/scss/button-group'; | 18 | @import '~bootstrap/scss/button-group'; |
21 | @import '~bootstrap/scss/input-group'; | ||
22 | @import '~bootstrap/scss/nav'; | 19 | @import '~bootstrap/scss/nav'; |
23 | @import '~bootstrap/scss/card'; | 20 | @import '~bootstrap/scss/card'; |
24 | @import '~bootstrap/scss/badge'; | 21 | @import '~bootstrap/scss/accordion'; |
25 | @import '~bootstrap/scss/alert'; | 22 | @import '~bootstrap/scss/alert'; |
26 | @import '~bootstrap/scss/close'; | 23 | @import '~bootstrap/scss/close'; |
27 | @import '~bootstrap/scss/modal'; | 24 | @import '~bootstrap/scss/modal'; |
28 | @import '~bootstrap/scss/tooltip'; | 25 | @import '~bootstrap/scss/tooltip'; |
29 | @import '~bootstrap/scss/popover'; | 26 | @import '~bootstrap/scss/popover'; |
30 | @import '~bootstrap/scss/utilities'; | 27 | @import '~bootstrap/scss/spinners'; |
31 | 28 | ||
32 | @import '~@neos21/bootstrap3-glyphicons/assets/stylesheets/bootstrap3-glyphicons'; | 29 | @import '~bootstrap/scss/helpers'; |
33 | 30 | @import '~bootstrap/scss/utilities/api'; | |
34 | // Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d | ||
35 | .glyphicon-refresh-animate { | ||
36 | animation: spin 0.7s infinite linear; | ||
37 | } | ||
38 | |||
39 | .glyphicon-duplicate { | ||
40 | font-size: 70%; | ||
41 | } | ||
42 | 31 | ||
43 | .flex-auto { | 32 | .flex-auto { |
44 | flex: auto; | 33 | flex: auto; |
45 | } | 34 | } |
46 | 35 | ||
47 | .c-hand { | 36 | .c-hand { |
48 | cursor: pointer; | 37 | cursor: pointer !important; |
49 | } | ||
50 | |||
51 | @keyframes spin { | ||
52 | from { | ||
53 | transform: scale(1) rotate(0deg); | ||
54 | } | ||
55 | |||
56 | to { | ||
57 | transform: scale(1) rotate(360deg); | ||
58 | } | ||
59 | } | 38 | } |
60 | 39 | ||
61 | .btn-group > .btn:not(:first-child) { | 40 | // --------------------------------------------------------------------------- |
62 | border-top-left-radius: 0 !important; | 41 | // Dropdown |
63 | border-bottom-left-radius: 0 !important; | 42 | // --------------------------------------------------------------------------- |
64 | } | ||
65 | 43 | ||
66 | .dropdown-menu { | 44 | .dropdown-menu { |
67 | border-radius: 3px; | ||
68 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); | ||
69 | font-size: 15px; | ||
70 | |||
71 | color: pvar(--mainForegroundColor); | 45 | color: pvar(--mainForegroundColor); |
72 | background-color: pvar(--mainBackgroundColor); | 46 | background-color: pvar(--mainBackgroundColor); |
73 | 47 | ||
@@ -78,39 +52,40 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
78 | .dropdown-item { | 52 | .dropdown-item { |
79 | padding: 3px 15px; | 53 | padding: 3px 15px; |
80 | 54 | ||
81 | color: pvar(--mainForegroundColor); | ||
82 | background-color: pvar(--mainBackgroundColor); | ||
83 | |||
84 | &.active { | 55 | &.active { |
85 | color: pvar(--mainBackgroundColor) !important; | 56 | color: pvar(--mainBackgroundColor) !important; |
86 | background-color: pvar(--mainHoverColor); | 57 | background-color: pvar(--mainHoverColor); |
87 | opacity: 0.9; | 58 | opacity: 0.9; |
88 | } | 59 | } |
89 | 60 | ||
90 | a:active, | ||
91 | &:hover { | ||
92 | color: pvar(--mainForegroundColor) !important; | ||
93 | background-color: pvar(--mainBackgroundHoverColor); | ||
94 | } | ||
95 | |||
96 | &::after { | 61 | &::after { |
97 | display: none; | 62 | display: none; |
98 | } | 63 | } |
99 | } | 64 | } |
100 | 65 | ||
101 | button { | ||
102 | @include disable-default-a-behaviour; | ||
103 | } | ||
104 | |||
105 | a { | 66 | a { |
106 | @include disable-default-a-behaviour; | 67 | @include disable-default-a-behaviour; |
107 | } | 68 | } |
108 | } | 69 | } |
109 | 70 | ||
110 | .badge { | 71 | .dropdown-divider { |
111 | line-height: 1.1; | 72 | margin: 0.3rem 0; |
112 | } | 73 | } |
113 | 74 | ||
75 | // --------------------------------------------------------------------------- | ||
76 | // Alert | ||
77 | // --------------------------------------------------------------------------- | ||
78 | |||
79 | .alert { | ||
80 | p:last-child { | ||
81 | margin-bottom: 0; | ||
82 | } | ||
83 | } | ||
84 | |||
85 | // --------------------------------------------------------------------------- | ||
86 | // Modal | ||
87 | // --------------------------------------------------------------------------- | ||
88 | |||
114 | @media screen and (min-width: #{breakpoint(md)}) { | 89 | @media screen and (min-width: #{breakpoint(md)}) { |
115 | .modal::before { | 90 | .modal::before { |
116 | vertical-align: middle; | 91 | vertical-align: middle; |
@@ -149,18 +124,10 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
149 | my-global-icon { | 124 | my-global-icon { |
150 | @include icon(22px); | 125 | @include icon(22px); |
151 | 126 | ||
152 | position: relative; | ||
153 | top: 5px; | ||
154 | float: right; | ||
155 | |||
156 | margin: 0; | ||
157 | padding: 0; | ||
158 | opacity: 0.5; | 127 | opacity: 0.5; |
159 | 128 | ||
160 | &[iconName=cross] { /* stylelint-disable-line selector-max-compound-selectors */ | 129 | &:hover { |
161 | @include icon(16px); | 130 | opacity: 0.8; |
162 | |||
163 | top: -3px; | ||
164 | } | 131 | } |
165 | } | 132 | } |
166 | } | 133 | } |
@@ -199,14 +166,15 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
199 | opacity: 0.75; | 166 | opacity: 0.75; |
200 | content: ''; | 167 | content: ''; |
201 | display: block; | 168 | display: block; |
202 | position: fixed; | ||
203 | z-index: z(overlay); | ||
204 | } | 169 | } |
205 | } | 170 | } |
206 | } | 171 | } |
207 | } | 172 | } |
208 | 173 | ||
209 | // Nav customizations | 174 | // --------------------------------------------------------------------------- |
175 | // Nav | ||
176 | // --------------------------------------------------------------------------- | ||
177 | |||
210 | .nav .nav-link { | 178 | .nav .nav-link { |
211 | display: flex !important; | 179 | display: flex !important; |
212 | align-items: center; | 180 | align-items: center; |
@@ -219,7 +187,7 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
219 | font-weight: $font-semibold !important; | 187 | font-weight: $font-semibold !important; |
220 | 188 | ||
221 | .nav-link { | 189 | .nav-link { |
222 | opacity: 0.6 !important; | 190 | opacity: 0.7 !important; |
223 | 191 | ||
224 | &.active, | 192 | &.active, |
225 | &:hover, | 193 | &:hover, |
@@ -243,7 +211,7 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
243 | font-weight: $font-semibold; | 211 | font-weight: $font-semibold; |
244 | border: 0; | 212 | border: 0; |
245 | border-bottom: 2px solid transparent; | 213 | border-bottom: 2px solid transparent; |
246 | opacity: 0.6; | 214 | opacity: 0.7; |
247 | 215 | ||
248 | &.active { | 216 | &.active { |
249 | color: pvar(--mainForegroundColor); | 217 | color: pvar(--mainForegroundColor); |
@@ -259,6 +227,10 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
259 | } | 227 | } |
260 | } | 228 | } |
261 | 229 | ||
230 | // --------------------------------------------------------------------------- | ||
231 | // Card, collapse and accordion | ||
232 | // --------------------------------------------------------------------------- | ||
233 | |||
262 | .card { | 234 | .card { |
263 | background-color: pvar(--mainBackgroundColor); | 235 | background-color: pvar(--mainBackgroundColor); |
264 | border-color: #dee2e6; | 236 | border-color: #dee2e6; |
@@ -277,8 +249,13 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
277 | } | 249 | } |
278 | } | 250 | } |
279 | 251 | ||
280 | .dropdown-divider { | 252 | // --------------------------------------------------------------------------- |
281 | margin: 0.3rem 0; | 253 | // Buttons & form controls |
254 | // --------------------------------------------------------------------------- | ||
255 | |||
256 | .btn:not(.btn-sm) { | ||
257 | font-size: $button-font-size; | ||
258 | line-height: 1.2; | ||
282 | } | 259 | } |
283 | 260 | ||
284 | .btn-outline-secondary { | 261 | .btn-outline-secondary { |
@@ -292,18 +269,6 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
292 | } | 269 | } |
293 | } | 270 | } |
294 | 271 | ||
295 | .btn-outline-tertiary { | ||
296 | color: pvar(--secondaryColor); | ||
297 | border-color: pvar(--secondaryColor); | ||
298 | |||
299 | &:focus-within, | ||
300 | &:focus, | ||
301 | &:hover { | ||
302 | color: pvar(--mainBackgroundColor); | ||
303 | background-color: pvar(--secondaryColor); | ||
304 | } | ||
305 | } | ||
306 | |||
307 | .btn-group.select-button { | 272 | .btn-group.select-button { |
308 | font-weight: $font-semibold; | 273 | font-weight: $font-semibold; |
309 | 274 | ||
@@ -332,60 +297,47 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
332 | } | 297 | } |
333 | } | 298 | } |
334 | 299 | ||
335 | // input box-shadow on focus | ||
336 | .form-control { | 300 | .form-control { |
337 | font-size: 15px; | ||
338 | color: pvar(--mainForegroundColor); | 301 | color: pvar(--mainForegroundColor); |
339 | background-color: pvar(--inputBackgroundColor); | 302 | background-color: pvar(--inputBackgroundColor); |
340 | outline: none; | 303 | outline: none; |
341 | |||
342 | &:focus-within, | ||
343 | &:focus { | ||
344 | box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest); | ||
345 | |||
346 | &.input-error { | ||
347 | box-shadow: #{$focus-box-shadow-form} #{scale-color($red, $alpha: -75%)}; | ||
348 | } | ||
349 | } | ||
350 | } | 304 | } |
351 | 305 | ||
352 | .input-group { | 306 | .input-group { |
353 | > .form-control { | 307 | > .btn, |
354 | flex: initial; | 308 | > .input-group-text { |
309 | height: $button-height; | ||
310 | } | ||
311 | |||
312 | > .input-group-text { | ||
313 | line-height: normal; | ||
314 | opacity: 0.9; | ||
355 | } | 315 | } |
356 | 316 | ||
357 | input.form-control { | 317 | .input-group-text > .dropdown-toggle { |
358 | width: unset !important; | 318 | display: flex; |
359 | flex-grow: 1; | ||
360 | } | 319 | } |
361 | 320 | ||
362 | .input-group-prepend + input { | 321 | .last-in-group { |
363 | border-top-left-radius: 0 !important; | 322 | border-top-right-radius: 3px !important; |
364 | border-bottom-left-radius: 0 !important; | 323 | border-bottom-right-radius: 3px !important; |
365 | } | 324 | } |
366 | } | 325 | } |
367 | 326 | ||
368 | .has-feedback.has-clear { | 327 | .has-clear { |
369 | position: relative; | ||
370 | |||
371 | input { | 328 | input { |
372 | @include padding-right(1.5rem !important); | 329 | @include padding-right(1.5rem !important); |
373 | } | 330 | } |
374 | 331 | ||
375 | .form-control-clear { | 332 | .form-control-clear { |
376 | color: rgba(0, 0, 0, 0.4); | 333 | color: rgba(0, 0, 0, 0.4); |
377 | /* | ||
378 | * Enable pointer events as they have been disabled since Bootstrap 3.3 | ||
379 | * See https://github.com/twbs/bootstrap/pull/14104 | ||
380 | */ | ||
381 | pointer-events: all; | ||
382 | display: flex; | 334 | display: flex; |
383 | justify-content: center; | 335 | justify-content: center; |
384 | align-items: center; | 336 | align-items: center; |
385 | position: absolute; | ||
386 | right: .5rem; | ||
387 | height: 95%; | 337 | height: 95%; |
388 | font-size: 14px; | 338 | font-size: 14px; |
339 | position: absolute; | ||
340 | right: .5rem; | ||
389 | 341 | ||
390 | &:hover { | 342 | &:hover { |
391 | color: rgba(0, 0, 0, 0.7); | 343 | color: rgba(0, 0, 0, 0.7); |
@@ -397,44 +349,3 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; | |||
397 | display: none; | 349 | display: none; |
398 | } | 350 | } |
399 | } | 351 | } |
400 | |||
401 | .callout { | ||
402 | padding: 1.25rem; | ||
403 | border: 1px solid #eee; | ||
404 | border-radius: .25rem; | ||
405 | |||
406 | > label { | ||
407 | position: relative; | ||
408 | top: -5px; | ||
409 | left: -10px; | ||
410 | color: #6c757d !important; | ||
411 | } | ||
412 | |||
413 | &:not(.callout-light) { | ||
414 | border-left-width: .25rem; | ||
415 | } | ||
416 | |||
417 | &.callout-info { | ||
418 | border-color: pvar(--mainColorLightest); | ||
419 | border-left-color: pvar(--mainColor); | ||
420 | } | ||
421 | } | ||
422 | |||
423 | // Override these properties for Bidi support | ||
424 | @each $size, $length in $spacers { | ||
425 | .ml-#{$size} { | ||
426 | @include margin-left($length); | ||
427 | } | ||
428 | |||
429 | .mr-#{$size} { | ||
430 | @include margin-right($length); | ||
431 | } | ||
432 | |||
433 | .pl-#{$size} { | ||
434 | @include padding-left($length); | ||
435 | } | ||
436 | |||
437 | .pr-#{$size} { | ||
438 | @include padding-right($length); | ||
439 | } | ||
440 | } | ||
diff --git a/client/src/sass/class-helpers.scss b/client/src/sass/class-helpers.scss new file mode 100644 index 000000000..87ad6a45d --- /dev/null +++ b/client/src/sass/class-helpers.scss | |||
@@ -0,0 +1,270 @@ | |||
1 | @use '_variables' as *; | ||
2 | @use '_mixins' as *; | ||
3 | @use '_badges' as *; | ||
4 | @use '_icons' as *; | ||
5 | |||
6 | .link-orange { | ||
7 | color: pvar(--mainForegroundColor); | ||
8 | font-weight: $font-bold; | ||
9 | border-bottom: 0.19em solid pvar(--mainColor); | ||
10 | display: inline-block; | ||
11 | line-height: 1.2; | ||
12 | |||
13 | &:hover { | ||
14 | color: pvar(--mainForegroundColor); | ||
15 | opacity: 0.8; | ||
16 | } | ||
17 | } | ||
18 | |||
19 | .underline-orange { | ||
20 | display: inline-block; | ||
21 | border-bottom: 0.19em solid pvar(--mainColor); | ||
22 | } | ||
23 | |||
24 | // --------------------------------------------------------------------------- | ||
25 | |||
26 | .peertube-button { | ||
27 | @include peertube-button; | ||
28 | } | ||
29 | |||
30 | .peertube-button-link { | ||
31 | @include peertube-button-link; | ||
32 | } | ||
33 | |||
34 | .orange-button { | ||
35 | @include orange-button; | ||
36 | } | ||
37 | |||
38 | .orange-button-inverted { | ||
39 | @include orange-button-inverted; | ||
40 | } | ||
41 | |||
42 | .grey-button { | ||
43 | @include grey-button; | ||
44 | } | ||
45 | |||
46 | .tertiary-button { | ||
47 | @include tertiary-button; | ||
48 | } | ||
49 | |||
50 | .peertube-radio-container { | ||
51 | @include peertube-radio-container; | ||
52 | } | ||
53 | |||
54 | // --------------------------------------------------------------------------- | ||
55 | |||
56 | .muted { | ||
57 | color: pvar(--greyForegroundColor) !important; | ||
58 | } | ||
59 | |||
60 | // --------------------------------------------------------------------------- | ||
61 | |||
62 | .pt-badge { | ||
63 | @include peertube-badge; | ||
64 | } | ||
65 | |||
66 | // --------------------------------------------------------------------------- | ||
67 | |||
68 | .form-group { | ||
69 | margin-bottom: 1rem; | ||
70 | } | ||
71 | |||
72 | .input-error:not(:focus) { | ||
73 | border-color: $red !important; | ||
74 | } | ||
75 | |||
76 | .form-error, | ||
77 | .form-warning { | ||
78 | display: block; | ||
79 | margin-top: 5px; | ||
80 | } | ||
81 | |||
82 | .form-error { | ||
83 | color: $red; | ||
84 | } | ||
85 | |||
86 | .input-error:focus + .form-error { | ||
87 | color: pvar(--mainForegroundColor); | ||
88 | } | ||
89 | |||
90 | .form-group-description { | ||
91 | @extend .muted !optional; | ||
92 | |||
93 | font-size: 14px; | ||
94 | margin-top: 10px; | ||
95 | } | ||
96 | |||
97 | label + .form-group-description { | ||
98 | margin-bottom: 10px; | ||
99 | margin-top: 0; | ||
100 | } | ||
101 | |||
102 | // --------------------------------------------------------------------------- | ||
103 | |||
104 | |||
105 | .sub-menu-entry { | ||
106 | @include disable-default-a-behaviour; | ||
107 | @include margin-right(55px); | ||
108 | |||
109 | opacity: 0.7; | ||
110 | color: pvar(--mainForegroundColor); | ||
111 | display: inline-block; | ||
112 | font-weight: $font-semibold; | ||
113 | border-bottom: 2px solid transparent; | ||
114 | white-space: nowrap; | ||
115 | font-size: 1rem; | ||
116 | |||
117 | &.active { | ||
118 | border-bottom-color: pvar(--mainColor); | ||
119 | } | ||
120 | |||
121 | &:hover, | ||
122 | &:active, | ||
123 | &:focus { | ||
124 | color: pvar(--mainForegroundColor); | ||
125 | } | ||
126 | |||
127 | &.active, | ||
128 | &:hover, | ||
129 | &:active, | ||
130 | &:focus { | ||
131 | opacity: 1; | ||
132 | outline: 0 hidden !important; | ||
133 | } | ||
134 | |||
135 | @media screen and (max-width: $mobile-view) { | ||
136 | @include margin-left(15px); | ||
137 | } | ||
138 | } | ||
139 | |||
140 | .title-page-v2 { | ||
141 | font-weight: normal; | ||
142 | font-size: 15px; | ||
143 | padding: 35px 25px; | ||
144 | } | ||
145 | |||
146 | .title-page { | ||
147 | @include margin-right(55px); | ||
148 | |||
149 | margin-top: 30px; | ||
150 | margin-bottom: 25px; | ||
151 | |||
152 | color: pvar(--mainForegroundColor); | ||
153 | display: inline-block; | ||
154 | font-weight: $font-semibold; | ||
155 | font-size: 1.25rem; | ||
156 | |||
157 | a { | ||
158 | @include disable-default-a-behaviour; | ||
159 | |||
160 | color: inherit; | ||
161 | |||
162 | &:hover { | ||
163 | color: inherit; | ||
164 | opacity: 0.8; | ||
165 | } | ||
166 | } | ||
167 | |||
168 | @media screen and (max-width: $mobile-view) { | ||
169 | @include margin-left(15px); | ||
170 | } | ||
171 | } | ||
172 | |||
173 | .admin-sub-header { | ||
174 | display: flex; | ||
175 | align-items: center; | ||
176 | margin-bottom: 30px; | ||
177 | |||
178 | @media screen and (max-width: $small-view) { | ||
179 | flex-direction: column; | ||
180 | } | ||
181 | } | ||
182 | |||
183 | // --------------------------------------------------------------------------- | ||
184 | |||
185 | .no-results { | ||
186 | height: 40vh; | ||
187 | max-height: 500px; | ||
188 | |||
189 | display: flex; | ||
190 | flex-direction: column; | ||
191 | align-items: center; | ||
192 | justify-content: center; | ||
193 | font-weight: $font-semibold; | ||
194 | } | ||
195 | |||
196 | // --------------------------------------------------------------------------- | ||
197 | |||
198 | .chevron-down { | ||
199 | @include chevron-down(0.55rem, 0.15rem); | ||
200 | |||
201 | margin: 0 8px; | ||
202 | } | ||
203 | |||
204 | .chevron-up { | ||
205 | @include chevron-up(0.55rem, 0.15rem); | ||
206 | |||
207 | margin: 0 8px; | ||
208 | } | ||
209 | |||
210 | .chevron-right { | ||
211 | @include chevron-right(0.55rem, 0.15rem); | ||
212 | |||
213 | margin: 0 8px; | ||
214 | } | ||
215 | |||
216 | .chevron-left { | ||
217 | @include chevron-left(0.55rem, 0.15rem); | ||
218 | |||
219 | margin: 0 8px; | ||
220 | } | ||
221 | |||
222 | // --------------------------------------------------------------------------- | ||
223 | |||
224 | .callout { | ||
225 | padding: 1.25rem; | ||
226 | border: 1px solid #eee; | ||
227 | border-radius: .25rem; | ||
228 | position: relative; | ||
229 | |||
230 | > label { | ||
231 | position: relative; | ||
232 | top: -5px; | ||
233 | left: -10px; | ||
234 | color: #6c757d !important; | ||
235 | } | ||
236 | |||
237 | &:not(.callout-light) { | ||
238 | border-left-width: .25rem; | ||
239 | } | ||
240 | |||
241 | &.callout-orange { | ||
242 | border-color: pvar(--mainColorLightest); | ||
243 | |||
244 | &:not(.callout-light) { | ||
245 | border-left-color: pvar(--mainColor); | ||
246 | } | ||
247 | } | ||
248 | } | ||
249 | |||
250 | // --------------------------------------------------------------------------- | ||
251 | |||
252 | .anchor { | ||
253 | position: relative; | ||
254 | top: #{-($header-height + 20px)}; | ||
255 | } | ||
256 | |||
257 | .offset-content { // if sub-menu fixed | ||
258 | .anchor { | ||
259 | top: #{-($header-height + $sub-menu-height + 20px)}; | ||
260 | } | ||
261 | } | ||
262 | |||
263 | // --------------------------------------------------------------------------- | ||
264 | |||
265 | .alert { | ||
266 | &.pt-alert-primary { | ||
267 | background-color: pvar(--mainColorVeryLight); | ||
268 | border: 2px solid pvar(--mainColorLightest); | ||
269 | } | ||
270 | } | ||
diff --git a/client/src/sass/classes.scss b/client/src/sass/classes.scss deleted file mode 100644 index 90cdcf3ed..000000000 --- a/client/src/sass/classes.scss +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | @use '_variables' as *; | ||
2 | @use '_mixins' as *; | ||
3 | |||
4 | .peertube-button { | ||
5 | @include peertube-button; | ||
6 | } | ||
7 | |||
8 | .peertube-button-link { | ||
9 | @include peertube-button-link; | ||
10 | } | ||
11 | |||
12 | .orange-button { | ||
13 | @include orange-button; | ||
14 | } | ||
15 | |||
16 | .orange-button-inverted { | ||
17 | @include orange-button-inverted; | ||
18 | } | ||
19 | |||
20 | .grey-button { | ||
21 | @include grey-button; | ||
22 | } | ||
23 | |||
24 | .tertiary-button { | ||
25 | @include tertiary-button; | ||
26 | } | ||
27 | |||
28 | .peertube-radio-container { | ||
29 | @include peertube-radio-container; | ||
30 | } | ||
31 | |||
32 | .muted { | ||
33 | color: pvar(--greyForegroundColor) !important; | ||
34 | } | ||
diff --git a/client/src/sass/include/_actor.scss b/client/src/sass/include/_actor.scss index aa2331efe..bf73b52dc 100644 --- a/client/src/sass/include/_actor.scss +++ b/client/src/sass/include/_actor.scss | |||
@@ -36,18 +36,16 @@ | |||
36 | .actor-owner { | 36 | .actor-owner { |
37 | @include disable-default-a-behaviour; | 37 | @include disable-default-a-behaviour; |
38 | 38 | ||
39 | font-size: 13px; | ||
40 | color: pvar(--mainForegroundColor); | 39 | color: pvar(--mainForegroundColor); |
40 | display: flex; | ||
41 | align-items: center; | ||
41 | 42 | ||
42 | span:hover { | 43 | span:hover { |
43 | opacity: 0.8; | 44 | opacity: 0.8; |
44 | } | 45 | } |
45 | 46 | ||
46 | my-actor-avatar { | 47 | my-actor-avatar { |
47 | @include margin-left(7px); | 48 | @include margin-left(5px); |
48 | |||
49 | display: inline-block; | ||
50 | vertical-align: top; | ||
51 | } | 49 | } |
52 | } | 50 | } |
53 | 51 | ||
diff --git a/client/src/sass/include/_badges.scss b/client/src/sass/include/_badges.scss new file mode 100644 index 000000000..4bc70d4a9 --- /dev/null +++ b/client/src/sass/include/_badges.scss | |||
@@ -0,0 +1,61 @@ | |||
1 | @use '_variables' as *; | ||
2 | @use '_mixins' as *; | ||
3 | |||
4 | @mixin peertube-badge { | ||
5 | display: inline-block; | ||
6 | border-radius: .25rem; | ||
7 | padding: .25em .4em; | ||
8 | font-size: 75%; | ||
9 | font-weight: $font-semibold; | ||
10 | line-height: 1.1; | ||
11 | |||
12 | &.badge-primary { | ||
13 | color: pvar(--mainBackgroundColor); | ||
14 | background-color: pvar(--mainColor); | ||
15 | } | ||
16 | |||
17 | &.badge-secondary { | ||
18 | color: pvar(--mainBackgroundColor); | ||
19 | background-color: pvar(--greyForegroundColor); | ||
20 | opacity: 0.7; | ||
21 | } | ||
22 | |||
23 | &.badge-banned, | ||
24 | &.badge-danger, | ||
25 | &.badge-red { | ||
26 | background-color: #ffcdd2; | ||
27 | color: #c63737; | ||
28 | } | ||
29 | |||
30 | &.badge-banned { | ||
31 | text-decoration: line-through; | ||
32 | } | ||
33 | |||
34 | &.badge-yellow, | ||
35 | &.badge-warning { | ||
36 | background-color: #feedaf; | ||
37 | color: #8a5340; | ||
38 | } | ||
39 | |||
40 | &.badge-brown { | ||
41 | background-color: #ffd8b2; | ||
42 | color: #805b36; | ||
43 | } | ||
44 | |||
45 | &.badge-green, | ||
46 | &.badge-success { | ||
47 | background-color: #c8e6c9; | ||
48 | color: #256029; | ||
49 | } | ||
50 | |||
51 | &.badge-blue, | ||
52 | &.badge-info { | ||
53 | background-color: #b3e5fc; | ||
54 | color: #23547b; | ||
55 | } | ||
56 | |||
57 | &.badge-purple { | ||
58 | background-color: #eccfff; | ||
59 | color: #694382; | ||
60 | } | ||
61 | } | ||
diff --git a/client/src/sass/include/_bootstrap-variables.scss b/client/src/sass/include/_bootstrap-variables.scss index 41a1448c4..796850174 100644 --- a/client/src/sass/include/_bootstrap-variables.scss +++ b/client/src/sass/include/_bootstrap-variables.scss | |||
@@ -1,4 +1,4 @@ | |||
1 | $dropdown-link-active-bg: inherit; | 1 | @use '_variables' as *; |
2 | 2 | ||
3 | $modal-footer-border-width: 0; | 3 | $modal-footer-border-width: 0; |
4 | $modal-md: 600px; | 4 | $modal-md: 600px; |
@@ -40,3 +40,11 @@ $input-focus-border-color: #ced4da; | |||
40 | 40 | ||
41 | $nav-pills-link-active-bg: #F0F0F0; | 41 | $nav-pills-link-active-bg: #F0F0F0; |
42 | $nav-pills-link-active-color: #000; | 42 | $nav-pills-link-active-color: #000; |
43 | |||
44 | $dropdown-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); | ||
45 | $dropdown-border-radius: 3px; | ||
46 | $dropdown-link-active-color: pvar(--mainForegroundColor); | ||
47 | $dropdown-link-active-bg: pvar(--mainBackgroundHoverColor); | ||
48 | |||
49 | $accordion-button-active-bg: pvar(--mainColorVeryLight); | ||
50 | $accordion-button-active-color: pvar(--mainForegroundColor); | ||
diff --git a/client/src/sass/include/_icons.scss b/client/src/sass/include/_icons.scss new file mode 100644 index 000000000..5d8a312db --- /dev/null +++ b/client/src/sass/include/_icons.scss | |||
@@ -0,0 +1,58 @@ | |||
1 | @use '_variables' as *; | ||
2 | |||
3 | @mixin chevron ($size, $border-width) { | ||
4 | border-style: solid; | ||
5 | border-width: $border-width $border-width 0 0; | ||
6 | content: ''; | ||
7 | display: inline-block; | ||
8 | transform: rotate(-45deg); | ||
9 | height: $size; | ||
10 | width: $size; | ||
11 | position: relative; | ||
12 | } | ||
13 | |||
14 | @mixin chevron-right ($size, $border-width) { | ||
15 | @include chevron($size, $border-width); | ||
16 | |||
17 | left: 0; | ||
18 | transform: rotate(45deg); | ||
19 | } | ||
20 | |||
21 | @mixin chevron-down ($size, $border-width) { | ||
22 | @include chevron($size, $border-width); | ||
23 | |||
24 | bottom: 0.15em; | ||
25 | transform: rotate(135deg); | ||
26 | } | ||
27 | |||
28 | @mixin chevron-up ($size, $border-width) { | ||
29 | @include chevron($size, $border-width); | ||
30 | |||
31 | top: 0.15em; | ||
32 | transform: rotate(-45deg); | ||
33 | } | ||
34 | |||
35 | @mixin chevron-left ($size, $border-width) { | ||
36 | @include chevron($size, $border-width); | ||
37 | |||
38 | left: 0.25em; | ||
39 | transform: rotate(-135deg); | ||
40 | } | ||
41 | |||
42 | // --------------------------------------------------------------------------- | ||
43 | |||
44 | @mixin arrow-up ($size) { | ||
45 | width: 0; | ||
46 | height: 0; | ||
47 | border-left: $size solid transparent; | ||
48 | border-right: $size solid transparent; | ||
49 | border-bottom: $size solid pvar(--mainForegroundColor); | ||
50 | } | ||
51 | |||
52 | @mixin arrow-down ($size) { | ||
53 | width: 0; | ||
54 | height: 0; | ||
55 | border-left: $size solid transparent; | ||
56 | border-right: $size solid transparent; | ||
57 | border-top: $size solid pvar(--mainForegroundColor); | ||
58 | } | ||
diff --git a/client/src/sass/include/_mixins.scss b/client/src/sass/include/_mixins.scss index 3c5aa6cdf..1b460b723 100644 --- a/client/src/sass/include/_mixins.scss +++ b/client/src/sass/include/_mixins.scss | |||
@@ -89,11 +89,13 @@ | |||
89 | display: inline-block; | 89 | display: inline-block; |
90 | height: $button-height; | 90 | height: $button-height; |
91 | width: $width; | 91 | width: $width; |
92 | max-width: $width; | ||
92 | color: pvar(--inputForegroundColor); | 93 | color: pvar(--inputForegroundColor); |
93 | background-color: pvar(--inputBackgroundColor); | 94 | background-color: pvar(--inputBackgroundColor); |
94 | border: 1px solid $input-border-color; | 95 | border: 1px solid $input-border-color; |
95 | border-radius: 3px; | 96 | border-radius: 3px; |
96 | font-size: 15px; | 97 | font-size: $form-input-font-size; |
98 | line-height: $form-input-line-height; | ||
97 | 99 | ||
98 | &::placeholder { | 100 | &::placeholder { |
99 | color: pvar(--inputPlaceholderColor); | 101 | color: pvar(--inputPlaceholderColor); |
@@ -108,19 +110,6 @@ | |||
108 | } | 110 | } |
109 | } | 111 | } |
110 | 112 | ||
111 | @mixin peertube-input-group($width) { | ||
112 | width: $width; | ||
113 | min-height: $button-height; | ||
114 | padding-top: 0; | ||
115 | padding-bottom: 0; | ||
116 | flex-wrap: nowrap; | ||
117 | |||
118 | .input-group-text { | ||
119 | font-size: 14px; | ||
120 | color: #808080; | ||
121 | } | ||
122 | } | ||
123 | |||
124 | @mixin peertube-textarea ($width, $height) { | 113 | @mixin peertube-textarea ($width, $height) { |
125 | @include peertube-input-text($width); | 114 | @include peertube-input-text($width); |
126 | 115 | ||
@@ -128,7 +117,6 @@ | |||
128 | background-color: pvar(--textareaBackgroundColor) !important; | 117 | background-color: pvar(--textareaBackgroundColor) !important; |
129 | height: $height; | 118 | height: $height; |
130 | padding: 5px 15px; | 119 | padding: 5px 15px; |
131 | font-size: 15px; | ||
132 | } | 120 | } |
133 | 121 | ||
134 | @mixin orange-button { | 122 | @mixin orange-button { |
@@ -261,7 +249,6 @@ | |||
261 | 249 | ||
262 | border: 0; | 250 | border: 0; |
263 | font-weight: $font-semibold; | 251 | font-weight: $font-semibold; |
264 | font-size: 15px; | ||
265 | height: $button-height; | 252 | height: $button-height; |
266 | line-height: $button-height; | 253 | line-height: $button-height; |
267 | 254 | ||
@@ -271,11 +258,25 @@ | |||
271 | text-align: center; | 258 | text-align: center; |
272 | cursor: pointer; | 259 | cursor: pointer; |
273 | 260 | ||
261 | font-size: $button-font-size; | ||
262 | |||
274 | my-global-icon + * { | 263 | my-global-icon + * { |
275 | @include margin-right(4px); | 264 | @include margin-right(4px); |
276 | } | 265 | } |
277 | } | 266 | } |
278 | 267 | ||
268 | @mixin peertube-button-big { | ||
269 | height: auto; | ||
270 | padding: 10px 25px; | ||
271 | font-size: 18px; | ||
272 | line-height: 1.2; | ||
273 | border: 0; | ||
274 | font-weight: $font-semibold; | ||
275 | |||
276 | // Because of primeng that redefines border-radius of all input[type="..."] | ||
277 | border-radius: 3px !important; | ||
278 | } | ||
279 | |||
279 | @mixin peertube-button-link { | 280 | @mixin peertube-button-link { |
280 | @include disable-default-a-behaviour; | 281 | @include disable-default-a-behaviour; |
281 | @include peertube-button; | 282 | @include peertube-button; |
@@ -292,10 +293,6 @@ | |||
292 | } | 293 | } |
293 | 294 | ||
294 | @mixin button-with-icon($width: 20px, $margin-right: 3px, $top: -1px) { | 295 | @mixin button-with-icon($width: 20px, $margin-right: 3px, $top: -1px) { |
295 | display: inline-flex; | ||
296 | align-items: center; | ||
297 | line-height: normal !important; | ||
298 | |||
299 | my-global-icon { | 296 | my-global-icon { |
300 | @include margin-right($margin-right); | 297 | @include margin-right($margin-right); |
301 | 298 | ||
@@ -361,7 +358,6 @@ | |||
361 | color: pvar(--inputForegroundColor); | 358 | color: pvar(--inputForegroundColor); |
362 | background: pvar(--inputBackgroundColor); | 359 | background: pvar(--inputBackgroundColor); |
363 | position: relative; | 360 | position: relative; |
364 | font-size: 15px; | ||
365 | height: min-content; | 361 | height: min-content; |
366 | 362 | ||
367 | &.disabled { | 363 | &.disabled { |
@@ -371,6 +367,7 @@ | |||
371 | cursor: default; | 367 | cursor: default; |
372 | } | 368 | } |
373 | } | 369 | } |
370 | |||
374 | select[disabled] { | 371 | select[disabled] { |
375 | background-color: #f9f9f9; | 372 | background-color: #f9f9f9; |
376 | } | 373 | } |
@@ -402,6 +399,8 @@ | |||
402 | height: $button-height; | 399 | height: $button-height; |
403 | text-overflow: ellipsis; | 400 | text-overflow: ellipsis; |
404 | color: pvar(--mainForegroundColor); | 401 | color: pvar(--mainForegroundColor); |
402 | font-size: $form-input-font-size; | ||
403 | line-height: $form-input-line-height; | ||
405 | 404 | ||
406 | &:focus { | 405 | &:focus { |
407 | outline: none; | 406 | outline: none; |
@@ -434,6 +433,10 @@ | |||
434 | 433 | ||
435 | // Thanks: https://codepen.io/manabox/pen/raQmpL | 434 | // Thanks: https://codepen.io/manabox/pen/raQmpL |
436 | @mixin peertube-radio-container { | 435 | @mixin peertube-radio-container { |
436 | label { | ||
437 | font-size: $form-input-font-size; | ||
438 | } | ||
439 | |||
437 | [type=radio]:checked, | 440 | [type=radio]:checked, |
438 | [type=radio]:not(:checked) { | 441 | [type=radio]:not(:checked) { |
439 | position: absolute; | 442 | position: absolute; |
@@ -447,7 +450,6 @@ | |||
447 | cursor: pointer; | 450 | cursor: pointer; |
448 | line-height: 20px; | 451 | line-height: 20px; |
449 | display: inline-block; | 452 | display: inline-block; |
450 | font-size: 15px; | ||
451 | font-weight: $font-regular; | 453 | font-weight: $font-regular; |
452 | } | 454 | } |
453 | 455 | ||
@@ -539,7 +541,6 @@ | |||
539 | + span + span { | 541 | + span + span { |
540 | @include margin-left(5px); | 542 | @include margin-left(5px); |
541 | 543 | ||
542 | font-size: 15px; | ||
543 | font-weight: $font-regular; | 544 | font-weight: $font-regular; |
544 | cursor: pointer; | 545 | cursor: pointer; |
545 | display: inline; | 546 | display: inline; |
@@ -552,50 +553,6 @@ | |||
552 | } | 553 | } |
553 | } | 554 | } |
554 | 555 | ||
555 | @mixin peertube-badge { | ||
556 | border-radius: 2px; | ||
557 | padding: 1/4em 1/2em; | ||
558 | text-transform: uppercase; | ||
559 | font-weight: $font-bold; | ||
560 | font-size: 12px; | ||
561 | letter-spacing: 1/3px; | ||
562 | |||
563 | &.badge-banned, | ||
564 | &.badge-red { | ||
565 | background-color: #ffcdd2; | ||
566 | color: #c63737; | ||
567 | } | ||
568 | |||
569 | &.badge-banned { | ||
570 | text-decoration: line-through; | ||
571 | } | ||
572 | |||
573 | &.badge-yellow { | ||
574 | background-color: #feedaf; | ||
575 | color: #8a5340; | ||
576 | } | ||
577 | |||
578 | &.badge-brown { | ||
579 | background-color: #ffd8b2; | ||
580 | color: #805b36; | ||
581 | } | ||
582 | |||
583 | &.badge-green { | ||
584 | background-color: #c8e6c9; | ||
585 | color: #256029; | ||
586 | } | ||
587 | |||
588 | &.badge-blue { | ||
589 | background-color: #b3e5fc; | ||
590 | color: #23547b; | ||
591 | } | ||
592 | |||
593 | &.badge-purple { | ||
594 | background-color: #eccfff; | ||
595 | color: #694382; | ||
596 | } | ||
597 | } | ||
598 | |||
599 | @mixin actor-avatar-size ($size) { | 556 | @mixin actor-avatar-size ($size) { |
600 | display: inline-block; | 557 | display: inline-block; |
601 | width: $size; | 558 | width: $size; |
@@ -606,7 +563,6 @@ | |||
606 | 563 | ||
607 | @mixin actor-counters ($separator-margin: 10px) { | 564 | @mixin actor-counters ($separator-margin: 10px) { |
608 | color: pvar(--greyForegroundColor); | 565 | color: pvar(--greyForegroundColor); |
609 | font-size: 16px; | ||
610 | display: flex; | 566 | display: flex; |
611 | align-items: center; | 567 | align-items: center; |
612 | 568 | ||
@@ -617,30 +573,6 @@ | |||
617 | } | 573 | } |
618 | } | 574 | } |
619 | 575 | ||
620 | @mixin chevron ($size, $border-width) { | ||
621 | border-style: solid; | ||
622 | border-width: $border-width $border-width 0 0; | ||
623 | content: ''; | ||
624 | display: inline-block; | ||
625 | transform: rotate(-45deg); | ||
626 | height: $size; | ||
627 | width: $size; | ||
628 | } | ||
629 | |||
630 | @mixin chevron-right ($size, $border-width) { | ||
631 | @include chevron($size, $border-width); | ||
632 | |||
633 | left: 0; | ||
634 | transform: rotate(45deg); | ||
635 | } | ||
636 | |||
637 | @mixin chevron-left ($size, $border-width) { | ||
638 | @include chevron($size, $border-width); | ||
639 | |||
640 | left: 0.25em; | ||
641 | transform: rotate(-135deg); | ||
642 | } | ||
643 | |||
644 | @mixin in-content-small-title { | 576 | @mixin in-content-small-title { |
645 | text-transform: uppercase; | 577 | text-transform: uppercase; |
646 | color: pvar(--mainColor); | 578 | color: pvar(--mainColor); |
@@ -652,7 +584,7 @@ | |||
652 | text-transform: uppercase; | 584 | text-transform: uppercase; |
653 | color: pvar(--mainColor); | 585 | color: pvar(--mainColor); |
654 | font-weight: $font-bold; | 586 | font-weight: $font-bold; |
655 | font-size: 110%; | 587 | font-size: 1rem; |
656 | margin-bottom: 10px; | 588 | margin-bottom: 10px; |
657 | } | 589 | } |
658 | 590 | ||
@@ -733,10 +665,6 @@ | |||
733 | white-space: nowrap; | 665 | white-space: nowrap; |
734 | transition: width 0.6s ease; | 666 | transition: width 0.6s ease; |
735 | 667 | ||
736 | &.secondary { | ||
737 | background-color: pvar(--secondaryColor); | ||
738 | } | ||
739 | |||
740 | &.red { | 668 | &.red { |
741 | background-color: lighten($color: #c54130, $amount: 10); | 669 | background-color: lighten($color: #c54130, $amount: 10); |
742 | } | 670 | } |
@@ -746,11 +674,10 @@ | |||
746 | @mixin breadcrumb { | 674 | @mixin breadcrumb { |
747 | display: flex; | 675 | display: flex; |
748 | flex-wrap: wrap; | 676 | flex-wrap: wrap; |
749 | padding: 0.75rem 1rem; | 677 | padding: 0; |
750 | margin-bottom: 1rem; | 678 | margin-bottom: 1rem; |
751 | list-style: none; | 679 | list-style: none; |
752 | background-color: pvar(--submenuBackgroundColor); | 680 | font-weight: $font-semibold; |
753 | border-radius: 0.25rem; | ||
754 | 681 | ||
755 | .breadcrumb-item { | 682 | .breadcrumb-item { |
756 | display: flex; | 683 | display: flex; |
@@ -939,8 +866,9 @@ | |||
939 | vertical-align: top; | 866 | vertical-align: top; |
940 | } | 867 | } |
941 | 868 | ||
942 | .badge { | 869 | .pt-badge { |
943 | @include margin-left(7px); | 870 | @include margin-left(7px); |
871 | |||
944 | vertical-align: top; | 872 | vertical-align: top; |
945 | } | 873 | } |
946 | } | 874 | } |
diff --git a/client/src/sass/include/_nav.scss b/client/src/sass/include/_nav.scss index d069ac9ae..5fd32df45 100644 --- a/client/src/sass/include/_nav.scss +++ b/client/src/sass/include/_nav.scss | |||
@@ -20,7 +20,6 @@ | |||
20 | margin-bottom: -$border-width; | 20 | margin-bottom: -$border-width; |
21 | height: $nav-link-height !important; | 21 | height: $nav-link-height !important; |
22 | padding: 0 30px !important; | 22 | padding: 0 30px !important; |
23 | font-size: 15px; | ||
24 | 23 | ||
25 | border: $border-width $border-type transparent; | 24 | border: $border-width $border-type transparent; |
26 | 25 | ||
diff --git a/client/src/sass/include/_variables.scss b/client/src/sass/include/_variables.scss index e46b96d8a..3fe1f74a2 100644 --- a/client/src/sass/include/_variables.scss +++ b/client/src/sass/include/_variables.scss | |||
@@ -1,4 +1,6 @@ | |||
1 | @use 'sass:math'; | 1 | @use 'sass:math'; |
2 | @use 'sass:color'; | ||
3 | @use '~bootstrap/scss/functions' as *; | ||
2 | 4 | ||
3 | $small-view: 800px; | 5 | $small-view: 800px; |
4 | $mobile-view: 500px; | 6 | $mobile-view: 500px; |
@@ -13,22 +15,21 @@ $grey-background-color: #E5E5E5; | |||
13 | $grey-background-hover-color: #EFEFEF; | 15 | $grey-background-hover-color: #EFEFEF; |
14 | $grey-foreground-color: #585858; | 16 | $grey-foreground-color: #585858; |
15 | $grey-foreground-hover-color: #303030; | 17 | $grey-foreground-hover-color: #303030; |
16 | $grey-button-outline-color: scale-color($grey-foreground-color, $alpha: -95%); | 18 | $grey-button-outline-color: color.scale($grey-foreground-color, $alpha: -95%); |
17 | 19 | ||
18 | $main-color: hsl(24, 90%, 50%); | 20 | $main-color: hsl(24, 90%, 50%); |
19 | $main-color-lighter: lighten($main-color, 10%); | 21 | $main-color-lighter: lighten($main-color, 10%); |
20 | $main-color-lightest: lighten($main-color, 40%); | 22 | $main-color-lightest: lighten($main-color, 40%); |
23 | $main-color-very-light: #fff5eb; | ||
21 | 24 | ||
22 | $main-hover-color: lighten($main-color, 5%); | 25 | $main-hover-color: lighten($main-color, 5%); |
23 | $main-background-hover-color: #e9ecef; | 26 | $main-background-hover-color: #e9ecef; |
24 | 27 | ||
25 | $secondary-color: hsl(187, 77%, 34%); | ||
26 | |||
27 | $support-button: inherit; | 28 | $support-button: inherit; |
28 | $support-button-heart: #e83e8c; | 29 | $support-button-heart: #e83e8c; |
29 | 30 | ||
30 | $bg-color: #fff; | 31 | $bg-color: #fff; |
31 | $fg-color: #000; | 32 | $fg-color: #212529; |
32 | 33 | ||
33 | $red: #FF0000; | 34 | $red: #FF0000; |
34 | $green: #39CC0B; | 35 | $green: #39CC0B; |
@@ -38,6 +39,7 @@ $grey-actor-name: #777272; | |||
38 | $expanded-horizontal-margins: 150px; | 39 | $expanded-horizontal-margins: 150px; |
39 | $not-expanded-horizontal-margins: 30px; | 40 | $not-expanded-horizontal-margins: 30px; |
40 | 41 | ||
42 | $button-font-size: 15px; | ||
41 | $button-height: 30px; | 43 | $button-height: 30px; |
42 | 44 | ||
43 | $header-height: 50px; | 45 | $header-height: 50px; |
@@ -93,9 +95,11 @@ $markdown-textarea-background-color: $grey-background-hover-color; | |||
93 | $sub-menu-margin-bottom: 30px; | 95 | $sub-menu-margin-bottom: 30px; |
94 | $sub-menu-margin-bottom-small-view: 10px; | 96 | $sub-menu-margin-bottom-small-view: 10px; |
95 | 97 | ||
96 | $activated-action-button-color: #000; | 98 | $activated-action-button-color: #212529; |
97 | 99 | ||
98 | $focus-box-shadow-form: 0 0 0 .2rem; | 100 | $focus-box-shadow-form: 0 0 0 .2rem; |
101 | $form-input-font-size: 15px; | ||
102 | $form-input-line-height: 1.4; | ||
99 | 103 | ||
100 | $video-watch-player-factor: math.div(16, 9); | 104 | $video-watch-player-factor: math.div(16, 9); |
101 | $video-watch-info-margin-left: 44px; | 105 | $video-watch-info-margin-left: 44px; |
@@ -110,6 +114,7 @@ $variables: ( | |||
110 | --mainColor: var(--mainColor), | 114 | --mainColor: var(--mainColor), |
111 | --mainColorLighter: var(--mainColorLighter), | 115 | --mainColorLighter: var(--mainColorLighter), |
112 | --mainColorLightest: var(--mainColorLightest), | 116 | --mainColorLightest: var(--mainColorLightest), |
117 | --mainColorVeryLight: var(--mainColorVeryLight), | ||
113 | 118 | ||
114 | --mainHoverColor: var(--mainHoverColor), | 119 | --mainHoverColor: var(--mainHoverColor), |
115 | --mainBackgroundHoverColor: var(--mainBackgroundHoverColor), | 120 | --mainBackgroundHoverColor: var(--mainBackgroundHoverColor), |
@@ -117,8 +122,6 @@ $variables: ( | |||
117 | --mainBackgroundColor: var(--mainBackgroundColor), | 122 | --mainBackgroundColor: var(--mainBackgroundColor), |
118 | --mainForegroundColor: var(--mainForegroundColor), | 123 | --mainForegroundColor: var(--mainForegroundColor), |
119 | 124 | ||
120 | --secondaryColor: var(--secondaryColor), | ||
121 | |||
122 | --greyForegroundColor: var(--greyForegroundColor), | 125 | --greyForegroundColor: var(--greyForegroundColor), |
123 | --greyBackgroundColor: var(--greyBackgroundColor), | 126 | --greyBackgroundColor: var(--greyBackgroundColor), |
124 | --greySecondaryBackgroundColor: var(--greySecondaryBackgroundColor), | 127 | --greySecondaryBackgroundColor: var(--greySecondaryBackgroundColor), |
@@ -176,9 +179,9 @@ $zindex: ( | |||
176 | help-popover : 17000, | 179 | help-popover : 17000, |
177 | privacymsg : 17500, | 180 | privacymsg : 17500, |
178 | header : 17500, | 181 | header : 17500, |
179 | notification : 18000, | ||
180 | modal : 19000, | 182 | modal : 19000, |
181 | hotkeys : 19000 | 183 | hotkeys : 19000, |
184 | notification : 20000 | ||
182 | ); | 185 | ); |
183 | 186 | ||
184 | @function z($label) { | 187 | @function z($label) { |
diff --git a/client/src/sass/ng-select.scss b/client/src/sass/ng-select.scss index b1b82b573..78e3a6de3 100644 --- a/client/src/sass/ng-select.scss +++ b/client/src/sass/ng-select.scss | |||
@@ -13,12 +13,13 @@ $ng-select-box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest); | |||
13 | // $ng-select-placeholder: lighten($ng-select-primary-text, 40) !default; | 13 | // $ng-select-placeholder: lighten($ng-select-primary-text, 40) !default; |
14 | $ng-select-height: 30px; | 14 | $ng-select-height: 30px; |
15 | $ng-select-value-padding-left: 15px; | 15 | $ng-select-value-padding-left: 15px; |
16 | $ng-select-value-font-size: 15px; | 16 | $ng-select-value-font-size: $form-input-font-size; |
17 | 17 | ||
18 | @import '~@ng-select/ng-select/scss/default.theme'; | 18 | @import '~@ng-select/ng-select/scss/default.theme'; |
19 | 19 | ||
20 | .ng-select { | 20 | .ng-select { |
21 | font-size: $ng-select-value-font-size; | 21 | font-size: $ng-select-value-font-size; |
22 | line-height: $form-input-line-height; | ||
22 | 23 | ||
23 | &.ng-select-focused { | 24 | &.ng-select-focused { |
24 | &:not(.ng-select-opened) > .ng-select-container { | 25 | &:not(.ng-select-opened) > .ng-select-container { |
diff --git a/client/src/sass/player/_player-variables.scss b/client/src/sass/player/_player-variables.scss index 79c878852..47b8adda4 100644 --- a/client/src/sass/player/_player-variables.scss +++ b/client/src/sass/player/_player-variables.scss | |||
@@ -1,3 +1,5 @@ | |||
1 | @use '~bootstrap/scss/functions' as *; | ||
2 | |||
1 | $primary-foreground-color: #fff; | 3 | $primary-foreground-color: #fff; |
2 | $primary-foreground-opacity: 0.9; | 4 | $primary-foreground-opacity: 0.9; |
3 | $primary-foreground-opacity-hover: 1; | 5 | $primary-foreground-opacity-hover: 1; |
diff --git a/client/src/sass/player/peertube-skin.scss b/client/src/sass/player/peertube-skin.scss index c420e825e..43c144624 100644 --- a/client/src/sass/player/peertube-skin.scss +++ b/client/src/sass/player/peertube-skin.scss | |||
@@ -20,6 +20,15 @@ body { | |||
20 | font-size: $font-size; | 20 | font-size: $font-size; |
21 | color: pvar(--embedForegroundColor); | 21 | color: pvar(--embedForegroundColor); |
22 | 22 | ||
23 | &.disabled { | ||
24 | cursor: default; | ||
25 | pointer-events: none; | ||
26 | |||
27 | .vjs-big-play-button { | ||
28 | display: none !important; | ||
29 | } | ||
30 | } | ||
31 | |||
23 | .vjs-audio-button { | 32 | .vjs-audio-button { |
24 | display: none; | 33 | display: none; |
25 | } | 34 | } |
diff --git a/client/src/sass/player/playlist.scss b/client/src/sass/player/playlist.scss index e1999709e..4419df242 100644 --- a/client/src/sass/player/playlist.scss +++ b/client/src/sass/player/playlist.scss | |||
@@ -82,7 +82,7 @@ $playlist-menu-width: 350px; | |||
82 | } | 82 | } |
83 | 83 | ||
84 | .vjs-playlist-button { | 84 | .vjs-playlist-button { |
85 | font-size: 15px; | 85 | font-size: 16px; |
86 | position: absolute; | 86 | position: absolute; |
87 | right: 0; | 87 | right: 0; |
88 | top: 0; | 88 | top: 0; |
diff --git a/client/src/sass/player/settings-menu.scss b/client/src/sass/player/settings-menu.scss index 8aa2c2ac3..d2346c126 100644 --- a/client/src/sass/player/settings-menu.scss +++ b/client/src/sass/player/settings-menu.scss | |||
@@ -1,5 +1,6 @@ | |||
1 | @use '_variables' as *; | 1 | @use '_variables' as *; |
2 | @use '_mixins' as *; | 2 | @use '_mixins' as *; |
3 | @use '_icons' as *; | ||
3 | @use './_player-variables' as *; | 4 | @use './_player-variables' as *; |
4 | 5 | ||
5 | $setting-transition-duration: 0.15s; | 6 | $setting-transition-duration: 0.15s; |
diff --git a/client/src/sass/primeng-custom.scss b/client/src/sass/primeng-custom.scss index 9fc010d4f..37e7a4275 100644 --- a/client/src/sass/primeng-custom.scss +++ b/client/src/sass/primeng-custom.scss | |||
@@ -1,5 +1,6 @@ | |||
1 | @use '_variables' as *; | 1 | @use '_variables' as *; |
2 | @use '_mixins' as *; | 2 | @use '_mixins' as *; |
3 | @use '_icons' as *; | ||
3 | 4 | ||
4 | /* stylelint-disable */ | 5 | /* stylelint-disable */ |
5 | @import '~primeng/resources/primeng.css'; | 6 | @import '~primeng/resources/primeng.css'; |
@@ -444,65 +445,9 @@ body p-autocomplete.ng-dirty.ng-invalid > .p-autocomplete > .p-inputtext { | |||
444 | border: 1px solid #a80000; | 445 | border: 1px solid #a80000; |
445 | } | 446 | } |
446 | 447 | ||
447 | // select button | 448 | // --------------------------------------------------------------------------- |
448 | body .p-selectbutton .p-button { | 449 | // PeerTube customizations |
449 | background-color: #dadada; | 450 | // --------------------------------------------------------------------------- |
450 | border: 1px solid #dadada; | ||
451 | color: #333333; | ||
452 | overflow: hidden; | ||
453 | transition: background-color 0.2s, box-shadow 0.2s; | ||
454 | } | ||
455 | body .p-selectbutton .p-button .p-button-icon-left { | ||
456 | color: #666666; | ||
457 | } | ||
458 | body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { | ||
459 | background-color: #c8c8c8; | ||
460 | border-color: #c8c8c8; | ||
461 | color: #333333; | ||
462 | } | ||
463 | body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left { | ||
464 | color: #212121; | ||
465 | } | ||
466 | body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight).ui-state-focus { | ||
467 | box-shadow: 0 0 0 0.2em #8dcdff; | ||
468 | z-index: 1; | ||
469 | } | ||
470 | body .p-selectbutton .p-button.p-highlight { | ||
471 | background-color: pvar(--mainColor); | ||
472 | border-color: pvar(--mainColor); | ||
473 | color: #ffffff; | ||
474 | } | ||
475 | body .p-selectbutton .p-button.p-highlight .p-button-icon-left { | ||
476 | color: #ffffff; | ||
477 | } | ||
478 | body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover { | ||
479 | background-color: pvar(--mainColorLighter); | ||
480 | border-color: pvar(--mainColorLighter); | ||
481 | color: #ffffff; | ||
482 | } | ||
483 | body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover .p-button-icon-left { | ||
484 | color: #ffffff; | ||
485 | } | ||
486 | body .p-selectbutton .p-button:first-child { | ||
487 | border-top-left-radius: 3px; | ||
488 | border-bottom-left-radius: 3px; | ||
489 | } | ||
490 | body .p-selectbutton .p-button:last-child { | ||
491 | border-top-right-radius: 3px; | ||
492 | border-bottom-right-radius: 3px; | ||
493 | } | ||
494 | body p-selectbutton.ng-dirty.ng-invalid .p-button { | ||
495 | border: 1px solid #a80000; | ||
496 | } | ||
497 | |||
498 | // data table customizations | ||
499 | |||
500 | @mixin glyphicon-light { | ||
501 | font-family: 'Glyphicons Halflings'; | ||
502 | text-decoration: none !important; | ||
503 | color: pvar(--mainForegroundColor) !important; | ||
504 | font-display: swap; | ||
505 | } | ||
506 | 451 | ||
507 | p-table { | 452 | p-table { |
508 | .p-datatable-header { | 453 | .p-datatable-header { |
@@ -531,7 +476,7 @@ p-table { | |||
531 | 476 | ||
532 | td, th { | 477 | td, th { |
533 | font-family: $main-fonts; | 478 | font-family: $main-fonts; |
534 | font-size: 15px !important; | 479 | font-size: 15px; |
535 | color: pvar(--mainForegroundColor) !important; | 480 | color: pvar(--mainForegroundColor) !important; |
536 | } | 481 | } |
537 | 482 | ||
@@ -618,24 +563,20 @@ p-table { | |||
618 | &.p-highlight { | 563 | &.p-highlight { |
619 | background-color: pvar(--submenuBackgroundColor) !important; | 564 | background-color: pvar(--submenuBackgroundColor) !important; |
620 | 565 | ||
621 | .pi { | 566 | .pi-sort-amount-up-alt, |
622 | @extend .glyphicon !optional; | 567 | .pi-sort-amount-down { |
623 | 568 | display: inline-block; | |
624 | color: #000 !important; | 569 | position: relative; |
625 | font-size: 11px !important; | 570 | top: -1px; |
626 | top: 0 !important; | 571 | color: pvar(--mainForegroundColor) !important; |
627 | 572 | } | |
628 | &.pi-sort-amount-up-alt { | ||
629 | @extend .glyphicon-triangle-top !optional; | ||
630 | |||
631 | color: pvar(--mainForegroundColor) !important; | ||
632 | } | ||
633 | 573 | ||
634 | &.pi-sort-amount-down { | 574 | .pi-sort-amount-up-alt { |
635 | @extend .glyphicon-triangle-bottom !optional; | 575 | @include arrow-up(5px); |
576 | } | ||
636 | 577 | ||
637 | color: pvar(--mainForegroundColor) !important; | 578 | .pi-sort-amount-down { |
638 | } | 579 | @include arrow-down(5px); |
639 | } | 580 | } |
640 | } | 581 | } |
641 | } | 582 | } |
@@ -693,12 +634,10 @@ p-table { | |||
693 | .p-paginator-prev, | 634 | .p-paginator-prev, |
694 | .p-paginator-next, | 635 | .p-paginator-next, |
695 | .p-paginator-last { | 636 | .p-paginator-last { |
696 | @include glyphicon-light; | ||
697 | padding: 5px 2px; | 637 | padding: 5px 2px; |
698 | height: auto; | 638 | height: 100%; |
699 | outline: none; | 639 | outline: none; |
700 | font-size: 13px; | 640 | color: pvar(--mainForegroundColor); |
701 | top: -1px; | ||
702 | 641 | ||
703 | &.focus-within, | 642 | &.focus-within, |
704 | &:focus { | 643 | &:focus { |
@@ -710,23 +649,37 @@ p-table { | |||
710 | } | 649 | } |
711 | 650 | ||
712 | &.p-paginator-first { | 651 | &.p-paginator-first { |
713 | @extend .glyphicon-step-backward !optional; | 652 | .p-paginator-icon { |
653 | width: 18px; | ||
654 | height: 18px; | ||
655 | background: url('../assets/images/feather/skip-back.svg') no-repeat; | ||
656 | background-size: contain; | ||
657 | } | ||
714 | } | 658 | } |
715 | 659 | ||
716 | &.p-paginator-prev { | 660 | &.p-paginator-prev { |
717 | @extend .glyphicon-chevron-left !optional; | ||
718 | |||
719 | @include margin-right(10px); | 661 | @include margin-right(10px); |
662 | |||
663 | .p-paginator-icon { | ||
664 | @extend .chevron-left !optional; | ||
665 | } | ||
720 | } | 666 | } |
721 | 667 | ||
722 | &.p-paginator-next { | 668 | &.p-paginator-next { |
723 | @extend .glyphicon-chevron-right !optional; | ||
724 | |||
725 | @include margin-left(10px); | 669 | @include margin-left(10px); |
670 | |||
671 | .p-paginator-icon { | ||
672 | @extend .chevron-right !optional; | ||
673 | } | ||
726 | } | 674 | } |
727 | 675 | ||
728 | &.p-paginator-last { | 676 | &.p-paginator-last { |
729 | @extend .glyphicon-step-forward !optional; | 677 | .p-paginator-icon { |
678 | width: 18px; | ||
679 | height: 18px; | ||
680 | background: url('../assets/images/feather/skip-forward.svg') no-repeat; | ||
681 | background-size: contain; | ||
682 | } | ||
730 | } | 683 | } |
731 | } | 684 | } |
732 | 685 | ||
@@ -759,8 +712,9 @@ p-table { | |||
759 | } | 712 | } |
760 | } | 713 | } |
761 | 714 | ||
762 | .badge { | 715 | .pt-badge { |
763 | @include peertube-badge; | 716 | font-size: 12px; |
717 | text-transform: uppercase; | ||
764 | } | 718 | } |
765 | } | 719 | } |
766 | 720 | ||
@@ -809,8 +763,7 @@ p-calendar .p-datepicker { | |||
809 | } | 763 | } |
810 | 764 | ||
811 | .p-datepicker-next { | 765 | .p-datepicker-next { |
812 | @extend .glyphicon-chevron-right !optional; | 766 | @extend .chevron-right !optional; |
813 | @include glyphicon-light; | ||
814 | 767 | ||
815 | color: #000 !important; | 768 | color: #000 !important; |
816 | text-align: end; | 769 | text-align: end; |
@@ -821,8 +774,7 @@ p-calendar .p-datepicker { | |||
821 | } | 774 | } |
822 | 775 | ||
823 | .p-datepicker-prev { | 776 | .p-datepicker-prev { |
824 | @extend .glyphicon-chevron-left !optional; | 777 | @extend .chevron-left !optional; |
825 | @include glyphicon-light; | ||
826 | 778 | ||
827 | color: #000 !important; | 779 | color: #000 !important; |
828 | text-align: start; | 780 | text-align: start; |
@@ -836,15 +788,13 @@ p-calendar .p-datepicker { | |||
836 | .p-timepicker { | 788 | .p-timepicker { |
837 | 789 | ||
838 | .pi.pi-chevron-up { | 790 | .pi.pi-chevron-up { |
839 | @extend .glyphicon-chevron-up !optional; | 791 | @extend .chevron-up !optional; |
840 | @include glyphicon-light; | ||
841 | 792 | ||
842 | color: #000 !important; | 793 | color: #000 !important; |
843 | } | 794 | } |
844 | 795 | ||
845 | .pi.pi-chevron-down { | 796 | .pi.pi-chevron-down { |
846 | @extend .glyphicon-chevron-down !optional; | 797 | @extend .chevron-down !optional; |
847 | @include glyphicon-light; | ||
848 | 798 | ||
849 | color: #000 !important; | 799 | color: #000 !important; |
850 | } | 800 | } |
@@ -900,15 +850,14 @@ p-toast { | |||
900 | min-width: 200px; | 850 | min-width: 200px; |
901 | 851 | ||
902 | .p-toast-icon-close { | 852 | .p-toast-icon-close { |
903 | font-family: "Glyphicons Halflings"; | ||
904 | opacity: 0; | 853 | opacity: 0; |
905 | position: absolute; | 854 | position: absolute; |
906 | right: 5px; | 855 | right: 5px; |
907 | top: 5px; | 856 | top: 5px; |
908 | 857 | width: 18px; | |
909 | &:after { | 858 | height: 18px; |
910 | content: "\e014"; | 859 | background: url('../assets/images/feather/x.svg') no-repeat; |
911 | } | 860 | background-size: contain; |
912 | } | 861 | } |
913 | 862 | ||
914 | &:hover .p-toast-icon-close { | 863 | &:hover .p-toast-icon-close { |
@@ -926,22 +875,6 @@ p-toast { | |||
926 | box-shadow: 0 2px 12px 0 rgba(0, 0 , 0, .1); | 875 | box-shadow: 0 2px 12px 0 rgba(0, 0 , 0, .1); |
927 | overflow: hidden; | 876 | overflow: hidden; |
928 | 877 | ||
929 | &.p-toast-message-success .glyphicon { | ||
930 | color: #8BC34A !important; | ||
931 | } | ||
932 | |||
933 | &.p-toast-message-error .glyphicon { | ||
934 | color: #F44336 !important; | ||
935 | } | ||
936 | |||
937 | &.p-toast-message-warn .glyphicon { | ||
938 | color: #F1680D !important; | ||
939 | } | ||
940 | |||
941 | &.p-toast-message-info .glyphicon { | ||
942 | color: #03A9F4 !important; | ||
943 | } | ||
944 | |||
945 | .notification-block { | 878 | .notification-block { |
946 | display: flex; | 879 | display: flex; |
947 | align-items: center; | 880 | align-items: center; |
@@ -949,36 +882,37 @@ p-toast { | |||
949 | padding: 10px 20px; | 882 | padding: 10px 20px; |
950 | 883 | ||
951 | .message { | 884 | .message { |
952 | flex-grow: 1; | ||
953 | @include margin-right(20px); | 885 | @include margin-right(20px); |
954 | 886 | ||
887 | flex-grow: 1; | ||
888 | |||
955 | h3 { | 889 | h3 { |
956 | font-size: 21px; | 890 | font-size: 21px; |
957 | } | 891 | } |
958 | 892 | ||
959 | p { | 893 | p { |
960 | font-size: 15px; | 894 | @include peertube-word-wrap; |
895 | |||
961 | margin-bottom: 0; | 896 | margin-bottom: 0; |
962 | } | 897 | } |
963 | } | 898 | } |
964 | |||
965 | .glyphicon { | ||
966 | font-size: 32px; | ||
967 | @include margin-right(5px); | ||
968 | } | ||
969 | } | 899 | } |
970 | } | 900 | } |
971 | } | ||
972 | 901 | ||
973 | .p-selectbutton { | 902 | .p-toast-message-success my-global-icon { |
974 | .p-button:focus { | 903 | color: #8BC34A !important; |
975 | outline: none; | ||
976 | } | 904 | } |
977 | 905 | ||
978 | .p-button-label { | 906 | .p-toast-message-error my-global-icon { |
979 | padding: 5px 15px; | 907 | color: #F44336 !important; |
980 | font-size: 15px; | 908 | } |
981 | font-weight: 600; | 909 | |
910 | .p-toast-message-warn my-global-icon { | ||
911 | color: #F1680D !important; | ||
912 | } | ||
913 | |||
914 | .p-toast-message-info my-global-icon { | ||
915 | color: #03A9F4 !important; | ||
982 | } | 916 | } |
983 | } | 917 | } |
984 | 918 | ||
diff --git a/client/src/sass/z-index.scss b/client/src/sass/z-index.scss index e46813dc3..c2c44b851 100644 --- a/client/src/sass/z-index.scss +++ b/client/src/sass/z-index.scss | |||
@@ -27,7 +27,6 @@ ngx-loading-bar { | |||
27 | .btn-group, | 27 | .btn-group, |
28 | .dropdown-root, | 28 | .dropdown-root, |
29 | .action-dropdown, | 29 | .action-dropdown, |
30 | .input-group-prepend, | ||
31 | .column-toggle { | 30 | .column-toggle { |
32 | z-index: inherit !important; | 31 | z-index: inherit !important; |
33 | } | 32 | } |