mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-07 20:54:14 +08:00
184 lines
8.2 KiB
HTML
184 lines
8.2 KiB
HTML
<fieldset class="cbi-section">
|
|
<div class="oc">
|
|
<div class="developer-container">
|
|
<div class="developer-grid">
|
|
<span id="Dreamacro"><%:Collecting data...%></span>
|
|
<span id="vernesong"><%:Collecting data...%></span>
|
|
<span id="frainzy1477"><%:Collecting data...%></span>
|
|
<span id="SukkaW"><%:Collecting data...%></span>
|
|
<span id="haishanh"><%:Collecting data...%></span>
|
|
<span id="Zephyruso"><%:Collecting data...%></span>
|
|
<span id="Alecthw"><%:Collecting data...%></span>
|
|
<span id="Tindy_X"><%:Collecting data...%></span>
|
|
<span id="lmc999"><%:Collecting data...%></span>
|
|
<span id="immortalwrt"><%:Collecting data...%></span>
|
|
<span id="MetaCubeX"><%:Collecting data...%></span>
|
|
<span id="oixcloud"><%:Collecting data...%></span>
|
|
<span id="more"><%:Collecting data...%></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<script type="text/javascript">//<![CDATA[
|
|
var Dreamacro = document.getElementById('Dreamacro');
|
|
var vernesong = document.getElementById('vernesong');
|
|
var frainzy1477 = document.getElementById('frainzy1477');
|
|
var SukkaW = document.getElementById('SukkaW');
|
|
var Zephyruso = document.getElementById('Zephyruso');
|
|
var haishanh = document.getElementById('haishanh');
|
|
var Alecthw = document.getElementById('Alecthw');
|
|
var Tindy_X = document.getElementById('Tindy_X');
|
|
var immortalwrt = document.getElementById('immortalwrt');
|
|
var lmc999 = document.getElementById('lmc999');
|
|
var MetaCubeX = document.getElementById('MetaCubeX');
|
|
var oixcloud = document.getElementById('oixcloud');
|
|
var more = document.getElementById('more');
|
|
|
|
function devFindContainer(el) {
|
|
while (el && !(el.classList && el.classList.contains('developer-avatar-container'))) {
|
|
el = el.parentNode;
|
|
}
|
|
return el;
|
|
}
|
|
|
|
function devClearReveal() {
|
|
var shown = document.querySelector('.developer-avatar-container.dev-reveal');
|
|
if (shown) shown.classList.remove('dev-reveal');
|
|
}
|
|
|
|
function devTapRedirect(el, fn) {
|
|
if (!window.matchMedia('(hover: none)').matches) {
|
|
window[fn]();
|
|
return false;
|
|
}
|
|
var box = devFindContainer(el);
|
|
if (box && !box.classList.contains('dev-reveal')) {
|
|
devClearReveal();
|
|
box.classList.add('dev-reveal');
|
|
return false;
|
|
}
|
|
devClearReveal();
|
|
window[fn]();
|
|
return false;
|
|
}
|
|
|
|
function createAvatarHTML(src, title, alt, clickHandler) {
|
|
return '<div class="developer-avatar-container">' +
|
|
'<img src="' + src + '" loading="lazy" class="developer-avatar" title="' + title + '" alt="' + alt + '" onerror="return imgerrorfun(this,this.src)" onclick="return devTapRedirect(this, \'' + clickHandler + '\')" />' +
|
|
'<div class="developer-label">' + title + '</div>' +
|
|
'</div>';
|
|
}
|
|
|
|
function createMoreAvatarHTML(title, clickHandler) {
|
|
return '<div class="developer-avatar-container">' +
|
|
'<div class="developer-avatar developer-more" title="' + title + '" onclick="return devTapRedirect(this, \'' + clickHandler + '\')">' +
|
|
'<span class="developer-more-dots">...</span>' +
|
|
'</div>' +
|
|
'<div class="developer-label">' + title + '</div>' +
|
|
'</div>';
|
|
}
|
|
|
|
function setAvatars() {
|
|
Dreamacro.innerHTML = createAvatarHTML('https://avatars3.githubusercontent.com/u/8615343?s=460&v=4', 'Dreamacro', 'Dreamacro', 'Dreamacro_rediret');
|
|
vernesong.innerHTML = createAvatarHTML('https://avatars2.githubusercontent.com/u/42875168?s=460&v=4', 'vernesong', 'vernesong', 'vernesong_rediret');
|
|
frainzy1477.innerHTML = createAvatarHTML('https://avatars2.githubusercontent.com/u/49537471?s=460&v=4', 'frainzy1477', 'frainzy1477', 'frainzy1477_rediret');
|
|
SukkaW.innerHTML = createAvatarHTML('https://avatars1.githubusercontent.com/u/40715044?s=460&v=4', 'SukkaW', 'SukkaW', 'SukkaW_rediret');
|
|
Zephyruso.innerHTML = createAvatarHTML('https://avatars.githubusercontent.com/u/176294927?v=4', 'Zephyruso', 'Zephyruso', 'Zephyruso_rediret');
|
|
haishanh.innerHTML = createAvatarHTML('https://avatars1.githubusercontent.com/u/1166872?s=460&v=4', 'haishanh', 'haishanh', 'haishanh_rediret');
|
|
Alecthw.innerHTML = createAvatarHTML('https://avatars.githubusercontent.com/u/22856212?v=4', 'Alecthw', 'Alecthw', 'Alecthw_rediret');
|
|
Tindy_X.innerHTML = createAvatarHTML('https://avatars0.githubusercontent.com/u/49061470?s=460&u=22a89312bf2de411e87340e04b5f9d149f7366cc&v=4', 'Tindy X', 'Tindy X', 'Tindy_X_rediret');
|
|
immortalwrt.innerHTML = createAvatarHTML('https://avatars.githubusercontent.com/u/82308430?v=4', 'immortalwrt', 'immortalwrt', 'immortalwrt_rediret');
|
|
lmc999.innerHTML = createAvatarHTML('https://avatars.githubusercontent.com/u/39726914?v=4', 'lmc999', 'lmc999', 'lmc999_rediret');
|
|
MetaCubeX.innerHTML = createAvatarHTML('https://avatars.githubusercontent.com/u/84378451?v=4', 'MetaCubeX', 'MetaCubeX', 'MetaCubeX_rediret');
|
|
oixcloud.innerHTML = createAvatarHTML('/luci-static/resources/openclash/img/oixcloud.png', 'oixCloud', 'oixcloud', 'oixcloud_rediret');
|
|
more.innerHTML = createMoreAvatarHTML('<%:More%>', 'more_rediret');
|
|
}
|
|
|
|
setAvatars();
|
|
|
|
// entrance animation runs when the card first scrolls into view; the timer keeps
|
|
// the grid visible in documents where intersection callbacks never fire
|
|
(function() {
|
|
var grid = document.querySelector('.developer-grid');
|
|
if (!grid) return;
|
|
grid.classList.add('dev-prepare');
|
|
var revealed = false;
|
|
function reveal() {
|
|
if (revealed) return;
|
|
revealed = true;
|
|
grid.classList.add('dev-inview');
|
|
}
|
|
if (window.IntersectionObserver) {
|
|
var io = new IntersectionObserver(function(entries) {
|
|
for (var i = 0; i < entries.length; i++) {
|
|
if (entries[i].isIntersecting) { io.disconnect(); reveal(); return; }
|
|
}
|
|
}, { rootMargin: '0px 0px -40px 0px' });
|
|
io.observe(grid);
|
|
} else {
|
|
reveal();
|
|
}
|
|
setTimeout(reveal, 6000);
|
|
})();
|
|
|
|
function Dreamacro_rediret() {
|
|
window.open('https://github.com/Dreamacro');
|
|
}
|
|
function vernesong_rediret() {
|
|
window.open('https://github.com/vernesong');
|
|
}
|
|
function frainzy1477_rediret() {
|
|
window.open('https://github.com/frainzy1477');
|
|
}
|
|
function SukkaW_rediret() {
|
|
window.open('https://github.com/SukkaW');
|
|
}
|
|
function Zephyruso_rediret() {
|
|
window.open('https://github.com/Zephyruso');
|
|
}
|
|
function haishanh_rediret() {
|
|
window.open('https://github.com/haishanh');
|
|
}
|
|
function Alecthw_rediret() {
|
|
window.open('https://github.com/alecthw');
|
|
}
|
|
function Tindy_X_rediret() {
|
|
window.open('https://github.com/tindy2013');
|
|
}
|
|
function immortalwrt_rediret() {
|
|
window.open('https://github.com/immortalwrt');
|
|
}
|
|
function lmc999_rediret() {
|
|
window.open('https://github.com/lmc999');
|
|
}
|
|
function MetaCubeX_rediret() {
|
|
window.open('https://github.com/MetaCubeX');
|
|
}
|
|
function oixcloud_rediret() {
|
|
window.open('https://oixcloud.com/');
|
|
}
|
|
function more_rediret() {
|
|
window.open('https://github.com/vernesong/OpenClash/graphs/contributors');
|
|
}
|
|
|
|
function imgerrorfun(imgobj, imgSrc) {
|
|
var tries = parseInt(imgobj.dataset.retry || '0', 10) + 1;
|
|
imgobj.dataset.retry = tries;
|
|
if (tries > 3) {
|
|
imgobj.onerror = null;
|
|
imgobj.src = '/luci-static/resources/openclash/img/logo.png';
|
|
imgobj.classList.add('developer-avatar-offline');
|
|
return;
|
|
}
|
|
setTimeout(function() {
|
|
imgobj.src = imgSrc + (imgSrc.indexOf('?') === -1 ? '?' : '&') + 'r=' + Date.now();
|
|
}, 1000 * 10);
|
|
}
|
|
|
|
document.addEventListener('click', function(e) {
|
|
if (devFindContainer(e.target)) return;
|
|
devClearReveal();
|
|
});
|
|
|
|
//]]></script> |