noah33565 commited on
Commit
6d29d96
·
verified ·
1 Parent(s): aa0de94

Update index.html

Browse files
Files changed (1) hide show
  1. 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
- if (window.location.pathname === '/login' || window.location.hash === '#/login') {
1013
- showLogin();
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
- history.pushState({}, '', '/login');
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 = 'Falsches Passwort';
1049
  document.getElementById('passwordInput').value = '';
1050
  document.getElementById('passwordInput').focus();
1051
  }
1052
  }
1053
 
1054
- function logout() {
1055
- showMain();
 
 
 
 
 
1056
  }
1057
 
1058
  function scrollToTeam() {
@@ -1062,28 +1191,7 @@
1062
  }, 100);
1063
  }
1064
 
1065
- // Handle browser navigation
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() {