feat: update for doks 0.3.4

This commit is contained in:
Henk Verlinde
2021-09-07 12:08:46 +02:00
parent f4aece8e5d
commit 83891d94a5
25 changed files with 759 additions and 207 deletions

17
assets/js/alert.js Normal file
View File

@ -0,0 +1,17 @@
var announcement = document.getElementById('announcement');
if (announcement !== null) {
if (localStorage.getItem('announcement') === null ) {
announcement.classList.remove('d-none');
}
announcement.addEventListener('closed.bs.alert', () => {
localStorage.setItem('announcement', 'closed');
});
}

View File

@ -0,0 +1,21 @@
const globalDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
const localMode = localStorage.getItem('theme');
if (globalDark && (localMode === null)) {
localStorage.setItem('theme', 'dark');
document.documentElement.setAttribute('data-dark-mode', '');
}
if (globalDark && (localMode === 'dark')) {
document.documentElement.setAttribute('data-dark-mode', '');
}
if (localMode === 'dark') {
document.documentElement.setAttribute('data-dark-mode', '');
}

View File

@ -1,12 +1,38 @@
document.getElementById('mode').addEventListener('click', () => {
const mode = document.getElementById('mode');
document.body.classList.toggle('dark');
localStorage.setItem('theme', document.body.classList.contains('dark') ? 'dark' : 'light');
if (mode !== null) {
});
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
if (localStorage.getItem('theme') === 'dark') {
if (event.matches) {
document.body.classList.add('dark');
localStorage.setItem('theme', 'dark');
document.documentElement.setAttribute('data-dark-mode', '');
} else {
localStorage.setItem('theme', 'light');
document.documentElement.removeAttribute('data-dark-mode');
}
})
mode.addEventListener('click', () => {
document.documentElement.toggleAttribute('data-dark-mode');
localStorage.setItem('theme', document.documentElement.hasAttribute('data-dark-mode') ? 'dark' : 'light');
});
if (localStorage.getItem('theme') === 'dark') {
document.documentElement.setAttribute('data-dark-mode', '');
} else {
document.documentElement.removeAttribute('data-dark-mode');
}
}

View File

@ -1,20 +1,19 @@
var suggestions = document.getElementById('suggestions');
var userinput = document.getElementById('userinput');
var search = document.getElementById('search');
document.addEventListener('keydown', inputFocus);
if (search !== null) {
document.addEventListener('keydown', inputFocus);
}
function inputFocus(e) {
if (e.keyCode === 191 ) {
if (e.ctrlKey && e.key === '/' ) {
e.preventDefault();
userinput.focus();
search.focus();
}
if (e.keyCode === 27 ) {
userinput.blur();
if (e.key === 'Escape' ) {
search.blur();
suggestions.classList.add('d-none');
}
}
document.addEventListener('click', function(event) {
@ -40,14 +39,16 @@ function suggestionFocus(e){
const focusable= [...focusableSuggestions];
const index = focusable.indexOf(document.activeElement);
const keyDefault = suggestions.classList.contains('d-none');
let nextIndex = 0;
if (e.keyCode === 38) {
if ((e.keyCode === 38) && (!keyDefault)) {
e.preventDefault();
nextIndex= index > 0 ? index-1 : 0;
focusableSuggestions[nextIndex].focus();
}
else if (e.keyCode === 40) {
else if ((e.keyCode === 40) && (!keyDefault)) {
e.preventDefault();
nextIndex= index+1 < focusable.length ? index+1 : index;
focusableSuggestions[nextIndex].focus();
@ -55,7 +56,6 @@ function suggestionFocus(e){
}
/*
Source:
- https://github.com/nextapps-de/flexsearch#index-documents-field-search
@ -113,7 +113,7 @@ Source:
{{ end -}}
;
userinput.addEventListener('input', show_results, true);
search.addEventListener('input', show_results, true);
suggestions.addEventListener('click', accept_suggestion, true);
function show_results(){