Adjusting redirect banner desc based on tags
parent
687d45e572
commit
f91d8600e2
|
@ -34,7 +34,8 @@ async function getData() {
|
||||||
"destination_platform": site.destination_platform,
|
"destination_platform": site.destination_platform,
|
||||||
"destination_icon": site.destination_icon,
|
"destination_icon": site.destination_icon,
|
||||||
"destination_main_page": site.destination_main_page,
|
"destination_main_page": site.destination_main_page,
|
||||||
"lang": LANGS[i]
|
"lang": LANGS[i],
|
||||||
|
"tags": site.tags || []
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
@ -44,7 +45,7 @@ async function getData() {
|
||||||
return sites;
|
return sites;
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayRedirectBanner(newUrl, id, destinationName, destinationLanguage, storage) {
|
function displayRedirectBanner(newUrl, id, destinationName, destinationLanguage, tags, storage) {
|
||||||
// Output CSS
|
// Output CSS
|
||||||
styleString = `
|
styleString = `
|
||||||
#indie-wiki-banner {
|
#indie-wiki-banner {
|
||||||
|
@ -106,21 +107,21 @@ function displayRedirectBanner(newUrl, id, destinationName, destinationLanguage,
|
||||||
document.head.append(style);
|
document.head.append(style);
|
||||||
|
|
||||||
// Output banner
|
// Output banner
|
||||||
var banner = document.createElement('div');
|
let banner = document.createElement('div');
|
||||||
banner.id = 'indie-wiki-banner';
|
banner.id = 'indie-wiki-banner';
|
||||||
var bannerExit = document.createElement('div');
|
let bannerExit = document.createElement('div');
|
||||||
bannerExit.id = 'indie-wiki-banner-exit';
|
bannerExit.id = 'indie-wiki-banner-exit';
|
||||||
banner.appendChild(bannerExit);
|
banner.appendChild(bannerExit);
|
||||||
bannerExit.textContent = '✕';
|
bannerExit.textContent = '✕';
|
||||||
bannerExit.onclick = function () { this.parentElement.remove(); };
|
bannerExit.onclick = function () { this.parentElement.remove(); };
|
||||||
|
|
||||||
// Output control links container
|
// Output control links container
|
||||||
var bannerControls = document.createElement('div');
|
let bannerControls = document.createElement('div');
|
||||||
bannerControls.id = 'indie-wiki-banner-controls';
|
bannerControls.id = 'indie-wiki-banner-controls';
|
||||||
banner.appendChild(bannerControls);
|
banner.appendChild(bannerControls);
|
||||||
|
|
||||||
// Output "restore banner" link
|
// Output "restore banner" link
|
||||||
var bannerRestoreLink = document.createElement('div');
|
let bannerRestoreLink = document.createElement('div');
|
||||||
bannerRestoreLink.id = 'indie-wiki-banner-restore';
|
bannerRestoreLink.id = 'indie-wiki-banner-restore';
|
||||||
bannerRestoreLink.classList.add('indie-wiki-banner-link');
|
bannerRestoreLink.classList.add('indie-wiki-banner-link');
|
||||||
bannerRestoreLink.classList.add('indie-wiki-banner-link-small');
|
bannerRestoreLink.classList.add('indie-wiki-banner-link-small');
|
||||||
|
@ -141,7 +142,7 @@ function displayRedirectBanner(newUrl, id, destinationName, destinationLanguage,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output "disable banner" link
|
// Output "disable banner" link
|
||||||
var bannerDisableLink = document.createElement('div');
|
let bannerDisableLink = document.createElement('div');
|
||||||
bannerDisableLink.id = 'indie-wiki-banner-disable';
|
bannerDisableLink.id = 'indie-wiki-banner-disable';
|
||||||
bannerDisableLink.classList.add('indie-wiki-banner-link');
|
bannerDisableLink.classList.add('indie-wiki-banner-link');
|
||||||
bannerDisableLink.classList.add('indie-wiki-banner-link-small');
|
bannerDisableLink.classList.add('indie-wiki-banner-link-small');
|
||||||
|
@ -162,7 +163,7 @@ function displayRedirectBanner(newUrl, id, destinationName, destinationLanguage,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output "auto redirect" link
|
// Output "auto redirect" link
|
||||||
var bannerRedirectLink = document.createElement('div');
|
let bannerRedirectLink = document.createElement('div');
|
||||||
bannerRedirectLink.id = 'indie-wiki-banner-redirect';
|
bannerRedirectLink.id = 'indie-wiki-banner-redirect';
|
||||||
bannerRedirectLink.classList.add('indie-wiki-banner-link');
|
bannerRedirectLink.classList.add('indie-wiki-banner-link');
|
||||||
bannerRedirectLink.classList.add('indie-wiki-banner-link-small');
|
bannerRedirectLink.classList.add('indie-wiki-banner-link-small');
|
||||||
|
@ -183,15 +184,25 @@ function displayRedirectBanner(newUrl, id, destinationName, destinationLanguage,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output main banner text
|
// Output main banner text
|
||||||
var bannerText = document.createElement('span');
|
let bannerText = document.createElement('span');
|
||||||
bannerText.classList.add('indie-wiki-banner-big-text');
|
bannerText.classList.add('indie-wiki-banner-big-text');
|
||||||
banner.appendChild(bannerText);
|
banner.appendChild(bannerText);
|
||||||
if (destinationLanguage === 'EN' && location.href.match(/fandom\.com\/[a-z]{2}\/wiki\//)) {
|
|
||||||
bannerText.textContent = 'There is an independent wiki covering this topic in English!';
|
// Build descriptor
|
||||||
} else {
|
let descriptor = 'an independent';
|
||||||
bannerText.textContent = 'There is an independent wiki covering this topic!';
|
if (tags.includes('wiki.gg')) {
|
||||||
|
descriptor = 'a wiki.gg';
|
||||||
}
|
}
|
||||||
var bannerWikiLink = document.createElement('a');
|
if (tags.includes('official')) {
|
||||||
|
descriptor = 'an official ' + descriptor.split(" ").slice(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (destinationLanguage === 'EN' && location.href.match(/fandom\.com\/[a-z]{2}\/wiki\//)) {
|
||||||
|
bannerText.textContent = 'There is ' + descriptor + ' wiki covering this topic in English!';
|
||||||
|
} else {
|
||||||
|
bannerText.textContent = 'There is ' + descriptor + ' wiki covering this topic!';
|
||||||
|
}
|
||||||
|
let bannerWikiLink = document.createElement('a');
|
||||||
bannerWikiLink.classList.add('indie-wiki-banner-link');
|
bannerWikiLink.classList.add('indie-wiki-banner-link');
|
||||||
bannerText.appendChild(bannerWikiLink);
|
bannerText.appendChild(bannerWikiLink);
|
||||||
bannerWikiLink.href = newUrl;
|
bannerWikiLink.href = newUrl;
|
||||||
|
@ -302,7 +313,7 @@ function main() {
|
||||||
const headElement = document.querySelector('head');
|
const headElement = document.querySelector('head');
|
||||||
if (headElement) {
|
if (headElement) {
|
||||||
try {
|
try {
|
||||||
displayRedirectBanner(newURL, site['id'], site['destination'], site['lang'], storage);
|
displayRedirectBanner(newURL, site['id'], site['destination'], site['lang'], site['tags'], storage);
|
||||||
} finally {
|
} finally {
|
||||||
mutationInstance.disconnect();
|
mutationInstance.disconnect();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue