še interaktivna kontrola za prelom #3

This commit is contained in:
2026-03-25 22:29:37 +01:00
parent 1dcb80739c
commit 2b0e02e94c
4 changed files with 58 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ const displayArea = document.getElementById('display-area');
const prevBtn = document.getElementById('prev-btn');
const nextBtn = document.getElementById('next-btn');
const darkBtn = document.getElementById('dark-btn');
const splitBtn = document.getElementById('split-btn');
const pageInfo = document.getElementById('page-info');
const clearBtn = document.getElementById('clear-btn');
const keypadButtons = document.querySelectorAll('.btn-key');
@@ -37,6 +38,7 @@ const infoMessage = document.getElementById('info-message');
const infoOkBtn = document.getElementById('info-ok-btn');
let capsMode = false;
let splitByStanza = false;
let wakeLock = null;
let lastStateSignature = "";
let lastPageInfo = "";
@@ -81,6 +83,7 @@ async function updateState(force = false) {
current_text: data.current_text || '',
page_info: data.page_info || '',
caps_mode: data.caps_mode || false,
split_by_stanza: data.split_by_stanza || false,
can_prev: !!data.can_prev
});
@@ -102,6 +105,13 @@ async function updateState(force = false) {
darkBtn.classList.remove('active');
}
splitByStanza = data.split_by_stanza || false;
if (splitByStanza) {
splitBtn.classList.add('active');
} else {
splitBtn.classList.remove('active');
}
prevBtn.disabled = !data.can_prev;
} catch (error) {
console.error('Napaka pri posodabljanju stanja:', error);
@@ -237,6 +247,16 @@ async function toggleCaps() {
}
}
// Preklop načina preloma po kiticah
async function toggleSplit() {
try {
await fetch('/api/toggle_split', { method: 'POST' });
await updateState(true);
} catch (error) {
console.error('Napaka pri preklopu načina preloma:', error);
}
}
// Odpri urejevalnik
async function openEditor(songId = null) {
try {
@@ -383,6 +403,14 @@ darkBtn.addEventListener('click', () => {
toggleCaps();
});
// Prelom po kiticah
if (splitBtn) {
splitBtn.addEventListener('click', () => {
vibrate();
toggleSplit();
});
}
// Skrij/Pokaži tipkovnico
if (toggleKeypadBtn) {
toggleKeypadBtn.addEventListener('click', (e) => {
@@ -551,10 +579,10 @@ document.addEventListener('keydown', (e) => {
return;
}
// AAaa
// preklopi prelom
if (e.key === '*' || e.code === 'NumpadMultiply') {
e.preventDefault();
toggleCaps();
toggleSplit();
return;
}