diff --git a/lyrics/static/lyrics/input.js b/lyrics/static/lyrics/input.js index 37bddb1..774c6f3 100644 --- a/lyrics/static/lyrics/input.js +++ b/lyrics/static/lyrics/input.js @@ -3,23 +3,26 @@ const string_replacements_element = document.querySelector('#word_replacements_p const word_overrides_element = document.querySelector('#word_replacements_post'); const lyrics_input_element = document.querySelector('#lyrics_input_textarea'); const lyrics_output_element = document.querySelector('#lyrics_output'); -const req_tokenization_url = './tokenize' +const lyrics_output_show_romaji_element = document.querySelector('#lyrics_output_show_romaji'); +const lyrics_output_show_kanji_element = document.querySelector('#lyrics_output_show_kanji'); +const req_tokenization_url = './tokenize'; // let has_lyrics_changed = false -let tokenized_lyric_lines = [] +let tokenized_lyric_lines = []; function update_lyrics_output(data) { tokenized_lyric_lines = data.parsed_lines; - var html = '' + var html = ''; tokenized_lyric_lines.forEach(line => { if ((typeof line) == "string") { - console.log(`${line} is a string`) - html += line; + console.log(`${line} is a string`); + html += line + '
'; } else { - console.log(`${line} is not a string`) + console.log(`${line} is not a string`); // Tokenized object + html += ''; html += line.romaji_syllables.join(''); - html += '
'; - html += ''; + html += '
'; + html += ''; line.furi_blocks.forEach(block => { if (block[1]) { html += `${block[0]}${block[1]}`; @@ -27,9 +30,8 @@ function update_lyrics_output(data) { html += block[0]; } }); - html += ''; + html += '
'; } - html += '
'; }); lyrics_output_element.innerHTML = html; console.log(`updating lyrics: ${tokenized_lyric_lines}`); @@ -40,17 +42,17 @@ function lyrics_input_updated() { const post_replacements = word_overrides_element.value; console.log(`preparing to update lyrics: ${content}`); - let content_replaced = content + let content_replaced = content; pre_replacements.split('\n').forEach(element => { console.log(element); const [search, replace] = element.replace('|', '\t').split('\t'); - if (search) content_replaced = content_replaced.replaceAll(search, replace) + if (search) content_replaced = content_replaced.replaceAll(search, replace); }); console.log(`preparing to request tokenization of lyrics: ${content_replaced}`); - const input = encodeURIComponent(content_replaced) - const wo = encodeURIComponent(post_replacements) - const req = new Request(`${req_tokenization_url}?input=${input}&word_overrides=${wo}`, {method: "GET"}) + const input = encodeURIComponent(content_replaced); + const wo = encodeURIComponent(post_replacements); + const req = new Request(`${req_tokenization_url}?input=${input}&word_overrides=${wo}`, {method: "GET"}); // const lines = content_replaced.split('\n'); fetch(req) .then((rsp) => { @@ -69,4 +71,19 @@ function lyrics_input_updated() { }) } // lyrics_input_element.addEventListener('keyup', (event) => {if (update_lyrics_keys.has(event.key)) lyrics_input_updated();}); -lyrics_input_element.addEventListener('change', lyrics_input_updated) +lyrics_input_element.addEventListener('change', lyrics_input_updated); + +function update_output_styles() { + style_lyrics_kanji.style.display = lyrics_output_show_kanji_element.checked ? "inline" : "none"; + style_lyrics_romaji.style.display = lyrics_output_show_romaji_element.checked ? "inline" : "none"; +} + +const stylesheet = document.styleSheets[0]; +console.log(stylesheet.cssRules) +const style_lyrics_kanji = stylesheet.cssRules[stylesheet.insertRule('.lyrics-kanji {display: inline}')]; +const style_lyrics_romaji = stylesheet.cssRules[stylesheet.insertRule('.lyrics-romaji {display: inline}')]; +console.log(style_lyrics_kanji) +console.log(style_lyrics_romaji) +lyrics_output_show_kanji_element.addEventListener('change', update_output_styles); +lyrics_output_show_romaji_element.addEventListener('change', update_output_styles); +update_output_styles(); diff --git a/lyrics/static/lyrics/style.css b/lyrics/static/lyrics/style.css index a4542a3..ef94a4b 100644 --- a/lyrics/static/lyrics/style.css +++ b/lyrics/static/lyrics/style.css @@ -56,3 +56,14 @@ input { margin-top: 0; margin-bottom: 10px; } +.flex-container > div > table h2, +.flex-container > div > table td input, +.flex-container > div > table td label { + margin-top: 0; + margin-bottom: 0; +} + +.lyrics-kanji { + font-size: xx-large; + font-family: Droid Sans Japanese; +} diff --git a/lyrics/templates/lyrics/index.html b/lyrics/templates/lyrics/index.html index bb927fb..6e70adc 100644 --- a/lyrics/templates/lyrics/index.html +++ b/lyrics/templates/lyrics/index.html @@ -62,7 +62,13 @@
-

Lyrics Output

+ + + + + + +

Lyrics Output