diff --git a/tunictracker/tracker/static/tracker/assets/refresh.js b/tunictracker/tracker/static/tracker/assets/refresh.js index 1b13960..e19a439 100644 --- a/tunictracker/tracker/static/tracker/assets/refresh.js +++ b/tunictracker/tracker/static/tracker/assets/refresh.js @@ -20,22 +20,11 @@ window.onload = () => { ); }; -function banana(event) { - show_breakdown(event.dataset.scene); -} - -function show_breakdown(scene) { - console.log(scene); +function open_breakdown(event) { + let scene = event.dataset.scene; Array.from(document.getElementById("breakdown-list").children).forEach( (breakdown) => { if (breakdown.id == `${scene}-breakdown`) { - console.log( - `${ - document - .getElementById("breakdown-current") - .querySelector(".breakdown-block-title").textContent - }, ${scene}` - ); if ( !( document @@ -52,6 +41,28 @@ function show_breakdown(scene) { ); } +function hide_empty_summaries() { + let summary_divs = + document.getElementById("summary-list").firstElementChild.children; + Array.from(summary_divs).forEach((summary) => { + let checks_undiscovered = + summary.querySelector(".summary-checks").dataset.checksUndiscovered; + let entrances_undiscovered = + summary.querySelector(".summary-entrances").dataset.entrancesUndiscovered; + if ( + !( + summary.querySelector(".summary-title").textContent == "Posterity" || + summary.querySelector(".summary-title").textContent == "Resurrection" + ) && + (checks_undiscovered <= 0 && + entrances_undiscovered <= 0) + ) { + console.log(`${checks_undiscovered} and ${entrances_undiscovered}`) + summary.classList.toggle("hidden"); + } + }); +} + function notices_ur_debug() { document.getElementById("debug-block").classList.toggle("hidden"); } @@ -140,18 +151,14 @@ async function refresh_elements(cross_codes) { let summary_block = document .getElementById("summary-list") .firstElementChild.firstElementChild.cloneNode(true); - summary_block.id = ""; let breakdown_block = document .getElementById("breakdown-list") .firstElementChild.cloneNode(true); breakdown_block.id = ""; - let cross_codes_block = document - .getElementById("breakdown-list") - .firstElementChild.querySelector(".codes-block") - .cloneNode(true); breakdown_block.classList.remove("hidden"); let debug_item = document .getElementById("debug-block") + .querySelector(".debug-list") .firstElementChild.cloneNode(true); debug_item.classList.remove("hidden"); let new_breakdown_list = document @@ -162,6 +169,7 @@ async function refresh_elements(cross_codes) { .cloneNode(true); let new_debug_block = document .getElementById("debug-block") + .querySelector(".debug-list") .cloneNode(true); let current_open_breakdown = ""; Array.from(new_breakdown_list.children).forEach((scene) => { @@ -222,22 +230,10 @@ async function refresh_elements(cross_codes) { .querySelector(".breakdown-block-mapped-list") .firstElementChild.cloneNode(true); - cross_codes_block = document - .getElementById("breakdown-list") - .firstElementChild.querySelector(".codes-block") - .cloneNode(true); - let new_cross_codes_block_list = cross_codes_block - .querySelector(".codes-list") - .cloneNode(true); - let cross_codes_block_list_item = cross_codes_block - .querySelector(".codes-list") - .firstElementChild.cloneNode(true); - // Clear out current list content. new_breakdown_block_checks_list.innerHTML = ""; new_breakdown_block_entrances_list.innerHTML = ""; new_breakdown_block_mapped_list.innerHTML = ""; - new_cross_codes_block_list.innerHTML = ""; new_breakdown_block_checks_list.appendChild( breakdown_block_checks_list_item.cloneNode(true) ); @@ -263,7 +259,12 @@ async function refresh_elements(cross_codes) { // Set textContent. summary_title.textContent = scene; summary_checks.textContent = `Checks: ${scene_checks_undiscovered}/${scene_checks_total}`; + summary_checks.dataset.checksUndiscovered = scene_checks_undiscovered; + summary_checks.dataset.checksTotal = scene_checks_undiscovered; summary_entrances.textContent = `Entrances: ${scene_entrances_undiscovered}/${scene_entrances_total}`; + summary_entrances.dataset.entrancesUndiscovered = + scene_entrances_undiscovered; + summary_entrances.dataset.entrancesTotal = scene_entrances_total; breakdown_block_title.textContent = scene; breakdown_block_checks_title.textContent = `Checks: ${all_scenes[scene].Totals.Checks.Undiscovered}/${all_scenes[scene].Totals.Checks.Total}`; breakdown_block_entrances_title.textContent = `Entrances: ${all_scenes[scene].Totals.Entrances.Undiscovered}/${all_scenes[scene].Totals.Entrances.Total}`; @@ -288,71 +289,11 @@ async function refresh_elements(cross_codes) { breakdown_block_mapped_list_item.id = `${entrances}-mapped`; breakdown_block_mapped_list_item.dataset.scene = all_scenes[scene].Entrances[entrances].Scene; - // breakdown_block_mapped_list_item.onclick = () => { - // show_breakdown(all_scenes[scene].Entrances[entrances].Scene); - // }; new_breakdown_block_mapped_list.appendChild( breakdown_block_mapped_list_item.cloneNode(true) ); } }); - Object.keys(default_cross_codes).forEach((code) => { - cross_codes_block_list_item.querySelector( - ".codes-list-item-title" - ).textContent = code; - cross_codes_block_list_item.querySelector( - ".codes-list-item-code" - ).textContent = default_cross_codes[code] - .replace(/U/g, "⬆️") - .replace(/R/g, "➡️") - .replace(/D/g, "⬇️") - .replace(/L/g, "⬅️"); - new_cross_codes_block_list.appendChild( - cross_codes_block_list_item.cloneNode(true) - ); - }); - Object.keys(global_cross_codes).forEach((code) => { - cross_codes_block_list_item.querySelector( - ".codes-list-item-title" - ).textContent = code; - cross_codes_block_list_item.querySelector( - ".codes-list-item-code" - ).textContent = global_cross_codes[code] - .replace(/U/g, "⬆️") - .replace(/R/g, "➡️") - .replace(/D/g, "⬇️") - .replace(/L/g, "⬅️"); - if (cross_codes_entered.Global[code]) { - cross_codes_block_list_item.classList.add("hidden"); - } else { - cross_codes_block_list_item.classList.remove("hidden"); - } - new_cross_codes_block_list.appendChild( - cross_codes_block_list_item.cloneNode(true) - ); - }); - if (scene_has_codes) { - Object.keys(cross_codes[scene]).forEach((code) => { - cross_codes_block_list_item.querySelector( - ".codes-list-item-title" - ).textContent = code; - cross_codes_block_list_item.querySelector( - ".codes-list-item-code" - ).textContent = cross_codes[scene][code] - .replace(/U/g, "⬆️") - .replace(/R/g, "➡️") - .replace(/D/g, "⬇️") - .replace(/L/g, "⬅️"); - if (cross_codes_entered[scene][code]) { - cross_codes_block_list_item.classList.add("hidden"); - } else { - cross_codes_block_list_item.classList.remove("hidden"); - } - new_cross_codes_block_list.appendChild( - cross_codes_block_list_item.cloneNode(true) - ); - }); - } // Apply color coding to summary block summary_block.firstElementChild.classList.remove( @@ -422,17 +363,10 @@ async function refresh_elements(cross_codes) { breakdown_block .querySelector(".breakdown-block-mapped-list") .replaceWith(new_breakdown_block_mapped_list); - breakdown_block.querySelector(".codes-block").classList.add("hidden"); - breakdown_block - .querySelector(".codes-list") - .replaceWith(new_cross_codes_block_list); breakdown_block.id = `${ breakdown_block.querySelector(".breakdown-block-title").textContent }-breakdown`; - summary_block.id = `${ - summary_block.querySelector(".summary-title").textContent - }-summary`; breakdown_block.classList.add("hidden"); // Append relevant elements to lists. @@ -442,29 +376,103 @@ async function refresh_elements(cross_codes) { if (scene == current_scene_name) { summary_block.classList.add("hidden"); breakdown_block.classList.remove("hidden"); - breakdown_block - .querySelector(".codes-block") - .classList.remove("hidden"); document .getElementById("breakdown-current") .firstElementChild.replaceWith(breakdown_block.cloneNode(true)); breakdown_block.classList.add("hidden"); - breakdown_block - .querySelector(".codes-block") - .classList.add("hidden"); } else if ( scene_checks_undiscovered <= 0 && scene_entrances_total <= 0 ) { summary_block.classList.add("hidden"); } + if (document.getElementById("hideDone").checked) { + if ( + scene_checks_undiscovered <= 0 && + scene_entrances_undiscovered <= 0 + ) { + summary_block.classList.add("hidden"); + } + } + summary_block.dataset.scene = scene; new_summary_list.firstElementChild.appendChild( summary_block.cloneNode(true) ); new_breakdown_list.appendChild(breakdown_block.cloneNode(true)); }); + let new_cross_codes_block_list = document + .getElementById("codes-list") + .cloneNode(true); + let cross_codes_block_list_item = document + .getElementById("codes-list") + .firstElementChild.cloneNode(true); + new_cross_codes_block_list.innerHTML = ""; + + Object.keys(default_cross_codes).forEach((code) => { + cross_codes_block_list_item.querySelector( + ".codes-list-item-title" + ).textContent = code; + cross_codes_block_list_item.querySelector( + ".codes-list-item-code" + ).textContent = default_cross_codes[code] + .replace(/U/g, "⬆️") + .replace(/R/g, "➡️") + .replace(/D/g, "⬇️") + .replace(/L/g, "⬅️"); + new_cross_codes_block_list.appendChild( + cross_codes_block_list_item.cloneNode(true) + ); + }); + Object.keys(global_cross_codes).forEach((code) => { + cross_codes_block_list_item.querySelector( + ".codes-list-item-title" + ).textContent = code; + cross_codes_block_list_item.querySelector( + ".codes-list-item-code" + ).textContent = global_cross_codes[code] + .replace(/U/g, "⬆️") + .replace(/R/g, "➡️") + .replace(/D/g, "⬇️") + .replace(/L/g, "⬅️"); + if (cross_codes_entered.Global[code]) { + cross_codes_block_list_item.classList.add("hidden"); + } else { + cross_codes_block_list_item.classList.remove("hidden"); + } + new_cross_codes_block_list.appendChild( + cross_codes_block_list_item.cloneNode(true) + ); + }); + if (!(typeof cross_codes[current_scene_name] === "undefined")) { + Object.keys(cross_codes[current_scene_name]).forEach((code) => { + cross_codes_block_list_item.querySelector( + ".codes-list-item-title" + ).textContent = code; + cross_codes_block_list_item.querySelector( + ".codes-list-item-code" + ).textContent = cross_codes[current_scene_name][code] + .replace(/U/g, "⬆️") + .replace(/R/g, "➡️") + .replace(/D/g, "⬇️") + .replace(/L/g, "⬅️"); + if (cross_codes_entered[current_scene_name][code]) { + cross_codes_block_list_item.classList.add("hidden"); + } else { + cross_codes_block_list_item.classList.remove("hidden"); + } + new_cross_codes_block_list.appendChild( + cross_codes_block_list_item.cloneNode(true) + ); + }); + } + document + .getElementById("codes-list") + .replaceWith(new_cross_codes_block_list); + Object.keys(debug_info).forEach((item) => { - debug_item.textContent = `${item}: ${debug_info[item]}`; + debug_item.querySelector( + ".debug-item" + ).textContent = `${item}: ${debug_info[item]}`; new_debug_block.appendChild(debug_item.cloneNode(true)); }); @@ -477,13 +485,8 @@ async function refresh_elements(cross_codes) { .replaceWith(new_breakdown_list.cloneNode(true)); document .getElementById("debug-block") + .querySelector(".debug-list") .replaceWith(new_debug_block.cloneNode(true)); - - Object.keys(all_scenes).forEach((scene) => { - document.getElementById(`${scene}-summary`).onclick = () => { - show_breakdown(scene); - }; - }); }, (error) => { document.getElementById("status-block").classList.remove("hidden"); diff --git a/tunictracker/tracker/templates/tracker/breakdown/block.html b/tunictracker/tracker/templates/tracker/breakdown/block.html index 1a6e46e..052d05a 100644 --- a/tunictracker/tracker/templates/tracker/breakdown/block.html +++ b/tunictracker/tracker/templates/tracker/breakdown/block.html @@ -50,13 +50,13 @@
+ onclick="open_breakdown(this)"> {% for entrance_origin, entrance_destination in scene_data.Entrances.items %} {% if entrance_destination %} @@ -64,7 +64,6 @@ {% endfor %}
- {% include "tracker/codes/index.html" %}
diff --git a/tunictracker/tracker/templates/tracker/codes/index.html b/tunictracker/tracker/templates/tracker/codes/index.html index 740b68d..78acca9 100644 --- a/tunictracker/tracker/templates/tracker/codes/index.html +++ b/tunictracker/tracker/templates/tracker/codes/index.html @@ -1,8 +1,8 @@ -
+
Holy Cross Codes
-
    +
    {% for name, code in default_codes.items %} {% include "tracker/codes/block.html" with is_entered=False %} {% endfor %} @@ -17,6 +17,6 @@ {% endfor %} {% endif %} {% endfor %} -
+
diff --git a/tunictracker/tracker/templates/tracker/index.html b/tunictracker/tracker/templates/tracker/index.html index 7801a62..62411d3 100644 --- a/tunictracker/tracker/templates/tracker/index.html +++ b/tunictracker/tracker/templates/tracker/index.html @@ -53,13 +53,14 @@
{% include "tracker/breakdown/block.html" with scene_title=current_scene.title scene_data=current_scene.data %}
+ {% include "tracker/codes/index.html" %}
Settings {% include "tracker/settings/index.html" %} {% include "tracker/address/index.html" %}
- @@ -85,17 +86,16 @@