MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
that should hopefully be everything |
spent the past 2 days hacking this together so lets see if it actually works |
||
| Line 1: | Line 1: | ||
/* ========================================== */ | |||
/* User Smileys */ | |||
/* ========================================== */ | |||
function randomizeUserSmiley() { | function randomizeUserSmiley() { | ||
const smileys = [ | const smileys = [ | ||
| Line 196: | Line 200: | ||
randomizeUserSmiley(); | randomizeUserSmiley(); | ||
/* ========================================== */ | |||
/* Archive World Tooltips TEST LOL */ | |||
/* ========================================== */ | |||
function init() { | |||
document.querySelectorAll('a[href*="archive.offlinee.com"]').forEach(attach); | |||
} | |||
function attach(link) { | |||
let tooltip; | |||
link.onmouseenter = function () { | |||
const match = this.href.match(/\/download\/([^\/]+)/); | |||
if (!match) return; | |||
tooltip = document.createElement('img'); | |||
tooltip.className = 'archive-tooltip'; | |||
tooltip.src = `https://archive.offlinee.com/api/minimap/archivee/${match[1]}`; | |||
Object.assign(tooltip.style, { | |||
position: 'fixed', | |||
background: '#000', | |||
zIndex: 9999, | |||
pointerEvents: 'none', | |||
visibility: 'hidden' | |||
}); | |||
tooltip.onload = () => { | |||
if (!tooltip) return; | |||
tooltip.style.visibility = 'visible'; | |||
position(link, tooltip); | |||
}; | |||
tooltip.onerror = () => { | |||
if (!tooltip) return; | |||
tooltip.remove(); | |||
tooltip = null; | |||
}; | |||
document.body.appendChild(tooltip); | |||
position(link, tooltip); | |||
}; | |||
link.onmouseleave = () => { | |||
if (tooltip) { | |||
tooltip.remove(); | |||
tooltip = null; | |||
} | |||
}; | |||
} | |||
function position(link, tooltip) { | |||
const r = link.getBoundingClientRect(); | |||
const h = tooltip.offsetHeight || 150; | |||
const w = tooltip.offsetWidth || 200; | |||
let top = r.bottom + 6; | |||
if (r.bottom + h > window.innerHeight) { | |||
top = r.top - h - 6; | |||
} | |||
let left = r.left; | |||
const maxLeft = window.innerWidth - w - 6; | |||
const minLeft = 6; | |||
if (left > maxLeft) left = maxLeft; | |||
if (left < minLeft) left = minLeft; | |||
tooltip.style.left = `${left}px`; | |||
tooltip.style.top = `${top}px`; | |||
} | |||
init(); | |||
Revision as of 22:47, 17 April 2026
/* ========================================== */
/* User Smileys */
/* ========================================== */
function randomizeUserSmiley() {
const smileys = [
"f/fe/Smiley_smiley",
"3/3a/002_grin",
"e/e5/003_tounge",
"e/e2/004_happy",
"1/1d/005_annoyed",
"4/42/006_sad",
"3/31/007_crying",
"8/8a/008_wink",
"d/d7/009_frustrated",
"9/9c/010_shades",
"d/d2/011_devil",
"6/60/012_inquisitive",
"6/67/013_ninja",
"f/f6/014_santa",
"a/ad/015_worker",
"e/ed/016_bigspender",
"5/5a/017_superman",
"0/03/018_surprised",
"4/47/019_indifferent",
"6/6e/020_girl",
"0/07/020_newyears2010",
"d/d1/022_coy",
"c/c0/023_wizard",
"5/5b/024_fan_boy",
"6/6f/025_terminator",
"0/0d/026_XD",
"6/6c/027_bully",
"4/4b/028_commando",
"b/b7/029_kissing",
"6/67/030_bird",
"6/6b/031_bunny",
"a/a2/032_diamond",
"3/38/033_firewizard",
"9/9e/034_XP",
"8/8b/035_postman",
"e/e1/036_templar",
"9/9b/037_angel",
"6/66/038_nurse",
"3/3b/039_vampire",
"5/58/040_ghost",
"a/a9/041_frankenstein",
"3/3d/042_witch",
"5/58/043_indian",
"8/85/044_pilgrim",
"6/6e/045_pumpkin",
"b/b3/046_litpumpkin",
"b/bd/047_snowman",
"8/86/048_reindeer",
"3/30/049_grinch",
"d/d0/050_maestro",
"3/3c/051_DJ",
"5/52/052_sigh",
"0/02/053_robber",
"e/e0/054_police",
"8/87/055_purple_ghost",
"e/e2/056_pirate",
"f/fa/057_viking",
"e/e5/058_karate",
"7/73/059_cowboy",
"6/60/060_diver",
"6/62/061_tanned",
"f/f6/062_propeller",
"b/bc/063_hardhat",
"2/24/064_gasmask",
"8/8a/065_robot",
"7/77/066_peasant",
"a/a6/067_soldier",
"0/09/068_blacksmith",
"c/c0/069_LOL",
"6/66/070_dog",
"3/3e/071_alien",
"8/80/072_astronaut",
"f/fd/073_orangeparty",
"5/5b/074_greenparty",
"f/fb/075_blueparty",
"5/5a/076_redparty",
"8/85/077_daredevil",
"6/6d/078_monster",
"4/40/079_skeleton",
"a/ae/080_madscientist",
"b/be/081_headhunter",
"8/8a/082_safari",
"0/0d/083_archaeologist",
"f/f7/084_newyears2013",
"3/37/085_winter",
"6/6e/086_firedemon",
"a/a9/087_bishop",
"8/8b/088_zombie",
"e/ea/089_bruce",
"9/99/090_unit",
"4/4c/091_spartan",
"3/33/092_lady",
"0/00/093_cow",
"9/94/094_scarecrow",
"b/b3/095_darkwizard",
"d/d9/096_kungfumaster",
"0/04/097_fox",
"7/7d/098_nightvision",
"8/81/099_summergirl",
"0/06/100_fan_boy_II",
"8/8a/101_hologram",
"5/51/102_gingerbread",
"d/dc/103_caroler",
"e/ec/104_elf",
"3/32/105_nutcracker",
"a/a2/106_blushing",
"e/e9/107_artist",
"3/33/108_princess",
"b/b8/109_chef",
"2/23/110_clown",
"2/2f/111_redninja",
"5/53/112_3d_glasses",
"9/9e/113_sunburned",
"d/da/114_tourist",
"0/04/115_graduate",
"1/1d/116_sombrero",
"8/8f/117_cat",
"a/ac/118_scared",
"a/aa/119_ghoul",
"9/9c/120_mummy",
"9/90/121_bat",
"a/aa/122_eyeball",
"8/89/123_light_wizard",
"1/13/124_hooded",
"f/fa/125_earmuffs",
"e/ec/126_penguin",
"a/a9/127_gold_smiley",
"3/33/128_gold_ninja",
"c/ca/129_gold_robot",
"2/29/130_gold_top_hat",
"d/d8/131_sick",
"b/b9/132_unsure",
"9/91/133_goofy",
"c/c5/134_raindrop",
"5/5d/135_bee",
"9/92/136_butterfly",
"4/4e/137_sea_captain",
"c/ce/138_soda_clerk",
"c/c6/139_lifeguard",
"0/04/140_aviator",
"b/b4/141_sleepy",
"5/5a/142_seagull",
"b/b3/143_werewolf",
"d/dc/144_swamp_creature",
"5/52/145_fairy",
"b/be/146_fireman",
"b/bb/147_spy",
"b/b5/148_devil_skull",
"4/4b/149_clockwork_robot",
"c/cd/150_teddy_bear",
"2/21/151_christmas_soldier",
"0/0c/152_scrooge",
"b/bc/153_boy",
"b/bb/154_pigtails",
"7/73/155_doctor",
"f/f0/156_turban",
"d/de/157_hazmat_suit",
"b/b8/158_leprechaun",
"a/a0/159_angry",
"0/09/160_smirk",
"f/ff/161_sweat",
"0/07/162_countrysinger",
"7/7e/163_thor",
"1/1d/164_cowgirl",
"b/bc/165_raccoon",
"2/21/166_lion",
"1/1c/167_laika",
"4/46/168_fishbowl",
"a/a4/169_slime",
"a/a9/170_designer",
"1/17/171_frozen",
"f/ff/172_masquerade",
"c/cf/173_polar_bear",
"d/d8/174_baseball_cap",
"8/8e/175_golfer",
"d/da/176_platinum_spender",
"2/29/177_green_dragon",
"4/48/178_red_dragon",
"1/1d/179_executioner",
"f/ff/180_gargoyle",
"a/a4/181_banshee",
"7/7a/182_golem",
"4/4d/183_frost_dragon",
"4/4f/184_squirrel",
"7/73/185_golden_dragon",
"d/d0/186_robot_mk_ii",
"3/38/187_black_dragon",
"f/f4/188_silver_dragon",
];
const randomSmiley = smileys[Math.floor(Math.random() * smileys.length)];
document.getElementById("pt-userpage").style.backgroundImage = "url(https://wiki.everybodyedits.com/images/"+randomSmiley+".png)";
}
randomizeUserSmiley();
/* ========================================== */
/* Archive World Tooltips TEST LOL */
/* ========================================== */
function init() {
document.querySelectorAll('a[href*="archive.offlinee.com"]').forEach(attach);
}
function attach(link) {
let tooltip;
link.onmouseenter = function () {
const match = this.href.match(/\/download\/([^\/]+)/);
if (!match) return;
tooltip = document.createElement('img');
tooltip.className = 'archive-tooltip';
tooltip.src = `https://archive.offlinee.com/api/minimap/archivee/${match[1]}`;
Object.assign(tooltip.style, {
position: 'fixed',
background: '#000',
zIndex: 9999,
pointerEvents: 'none',
visibility: 'hidden'
});
tooltip.onload = () => {
if (!tooltip) return;
tooltip.style.visibility = 'visible';
position(link, tooltip);
};
tooltip.onerror = () => {
if (!tooltip) return;
tooltip.remove();
tooltip = null;
};
document.body.appendChild(tooltip);
position(link, tooltip);
};
link.onmouseleave = () => {
if (tooltip) {
tooltip.remove();
tooltip = null;
}
};
}
function position(link, tooltip) {
const r = link.getBoundingClientRect();
const h = tooltip.offsetHeight || 150;
const w = tooltip.offsetWidth || 200;
let top = r.bottom + 6;
if (r.bottom + h > window.innerHeight) {
top = r.top - h - 6;
}
let left = r.left;
const maxLeft = window.innerWidth - w - 6;
const minLeft = 6;
if (left > maxLeft) left = maxLeft;
if (left < minLeft) left = minLeft;
tooltip.style.left = `${left}px`;
tooltip.style.top = `${top}px`;
}
init();