MediaWiki:Gadget-SocialTtrigger.js
Görünüm
Not: Yayımladıktan sonra değişiklikleri görmeniz için tarayıcınızın önbelleğini temizlemeniz gerekebilir.
- Firefox / Safari: Shift tuşuna basılıyken Yeniden Yükle'ye tıklayın ya da Ctrl-F5 ya da Ctrl-R tıklayın (Mac için ⌘-R)
- Google Chrome: Ctrl-Shift-R'ye basın. (Mac için ⌘-Shift-R)
- Edge: Ctrl basılıyken Yenile'ye tıklayın ya da Ctrl-F5'e basın.
(() => {
if (!mw || !mw.config) return;
const userName = mw.config.get('wgUserName');
if (userName) return;
const namespaceNumber = mw.config.get('wgNamespaceNumber');
if (namespaceNumber !== 0) return;
const skin = mw.config.get('skin');
const isMobile = skin === 'minerva';
const addSocialMenu = () => {
const socialContainer = document.createElement('div');
socialContainer.classList.add('social-container');
socialContainer.innerHTML = `
<div class="social-trigger">
<img src="https://commons.wikishia.net/w/images/e/e0/Socialmedia1.svg" alt="Trigger Icon">
</div>
<div class="social-menu">
<div class="social-item" data-url="https://t.me/wikishia_turk">
<img src="https://commons.wikishia.net/w/images/8/82/Telegram.svg" alt="Telegram Icon">
<span>Telegram</span>
</div>
<div class="social-item" data-url="https://wa.me/channel/0029Vb1pkvj4NVipEMO8x52C">
<img src="https://commons.wikishia.net/w/images/d/d6/Whatsapp.svg" alt="WhatsApp Icon">
<span>WhatsApp</span>
</div>
</div>
`;
document.body.appendChild(socialContainer);
const socialItems = socialContainer.querySelectorAll('.social-item');
socialItems.forEach(item => {
item.addEventListener('click', () => {
const url = item.getAttribute('data-url');
if (url) {
window.open(url, '_blank');
}
});
});
const trigger = socialContainer.querySelector('.social-trigger');
const socialMenu = socialContainer.querySelector('.social-menu');
if (isMobile) {
trigger.addEventListener('click', (event) => {
event.stopPropagation();
socialContainer.classList.toggle('active');
});
document.addEventListener('click', (event) => {
if (!socialContainer.contains(event.target)) {
socialContainer.classList.remove('active');
}
});
} else {
let hideTimeout;
socialContainer.addEventListener('mouseenter', () => {
clearTimeout(hideTimeout);
socialContainer.classList.add('active');
});
socialContainer.addEventListener('mouseleave', () => {
hideTimeout = setTimeout(() => {
socialContainer.classList.remove('active');
}, 5000);
});
}
};
setTimeout(() => addSocialMenu(), 500);
})();