diff --git a/README.md b/README.md index 4330a0f..b340c76 100644 --- a/README.md +++ b/README.md @@ -177,3 +177,13 @@ BORG_SERVER_PUBKEYS = [ ), ] ``` + +## Webserver Config / Content-Security-Policy + +This page by itself does not load external sources and does not use inline javascript/styling. +It only loads javascript, CSS and images. +Therefore the following Content-Security-Policy should work fine in the standard cases: + +``` +Content-Security-Policy "default-src 'none'; script-src 'self'; style-src 'self'; img-src 'self';" +``` diff --git a/community_backup/community_backup/settings.py b/community_backup/community_backup/settings.py index 79447ce..b733ca7 100644 --- a/community_backup/community_backup/settings.py +++ b/community_backup/community_backup/settings.py @@ -120,7 +120,7 @@ STATICFILES_DIRS = [ BASE_DIR / "static", ] -RELEASE_VERSION = "0.14" +RELEASE_VERSION = "0.15" # Import settings from configuration.py try: diff --git a/community_backup/static/webui/css/webui.css b/community_backup/static/webui/css/webui.css index e465940..514ae45 100644 --- a/community_backup/static/webui/css/webui.css +++ b/community_backup/static/webui/css/webui.css @@ -1,3 +1,9 @@ +body { + display: flex; + flex-direction: column; + height: 100vh; +} + .pixelart { image-rendering: crisp-edges; } @@ -6,3 +12,7 @@ min-width: 32px; min-height: 32px; } + +.word-break-break-all { + word-break: break-all; +} diff --git a/community_backup/static/webui/js/webui.js b/community_backup/static/webui/js/webui.js new file mode 100644 index 0000000..03da0f8 --- /dev/null +++ b/community_backup/static/webui/js/webui.js @@ -0,0 +1,24 @@ +// +// Activation script for the bulma burger menu. +// Copied from https://bulma.io/documentation/components/navbar/ +// +document.addEventListener('DOMContentLoaded', () => { + + // Get all "navbar-burger" elements + const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0); + + // Add a click event on each of them + $navbarBurgers.forEach( el => { + el.addEventListener('click', () => { + + // Get the target from the "data-target" attribute + const target = el.dataset.target; + const $target = document.getElementById(target); + + // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu" + el.classList.toggle('is-active'); + $target.classList.toggle('is-active'); + + }); + }); +}); diff --git a/community_backup/webui/templates/base.html b/community_backup/webui/templates/base.html index c2415fa..3042cca 100644 --- a/community_backup/webui/templates/base.html +++ b/community_backup/webui/templates/base.html @@ -2,37 +2,15 @@
- +