Added support for TipeeeStream

This commit is contained in:
nuttylmao
2025-03-27 09:03:40 +11:00
parent 8da69b2ac7
commit e789c3a0b4
8 changed files with 93 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

+45
View File
@@ -47,6 +47,7 @@ const showStreamlabsDonations = GetBooleanParam("showStreamlabsDonations", true)
const showStreamElementsTips = GetBooleanParam("showStreamElementsTips", true);
const showPatreonMemberships = GetBooleanParam("showPatreonMemberships", true);
const showKofiDonations = GetBooleanParam("showKofiDonations", true);
const showTipeeestreamDonations = GetBooleanParam("showTipeeestreamDonations", true);
// Set fonts for the widget
document.body.style.fontFamily = font;
@@ -225,6 +226,11 @@ client.on('Kofi.ShopOrder', (response) => {
KofiShopOrder(response.data);
})
client.on('TipeeeStream.Donation', (response) => {
console.debug(response.data);
TipeeeStreamDonation(response.data);
})
///////////////////////
@@ -1276,6 +1282,45 @@ function KofiShopOrder(data) {
AddMessageItem(instance, data.id);
}
function TipeeeStreamDonation(data) {
if (!showTipeeestreamDonations)
return;
// Get a reference to the template
const template = document.getElementById('cardTemplate');
// Create a new instance of the template
const instance = template.content.cloneNode(true);
// Get divs
const cardDiv = instance.querySelector("#card");
const headerDiv = instance.querySelector("#header");
const avatarDiv = instance.querySelector("#avatar");
const iconDiv = instance.querySelector("#icon");
const titleDiv = instance.querySelector("#title");
const contentDiv = instance.querySelector("#content");
// Set the card background colors
cardDiv.classList.add('tipeeeStream');
// Set the text
const user = data.username;
const amount = data.amount;
const currency = data.currency;
const message = data.message;
const tipeeeStreamIcon = `<img src="icons/platforms/tipeeeStream.png" class="platform"/>`;
if (currency == "USD")
titleDiv.innerHTML = `${tipeeeStreamIcon} ${user} donated $${amount}`;
else
titleDiv.innerHTML = `${tipeeeStreamIcon} ${user} donated ${currency} ${amount}`;
if (message != null)
contentDiv.innerHTML = `${message}`;
AddMessageItem(instance, data.id);
}
//////////////////////
+8
View File
@@ -285,6 +285,14 @@
"defaultValue": true,
"group": "Which donation messages do you want to see?"
},
{
"id": "showTipeeeStreamDonations",
"label": "TipeeeStream Donations",
"description": "",
"type": "checkbox",
"defaultValue": true,
"group": "Which donation messages do you want to see?"
},
{
"id": "address",
"label": "Address",
+4
View File
@@ -215,6 +215,10 @@ li {
background: linear-gradient(#54c7ee, #08c2ff) !important;
}
.tipeeeStream {
background: linear-gradient(#120e23, #5d192a) !important;
}
/****************/
/** ANIMATIONS **/
/****************/