aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/sass/include
diff options
context:
space:
mode:
authorRigel Kent <sendmemail@rigelk.eu>2018-09-04 01:28:04 +0200
committerRigel Kent <par@rigelk.eu>2018-09-04 23:24:34 +0200
commit9a0fc8409c7a783348ec212fa9f38d0a98413467 (patch)
tree8b17264ef915e339d067abe6717c1574f1a2f36b /client/src/sass/include
parent3b766e181c59ce148fde73e507276c9fbaf37eb1 (diff)
downloadPeerTube-9a0fc8409c7a783348ec212fa9f38d0a98413467.tar.gz
PeerTube-9a0fc8409c7a783348ec212fa9f38d0a98413467.tar.zst
PeerTube-9a0fc8409c7a783348ec212fa9f38d0a98413467.zip
add theming via css custom properties
and a bonus dark color theme toggle
Diffstat (limited to 'client/src/sass/include')
-rw-r--r--client/src/sass/include/_mixins.scss27
-rw-r--r--client/src/sass/include/_variables.scss42
2 files changed, 56 insertions, 13 deletions
diff --git a/client/src/sass/include/_mixins.scss b/client/src/sass/include/_mixins.scss
index 765297c87..6e2feb748 100644
--- a/client/src/sass/include/_mixins.scss
+++ b/client/src/sass/include/_mixins.scss
@@ -58,11 +58,15 @@
58 display: inline-block; 58 display: inline-block;
59 height: $button-height; 59 height: $button-height;
60 width: $width; 60 width: $width;
61 background: #fff; 61 background: var(--inputColor);
62 border: 1px solid #C6C6C6; 62 border: 1px solid #C6C6C6;
63 border-radius: 3px; 63 border-radius: 3px;
64 padding-left: 15px; 64 padding-left: 15px;
65 padding-right: 15px; 65 padding-right: 15px;
66
67 &::placeholder {
68 color: var(--inputPlaceholderColor);
69 }
66} 70}
67 71
68@mixin peertube-input-group($width) { 72@mixin peertube-input-group($width) {
@@ -73,6 +77,7 @@
73 77
74 .input-group-text{ 78 .input-group-text{
75 font-size: 14px; 79 font-size: 14px;
80 color: gray;
76 } 81 }
77} 82}
78 83
@@ -87,12 +92,12 @@
87@mixin orange-button { 92@mixin orange-button {
88 &, &:active, &:focus { 93 &, &:active, &:focus {
89 color: #fff; 94 color: #fff;
90 background-color: $orange-color; 95 background-color: var(--mainColor);
91 } 96 }
92 97
93 &:hover { 98 &:hover {
94 color: #fff; 99 color: #fff;
95 background-color: $orange-hoover-color; 100 background-color: var(--mainHoverColor);
96 } 101 }
97 102
98 &[disabled], &.disabled { 103 &[disabled], &.disabled {
@@ -181,7 +186,7 @@
181 width: $width; 186 width: $width;
182 border-radius: 3px; 187 border-radius: 3px;
183 overflow: hidden; 188 overflow: hidden;
184 background: #fff; 189 background: var(--inputColor);
185 position: relative; 190 position: relative;
186 font-size: 15px; 191 font-size: 15px;
187 192
@@ -278,7 +283,7 @@
278 position: relative; 283 position: relative;
279 width: 18px; 284 width: 18px;
280 height: 18px; 285 height: 18px;
281 border: $border-width solid #000; 286 border: $border-width solid var(--mainForegroundColor);
282 border-radius: 3px; 287 border-radius: 3px;
283 vertical-align: middle; 288 vertical-align: middle;
284 cursor: pointer; 289 cursor: pointer;
@@ -292,14 +297,14 @@
292 height: 12px; 297 height: 12px;
293 opacity: 0; 298 opacity: 0;
294 transform: rotate(45deg) scale(0); 299 transform: rotate(45deg) scale(0);
295 border-right: 2px solid #fff; 300 border-right: 2px solid var(--mainForegroundColor);
296 border-bottom: 2px solid #fff; 301 border-bottom: 2px solid var(--mainForegroundColor);
297 } 302 }
298 } 303 }
299 304
300 &:checked + span { 305 &:checked + span {
301 border-color: transparent; 306 border-color: transparent;
302 background: $orange-color; 307 background: var(--mainColor);
303 animation: jelly 0.6s ease; 308 animation: jelly 0.6s ease;
304 309
305 &:after { 310 &:after {
@@ -357,7 +362,7 @@
357 362
358@mixin in-content-small-title { 363@mixin in-content-small-title {
359 text-transform: uppercase; 364 text-transform: uppercase;
360 color: $orange-color; 365 color: var(--mainColor);
361 font-weight: $font-bold; 366 font-weight: $font-bold;
362 font-size: 13px; 367 font-size: 13px;
363} 368}
@@ -365,10 +370,10 @@
365@mixin actor-owner { 370@mixin actor-owner {
366 @include disable-default-a-behaviour; 371 @include disable-default-a-behaviour;
367 372
368 display: block; 373 display: inline-table;
369 font-size: 13px; 374 font-size: 13px;
370 margin-top: 4px; 375 margin-top: 4px;
371 color: #000; 376 color: var(--mainForegroundColor);
372 377
373 span:hover { 378 span:hover {
374 opacity: 0.8; 379 opacity: 0.8;
diff --git a/client/src/sass/include/_variables.scss b/client/src/sass/include/_variables.scss
index 7fd178c3b..792a3f9c2 100644
--- a/client/src/sass/include/_variables.scss
+++ b/client/src/sass/include/_variables.scss
@@ -8,8 +8,6 @@ $grey-hoover-color: #EFEFEF;;
8$orange-color: #F1680D; 8$orange-color: #F1680D;
9$orange-hoover-color: #F97D46; 9$orange-hoover-color: #F97D46;
10 10
11$black-background: #000;
12$grey-background: #f6f2f2;
13$bg-color: #fff; 11$bg-color: #fff;
14$fg-color: #000; 12$fg-color: #000;
15 13
@@ -27,11 +25,14 @@ $header-height: 50px;
27$header-border-color: #e9eff6; 25$header-border-color: #e9eff6;
28$search-input-width: 375px; 26$search-input-width: 375px;
29 27
28$menu-background: #000;
30$menu-color: #fff; 29$menu-color: #fff;
31$menu-bottom-color: #C6C6C6; 30$menu-bottom-color: #C6C6C6;
32$menu-width: 240px; 31$menu-width: 240px;
33$menu-left-padding: 26px; 32$menu-left-padding: 26px;
34 33
34$sub-menu-color: #F7F7F7;
35
35$footer-height: 30px; 36$footer-height: 30px;
36$footer-margin: 30px; 37$footer-margin: 30px;
37 38
@@ -41,3 +42,40 @@ $video-thumbnail-height: 110px;
41$video-thumbnail-width: 200px; 42$video-thumbnail-width: 200px;
42 43
43$theater-bottom-space: 85px; 44$theater-bottom-space: 85px;
45
46$input-color: $bg-color;
47$input-placeholder-color: #898989;
48
49/*** theme ***/
50
51body {
52 // now beware node-sass requires interpolation
53 // for css custom properties #{$var}
54 --mainColor: #{$orange-color};
55 --mainHoverColor: #{$orange-hoover-color};
56 --mainBackgroundColor: #{$bg-color};
57 --mainForegroundColor: #{$fg-color};
58 --submenuColor: #{$sub-menu-color};
59 --inputColor: #{$input-color};
60 --inputPlaceholderColor: #{$input-placeholder-color};
61}
62
63/*** map theme ***/
64
65// pass variables into a sass map,
66// to be warned of non-existing variables
67$variables: (
68 --mainColor: var(--mainColor),
69 --mainHoverColor: var(--mainHoverColor),
70 --mainBackgroundColor: var(--mainBackgroundColor),
71 --mainForegroundColor: var(--mainForegroundColor),
72 --submenuColor: var(--submenuColor),
73 --inputColor: var(--inputColor),
74 --inputPlaceholderColor: var(--inputPlaceholderColor)
75);
76
77/*** theme helper ***/
78
79@function var($variable) {
80 @return map-get($variables, $variable);
81}