Browse Source

replace darken and lighten by autogenerated color

Guénaël Muller 5 years ago
parent
commit
ffaf144cf6
3 changed files with 37 additions and 24 deletions
  1. 1 0
      backend/setup.py
  2. 2 1
      backend/tracim_backend/views/frontend.py
  3. 34 23
      frontend/dist/index.mak

+ 1 - 0
backend/setup.py View File

@@ -43,6 +43,7 @@ requires = [
43 43
     'rq',
44 44
     # frontend file serve
45 45
     'pyramid_mako',
46
+    'spectra',
46 47
 ]
47 48
 
48 49
 tests_require = [

+ 2 - 1
backend/tracim_backend/views/frontend.py View File

@@ -6,6 +6,7 @@ from tracim_backend.exceptions import PageNotFound
6 6
 from tracim_backend.views import BASE_API_V2
7 7
 from tracim_backend.lib.utils.request import TracimRequest
8 8
 from tracim_backend.views.controllers import Controller
9
+import spectra
9 10
 
10 11
 INDEX_PAGE_NAME = 'index.mak'
11 12
 
@@ -30,7 +31,7 @@ class FrontendController(Controller):
30 31
     def index(self, context, request: TracimRequest):
31 32
         return render_to_response(
32 33
             self._get_index_file_path(),
33
-            {}
34
+            {'primary': spectra.html('#7d4e24')}
34 35
         )
35 36
 
36 37
     def bind(self, configurator: Configurator) -> None:

+ 34 - 23
frontend/dist/index.mak View File

@@ -15,31 +15,42 @@
15 15
     <link rel="stylesheet" type="text/css" href="/asset/bootstrap/bootstrap-4.0.0-beta.css">
16 16
 
17 17
     <style>
18
-      /* code bellow will be generated by backend */
19
-      .primaryColorFont { color: #7d4e24; }
20
-      .primaryColorFontDarken { color: #572800; }
21
-      .primaryColorFontLighten { color: #a3744a; }
18
+      <%
19
+        html_class = '.primaryColorFont{state}'
20
+        param = 'color'
21
+        color_change_value = 15
22
+      %>
23
+      ${html_class.replace('{state}', '')} { ${param}: ${primary.hexcode}; }
24
+      ${html_class.replace('{state}', 'Darken')} { ${param}: ${primary.darken(color_change_value).hexcode}; }
25
+      ${html_class.replace('{state}', 'Lighten')} { ${param}: ${primary.brighten(color_change_value).hexcode}; }
26
+       <% html_class = '.primaryColorFont{state}Hover.hover' %>
27
+      ${html_class.replace('{state}', '')} { ${param}: ${primary.hexcode}; }
28
+      ${html_class.replace('{state}', 'Darken')} { ${param}: ${primary.darken(color_change_value).hexcode}; }
29
+      ${html_class.replace('{state}', 'Lighten')} { ${param}: ${primary.brighten(color_change_value).hexcode}; }
22 30
 
23
-      .primaryColorFontHover:hover { color: #7d4e24; }
24
-      .primaryColorFontDarkenHover:hover { color: #572800; }
25
-      .primaryColorFontLightenHover:hover { color: #a3744a; }
26
-
27
-      .primaryColorBg { background-color: #7d4e24; }
28
-      .primaryColorBgDarken { background-color: #572800; }
29
-      .primaryColorBgLighten { background-color: #a3744a; }
30
-
31
-      .primaryColorBgHover:hover { background-color: #7d4e24; }
32
-      .primaryColorBgDarkenHover:hover { background-color: #572800; }
33
-      .primaryColorBgLightenHover:hover { background-color: #a3744a; }
34
-
35
-      .primaryColorBorder { border-color: #7d4e24; }
36
-      .primaryColorBorderDarken { border-color: #572800; }
37
-      .primaryColorBorderLighten { border-color: #a3744a; }
38
-
39
-      .primaryColorBorderHover:hover { border-color: #7d4e24; }
40
-      .primaryColorBorderDarkenHover:hover { border-color: #572800; }
41
-      .primaryColorBorderLightenHover:hover { border-color: #a3744a; }
31
+      <%
32
+        html_class = '.primaryColorBg{state}'
33
+        param = 'background-color'
34
+      %>
35
+      ${html_class.replace('{state}', '')} { ${param}: ${primary.hexcode}; }
36
+      ${html_class.replace('{state}', 'Darken')} { ${param}: ${primary.darken(color_change_value).hexcode}; }
37
+      ${html_class.replace('{state}', 'Lighten')} { ${param}: ${primary.brighten(color_change_value).hexcode}; }
38
+      <% html_class = '.primaryColorBg{state}Hover.hover'%>
39
+      ${html_class.replace('{state}', '')} { ${param}: ${primary.hexcode}; }
40
+      ${html_class.replace('{state}', 'Darken')} { ${param}: ${primary.darken(color_change_value).hexcode}; }
41
+      ${html_class.replace('{state}', 'Lighten')} { ${param}: ${primary.brighten(color_change_value).hexcode}; }
42 42
 
43
+      <%
44
+        param = 'border-color'
45
+        html_class = '.primaryColorBorder{state}'
46
+      %>
47
+      ${html_class.replace('{state}', '')} { ${param}: ${primary.hexcode}; }
48
+      ${html_class.replace('{state}', 'Darken')} { ${param}: ${primary.darken(color_change_value).hexcode}; }
49
+      ${html_class.replace('{state}', 'Lighten')} { ${param}: ${primary.brighten(color_change_value).hexcode}; }
50
+      <% html_class = '.primaryColorBorder{state}Hover.hover' %>
51
+      ${html_class.replace('{state}', '')} { ${param}: ${primary.hexcode}; }
52
+      ${html_class.replace('{state}', 'Darken')} { ${param}: ${primary.darken(color_change_value).hexcode}; }
53
+      ${html_class.replace('{state}', 'Lighten')} { ${param}: ${primary.brighten(color_change_value).hexcode}; }
43 54
     </style>
44 55
   </head>
45 56