Tout petit bout de JS, reste 100% fonctionnel sans

This commit is contained in:
augustin64 2023-06-23 22:22:55 +02:00
parent 4a38cf135a
commit ec105dc187
3 changed files with 23 additions and 5 deletions

View File

@ -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) - 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 - 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 - [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 ## 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 - 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

View File

@ -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);

View File

@ -31,7 +31,7 @@
<div class="mask" id="!"></div> <div class="mask" id="!"></div>
</div> </div>
<div id="main-container"> <div id="main-container">
<input id="slide-sidebar" type="checkbox" role="button" /> <input id="slide-sidebar" type="checkbox" role="button"/>
<label for="slide-sidebar"> <label for="slide-sidebar">
<div id="slide"> <div id="slide">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-playlist" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-playlist" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
@ -49,12 +49,11 @@
<form id="search-form" action="/albums/search" method="post"> <form id="search-form" action="/albums/search" method="post">
<input type="search" id="search-bar" required="" placeholder="Rechercher" name="query"> <input type="search" id="search-bar" required="" placeholder="Rechercher" name="query">
<br> <br>
<select id="nb-queries" name="nb-queries"> <select id="nb-queries" name="nb-queries" title="Nombre de recherches en ligne">
{% for i in range(0, user.max_queries+1) %} {% for i in range(0, user.max_queries+1) %}
<option value="{{ i }}">{{ i }}</option> <option value="{{ i }}">{{ i }}</option>
{% endfor %} {% endfor %}
</select> </select>
<label for="nb-queries" id="nb-queries-label">en ligne</label>
<input id="search-submit" type="submit" value="Go"> <input id="search-submit" type="submit" value="Go">
</form> </form>
{% endif %} {% endif %}
@ -136,5 +135,5 @@
</div> </div>
</div> </div>
</body> </body>
<script src="{{ url_for('static', filename='main.js') }}"></script>
</html> </html>