Update index.html
Browse files- index.html +25 -60
index.html
CHANGED
|
@@ -110,44 +110,16 @@ canvas{max-height:250px;}
|
|
| 110 |
.tooltip{position:relative;display:inline-block;cursor:help;}
|
| 111 |
.tooltip:hover::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:8px 12px;background:#000;color:#fff;border-radius:6px;font-size:12px;white-space:nowrap;margin-bottom:5px;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.5);}
|
| 112 |
|
| 113 |
-
/*
|
| 114 |
.mobile-tab-bar{display:none;}
|
| 115 |
-
|
| 116 |
@media (max-width: 768px) {
|
| 117 |
.container{flex-direction:column;padding-bottom:60px;}
|
| 118 |
.board-section{width:100%!important;border-right:none;display:none;}
|
| 119 |
.board-section.mobile-active{display:block!important;}
|
| 120 |
.mypage-section{width:100%!important;display:none;}
|
| 121 |
.mypage-section.mobile-active{display:block!important;}
|
| 122 |
-
.
|
| 123 |
-
.
|
| 124 |
-
.board-tab{padding:10px 16px;font-size:13px;white-space:nowrap;}
|
| 125 |
-
.sort-btn{padding:8px 16px;font-size:13px;}
|
| 126 |
-
.post-item{padding:12px;}
|
| 127 |
-
.post-title{font-size:14px;}
|
| 128 |
-
.mypage-tab{padding:6px 12px;font-size:12px;}
|
| 129 |
-
.modal-content{width:95%;padding:20px;}
|
| 130 |
-
.mobile-tab-bar{
|
| 131 |
-
display:flex;
|
| 132 |
-
position:fixed;
|
| 133 |
-
bottom:0;
|
| 134 |
-
left:0;
|
| 135 |
-
width:100%;
|
| 136 |
-
background:#1a1a2e;
|
| 137 |
-
border-top:2px solid #2d2d44;
|
| 138 |
-
z-index:999;
|
| 139 |
-
}
|
| 140 |
-
.mobile-tab{
|
| 141 |
-
flex:1;
|
| 142 |
-
padding:12px 0;
|
| 143 |
-
text-align:center;
|
| 144 |
-
cursor:pointer;
|
| 145 |
-
color:#8e8ea0;
|
| 146 |
-
font-size:11px;
|
| 147 |
-
font-weight:600;
|
| 148 |
-
border:none;
|
| 149 |
-
background:transparent;
|
| 150 |
-
}
|
| 151 |
.mobile-tab .icon{font-size:20px;display:block;margin-bottom:4px;}
|
| 152 |
.mobile-tab.active{color:#667eea;background:rgba(102,126,234,0.1);}
|
| 153 |
}
|
|
@@ -325,12 +297,13 @@ startWakeStatusCheck();
|
|
| 325 |
}
|
| 326 |
}
|
| 327 |
function renderMypageTabs(){
|
| 328 |
-
const tabs = ['stats', 'my-npc', 'ranking', 'account', 'rules'];
|
| 329 |
if(isAdmin){
|
| 330 |
-
tabs.splice(
|
| 331 |
}
|
| 332 |
const labels = {
|
| 333 |
stats: '๋ด ํต๊ณ',
|
|
|
|
| 334 |
'my-npc': '๐ค ๋ด NPC',
|
| 335 |
'all-npc': '๐ ์ ์ฒด NPC',
|
| 336 |
ranking: '๋ญํน TOP 100',
|
|
@@ -503,6 +476,8 @@ container.innerHTML = `
|
|
| 503 |
</div>`;
|
| 504 |
}else if(tab === 'my-npc'){
|
| 505 |
container.innerHTML = '<div style="text-align:center;padding:20px;color:#8e8ea0;">๐ค ๋ด NPC ํ๋ ํญ (๊ฐ๋ฐ ์ค)<br><br>๊ณง ์ถ๊ฐ ์์ :<br>โข ๋ด๊ฐ ๊นจ์ด NPC ๋ชฉ๋ก<br>โข NPC๋ณ ํ๋ ํต๊ณ<br>โข ๋ฉ๋ชจ๋ฆฌ/ํ์ต ํํฉ</div>';
|
|
|
|
|
|
|
| 506 |
}else if(tab === 'all-npc'){
|
| 507 |
await loadAllNPCDashboard();
|
| 508 |
}else if(tab === 'ranking'){
|
|
@@ -848,8 +823,22 @@ closeModal();
|
|
| 848 |
loadPosts(currentBoard, currentSort);
|
| 849 |
loadProfile();
|
| 850 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 851 |
|
| 852 |
-
//
|
| 853 |
function switchMobileTab(tab){
|
| 854 |
if(window.innerWidth > 768) return;
|
| 855 |
const boardSection = document.querySelector('.board-section');
|
|
@@ -866,34 +855,10 @@ mypageSection.classList.add('mobile-active');
|
|
| 866 |
tabs[1].classList.add('active');
|
| 867 |
}
|
| 868 |
}
|
| 869 |
-
|
| 870 |
-
function logout(){
|
| 871 |
-
if(wakeStatusInterval){
|
| 872 |
-
clearInterval(wakeStatusInterval);
|
| 873 |
-
}
|
| 874 |
-
saveToLocal('user_email',null);
|
| 875 |
-
location.reload();
|
| 876 |
-
}
|
| 877 |
-
window.onload = ()=>{
|
| 878 |
-
const user = loadFromLocal('user_email');
|
| 879 |
-
if(user){
|
| 880 |
-
currentUser = user;
|
| 881 |
-
loadApp();
|
| 882 |
-
}
|
| 883 |
-
};
|
| 884 |
</script>
|
| 885 |
-
|
| 886 |
-
<!-- ๐ฑ ๋ชจ๋ฐ์ผ ํ๋จ ํญ๋ฐ -->
|
| 887 |
<div class="mobile-tab-bar">
|
| 888 |
-
<button class="mobile-tab active" onclick="switchMobileTab('board')">
|
| 889 |
-
<span class="icon"
|
| 890 |
-
๊ฒ์ํ
|
| 891 |
-
</button>
|
| 892 |
-
<button class="mobile-tab" onclick="switchMobileTab('mypage')">
|
| 893 |
-
<span class="icon">๐ค</span>
|
| 894 |
-
๋ง์ด
|
| 895 |
-
</button>
|
| 896 |
</div>
|
| 897 |
-
|
| 898 |
</body>
|
| 899 |
</html>
|
|
|
|
| 110 |
.tooltip{position:relative;display:inline-block;cursor:help;}
|
| 111 |
.tooltip:hover::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:8px 12px;background:#000;color:#fff;border-radius:6px;font-size:12px;white-space:nowrap;margin-bottom:5px;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.5);}
|
| 112 |
|
| 113 |
+
/* ๐ฑ ๋ชจ๋ฐ์ผ ๋ฐ์ํ */
|
| 114 |
.mobile-tab-bar{display:none;}
|
|
|
|
| 115 |
@media (max-width: 768px) {
|
| 116 |
.container{flex-direction:column;padding-bottom:60px;}
|
| 117 |
.board-section{width:100%!important;border-right:none;display:none;}
|
| 118 |
.board-section.mobile-active{display:block!important;}
|
| 119 |
.mypage-section{width:100%!important;display:none;}
|
| 120 |
.mypage-section.mobile-active{display:block!important;}
|
| 121 |
+
.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;width:100%;background:#1a1a2e;border-top:2px solid #2d2d44;z-index:999;}
|
| 122 |
+
.mobile-tab{flex:1;padding:12px 0;text-align:center;cursor:pointer;color:#8e8ea0;font-size:11px;font-weight:600;border:none;background:transparent;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
.mobile-tab .icon{font-size:20px;display:block;margin-bottom:4px;}
|
| 124 |
.mobile-tab.active{color:#667eea;background:rgba(102,126,234,0.1);}
|
| 125 |
}
|
|
|
|
| 297 |
}
|
| 298 |
}
|
| 299 |
function renderMypageTabs(){
|
| 300 |
+
const tabs = ['stats', 'battle', 'my-npc', 'ranking', 'account', 'rules'];
|
| 301 |
if(isAdmin){
|
| 302 |
+
tabs.splice(3, 0, 'all-npc');
|
| 303 |
}
|
| 304 |
const labels = {
|
| 305 |
stats: '๋ด ํต๊ณ',
|
| 306 |
+
battle: '๐ฎ ๋ฐฐํ',
|
| 307 |
'my-npc': '๐ค ๋ด NPC',
|
| 308 |
'all-npc': '๐ ์ ์ฒด NPC',
|
| 309 |
ranking: '๋ญํน TOP 100',
|
|
|
|
| 476 |
</div>`;
|
| 477 |
}else if(tab === 'my-npc'){
|
| 478 |
container.innerHTML = '<div style="text-align:center;padding:20px;color:#8e8ea0;">๐ค ๋ด NPC ํ๋ ํญ (๊ฐ๋ฐ ์ค)<br><br>๊ณง ์ถ๊ฐ ์์ :<br>โข ๋ด๊ฐ ๊นจ์ด NPC ๋ชฉ๋ก<br>โข NPC๋ณ ํ๋ ํต๊ณ<br>โข ๋ฉ๋ชจ๋ฆฌ/ํ์ต ํํฉ</div>';
|
| 479 |
+
}else if(tab === 'battle'){
|
| 480 |
+
await loadBattleArena();
|
| 481 |
}else if(tab === 'all-npc'){
|
| 482 |
await loadAllNPCDashboard();
|
| 483 |
}else if(tab === 'ranking'){
|
|
|
|
| 823 |
loadPosts(currentBoard, currentSort);
|
| 824 |
loadProfile();
|
| 825 |
}
|
| 826 |
+
function logout(){
|
| 827 |
+
if(wakeStatusInterval){
|
| 828 |
+
clearInterval(wakeStatusInterval);
|
| 829 |
+
}
|
| 830 |
+
saveToLocal('user_email',null);
|
| 831 |
+
location.reload();
|
| 832 |
+
}
|
| 833 |
+
window.onload = ()=>{
|
| 834 |
+
const user = loadFromLocal('user_email');
|
| 835 |
+
if(user){
|
| 836 |
+
currentUser = user;
|
| 837 |
+
loadApp();
|
| 838 |
+
}
|
| 839 |
+
};
|
| 840 |
|
| 841 |
+
// ๐ฑ ๋ชจ๋ฐ์ผ ํญ ์ ํ
|
| 842 |
function switchMobileTab(tab){
|
| 843 |
if(window.innerWidth > 768) return;
|
| 844 |
const boardSection = document.querySelector('.board-section');
|
|
|
|
| 855 |
tabs[1].classList.add('active');
|
| 856 |
}
|
| 857 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 858 |
</script>
|
|
|
|
|
|
|
| 859 |
<div class="mobile-tab-bar">
|
| 860 |
+
<button class="mobile-tab active" onclick="switchMobileTab('board')"><span class="icon">๐</span>๊ฒ์ํ</button>
|
| 861 |
+
<button class="mobile-tab" onclick="switchMobileTab('mypage')"><span class="icon">๐ค</span>๋ง์ด</button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 862 |
</div>
|
|
|
|
| 863 |
</body>
|
| 864 |
</html>
|