From 9f8dd057f095d397005ffb1d67309e20da86595c Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Sun, 6 Nov 2022 22:52:38 -0800 Subject: [PATCH] Show recently tagged photos using js cards instead of iframe. --- frontends/etiquette_flask/templates/tags.html | 41 ++++++++++++++++--- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/frontends/etiquette_flask/templates/tags.html b/frontends/etiquette_flask/templates/tags.html index 50d212f..46e32d7 100644 --- a/frontends/etiquette_flask/templates/tags.html +++ b/frontends/etiquette_flask/templates/tags.html @@ -17,6 +17,7 @@ {% if theme %}{% endif %} + @@ -256,12 +257,7 @@ {% if specific_tag %}

Recent photos

- +
{% endif %} @@ -276,6 +272,30 @@ const easybake_button = document.getElementById('easybake_button'); const message_area = document.getElementById('message_area'); common.bind_box_to_button(easybake_input, easybake_button, false); +// UI + +function search_recent_photos() +{ + const div = document.getElementById("hierarchy_recentphotos"); + const spinner = div.querySelector(".spinner"); + spinner.classList.remove("hidden"); + function callback(response) + { + spinner.classList.add("hidden"); + const count = response.data.results.length + (response.data.more_after_limit ? "+" : ""); + div.querySelector("h2").prepend(count + " "); + for (const photo of response.data.results) + { + div.append(cards.photos.create(photo, "grid")); + } + } + const parameters = new URLSearchParams(); + parameters.set("tag_musts", SPECIFIC_TAG); + parameters.set("orderby", "tagged_at-desc"); + parameters.set("limit", "20"); + api.photos.search(parameters, callback); +} + // BUTTON HANDLERS function add_child_form(event) @@ -588,5 +608,14 @@ const rename_ed = new editor.Editor( rename_ed_on_save, ); {% endif %} + +function on_pageload() +{ + if (SPECIFIC_TAG) + { + search_recent_photos(); + } +} +document.addEventListener("DOMContentLoaded", on_pageload);