From fd8df06cb515e904248fa5bcc77e720f1188930b Mon Sep 17 00:00:00 2001 From: jr-k Date: Mon, 27 May 2024 19:20:31 +0200 Subject: [PATCH] var to let/const in player + add welcome message with manager url in player + fix time sync playlists in player --- data/www/js/slideshow/slides.js | 5 - data/www/js/utils.js | 17 +++ lang/en.json | 4 +- lang/fr.json | 4 +- src/service/TemplateRenderer.py | 1 + views/base.jinja.html | 1 + views/player/default.jinja.html | 23 +++- views/player/player.jinja.html | 203 +++++++++++++++++--------------- 8 files changed, 147 insertions(+), 111 deletions(-) create mode 100644 data/www/js/utils.js diff --git a/data/www/js/slideshow/slides.js b/data/www/js/slideshow/slides.js index 5e58214..b9cda17 100644 --- a/data/www/js/slideshow/slides.js +++ b/data/www/js/slideshow/slides.js @@ -3,11 +3,6 @@ jQuery(document).ready(function ($) { const $tableInactive = $('table.inactive-slides'); const $modalsRoot = $('.modals'); - const validateCronDateTime = function(cronExpression) { - const pattern = /^(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+\*\s+(\d+)$/; - return pattern.test(cronExpression); - }; - const getCronDateTime = function(cronExpression) { const [minutes, hours, day, month, _, year] = cronExpression.split(' '); return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')} ${hours.padStart(2, '0')}:${minutes.padStart(2, '0')}`; diff --git a/data/www/js/utils.js b/data/www/js/utils.js new file mode 100644 index 0000000..a573f9d --- /dev/null +++ b/data/www/js/utils.js @@ -0,0 +1,17 @@ +const validateCronDateTime = function(cronExpression) { + const pattern = /^(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+\*\s+(\d+)$/; + return pattern.test(cronExpression); +}; + +const cronToDateTimeObject = function(cronExpression) { + const parts = cronExpression.split(' '); + + [minutes, hours, day, month, _, year] = expression.split(' ') + return "{}-{}-{} at {}:{}".format( + year, + month.zfill(2), + day.zfill(2), + hours.zfill(2), + minutes.zfill(2) + ) +} \ No newline at end of file diff --git a/lang/en.json b/lang/en.json index 4f583e9..d9fc35f 100644 --- a/lang/en.json +++ b/lang/en.json @@ -207,5 +207,7 @@ "sysinfo_install_directory": "Install Directory", "sysinfo_network_interface": "Network Interface", "sysinfo_mac_address": "MAC Address", - "sysinfo_ip_address": "IP Address" + "sysinfo_ip_address": "IP Address", + + "player_default_welcome_message": "To manage this player, go to a browser at %link%" } diff --git a/lang/fr.json b/lang/fr.json index 59f5680..0b6ce42 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -207,5 +207,7 @@ "sysinfo_install_directory": "Dossier Racine", "sysinfo_network_interface": "Interface Réseau", "sysinfo_mac_address": "Addresse MAC", - "sysinfo_ip_address": "Addresse IP" + "sysinfo_ip_address": "Addresse IP", + + "player_default_welcome_message": "Pour gérer ce lecteur, allez sur un navigateur à l'adresse %link%" } diff --git a/src/service/TemplateRenderer.py b/src/service/TemplateRenderer.py index 010fe9a..2ac0e0f 100644 --- a/src/service/TemplateRenderer.py +++ b/src/service/TemplateRenderer.py @@ -31,6 +31,7 @@ class TemplateRenderer: PLAYLIST_ENABLED=self._model_store.variable().map().get('playlist_enabled').as_bool(), track_created=self._model_store.user().track_user_created, track_updated=self._model_store.user().track_user_updated, + PORT=self._model_store.config().map().get('port'), VERSION=self._model_store.config().map().get('version'), LANG=self._model_store.variable().map().get('lang').as_string(), HOOK=self._render_hook, diff --git a/views/base.jinja.html b/views/base.jinja.html index 82de490..edda5fe 100755 --- a/views/base.jinja.html +++ b/views/base.jinja.html @@ -132,6 +132,7 @@ }; + {{ HOOK(H_ROOT_JAVASCRIPT) }} {% block add_js %}{% endblock %} diff --git a/views/player/default.jinja.html b/views/player/default.jinja.html index 41347c0..2fb2a1d 100755 --- a/views/player/default.jinja.html +++ b/views/player/default.jinja.html @@ -38,7 +38,7 @@ left: 0; right: 0; bottom: 0; - padding: 20px 0; + padding: 50px 0; } #time { font-size: 10em; @@ -47,7 +47,13 @@ font-size: 3em; } #ipaddr { - font-size: 1em; + font-size: 1.25em; + color: #888888; + } + #ipaddr a { + color: #FFFFFF; + text-decoration: none; + font-weight: bold; } @@ -55,10 +61,15 @@
-
+
+ {% set link = 'http://' ~ ipaddr ~ ':' ~ PORT ~ url_for('manage') %} + {{ + (l.player_default_welcome_message|safe)|replace( + '%link%', + ('' ~ link ~ '')|safe + ) + }} +
- \ No newline at end of file diff --git a/views/player/player.jinja.html b/views/player/player.jinja.html index 0ff1d37..ea0cc90 100755 --- a/views/player/player.jinja.html +++ b/views/player/player.jinja.html @@ -15,6 +15,7 @@ .slide iframe { background: white; } .slide img, .slide video { height: 100%; } + @@ -35,54 +36,53 @@