Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/h-enk/doks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authorHenk Verlinde <henk@ventizo.com>2022-01-14 14:14:35 +0300
committerHenk Verlinde <henk@ventizo.com>2022-01-14 14:14:35 +0300
commit04a5b32ee568cf4b0321f57a779561e99511b1c1 (patch)
tree0c8cd31d501f45e303b59f06544cf09bd3f8a39b /assets
parent7123e6dfaee51d59064cb4b019c3d6a6ba39105d (diff)
feat: changeable global alert + fix: cumulative layout shift
Diffstat (limited to 'assets')
-rw-r--r--assets/js/alert-init.js5
-rw-r--r--assets/js/alert.js21
-rw-r--r--assets/scss/components/_alerts.scss10
3 files changed, 22 insertions, 14 deletions
diff --git a/assets/js/alert-init.js b/assets/js/alert-init.js
new file mode 100644
index 0000000..af3ac32
--- /dev/null
+++ b/assets/js/alert-init.js
@@ -0,0 +1,5 @@
+Object.keys(localStorage).forEach(function(key) {
+ if (/^global-alert-/.test(key)) {
+ document.documentElement.setAttribute('data-global-alert', 'closed');
+ }
+}); \ No newline at end of file
diff --git a/assets/js/alert.js b/assets/js/alert.js
index 0fb2864..1956103 100644
--- a/assets/js/alert.js
+++ b/assets/js/alert.js
@@ -2,16 +2,19 @@ var announcement = document.getElementById('announcement');
if (announcement !== null) {
- if (localStorage.getItem('announcement') === null ) {
-
- announcement.classList.remove('d-none');
-
- }
+ var id = announcement.dataset.id;
+
+ Object.keys(localStorage).forEach(function(key) {
+ if (/^global-alert-/.test(key)) {
+ if (key !== id ) {
+ localStorage.removeItem(key);
+ document.documentElement.removeAttribute('data-global-alert');
+ }
+ }
+ });
announcement.addEventListener('closed.bs.alert', () => {
-
- localStorage.setItem('announcement', 'closed');
-
+ localStorage.setItem(id, 'closed');
});
-}
+} \ No newline at end of file
diff --git a/assets/scss/components/_alerts.scss b/assets/scss/components/_alerts.scss
index bce819d..d292339 100644
--- a/assets/scss/components/_alerts.scss
+++ b/assets/scss/components/_alerts.scss
@@ -64,15 +64,11 @@
.alert-dismissible .btn-close {
position: absolute;
-
- /*
top: 50%;
transform: translateY(-50%);
- */
- top: 0.75rem;
right: 1rem;
z-index: 2;
- padding: 0.625rem;
+ padding: 0.5rem;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
background-size: 1.5rem;
filter: invert(1) grayscale(100%) brightness(200%);
@@ -84,6 +80,10 @@
}
}
+[data-global-alert="closed"] #announcement {
+ display: none;
+}
+
.alert code {
background: darken($beige, 5%);
color: $black;