diff --git a/VERSION b/VERSION index 1c99cf0e80935dc79a726b43fb1a9de36e07ad46..e516bb9d963a0cc79a2d530e45103ac21eac0643 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 2321590166d98adaee79551f2857b69119d33410..e27b3fccea59c1be2c2275e1e0405190bc35846b 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 fc7679c89173d1dd8453e7f01e4880a917bc6462..3e3074905edb8ab3991676d2696bb03643f0a429 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 29af78caec9e0c2d07505b875e93319843c07cc6..21002e4aef78efd91f3b78af8a0c564a24b32758 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 99dfe3cc1b437bc9d12eb35650ab06078ee55914..6c53b29c591ad83768cedbaccb70d7e3022fc7e0 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