From 6dcac08953bcd11d4a5e7677ee5764d133cedda9 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Tue, 28 Jan 2025 04:40:32 -0500 Subject: [PATCH] add card deletion to all boards --- assets/js/ARBoard.js | 51 +++++++++++++++++++++++++++++++++++++ assets/js/AdminBoard.js | 55 ++++++++++++++++++++++++++++++++++++++++ assets/js/MinterBoard.js | 51 +++++++++++++++++++++++++++++++++++++ 3 files changed, 157 insertions(+) diff --git a/assets/js/ARBoard.js b/assets/js/ARBoard.js index 938a533..45f536a 100644 --- a/assets/js/ARBoard.js +++ b/assets/js/ARBoard.js @@ -726,6 +726,47 @@ const handleRemoveMinterGroupAdmin = async (name, address) => { } } +// ADDED: A simple function to effectively 'delete' an AR Board card +// by publishing an empty card with the same identifier and prefix +const deleteARCard = async (cardIdentifier, prefix) => { + try { + const confirmed = confirm("Are you sure you want to delete this card? This action cannot be undone.") + if (!confirmed) return + + // A minimal blank object + const blankData = { + header: "", + content: "", + links: [], + creator: userState.accountName, + timestamp: Date.now(), + poll: "" // or null. This ensures it won't appear as a valid poll card + } + + let base64Data = await objectToBase64(blankData) + if (!base64Data) { + base64Data = btoa(JSON.stringify(blankData)) + } + + await qortalRequest({ + action: "PUBLISH_QDN_RESOURCE", + name: userState.accountName, + service: "BLOG_POST", // same as all ARBoard content + identifier: cardIdentifier, + data64: base64Data, + }) + + alert("Your card has been effectively deleted.") + + // Now reload the existing ARBoard cards so the UI no longer shows the old card + await loadCards(prefix) + + } catch (error) { + console.error("Error deleting AR card:", error) + alert("Failed to delete the card. Check console for details.") + } +} + const fallbackMinterCheck = async (minterName, minterGroupMembers, minterAdmins) => { // Ensure we have addresses if (!minterGroupMembers) { @@ -924,6 +965,16 @@ const createARCardHTML = async (cardData, pollResults, cardIdentifier, commentCo + ${creator === userState.accountName ? ` +
+ +
+ ` : ''} + ${creator === userState.accountName ? ` +
+ +
+ ` : ''} + ${creator === userState.accountName ? ` +
+ +
+ ` : ''}