Spaces:
Running
Running
Update index.html
Browse files- index.html +142 -34
index.html
CHANGED
|
@@ -785,6 +785,99 @@
|
|
| 785 |
clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
|
| 786 |
}
|
| 787 |
.saved-notice.show { opacity: 1; transform: translateY(0); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 788 |
</style>
|
| 789 |
</head>
|
| 790 |
<body>
|
|
@@ -794,7 +887,9 @@
|
|
| 794 |
<a href="#" class="logo" onclick="showMain()">DEGB<span>Gaming</span></a>
|
| 795 |
<ul class="nav-links">
|
| 796 |
<li><a href="#" onclick="showMain(); scrollToTeam()">Team</a></li>
|
|
|
|
| 797 |
<li><a href="https://discord.gg/Ztx9yd2Jc3" target="_blank">Discord</a></li>
|
|
|
|
| 798 |
</ul>
|
| 799 |
</nav>
|
| 800 |
|
|
@@ -838,6 +933,10 @@
|
|
| 838 |
<span class="stat-num">4</span>
|
| 839 |
<span class="stat-label">Ränge</span>
|
| 840 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 841 |
</div>
|
| 842 |
|
| 843 |
<div class="divider"></div>
|
|
@@ -854,6 +953,27 @@
|
|
| 854 |
|
| 855 |
<div class="divider"></div>
|
| 856 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 857 |
<footer>
|
| 858 |
<div class="footer-logo">DEGBGaming <span style="color:var(--accent2)">Server GBDE©</span></div>
|
| 859 |
<p class="footer-text">© 2025 DEGBGaming Server GBDE© — Alle Rechte vorbehalten</p>
|
|
@@ -1007,35 +1127,39 @@
|
|
| 1007 |
setTimeout(() => n.classList.remove('show'), 2000);
|
| 1008 |
}
|
| 1009 |
|
| 1010 |
-
// Routing
|
|
|
|
| 1011 |
function checkRoute() {
|
| 1012 |
-
|
| 1013 |
-
|
| 1014 |
-
|
| 1015 |
}
|
| 1016 |
|
| 1017 |
-
function showLogin() {
|
|
|
|
| 1018 |
document.getElementById('mainPage').style.display = 'none';
|
| 1019 |
document.getElementById('loginPage').classList.add('active');
|
| 1020 |
document.getElementById('adminPanel').classList.remove('active');
|
| 1021 |
document.getElementById('loginError').textContent = '';
|
| 1022 |
document.getElementById('passwordInput').value = '';
|
| 1023 |
-
|
| 1024 |
}
|
| 1025 |
|
| 1026 |
-
function showMain() {
|
|
|
|
| 1027 |
document.getElementById('mainPage').style.display = 'block';
|
| 1028 |
document.getElementById('loginPage').classList.remove('active');
|
| 1029 |
document.getElementById('adminPanel').classList.remove('active');
|
| 1030 |
-
history.pushState({}, '', '/');
|
| 1031 |
}
|
| 1032 |
|
|
|
|
|
|
|
| 1033 |
function showAdmin() {
|
|
|
|
| 1034 |
document.getElementById('mainPage').style.display = 'none';
|
| 1035 |
document.getElementById('loginPage').classList.remove('active');
|
| 1036 |
document.getElementById('adminPanel').classList.add('active');
|
| 1037 |
renderAdmin();
|
| 1038 |
-
history.pushState({}, '', '/admin');
|
| 1039 |
}
|
| 1040 |
|
| 1041 |
function doLogin() {
|
|
@@ -1045,14 +1169,19 @@
|
|
| 1045 |
err.textContent = '';
|
| 1046 |
showAdmin();
|
| 1047 |
} else {
|
| 1048 |
-
err.textContent = '
|
| 1049 |
document.getElementById('passwordInput').value = '';
|
| 1050 |
document.getElementById('passwordInput').focus();
|
| 1051 |
}
|
| 1052 |
}
|
| 1053 |
|
| 1054 |
-
function logout() {
|
| 1055 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1056 |
}
|
| 1057 |
|
| 1058 |
function scrollToTeam() {
|
|
@@ -1062,28 +1191,7 @@
|
|
| 1062 |
}, 100);
|
| 1063 |
}
|
| 1064 |
|
| 1065 |
-
|
| 1066 |
-
window.addEventListener('popstate', () => {
|
| 1067 |
-
if (window.location.pathname === '/login') showLogin();
|
| 1068 |
-
else if (window.location.pathname === '/admin') { /* keep */ }
|
| 1069 |
-
else showMain();
|
| 1070 |
-
});
|
| 1071 |
-
|
| 1072 |
-
// Simulate /login path by checking URL on load
|
| 1073 |
-
window.addEventListener('load', () => {
|
| 1074 |
-
if (window.location.pathname === '/login') {
|
| 1075 |
-
showLogin();
|
| 1076 |
-
}
|
| 1077 |
-
});
|
| 1078 |
-
|
| 1079 |
-
// Override link clicks for /login
|
| 1080 |
-
document.addEventListener('click', (e) => {
|
| 1081 |
-
const a = e.target.closest('a[href="/login"]');
|
| 1082 |
-
if (a) {
|
| 1083 |
-
e.preventDefault();
|
| 1084 |
-
showLogin();
|
| 1085 |
-
}
|
| 1086 |
-
});
|
| 1087 |
|
| 1088 |
// Particles
|
| 1089 |
function spawnParticles() {
|
|
|
|
| 785 |
clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
|
| 786 |
}
|
| 787 |
.saved-notice.show { opacity: 1; transform: translateY(0); }
|
| 788 |
+
|
| 789 |
+
/* PARTNER SECTION */
|
| 790 |
+
.partner-section {
|
| 791 |
+
position: relative;
|
| 792 |
+
z-index: 1;
|
| 793 |
+
padding: 100px 40px;
|
| 794 |
+
max-width: 1200px;
|
| 795 |
+
margin: 0 auto;
|
| 796 |
+
}
|
| 797 |
+
|
| 798 |
+
.partner-grid {
|
| 799 |
+
display: grid;
|
| 800 |
+
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
| 801 |
+
gap: 20px;
|
| 802 |
+
}
|
| 803 |
+
|
| 804 |
+
.partner-card {
|
| 805 |
+
background: rgba(255,255,255,0.02);
|
| 806 |
+
border: 1px solid rgba(255,255,255,0.08);
|
| 807 |
+
padding: 32px 28px;
|
| 808 |
+
transition: all 0.3s;
|
| 809 |
+
clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
|
| 810 |
+
text-decoration: none;
|
| 811 |
+
display: block;
|
| 812 |
+
position: relative;
|
| 813 |
+
overflow: hidden;
|
| 814 |
+
}
|
| 815 |
+
|
| 816 |
+
.partner-card::before {
|
| 817 |
+
content: '';
|
| 818 |
+
position: absolute;
|
| 819 |
+
inset: 0;
|
| 820 |
+
background: linear-gradient(135deg, rgba(0,240,255,0.04) 0%, transparent 60%);
|
| 821 |
+
opacity: 0;
|
| 822 |
+
transition: opacity 0.3s;
|
| 823 |
+
}
|
| 824 |
+
|
| 825 |
+
.partner-card:hover::before { opacity: 1; }
|
| 826 |
+
|
| 827 |
+
.partner-card:hover {
|
| 828 |
+
border-color: rgba(0,240,255,0.4);
|
| 829 |
+
box-shadow: 0 0 30px rgba(0,240,255,0.06), 0 8px 40px rgba(0,0,0,0.4);
|
| 830 |
+
transform: translateY(-4px);
|
| 831 |
+
}
|
| 832 |
+
|
| 833 |
+
.partner-icon {
|
| 834 |
+
font-size: 32px;
|
| 835 |
+
margin-bottom: 14px;
|
| 836 |
+
display: block;
|
| 837 |
+
}
|
| 838 |
+
|
| 839 |
+
.partner-name {
|
| 840 |
+
font-family: 'Orbitron', monospace;
|
| 841 |
+
font-size: 14px;
|
| 842 |
+
font-weight: 700;
|
| 843 |
+
letter-spacing: 2px;
|
| 844 |
+
color: var(--accent);
|
| 845 |
+
margin-bottom: 8px;
|
| 846 |
+
text-shadow: 0 0 10px rgba(0,240,255,0.4);
|
| 847 |
+
}
|
| 848 |
+
|
| 849 |
+
.partner-desc {
|
| 850 |
+
font-size: 14px;
|
| 851 |
+
color: var(--dim);
|
| 852 |
+
line-height: 1.5;
|
| 853 |
+
margin-bottom: 20px;
|
| 854 |
+
}
|
| 855 |
+
|
| 856 |
+
.partner-btn {
|
| 857 |
+
display: inline-flex;
|
| 858 |
+
align-items: center;
|
| 859 |
+
gap: 8px;
|
| 860 |
+
font-family: 'Orbitron', monospace;
|
| 861 |
+
font-size: 10px;
|
| 862 |
+
letter-spacing: 2px;
|
| 863 |
+
color: var(--accent);
|
| 864 |
+
border: 1px solid rgba(0,240,255,0.3);
|
| 865 |
+
padding: 8px 18px;
|
| 866 |
+
clip-path: polygon(4px 0%, 100% 0%, calc(100% - 4px) 100%, 0% 100%);
|
| 867 |
+
transition: all 0.3s;
|
| 868 |
+
background: transparent;
|
| 869 |
+
text-transform: uppercase;
|
| 870 |
+
}
|
| 871 |
+
|
| 872 |
+
.partner-card:hover .partner-btn {
|
| 873 |
+
background: rgba(0,240,255,0.1);
|
| 874 |
+
border-color: var(--accent);
|
| 875 |
+
box-shadow: 0 0 15px rgba(0,240,255,0.2);
|
| 876 |
+
}
|
| 877 |
+
|
| 878 |
+
.partner-btn svg { transition: transform 0.3s; }
|
| 879 |
+
.partner-card:hover .partner-btn svg { transform: translateX(3px); }
|
| 880 |
+
|
| 881 |
</style>
|
| 882 |
</head>
|
| 883 |
<body>
|
|
|
|
| 887 |
<a href="#" class="logo" onclick="showMain()">DEGB<span>Gaming</span></a>
|
| 888 |
<ul class="nav-links">
|
| 889 |
<li><a href="#" onclick="showMain(); scrollToTeam()">Team</a></li>
|
| 890 |
+
<li><a href="#" onclick="scrollToPartner()">Partner</a></li>
|
| 891 |
<li><a href="https://discord.gg/Ztx9yd2Jc3" target="_blank">Discord</a></li>
|
| 892 |
+
<li><a href="#" onclick="event.preventDefault(); showLogin()">Admin</a></li>
|
| 893 |
</ul>
|
| 894 |
</nav>
|
| 895 |
|
|
|
|
| 933 |
<span class="stat-num">4</span>
|
| 934 |
<span class="stat-label">Ränge</span>
|
| 935 |
</div>
|
| 936 |
+
<div class="stat">
|
| 937 |
+
<span class="stat-num">1+</span>
|
| 938 |
+
<span class="stat-label">Partner</span>
|
| 939 |
+
</div>
|
| 940 |
</div>
|
| 941 |
|
| 942 |
<div class="divider"></div>
|
|
|
|
| 953 |
|
| 954 |
<div class="divider"></div>
|
| 955 |
|
| 956 |
+
<!-- PARTNER SECTION -->
|
| 957 |
+
<section class="partner-section" id="partner">
|
| 958 |
+
<div class="section-header">
|
| 959 |
+
<div class="section-tag">// Unsere</div>
|
| 960 |
+
<h2 class="section-title">PARTNER<span>.</span></h2>
|
| 961 |
+
</div>
|
| 962 |
+
<div class="partner-grid">
|
| 963 |
+
<a class="partner-card" href="https://noah33565-noahsapp.static.hf.space/" target="_blank" rel="noopener">
|
| 964 |
+
<span class="partner-icon">🚀</span>
|
| 965 |
+
<div class="partner-name">Noah's App</div>
|
| 966 |
+
<div class="partner-desc">Offizieller Partner — Besuche Noah's App und entdecke spannende Projekte.</div>
|
| 967 |
+
<span class="partner-btn">
|
| 968 |
+
Besuchen
|
| 969 |
+
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 7h10M7 2l5 5-5 5"/></svg>
|
| 970 |
+
</span>
|
| 971 |
+
</a>
|
| 972 |
+
</div>
|
| 973 |
+
</section>
|
| 974 |
+
|
| 975 |
+
<div class="divider"></div>
|
| 976 |
+
|
| 977 |
<footer>
|
| 978 |
<div class="footer-logo">DEGBGaming <span style="color:var(--accent2)">Server GBDE©</span></div>
|
| 979 |
<p class="footer-text">© 2025 DEGBGaming Server GBDE© — Alle Rechte vorbehalten</p>
|
|
|
|
| 1127 |
setTimeout(() => n.classList.remove('show'), 2000);
|
| 1128 |
}
|
| 1129 |
|
| 1130 |
+
// Routing (hash-basiert fuer hf.space)
|
| 1131 |
+
// Login: https://noah33565-gamingserver.hf.space/#/login
|
| 1132 |
function checkRoute() {
|
| 1133 |
+
const hash = window.location.hash;
|
| 1134 |
+
if (hash === '#/login') showLogin(false);
|
| 1135 |
+
else showMainView(false);
|
| 1136 |
}
|
| 1137 |
|
| 1138 |
+
function showLogin(updateHash) {
|
| 1139 |
+
if (updateHash !== false) window.location.hash = '#/login';
|
| 1140 |
document.getElementById('mainPage').style.display = 'none';
|
| 1141 |
document.getElementById('loginPage').classList.add('active');
|
| 1142 |
document.getElementById('adminPanel').classList.remove('active');
|
| 1143 |
document.getElementById('loginError').textContent = '';
|
| 1144 |
document.getElementById('passwordInput').value = '';
|
| 1145 |
+
setTimeout(() => document.getElementById('passwordInput').focus(), 100);
|
| 1146 |
}
|
| 1147 |
|
| 1148 |
+
function showMain(updateHash) {
|
| 1149 |
+
if (updateHash !== false) window.location.hash = '';
|
| 1150 |
document.getElementById('mainPage').style.display = 'block';
|
| 1151 |
document.getElementById('loginPage').classList.remove('active');
|
| 1152 |
document.getElementById('adminPanel').classList.remove('active');
|
|
|
|
| 1153 |
}
|
| 1154 |
|
| 1155 |
+
function showMainView(updateHash) { showMain(updateHash); }
|
| 1156 |
+
|
| 1157 |
function showAdmin() {
|
| 1158 |
+
window.location.hash = '#/admin';
|
| 1159 |
document.getElementById('mainPage').style.display = 'none';
|
| 1160 |
document.getElementById('loginPage').classList.remove('active');
|
| 1161 |
document.getElementById('adminPanel').classList.add('active');
|
| 1162 |
renderAdmin();
|
|
|
|
| 1163 |
}
|
| 1164 |
|
| 1165 |
function doLogin() {
|
|
|
|
| 1169 |
err.textContent = '';
|
| 1170 |
showAdmin();
|
| 1171 |
} else {
|
| 1172 |
+
err.textContent = 'Falsches Passwort';
|
| 1173 |
document.getElementById('passwordInput').value = '';
|
| 1174 |
document.getElementById('passwordInput').focus();
|
| 1175 |
}
|
| 1176 |
}
|
| 1177 |
|
| 1178 |
+
function logout() { showMain(); }
|
| 1179 |
+
|
| 1180 |
+
function scrollToPartner() {
|
| 1181 |
+
setTimeout(() => {
|
| 1182 |
+
const el = document.getElementById('partner');
|
| 1183 |
+
if (el) el.scrollIntoView({ behavior: 'smooth' });
|
| 1184 |
+
}, 100);
|
| 1185 |
}
|
| 1186 |
|
| 1187 |
function scrollToTeam() {
|
|
|
|
| 1191 |
}, 100);
|
| 1192 |
}
|
| 1193 |
|
| 1194 |
+
window.addEventListener('hashchange', checkRoute);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1195 |
|
| 1196 |
// Particles
|
| 1197 |
function spawnParticles() {
|