feat: (joke feature) use anniversary message templates
+ work in progress AdCache for upcoming "Ignore Specific Ads" feature
This commit is contained in:
parent
aa840db336
commit
f94f43b626
3 changed files with 79 additions and 5 deletions
|
|
@ -133,16 +133,18 @@ if (Username) {
|
|||
}
|
||||
});
|
||||
|
||||
if (new URLSearchParams(window.location.search).get('birthday') === 'true') {
|
||||
if (new URLSearchParams(window.location.search).get('anniversary') === '1') {
|
||||
const JoinDateRow = document.querySelector('#user-stats-card .mb-1:has(.fa-calendar)')
|
||||
const BirthdayCard = document.createElement('div')
|
||||
BirthdayCard.classList = 'card card-themed card-player-birthday mb-2'
|
||||
|
||||
const AnniversaryNumber = (new Date().getFullYear() - new Date(JoinDateRow.children[1].innerText).getFullYear())
|
||||
BirthdayCard.innerHTML = `
|
||||
<div class="card-body">
|
||||
<div class="fw-semibold text-birthday-gradient">
|
||||
<i class="fas fa-cake me-1"></i> It's my ${new Date().getFullYear() - new Date(JoinDateRow.children[1].innerText).getFullYear()}rd Polytoria anniversary!
|
||||
<i class="fas fa-cake me-1"></i> It's my ${AnniversaryNumber + (AnniversaryNumber % 10 === 1 && AnniversaryNumber % 100 !== 11 ? 'st' : AnniversaryNumber % 10 === 2 && AnniversaryNumber % 100 !== 12 ? 'nd' : AnniversaryNumber % 10 === 3 && AnniversaryNumber % 100 !== 13 ? 'rd' : 'th')} Polytoria anniversary!
|
||||
</div>
|
||||
<a href="/inbox/messages/${UserID.id}/compose?anniversary=1" class="btn btn-sm btn-outline-light mt-2"><i class="fas fa-hands-clapping me-1"></i> Send ${UserID.username} congrats</a>
|
||||
<a href="/inbox/messages/${UserID.id}/compose?anniversaryPreset=${AnniversaryNumber}" class="btn btn-sm btn-outline-light mt-2"><i class="fas fa-hands-clapping me-1"></i> Send ${UserID.username} congrats</a>
|
||||
</div>
|
||||
`
|
||||
document.getElementById('user-avatar-card').parentElement.insertBefore(BirthdayCard, document.getElementById('user-avatar-card'))
|
||||
|
|
|
|||
|
|
@ -129,8 +129,6 @@ async function CopyOwnedPlace() {
|
|||
|
||||
const DownloadButton = DIV.getElementsByTagName('button')[0];
|
||||
DownloadButton.addEventListener('click', async function () {
|
||||
console.log('clicked download epic');
|
||||
|
||||
let CreatorToken = await fetch('https://polytoria.com/api/places/edit', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({placeID: PlaceID})
|
||||
|
|
|
|||
|
|
@ -78,6 +78,80 @@ let Theme = ``;
|
|||
const ThemeBlob = new Blob([Theme], { type: 'text/css' });
|
||||
const ThemeURL = URL.createObjectURL(ThemeBlob);
|
||||
document.head.innerHTML += `<link href="${ThemeURL}" rel="stylesheet" type="text/css">`;
|
||||
|
||||
/*
|
||||
chrome.storage.local.get(['PolyPlus_AdCache'], async function(result){
|
||||
const AdCache = result.PolyPlus_AdCache || {};
|
||||
|
||||
const NewCacheAdditions = Array.from(document.querySelectorAll('a[href^="/ads"]')).map(async (ad) => {
|
||||
const AdID = ad.getAttribute('href').split('/')[2]
|
||||
if (Object.keys(AdCache).indexOf(AdID) === -1) {
|
||||
const AssetURL = (await fetch(ad.href)).url
|
||||
const AssetInfo = ((await fetch(AssetURL.replace('polytoria.com/', 'api.polytoria.com/v1/'))).json())
|
||||
console.log(AssetInfo)
|
||||
AdCache[AdID] = AssetInfo
|
||||
}
|
||||
})
|
||||
|
||||
await Promise.all(NewCacheAdditions)
|
||||
|
||||
console.log(AdCache)
|
||||
})
|
||||
*/
|
||||
|
||||
if (/\/inbox\/messages\/[0-9]+\/compose/.test(window.location.pathname) && new URLSearchParams(window.location.search).has('anniversaryPreset')) {
|
||||
const AnniversaryNumber = parseInt(new URLSearchParams(window.location.search).get('anniversaryPreset'))
|
||||
const MessageSubject = document.querySelector('[action^="/inbox"] #subject')
|
||||
const MessageBody = document.querySelector('[action^="/inbox"] #body')
|
||||
|
||||
const RandomAnniversaryMessage = [
|
||||
{
|
||||
subject: "Happy :number+ Polytorian Anniversary!",
|
||||
body: `Congratulations on your :number full year on Polytoria, :recipient! 🎉🎂🎈
|
||||
|
||||
Best wishes,
|
||||
- :username
|
||||
`
|
||||
},
|
||||
{
|
||||
subject: `:number Year${ (AnniversaryNumber > 1) ? 's' : '' } on Polytoria!`,
|
||||
body: `Happy :number+ Polytorian Anniversary, :recipient! 🎈🎈🎉🎉
|
||||
|
||||
Yours truly,
|
||||
- :username
|
||||
`
|
||||
},
|
||||
{
|
||||
subject: `:number Year${ (AnniversaryNumber > 1) ? 's' : '' } of Polytorian Fun!`,
|
||||
body: `I am so proud of you for reaching :number years on Polytoria, :recipient! 🎉🎂🎈
|
||||
|
||||
Warm regards,
|
||||
- :username
|
||||
`
|
||||
},
|
||||
{
|
||||
subject: "Congratulations on :number Years on Polytoria!",
|
||||
body: `:recipient, you have been on Polytoria for :number ${ (AnniversaryNumber === 1) ? 'whole' : 'full' } years! I am writing to congratulate you on this amazing achievement! 🎉🎂🎈
|
||||
|
||||
With love and fun,
|
||||
- :username
|
||||
`
|
||||
}
|
||||
][Math.floor(Math.random() * 3) + 1]
|
||||
|
||||
MessageSubject.value = RandomAnniversaryMessage.subject.replace(':number', AnniversaryNumber).replace(':number+', AnniversaryNumber + (AnniversaryNumber % 10 === 1 && AnniversaryNumber % 100 !== 11 ? 'st' : AnniversaryNumber % 10 === 2 && AnniversaryNumber % 100 !== 12 ? 'nd' : AnniversaryNumber % 10 === 3 && AnniversaryNumber % 100 !== 13 ? 'rd' : 'th'))
|
||||
|
||||
setTimeout(() => {
|
||||
const NewMessageBody = document.createElement('textarea')
|
||||
NewMessageBody.classList = 'form-control'
|
||||
NewMessageBody.id = 'body'
|
||||
NewMessageBody.name = 'body'
|
||||
NewMessageBody.rows = '16'
|
||||
NewMessageBody.innerHTML = RandomAnniversaryMessage.body.replace(':number', AnniversaryNumber).replace(':number+', AnniversaryNumber + (AnniversaryNumber % 10 === 1 && AnniversaryNumber % 100 !== 11 ? 'st' : AnniversaryNumber % 10 === 2 && AnniversaryNumber % 100 !== 12 ? 'nd' : AnniversaryNumber % 10 === 3 && AnniversaryNumber % 100 !== 13 ? 'rd' : 'th')).replace(':recipient', document.querySelector('[action^="/inbox"] a[href^="/u"]').innerText).replace(':username', document.querySelector('a[href^="/u"]:has(.dropdown-item):first-child').innerText.replaceAll('\n', '').replaceAll('\t', '').trim())
|
||||
MessageBody.parentElement.appendChild(NewMessageBody)
|
||||
MessageBody.remove()
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
if (document.readyState === 'complete' || document.readyState === 'interactive') {
|
||||
|
|
|
|||
Reference in a new issue