From 476a5d0be5eef9e3dca3ef9a13dde3f52b94f9df Mon Sep 17 00:00:00 2001 From: katniny Date: Thu, 12 Sep 2024 17:48:23 -0600 Subject: [PATCH] Prevent notes from being viewed through quotes or directly when deleted --- assets/js/ts_fas_acih.js | 539 +++++++++++++++++++++++---------------- updates.html | 8 + 2 files changed, 331 insertions(+), 216 deletions(-) diff --git a/assets/js/ts_fas_acih.js b/assets/js/ts_fas_acih.js index e957595..8438506 100644 --- a/assets/js/ts_fas_acih.js +++ b/assets/js/ts_fas_acih.js @@ -29,7 +29,7 @@ const pathName = pageURL.pathname; let isOnDesktopApp = null; // TransSocial Version -let transsocialVersion = "v2024.9.7"; +let transsocialVersion = "v2024.9.12"; let transsocialReleaseVersion = "pre-alpha"; const notices = document.getElementsByClassName("version-notice"); @@ -1916,13 +1916,57 @@ if (pathName === "/home" || pathName === "/home.html" || pathName === "/u" || pa firebase.database().ref(`notes/${noteContent.quoting}`).once("value", (snapshot) => { const quoteData = snapshot.val(); - firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { - const quoteUser = snapshot.val(); + if (quoteData.isDeleted !== true) { + firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { + const quoteUser = snapshot.val(); + const quotePfp = document.createElement("img"); + quotePfp.classList.add("quotePfp"); + quotePfp.setAttribute("draggable", "false"); + quotePfp.src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; + + const quoteContent = document.createElement("div"); + quoteContent.classList.add("quoteContent"); + + const quoteHeader = document.createElement("div"); + quoteHeader.classList.add("quoteHeader"); + + const quoteDisplay = document.createElement("span"); + quoteDisplay.classList.add("quoteDisplay"); + quoteDisplay.textContent = quoteUser.display; + + const quoteUsername = document.createElement("span"); + quoteUsername.classList.add("quoteUsername"); + if (quoteUser.pronouns !== undefined || quoteUser.pronouns !== "") { + quoteUsername.textContent = `@${quoteUser.username} • ${quoteUser.pronouns}`; + } else { + quoteUsername.textContent = `@${quoteUser.username}`; + } + + const quoteText = document.createElement("span"); + quoteText.classList.add("quoteText"); + let content = sanitizeAndLinkify(quoteData.text); + if (content.length > 247) { // check length + content = content.substring(0, 247) + "..."; + } + quoteText.innerHTML = content; + + container.appendChild(quotePfp); + container.appendChild(quoteContent); + quoteHeader.appendChild(quoteDisplay); + quoteHeader.appendChild(quoteUsername); + quoteContent.appendChild(quoteHeader); + quoteContent.appendChild(quoteText); + twemoji.parse(quoteText, { + folder: 'svg', + ext: '.svg' + }); + }) + } else { const quotePfp = document.createElement("img"); quotePfp.classList.add("quotePfp"); quotePfp.setAttribute("draggable", "false"); - quotePfp.src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; + quotePfp.src = `/assets/imgs/defaultPfp.png`; const quoteContent = document.createElement("div"); quoteContent.classList.add("quoteContent"); @@ -1932,23 +1976,16 @@ if (pathName === "/home" || pathName === "/home.html" || pathName === "/u" || pa const quoteDisplay = document.createElement("span"); quoteDisplay.classList.add("quoteDisplay"); - quoteDisplay.textContent = quoteUser.display; + quoteDisplay.textContent = "Unknown User"; const quoteUsername = document.createElement("span"); quoteUsername.classList.add("quoteUsername"); - if (quoteUser.pronouns !== undefined || quoteUser.pronouns !== "") { - quoteUsername.textContent = `@${quoteUser.username} • ${quoteUser.pronouns}`; - } else { - quoteUsername.textContent = `@${quoteUser.username}`; - } + quoteUsername.textContent = `@unknownuser`; + const quoteText = document.createElement("span"); quoteText.classList.add("quoteText"); - let content = sanitizeAndLinkify(quoteData.text); - if (content.length > 247) { // check length - content = content.substring(0, 247) + "..."; - } - quoteText.innerHTML = content; + quoteText.textContent = "You do not have permission to view this note."; container.appendChild(quotePfp); container.appendChild(quoteContent); @@ -1956,11 +1993,7 @@ if (pathName === "/home" || pathName === "/home.html" || pathName === "/u" || pa quoteHeader.appendChild(quoteUsername); quoteContent.appendChild(quoteHeader); quoteContent.appendChild(quoteText); - twemoji.parse(quoteText, { - folder: 'svg', - ext: '.svg' - }); - }) + } }) } @@ -2961,56 +2994,88 @@ if (pathName === "/u.html" || pathName === "/u") { container.classList.add("quoteContainer"); container.setAttribute("onclick", `window.location.replace("/note?id=${noteContent.quoting}")`); noteDiv.appendChild(container); - + firebase.database().ref(`notes/${noteContent.quoting}`).once("value", (snapshot) => { const quoteData = snapshot.val(); - - firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { - const quoteUser = snapshot.val(); - + + if (quoteData.isDeleted !== true) { + firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { + const quoteUser = snapshot.val(); + + const quotePfp = document.createElement("img"); + quotePfp.classList.add("quotePfp"); + quotePfp.setAttribute("draggable", "false"); + quotePfp.src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; + + const quoteContent = document.createElement("div"); + quoteContent.classList.add("quoteContent"); + + const quoteHeader = document.createElement("div"); + quoteHeader.classList.add("quoteHeader"); + + const quoteDisplay = document.createElement("span"); + quoteDisplay.classList.add("quoteDisplay"); + quoteDisplay.textContent = quoteUser.display; + + const quoteUsername = document.createElement("span"); + quoteUsername.classList.add("quoteUsername"); + if (quoteUser.pronouns !== undefined || quoteUser.pronouns !== "") { + quoteUsername.textContent = `@${quoteUser.username} • ${quoteUser.pronouns}`; + } else { + quoteUsername.textContent = `@${quoteUser.username}`; + } + + const quoteText = document.createElement("span"); + quoteText.classList.add("quoteText"); + let content = sanitizeAndLinkify(quoteData.text); + if (content.length > 247) { // check length + content = content.substring(0, 247) + "..."; + } + quoteText.innerHTML = content; + + container.appendChild(quotePfp); + container.appendChild(quoteContent); + quoteHeader.appendChild(quoteDisplay); + quoteHeader.appendChild(quoteUsername); + quoteContent.appendChild(quoteHeader); + quoteContent.appendChild(quoteText); + twemoji.parse(quoteText, { + folder: 'svg', + ext: '.svg' + }); + }) + } else { const quotePfp = document.createElement("img"); quotePfp.classList.add("quotePfp"); quotePfp.setAttribute("draggable", "false"); - quotePfp.src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; - + quotePfp.src = `/assets/imgs/defaultPfp.png`; + const quoteContent = document.createElement("div"); quoteContent.classList.add("quoteContent"); - + const quoteHeader = document.createElement("div"); quoteHeader.classList.add("quoteHeader"); - + const quoteDisplay = document.createElement("span"); quoteDisplay.classList.add("quoteDisplay"); - quoteDisplay.textContent = quoteUser.display; - + quoteDisplay.textContent = "Unknown User"; + const quoteUsername = document.createElement("span"); quoteUsername.classList.add("quoteUsername"); - if (quoteUser.pronouns !== undefined || quoteUser.pronouns !== "") { - quoteUsername.textContent = `@${quoteUser.username} • ${quoteUser.pronouns}`; - } else { - quoteUsername.textContent = `@${quoteUser.username}`; - } - + quoteUsername.textContent = `@unknownuser`; + + const quoteText = document.createElement("span"); quoteText.classList.add("quoteText"); - quoteText.innerHTML = sanitizeAndLinkify(quoteData.text); - let content = sanitizeAndLinkify(quoteData.text); - if (content.length > 247) { // check length - content = content.substring(0, 247) + "..."; - } - quoteText.innerHTML = content; - + quoteText.textContent = "You do not have permission to view this note."; + container.appendChild(quotePfp); container.appendChild(quoteContent); quoteHeader.appendChild(quoteDisplay); quoteHeader.appendChild(quoteUsername); quoteContent.appendChild(quoteHeader); quoteContent.appendChild(quoteText); - twemoji.parse(text, { - folder: 'svg', - ext: '.svg' - }); - }) + } }) } @@ -3483,172 +3548,181 @@ if (pathName === "/note.html" || pathName === "/note") { uniNoteId_notehtml = noteData.id; - if (noteData.user !== null && noteData.replyingTo === undefined) { - document.getElementById("melissa").style.display = "block"; - document.getElementById("noteNotFound").style.display = "none"; - - document.getElementById("quoteRenoteButton").setAttribute("onclick", `quoteRenote("${noteData.id}")`); - if (noteData.quoting) { - firebase.database().ref(`notes/${noteData.quoting}`).once("value", (snapshot) => { - const quoteData = snapshot.val(); - - firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { - const quoteUser = snapshot.val(); - - document.getElementById("noteQuotePfp").src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; - document.getElementById("noteQuoteDisplay").textContent = quoteUser.display; - document.getElementById("noteQuoteUsername").textContent = `@${quoteUser.username}`; - document.getElementById("noteQuoteText").innerHTML = sanitizeAndLinkify(quoteData.text); - let content = sanitizeAndLinkify(quoteData.text); - if (content.length > 247) { // check length - content = content.substring(0, 247) + "..."; - } - document.getElementById("noteQuoteText").innerHTML = content; - twemoji.parse(document.getElementById("noteQuoteText"), { - folder: 'svg', - ext: '.svg' - }); + if (noteData.isDeleted !== true) { + if (noteData.user !== null && noteData.replyingTo === undefined) { + document.getElementById("melissa").style.display = "block"; + document.getElementById("noteNotFound").style.display = "none"; - document.getElementById("quotingNote_note").setAttribute("onclick", `window.location.href="/note?id=${quoteData.id}"`); - }) - }) - } else { - document.getElementById("quotingNote_note").style.display = "none"; - } + document.getElementById("quoteRenoteButton").setAttribute("onclick", `quoteRenote("${noteData.id}")`); + if (noteData.quoting) { + firebase.database().ref(`notes/${noteData.quoting}`).once("value", (snapshot) => { + const quoteData = snapshot.val(); - // check if music - if (noteData.music) { - document.getElementById("songEmbed").src = `https://open.spotify.com/embed/track/${noteData.music}`; - } else { - document.getElementById("songEmbed").remove(); - } + if (quoteData.isDeleted !== true) { + firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { + const quoteUser = snapshot.val(); - // check for favorites - // also make the favorite button do smth - document.getElementById("favoriteButton").setAttribute("onclick", `favoriteNoteView("${noteData.id}")`); + document.getElementById("noteQuotePfp").src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; + document.getElementById("noteQuoteDisplay").textContent = quoteUser.display; + document.getElementById("noteQuoteUsername").textContent = `@${quoteUser.username}`; + document.getElementById("noteQuoteText").innerHTML = sanitizeAndLinkify(quoteData.text); + let content = sanitizeAndLinkify(quoteData.text); + if (content.length > 247) { // check length + content = content.substring(0, 247) + "..."; + } + document.getElementById("noteQuoteText").innerHTML = content; + twemoji.parse(document.getElementById("noteQuoteText"), { + folder: 'svg', + ext: '.svg' + }); - firebase.auth().onAuthStateChanged((user) => { - if (user) { - firebase.database().ref(`users/${user.uid}/favorites/${noteData.id}`).once("value", (snapshot) => { - if (snapshot.exists()) { - document.getElementById("favoriteButton_icon").style.color = "var(--main-color)"; + document.getElementById("quotingNote_note").setAttribute("onclick", `window.location.href="/note?id=${quoteData.id}"`); + }) + } else { + document.getElementById("noteQuotePfp").src = `/assets/imgs/defaultPfp.png`; + document.getElementById("noteQuoteDisplay").textContent = "Unknown User"; + document.getElementById("noteQuoteUsername").textContent = `@unknownuser`; + document.getElementById("noteQuoteText").innerHTML = "You do not have permission to view this note."; } - }); + }) + } else { + document.getElementById("quotingNote_note").style.display = "none"; } - }); - database.ref(`users/${noteData.whoSentIt}`).once("value", (snapshot) => { - const profileData = snapshot.val(); - document.title = `"${noteData.text}" / @${profileData.username} on TransSocial`; - document.getElementById(`melissa`).style.display = "block"; - document.getElementById(`userImage-profile`).src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${noteData.whoSentIt}%2F${profileData.pfp}?alt=media`; - document.getElementById(`userImage-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); - document.getElementById(`display-profile`).textContent = profileData.display; - document.getElementById(`display-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); - const verifiedBadge = document.createElement("span"); - if (profileData.isVerified === true) { - verifiedBadge.innerHTML = ``; - verifiedBadge.classList.add("noteBadges"); - verifiedBadge.style.marginLeft = "7px"; - } - if (profileData.isSubscribed === true) { - verifiedBadge.innerHTML = `${verifiedBadge.innerHTML}` - } - if (profileData.activeContributor === true) { - verifiedBadge.innerHTML = `${verifiedBadge.innerHTML}`; - } - document.getElementById("display-profile").appendChild(verifiedBadge); - document.getElementById(`username-profile`).textContent = `@${profileData.username}`; - document.getElementById(`username-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); - if (profileData.pronouns === undefined || profileData.pronouns === null || profileData.pronouns === "") { - document.getElementById(`pronouns-profile`).remove(); + // check if music + if (noteData.music) { + document.getElementById("songEmbed").src = `https://open.spotify.com/embed/track/${noteData.music}`; } else { - document.getElementById(`pronouns-profile`).textContent = profileData.pronouns; - document.getElementById(`pronouns-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); + document.getElementById("songEmbed").remove(); } - document.getElementById("noteContent").innerHTML = sanitizeAndLinkify(noteData.text); - twemoji.parse(document.getElementById("noteContent"), { - folder: 'svg', - ext: '.svg' - }); - document.getElementById("likeButton").innerHTML = ` ${noteData.likes}`; - document.getElementById("renoteButton").innerHTML = ` ${noteData.renotes}`; + // check for favorites + // also make the favorite button do smth + document.getElementById("favoriteButton").setAttribute("onclick", `favoriteNoteView("${noteData.id}")`); - if (noteData.image) { - let imageFileName = noteData.image; - let imageExtension = imageFileName.split(".").pop(); - const url = imageExtension; - const cleanUrl = url.split('?')[0]; + firebase.auth().onAuthStateChanged((user) => { + if (user) { + firebase.database().ref(`users/${user.uid}/favorites/${noteData.id}`).once("value", (snapshot) => { + if (snapshot.exists()) { + document.getElementById("favoriteButton_icon").style.color = "var(--main-color)"; + } + }); + } + }); - if (cleanUrl === "mp4") { - document.getElementById("uploadedVideo-main").src = noteData.image; - document.getElementById("uploadedVideo-main").setAttribute("alt", `${noteData.alt}`); - firebase.auth().onAuthStateChanged((user) => { - if (user) { - firebase.database().ref(`users/${user.uid}/autoplayVideos`).once("value", (snapshot) => { - const evenExists = snapshot.exists(); - const pref = snapshot.val(); + database.ref(`users/${noteData.whoSentIt}`).once("value", (snapshot) => { + const profileData = snapshot.val(); + document.title = `"${noteData.text}" / @${profileData.username} on TransSocial`; + document.getElementById(`melissa`).style.display = "block"; + document.getElementById(`userImage-profile`).src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${noteData.whoSentIt}%2F${profileData.pfp}?alt=media`; + document.getElementById(`userImage-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); + document.getElementById(`display-profile`).textContent = profileData.display; + document.getElementById(`display-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); + const verifiedBadge = document.createElement("span"); + if (profileData.isVerified === true) { + verifiedBadge.innerHTML = ``; + verifiedBadge.classList.add("noteBadges"); + verifiedBadge.style.marginLeft = "7px"; + } + if (profileData.isSubscribed === true) { + verifiedBadge.innerHTML = `${verifiedBadge.innerHTML}` + } + if (profileData.activeContributor === true) { + verifiedBadge.innerHTML = `${verifiedBadge.innerHTML}`; + } + document.getElementById("display-profile").appendChild(verifiedBadge); + document.getElementById(`username-profile`).textContent = `@${profileData.username}`; + document.getElementById(`username-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); + if (profileData.pronouns === undefined || profileData.pronouns === null || profileData.pronouns === "") { + document.getElementById(`pronouns-profile`).remove(); + } else { + document.getElementById(`pronouns-profile`).textContent = profileData.pronouns; + document.getElementById(`pronouns-profile`).setAttribute("onclick", `window.location.href="/u?id=${profileData.username}"`); + } - if (evenExists === true) { - if (pref === "true") { - // :p - } else if (pref === false) { - document.getElementById("uploadedVideo-main").pause(); + document.getElementById("noteContent").innerHTML = sanitizeAndLinkify(noteData.text); + twemoji.parse(document.getElementById("noteContent"), { + folder: 'svg', + ext: '.svg' + }); + document.getElementById("likeButton").innerHTML = ` ${noteData.likes}`; + document.getElementById("renoteButton").innerHTML = ` ${noteData.renotes}`; + + if (noteData.image) { + let imageFileName = noteData.image; + let imageExtension = imageFileName.split(".").pop(); + const url = imageExtension; + const cleanUrl = url.split('?')[0]; + + if (cleanUrl === "mp4") { + document.getElementById("uploadedVideo-main").src = noteData.image; + document.getElementById("uploadedVideo-main").setAttribute("alt", `${noteData.alt}`); + firebase.auth().onAuthStateChanged((user) => { + if (user) { + firebase.database().ref(`users/${user.uid}/autoplayVideos`).once("value", (snapshot) => { + const evenExists = snapshot.exists(); + const pref = snapshot.val(); + + if (evenExists === true) { + if (pref === "true") { + // :p + } else if (pref === false) { + document.getElementById("uploadedVideo-main").pause(); + } else { + // :p + } } else { // :p } - } else { - // :p - } - }) - } else { - // :p - } - }) - document.getElementById("uploadedImg-main").remove(); + }) + } else { + // :p + } + }) + document.getElementById("uploadedImg-main").remove(); + } else { + document.getElementById("uploadedImg-main").src = noteData.image; + document.getElementById("uploadedImg-main").setAttribute("alt", `${noteData.alt}`); + document.getElementById("uploadedVideo-main").remove(); + } } else { - document.getElementById("uploadedImg-main").src = noteData.image; - document.getElementById("uploadedImg-main").setAttribute("alt", `${noteData.alt}`); + document.getElementById("uploadedImg-main").remove(); document.getElementById("uploadedVideo-main").remove(); } - } else { - document.getElementById("uploadedImg-main").remove(); - document.getElementById("uploadedVideo-main").remove(); - } - firebase.auth().onAuthStateChanged((user) => { - if (user) { - const uid = user.uid; + firebase.auth().onAuthStateChanged((user) => { + if (user) { + const uid = user.uid; - if (noteData.whoLiked && noteData.whoLiked[uid]) { - document.getElementById("likeButton").classList.add("liked"); + if (noteData.whoLiked && noteData.whoLiked[uid]) { + document.getElementById("likeButton").classList.add("liked"); + } else { + document.getElementById("likeButton").classList.remove("liked"); + } + + if (noteData.whoRenoted && noteData.whoRenoted[uid]) { + document.getElementById("renoteButton").classList.add("renoted"); + } else { + document.getElementById("renoteButton").classList.remove("renoted"); + } } else { document.getElementById("likeButton").classList.remove("liked"); } + }) - if (noteData.whoRenoted && noteData.whoRenoted[uid]) { - document.getElementById("renoteButton").classList.add("renoted"); - } else { - document.getElementById("renoteButton").classList.remove("renoted"); - } - } else { - document.getElementById("likeButton").classList.remove("liked"); - } }) + } else if (noteData === undefined) { + document.getElementById("melissa").style.display = "none"; + } else if (noteData.replyingTo !== undefined) { + window.location.replace(`/note?id=${noteData.replyingTo}`); + } else { + document.getElementById("melissa").style.display = "none"; + } - }) - } else if (noteData === undefined) { - document.getElementById("melissa").style.display = "none"; - } else if (noteData.replyingTo !== undefined) { - window.location.replace(`/note?id=${noteData.replyingTo}`); - } else { - document.getElementById("melissa").style.display = "none"; - } - - if (userParam === "" || userParam === "undefined") { - document.getElementById("melissa").style.display = "none"; - document.getElementById("noteNotFound").style.display = "block"; + if (userParam === "" || userParam === "undefined") { + document.getElementById("melissa").style.display = "none"; + document.getElementById("noteNotFound").style.display = "block"; + } } }) @@ -7724,55 +7798,88 @@ if (pathName === "/search") { container.classList.add("quoteContainer"); container.setAttribute("onclick", `window.location.replace("/note?id=${noteContent.quoting}")`); noteDiv.appendChild(container); - + firebase.database().ref(`notes/${noteContent.quoting}`).once("value", (snapshot) => { const quoteData = snapshot.val(); - - firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { - const quoteUser = snapshot.val(); - + + if (quoteData.isDeleted !== true) { + firebase.database().ref(`users/${quoteData.whoSentIt}`).once("value", (snapshot) => { + const quoteUser = snapshot.val(); + + const quotePfp = document.createElement("img"); + quotePfp.classList.add("quotePfp"); + quotePfp.setAttribute("draggable", "false"); + quotePfp.src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; + + const quoteContent = document.createElement("div"); + quoteContent.classList.add("quoteContent"); + + const quoteHeader = document.createElement("div"); + quoteHeader.classList.add("quoteHeader"); + + const quoteDisplay = document.createElement("span"); + quoteDisplay.classList.add("quoteDisplay"); + quoteDisplay.textContent = quoteUser.display; + + const quoteUsername = document.createElement("span"); + quoteUsername.classList.add("quoteUsername"); + if (quoteUser.pronouns !== undefined || quoteUser.pronouns !== "") { + quoteUsername.textContent = `@${quoteUser.username} • ${quoteUser.pronouns}`; + } else { + quoteUsername.textContent = `@${quoteUser.username}`; + } + + const quoteText = document.createElement("span"); + quoteText.classList.add("quoteText"); + let content = sanitizeAndLinkify(quoteData.text); + if (content.length > 247) { // check length + content = content.substring(0, 247) + "..."; + } + quoteText.innerHTML = content; + + container.appendChild(quotePfp); + container.appendChild(quoteContent); + quoteHeader.appendChild(quoteDisplay); + quoteHeader.appendChild(quoteUsername); + quoteContent.appendChild(quoteHeader); + quoteContent.appendChild(quoteText); + twemoji.parse(quoteText, { + folder: 'svg', + ext: '.svg' + }); + }) + } else { const quotePfp = document.createElement("img"); quotePfp.classList.add("quotePfp"); quotePfp.setAttribute("draggable", "false"); - quotePfp.src = `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}/o/images%2Fpfp%2F${quoteData.whoSentIt}%2F${quoteUser.pfp}?alt=media`; - + quotePfp.src = `/assets/imgs/defaultPfp.png`; + const quoteContent = document.createElement("div"); quoteContent.classList.add("quoteContent"); - + const quoteHeader = document.createElement("div"); quoteHeader.classList.add("quoteHeader"); - + const quoteDisplay = document.createElement("span"); quoteDisplay.classList.add("quoteDisplay"); - quoteDisplay.textContent = quoteUser.display; - + quoteDisplay.textContent = "Unknown User"; + const quoteUsername = document.createElement("span"); quoteUsername.classList.add("quoteUsername"); - if (quoteUser.pronouns !== undefined || quoteUser.pronouns !== "") { - quoteUsername.textContent = `@${quoteUser.username} • ${quoteUser.pronouns}`; - } else { - quoteUsername.textContent = `@${quoteUser.username}`; - } - + quoteUsername.textContent = `@unknownuser`; + + const quoteText = document.createElement("span"); quoteText.classList.add("quoteText"); - let content = sanitizeAndLinkify(quoteData.text); - if (content.length > 247) { // check length - content = content.substring(0, 247) + "..."; - } - quoteText.innerHTML = content; - + quoteText.textContent = "You do not have permission to view this note."; + container.appendChild(quotePfp); container.appendChild(quoteContent); quoteHeader.appendChild(quoteDisplay); quoteHeader.appendChild(quoteUsername); quoteContent.appendChild(quoteHeader); quoteContent.appendChild(quoteText); - twemoji.parse(quoteText, { - folder: 'svg', - ext: '.svg' - }); - }) + } }) } diff --git a/updates.html b/updates.html index 04551bf..f481706 100644 --- a/updates.html +++ b/updates.html @@ -143,6 +143,14 @@

Trying to find older updates? You may be interested in the InDev tab, since TransSocial is no longer in InDev!

+
+

v2024.9.12_pre-alpha

+

Released: September 12, 2024

+
  • You can no longer view quotes or visit a note directly if it's deleted
  • +
    + +
    +

    v2024.9.8_pre-alpha

    Released: September 8, 2024