편집 요약 없음 |
편집 요약 없음 |
||
| 7번째 줄: | 7번째 줄: | ||
var username = mw.config.get('wgUserName'); | var username = mw.config.get('wgUserName'); | ||
var isLoggedIn = username !== null; | var isLoggedIn = username !== null; | ||
var avatarSrc = $('.profile-img').attr('src') || '/index.php?title=특수:Redirect/file/pfp-default.png'; | |||
var | |||
var userBox; | |||
if (isLoggedIn) { | |||
userBox = | |||
'<div class="clbi-right-box">' + | |||
'<div class="clbi-right-title"><img src="' + avatarSrc + '" style="width:18px;height:18px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px;">' + username + '</div>' + | |||
'<div class="clbi-right-content">' + | |||
'<a href="/index.php/사용자:' + username + '">사용자 문서</a>' + | |||
'<a href="/index.php/특수:기여/' + username + '">기여</a>' + | |||
'<a href="/index.php/사용자_토론:' + username + '">토론</a>' + | |||
'<a href="/index.php/특수:주시문서_목록">주시문서 목록</a>' + | |||
'<a href="/index.php/특수:환경_설정">환경 설정</a>' + | |||
'<a href="/index.php?title=특수:사용자_로그아웃&returnto=대문" style="color:#d46262 !important;">로그아웃</a>' + | |||
'</div></div>'; | |||
} else { | |||
userBox = | |||
'<div class="clbi-right-box">' + | |||
'<div class="clbi-right-title"><img src="/index.php?title=특수:Redirect/file/pfp-default.png" style="width:18px;height:18px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px;">비로그인</div>' + | |||
'<div class="clbi-right-content">' + | |||
'<a href="/index.php?title=특수:로그인&returnto=대문">로그인</a>' + | |||
'</div></div>'; | |||
} | |||
var recentBox = | |||
'<div class="clbi-right-box">' + | '<div class="clbi-right-box">' + | ||
'<div class="clbi-right-title"> | '<div class="clbi-right-title">📋 최근 변경</div>' + | ||
'<div class="clbi-right-content" | '<div class="clbi-right-content" id="clbi-recent-list">불러오는 중...</div>' + | ||
'</div>'; | |||
var sidebar = | |||
userBox + | |||
'<div class="clbi-right-box">' + | '<div class="clbi-right-box">' + | ||
'<div class="clbi-right-title">🔍 검색</div>' + | '<div class="clbi-right-title">🔍 검색</div>' + | ||
| 24번째 줄: | 45번째 줄: | ||
'<button id="clbi-search-btn">GO</button>' + | '<button id="clbi-search-btn">GO</button>' + | ||
'</div></div>' + | '</div></div>' + | ||
recentBox + | |||
'<div class="clbi-right-box">' + | '<div class="clbi-right-box">' + | ||
'<div class="clbi-right-title">📖 가이드</div>' + | '<div class="clbi-right-title">📖 가이드</div>' + | ||
'<div class="clbi-right-content">' + | '<div class="clbi-right-content">' + | ||
'<a href="/index.php/CLBI_Wiki/KR_시작하기_(CLBI)">시작하기</a>' + | '<a href="/index.php/CLBI_Wiki/KR_시작하기_(CLBI)">시작하기</a>' + | ||
'</div></div>' + | '</div></div>'; | ||
var wrapper = '<div id="clbi-right-sidebar">' + sidebar + '</div>'; | |||
$('.content-wrapper').append( | $('.content-wrapper').append(wrapper); | ||
// 검색 | |||
$('#clbi-search-btn').click(function() { | $('#clbi-search-btn').click(function() { | ||
var query = $('#clbi-search-input').val(); | var query = $('#clbi-search-input').val(); | ||
if(query) window.location.href = '/index.php?search=' + encodeURIComponent(query); | if (query) window.location.href = '/index.php?search=' + encodeURIComponent(query); | ||
}); | }); | ||
$('#clbi-search-input').keypress(function(e) { | $('#clbi-search-input').keypress(function(e) { | ||
if(e.which == 13) $('#clbi-search-btn').click(); | if (e.which == 13) $('#clbi-search-btn').click(); | ||
}); | |||
// 최근 변경 API | |||
$.getJSON('/api.php?action=query&list=recentchanges&rclimit=5&rcprop=title|timestamp&format=json', function(data) { | |||
var items = data.query.recentchanges; | |||
var html = ''; | |||
$.each(items, function(i, item) { | |||
var date = new Date(item.timestamp); | |||
var label = (date.getMonth()+1) + '/' + date.getDate() + ' ' + date.getHours() + ':' + ('0'+date.getMinutes()).slice(-2); | |||
html += '<a href="/index.php/' + encodeURIComponent(item.title) + '">' + item.title + '</a>'; | |||
html += '<span style="color:#854369;font-size:10px;display:block;margin-bottom:4px;">' + label + '</span>'; | |||
}); | |||
$('#clbi-recent-list').html(html); | |||
}).fail(function() { | |||
$('#clbi-recent-list').html('불러오기 실패'); | |||
}); | }); | ||
}); | }); | ||
2026년 4월 17일 (금) 07:38 판
$(function() {
$('body').prepend('<div class="WW-bg" style="position:fixed;top:0px;left:0px;width:100%;height:100vh;"></div>');
});
// 오른쪽 사이드바
$(function() {
var username = mw.config.get('wgUserName');
var isLoggedIn = username !== null;
var avatarSrc = $('.profile-img').attr('src') || '/index.php?title=특수:Redirect/file/pfp-default.png';
var userBox;
if (isLoggedIn) {
userBox =
'<div class="clbi-right-box">' +
'<div class="clbi-right-title"><img src="' + avatarSrc + '" style="width:18px;height:18px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px;">' + username + '</div>' +
'<div class="clbi-right-content">' +
'<a href="/index.php/사용자:' + username + '">사용자 문서</a>' +
'<a href="/index.php/특수:기여/' + username + '">기여</a>' +
'<a href="/index.php/사용자_토론:' + username + '">토론</a>' +
'<a href="/index.php/특수:주시문서_목록">주시문서 목록</a>' +
'<a href="/index.php/특수:환경_설정">환경 설정</a>' +
'<a href="/index.php?title=특수:사용자_로그아웃&returnto=대문" style="color:#d46262 !important;">로그아웃</a>' +
'</div></div>';
} else {
userBox =
'<div class="clbi-right-box">' +
'<div class="clbi-right-title"><img src="/index.php?title=특수:Redirect/file/pfp-default.png" style="width:18px;height:18px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px;">비로그인</div>' +
'<div class="clbi-right-content">' +
'<a href="/index.php?title=특수:로그인&returnto=대문">로그인</a>' +
'</div></div>';
}
var recentBox =
'<div class="clbi-right-box">' +
'<div class="clbi-right-title">📋 최근 변경</div>' +
'<div class="clbi-right-content" id="clbi-recent-list">불러오는 중...</div>' +
'</div>';
var sidebar =
userBox +
'<div class="clbi-right-box">' +
'<div class="clbi-right-title">🔍 검색</div>' +
'<div class="clbi-right-content">' +
'<input id="clbi-search-input" type="text" placeholder="검색...">' +
'<button id="clbi-search-btn">GO</button>' +
'</div></div>' +
recentBox +
'<div class="clbi-right-box">' +
'<div class="clbi-right-title">📖 가이드</div>' +
'<div class="clbi-right-content">' +
'<a href="/index.php/CLBI_Wiki/KR_시작하기_(CLBI)">시작하기</a>' +
'</div></div>';
var wrapper = '<div id="clbi-right-sidebar">' + sidebar + '</div>';
$('.content-wrapper').append(wrapper);
// 검색
$('#clbi-search-btn').click(function() {
var query = $('#clbi-search-input').val();
if (query) window.location.href = '/index.php?search=' + encodeURIComponent(query);
});
$('#clbi-search-input').keypress(function(e) {
if (e.which == 13) $('#clbi-search-btn').click();
});
// 최근 변경 API
$.getJSON('/api.php?action=query&list=recentchanges&rclimit=5&rcprop=title|timestamp&format=json', function(data) {
var items = data.query.recentchanges;
var html = '';
$.each(items, function(i, item) {
var date = new Date(item.timestamp);
var label = (date.getMonth()+1) + '/' + date.getDate() + ' ' + date.getHours() + ':' + ('0'+date.getMinutes()).slice(-2);
html += '<a href="/index.php/' + encodeURIComponent(item.title) + '">' + item.title + '</a>';
html += '<span style="color:#854369;font-size:10px;display:block;margin-bottom:4px;">' + label + '</span>';
});
$('#clbi-recent-list').html(html);
}).fail(function() {
$('#clbi-recent-list').html('불러오기 실패');
});
});
// 왼쪽 사이드바
$(function() {
var leftSidebar = '<div id="clbi-left-sidebar">' +
'<div class="clbi-left-box">' +
'<div class="clbi-left-title"><img src="/index.php?title=특수:Redirect/file/ic-ui-001.svg&width=18"> 언어</div>' +
'<div class="clbi-left-content clbi-lang-box">' +
'<div class="clbi-lang-current">한국어</div>' +
'<div class="clbi-lang-link"><a href="/index.php/대문/EN">English</a></div>' +
'</div></div>' +
'<div class="clbi-left-box">' +
'<div class="clbi-left-title"><img src="/index.php?title=특수:Redirect/file/ic-ui-002.svg&width=18"> 카테고리</div>' +
'<div class="clbi-left-content clbi-cat-box">' +
'<div class="clbi-cat-btn"><a href="/index.php/대문"><div class="clbi-cat-text"><span class="clbi-cat-label">메인 메뉴</span><span class="clbi-cat-sub">MAIN MENU</span></div></a><div class="clbi-cat-arrow">▶</div></div>' +
'<div class="clbi-cat-btn"><a href="/index.php/CLBI_Wiki/KR_국가_및_조합"><div class="clbi-cat-text"><span class="clbi-cat-label">국가 및 조합</span><span class="clbi-cat-sub">NATIONS & FACTIONS</span></div></a><div class="clbi-cat-arrow">▶</div></div>' +
'<div class="clbi-cat-btn"><a href="/index.php/CLBI_Wiki/KR_기업_및_공동체"><div class="clbi-cat-text"><span class="clbi-cat-label">기업 및 공동체</span><span class="clbi-cat-sub">CORPORATIONS & COMMUNITIES</span></div></a><div class="clbi-cat-arrow">▶</div></div>' +
'<div class="clbi-cat-btn"><a href="/index.php/CLBI_Wiki/KR_군_정치집단"><div class="clbi-cat-text"><span class="clbi-cat-label">군, 정치집단</span><span class="clbi-cat-sub">MILITARY & POLITICS</span></div></a><div class="clbi-cat-arrow">▶</div></div>' +
'<div class="clbi-cat-btn"><a href="/index.php/CLBI_Wiki/KR_역사적_사건"><div class="clbi-cat-text"><span class="clbi-cat-label">역사적 사건</span><span class="clbi-cat-sub">HISTORICAL EVENTS</span></div></a><div class="clbi-cat-arrow">▶</div></div>' +
'<div class="clbi-cat-btn"><a href="/index.php/CLBI_Wiki/KR_인물"><div class="clbi-cat-text"><span class="clbi-cat-label">인물</span><span class="clbi-cat-sub">KEY PERSONNEL</span></div></a><div class="clbi-cat-arrow">▶</div></div>' +
'</div></div>' +
'<div class="clbi-left-box">' +
'<div class="clbi-left-title"><img src="/index.php?title=특수:Redirect/file/ic-ui-003.svg&width=18"> 링크</div>' +
'<div class="clbi-left-content clbi-link-box">' +
'<ul>' +
'<li><a href="https://discord.gg/ctaeJ9d3Q5" target="_blank">Discord</a></li>' +
'<li><a href="https://www.youtube.com/@nxdsxn" target="_blank">YouTube</a></li>' +
'<li><a href="https://x.com/nxd_sxn" target="_blank">X</a></li>' +
'</ul>' +
'</div></div>' +
'</div>';
$('.content-wrapper').prepend(leftSidebar);
});