const cards = document.querySelector("#cards"); const preview = document.querySelector("#preview"); var certificates = []; const renderCards = () => { cards.innerHTML = ""; certificates.map((cert) => { cards.innerHTML += `
`; }); }; const getCerts = async () => { fetch(window.location.origin + "/api/certs") .then((data) => data.json()) .then((data) => { certificates = data; renderCards(); }) .catch((error) => { console.error("Error fetching certificates:", error); alert("Failed to fetch certificates"); }); }; getCerts(); if (preview) { preview.addEventListener("show.bs.modal", (e) => { const button = e.relatedTarget; const recipient = button.getAttribute("data-bs-whatever"); // const modalBodyTextarea = preview.querySelector(".modal-body textarea"); const dnsnames = button.getAttribute("data-bs-dnsnames"); const notafter = button.getAttribute("data-bs-notafter"); const notbefore = button.getAttribute("data-bs-notbefore"); const issuerorganizationunit = button.getAttribute( "data-bs-issuer-organizationunit", ); const issuerorganization = button.getAttribute( "data-bs-issuer-organization", ); const issuercommonname = button.getAttribute("data-bs-issuer-commonname"); const subjectorganizationunit = button.getAttribute( "data-bs-subject-organizationunit", ); const subjectorganization = button.getAttribute( "data-bs-subject-organization", ); const subjectcommonname = button.getAttribute("data-bs-subject-commonname"); console.log( dnsnames, notafter, notbefore, issuerorganizationunit, issuerorganization, issuercommonname, ); preview.querySelector("#raw").innerHTML = recipient.replace(/\n/g, "