mirror of
https://github.com/partitioncloud/partitioncloud-server.git
synced 2025-01-23 17:26:26 +01:00
Tout petit bout de JS, reste 100% fonctionnel sans
This commit is contained in:
parent
4a38cf135a
commit
ec105dc187
@ -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
|
||||||
|
19
partitioncloud/static/main.js
Normal file
19
partitioncloud/static/main.js
Normal 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);
|
@ -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>
|
Loading…
Reference in New Issue
Block a user