From fd46852736c377bf8f161fab7a422adee25b9440 Mon Sep 17 00:00:00 2001 From: Jakob L. Kreuze Date: Sat, 5 Aug 2023 14:16:02 -0400 Subject: [dynamic] Re-implement gallery using SSR --- haunt/static/js/gallery.js | 66 ---------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 haunt/static/js/gallery.js (limited to 'haunt/static') diff --git a/haunt/static/js/gallery.js b/haunt/static/js/gallery.js deleted file mode 100644 index 038340c..0000000 --- a/haunt/static/js/gallery.js +++ /dev/null @@ -1,66 +0,0 @@ -/* - * gallery.js -- Simple web-based gallery viewer. - * Copyright © 2022 - 2023 Jakob L. Kreuze - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * . - */ - -// Immediately send off an XHR to load info from the backend. -const urlParams = new URLSearchParams(window.location.search); -if (!urlParams.get("g")) { - document.getElementById("loading").remove(); - let elem = document.createElement("p"); - elem.innerHTML = "No gallery code provided."; - document.getElementById("gallery-container").appendChild(elem); -} else { - let xhr = new XMLHttpRequest(); - xhr.open("GET", `${location.protocol}//${location.host}/api/gallery?g=${urlParams.get("g")}`); - xhr.send(); - xhr.onload = function(data) { - document.getElementById("loading").remove(); - if (xhr.status != 200) { - let elem = document.createElement("p"); - elem.innerHTML = "Invalid gallery code."; - document.getElementById("gallery-container").appendChild(elem); - } else { - let response = JSON.parse(xhr.response); - - let elem = document.createElement("h1"); - elem.innerHTML = response.info.title; - document.getElementById("gallery-container").appendChild(elem); - - elem = document.createElement("h3"); - elem.innerHTML = response.info.description; - document.getElementById("gallery-container").appendChild(elem); - - let imagesContainer = document.createElement("div"); - document.getElementById("gallery-container").appendChild(imagesContainer); - - for (let image of response.images) { - elem = document.createElement("a"); - elem.href = `${location.protocol}//${location.host}/static-ext/${image.filename}`; - let thumb = document.createElement("img"); - thumb.src = `${location.protocol}//${location.host}/static-ext/${image.thumbnail}`; - thumb.alt = `${image.title}`; - thumb.title = `${image.title} - ${image.datetime}`; - elem.appendChild(thumb); - imagesContainer.appendChild(elem); - } - } - } - xhr.onerror = function(error) { - throw new Error(`Request failed: ${error}`); - } -} -- cgit v1.3