From ec105dc187e8668ede54e7682fe21844c2ec5ff8 Mon Sep 17 00:00:00 2001 From: augustin64 Date: Fri, 23 Jun 2023 22:22:55 +0200 Subject: [PATCH] Tout petit bout de JS, reste 100% fonctionnel sans --- README.md | 2 +- partitioncloud/static/main.js | 19 +++++++++++++++++++ partitioncloud/templates/base.html | 7 +++---- 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 partitioncloud/static/main.js diff --git a/README.md b/README.md index 130083e..05c6696 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Serveur web (basé sur Flask) pour gérer sa collection de partitions musicales - Thème sombre (je ne suis pas satisfait du résultat, mais il est à peu près correct) - dashboard administrateur: gestion de tous les albums, partitions et utilisateurs - [CLI](https://github.com/partitioncloud/partitioncloud-cli) uniquement à des fins de synchronisation. Il serait bon d'ajouter une BDD locale avec les UUIDs des partitions -- Pas de Javascript +- ~~Pas de Javascript~~ Complètement fonctionnel sans JavaScript, cela vient juste ajouter des [toutes petites améliorations](partitioncloud/static/main.js) ## Points à noter - Les partitions ajoutées sont accessibles à tous les utilisateurs depuis la recherche même si ils ne sont pas dans un album leur y donnant accès, pour limiter la redondance diff --git a/partitioncloud/static/main.js b/partitioncloud/static/main.js new file mode 100644 index 0000000..5140b7a --- /dev/null +++ b/partitioncloud/static/main.js @@ -0,0 +1,19 @@ +//* Add a listener to close pop-ups on Esc key pressed +document.addEventListener('keyup', function(e) { + if (e.key == "Escape") { + location.hash="!"; + } +}); + + +//* Save sidebar toggling preference to localStorage +if (!("isSidebarToggled" in localStorage)) { + localStorage["isSidebarToggled"] = window.innerWidth > 750; // Disable by default on mobile devices +} +document.getElementById("slide-sidebar").checked = !(JSON.parse(localStorage["isSidebarToggled"])); // localStorage cannot contain booleans + +// Triggered on sidebar open/ close +function updateSidebarToggle () { + localStorage["isSidebarToggled"] = !(document.getElementById("slide-sidebar").checked); +} +document.getElementById("slide-sidebar").addEventListener("change", updateSidebarToggle, false); diff --git a/partitioncloud/templates/base.html b/partitioncloud/templates/base.html index 21dd703..23b6330 100644 --- a/partitioncloud/templates/base.html +++ b/partitioncloud/templates/base.html @@ -31,7 +31,7 @@
- +
- + \ No newline at end of file