From 5063fc6f289ab5a31242bb426fccf1bea57dee5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozman?= <tomas.hozman@pm.me> Date: Tue, 30 Aug 2022 23:50:20 +0200 Subject: [PATCH] added dark versions of avatar icons --- VERSION | 2 +- generator/static/js/avatar/internal_ui.js | 42 ++++++++++++++++++++--- generator/templates/avatar_internal.html | 4 +-- generator/templates/avatar_public.html | 2 ++ generator/views/generator.py | 9 ++++- 5 files changed, 50 insertions(+), 9 deletions(-) diff --git a/VERSION b/VERSION index 1c99cf0e..e516bb9d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.4.4 +1.4.5 diff --git a/generator/static/js/avatar/internal_ui.js b/generator/static/js/avatar/internal_ui.js index 23215901..e27b3fcc 100644 --- a/generator/static/js/avatar/internal_ui.js +++ b/generator/static/js/avatar/internal_ui.js @@ -591,8 +591,18 @@ $("#localization-selection").on( if (data.url !== undefined && data.url !== null) { $("#localization-permalink-wrapper").css("display", "block"); - $("#localization-permalink").attr("href", data.url); - $("#localization-permalink").html(data.url); + + let url = data.url; + + if ( + $("#color-scheme-selection").select2("data").length !== 0 && + $("#color-scheme-selection").select2("data")[0].element.dataset.colorScheme === "white-on-black" + ) { + url += "?tmava=ano"; + } + + $("#localization-permalink").attr("href", url); + $("#localization-permalink").html(url); } else { $("#localization-permalink-wrapper").css("display", "none"); } @@ -634,8 +644,18 @@ $("#icon-selection").on( if (dataset.url !== undefined && dataset.url !== null) { $("#icon-permalink-wrapper").css("display", "block"); - $("#icon-permalink").attr("href", dataset.url); - $("#icon-permalink").html(dataset.url); + + let url = dataset.url; + + if ( + $("#color-scheme-selection").select2("data").length !== 0 && + $("#color-scheme-selection").select2("data")[0].element.dataset.colorScheme === "white-on-black" + ) { + url += "?tmava=ano"; + } + + $("#icon-permalink").attr("href", url); + $("#icon-permalink").html(url); } else { $("#icon-permalink-wrapper").css("display", "none"); } @@ -682,7 +702,19 @@ $("#color-scheme-selection").select2({ $("#color-scheme-selection").on( "select2:select", function(event) { - template.setColorScheme(event.params.data.element.dataset.colorScheme); + const colorScheme = event.params.data.element.dataset.colorScheme; + + template.setColorScheme(colorScheme); + + for (const permalink of $("#icon-permalink,#localization-permalink")) { + if (colorScheme === "white-on-black") { + permalink.innerHTML += "?tmava=ano"; + } else { + permalink.innerHTML = permalink.innerHTML.replace("?tmava=ano", ""); + } + + permalink.href = permalink.innerHTML; + } } ); diff --git a/generator/templates/avatar_internal.html b/generator/templates/avatar_internal.html index fc7679c8..3e307490 100644 --- a/generator/templates/avatar_internal.html +++ b/generator/templates/avatar_internal.html @@ -1673,10 +1673,10 @@ data-image-source="{{ url_for('static', filename='images/black-on-white.png') }}" data-color-scheme="black-on-white" >Černá na bílém pozadí</option> - <!--<option + <option data-image-source="{{ url_for('static', filename='images/white-on-black.png') }}" data-color-scheme="white-on-black" - >Bílá na černém pozadí</option>--> + >Bílá na černém pozadí</option> </select> <br><br> diff --git a/generator/templates/avatar_public.html b/generator/templates/avatar_public.html index 29af78ca..21002e4a 100644 --- a/generator/templates/avatar_public.html +++ b/generator/templates/avatar_public.html @@ -123,6 +123,8 @@ <script type="text/javascript"> function init() { + template.setColorScheme("{% if dark %}white-on-black{% else %}black-on-white{% endif %}"); + {% if icon_localization is not none %} template.darkIconDefaultSource = "{{ url_for( 'static', diff --git a/generator/views/generator.py b/generator/views/generator.py index 99dfe3cc..6c53b29c 100644 --- a/generator/views/generator.py +++ b/generator/views/generator.py @@ -31,6 +31,7 @@ ICON_HEIGHT_SPECIAL_MULTIPLIERS = { } ICON_OFFSET_BOTTOM_SPECIAL_MULTIPLIERS = { + "jihlava": 2.5, "kladno": 0, "louny": 0, "louny-bila-na-fialove": 0, @@ -327,6 +328,11 @@ def view_avatar_generator_with_localization( ): raise werkzeug.exceptions.NotFound + dark = ( + flask.request.args.get("tmava", "ne") + == "ano" + ) + icon_height_multiplier = 1 icon_offset_bottom_multiplier = 1 @@ -339,7 +345,8 @@ def view_avatar_generator_with_localization( icon_localization=icon_localization, base_localization=base_localization, icon_height_multiplier=icon_height_multiplier, - icon_offset_bottom_multiplier=icon_offset_bottom_multiplier + icon_offset_bottom_multiplier=icon_offset_bottom_multiplier, + dark=dark ), http.client.OK -- GitLab