Spaces:
Running
Running
Add 2 files
Browse files- index.html +535 -39
- prompts.txt +2 -1
index.html
CHANGED
|
@@ -7,6 +7,8 @@
|
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js"></script>
|
| 9 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
|
|
|
|
|
|
|
| 10 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
| 11 |
<style>
|
| 12 |
@import url('https://fonts.googleapis.com/css2?family=Changa:wght@400;600;800&family=Orbitron:wght@400;700&display=swap');
|
|
@@ -191,6 +193,107 @@
|
|
| 191 |
transform: translate(-50%, -50%);
|
| 192 |
mix-blend-mode: screen;
|
| 193 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 194 |
</style>
|
| 195 |
</head>
|
| 196 |
<body class="bg-gritty">
|
|
@@ -203,6 +306,62 @@
|
|
| 203 |
<!-- Smoke Overlay -->
|
| 204 |
<div class="smoke-effect"></div>
|
| 205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 206 |
<!-- Navigation -->
|
| 207 |
<nav class="fixed top-0 left-0 right-0 z-50 bg-black bg-opacity-80 backdrop-blur-md border-b border-gray-800">
|
| 208 |
<div class="container mx-auto px-4 py-3 flex justify-between items-center">
|
|
@@ -211,12 +370,26 @@
|
|
| 211 |
<span class="ml-2 text-xl red-glow hidden md:inline">SYNDICATES</span>
|
| 212 |
</div>
|
| 213 |
|
| 214 |
-
<div class="hidden md:flex space-x-8">
|
| 215 |
<a href="#home" class="text-white hover:text-green-400 transition duration-300">HOME</a>
|
| 216 |
<a href="#syndicate" class="text-white hover:text-green-400 transition duration-300">THE SYNDICATE</a>
|
| 217 |
<a href="#tracks" class="text-white hover:text-green-400 transition duration-300">TRACKS</a>
|
| 218 |
<a href="#diaries" class="text-white hover:text-green-400 transition duration-300">PINDI DIARIES</a>
|
| 219 |
<a href="#contact" class="text-white hover:text-green-400 transition duration-300">CONTACT</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 220 |
</div>
|
| 221 |
|
| 222 |
<div class="md:hidden">
|
|
@@ -234,10 +407,40 @@
|
|
| 234 |
<a href="#tracks" class="text-white hover:text-green-400 py-2">TRACKS</a>
|
| 235 |
<a href="#diaries" class="text-white hover:text-green-400 py-2">PINDI DIARIES</a>
|
| 236 |
<a href="#contact" class="text-white hover:text-green-400 py-2">CONTACT</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
</div>
|
| 238 |
</div>
|
| 239 |
</nav>
|
| 240 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 241 |
<!-- Hero Section -->
|
| 242 |
<section id="home" class="min-h-screen flex items-center justify-center relative overflow-hidden pt-20">
|
| 243 |
<div class="container mx-auto px-4 py-20 text-center">
|
|
@@ -466,6 +669,35 @@
|
|
| 466 |
</div>
|
| 467 |
</div>
|
| 468 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 469 |
<div class="text-center mt-12">
|
| 470 |
<a href="#" class="inline-block px-6 py-3 bg-gradient-to-r from-green-400 to-blue-500 rounded-lg font-bold text-white hover:from-green-500 hover:to-blue-600 transition duration-300">
|
| 471 |
VIEW ALL TRACKS
|
|
@@ -484,7 +716,7 @@
|
|
| 484 |
<div class="gallery-item relative rounded-lg overflow-hidden h-64">
|
| 485 |
<img src="https://images.unsplash.com/photo-1514525253161-7a46d19cd81b?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60" alt="MMK in studio" class="w-full h-full object-cover">
|
| 486 |
<div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-0 hover:opacity-80 transition duration-300 flex flex-col justify-end p-6">
|
| 487 |
-
<h3 class="text-xl font-bold text-white mb-2">Studio Sessions</
|
| 488 |
<p class="text-gray-300">Behind the scenes of our latest track</p>
|
| 489 |
</div>
|
| 490 |
</div>
|
|
@@ -535,6 +767,33 @@
|
|
| 535 |
</div>
|
| 536 |
</div>
|
| 537 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 538 |
<div class="text-center mt-12">
|
| 539 |
<a href="#" class="inline-block px-6 py-3 bg-gradient-to-r from-red-500 to-yellow-500 rounded-lg font-bold text-white hover:from-red-600 hover:to-yellow-600 transition duration-300">
|
| 540 |
MORE FROM THE DIARIES
|
|
@@ -572,6 +831,40 @@
|
|
| 572 |
</div>
|
| 573 |
</form>
|
| 574 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 575 |
<div class="mt-12 text-center">
|
| 576 |
<h3 class="text-2xl font-bold text-green-400 mb-4">OR FIND US HERE</h3>
|
| 577 |
<div class="flex justify-center space-x-6">
|
|
@@ -586,6 +879,61 @@
|
|
| 586 |
</div>
|
| 587 |
</section>
|
| 588 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 589 |
<!-- Footer -->
|
| 590 |
<footer class="bg-black py-12 border-t border-gray-900">
|
| 591 |
<div class="container mx-auto px-4">
|
|
@@ -619,6 +967,190 @@
|
|
| 619 |
</footer>
|
| 620 |
|
| 621 |
<script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 622 |
// Mobile Menu Toggle
|
| 623 |
document.getElementById('menu-toggle').addEventListener('click', function() {
|
| 624 |
const menu = document.getElementById('mobile-menu');
|
|
@@ -745,41 +1277,5 @@
|
|
| 745 |
gsap.utils.toArray('.member-card, .track-card, .gallery-item').forEach(element => {
|
| 746 |
gsap.from(element, {
|
| 747 |
scrollTrigger: {
|
| 748 |
-
|
| 749 |
-
start: "top 80%",
|
| 750 |
-
toggleActions: "play none none none"
|
| 751 |
-
},
|
| 752 |
-
opacity: 0,
|
| 753 |
-
y: 50,
|
| 754 |
-
duration: 0.8,
|
| 755 |
-
ease: "power2.out"
|
| 756 |
-
});
|
| 757 |
-
});
|
| 758 |
-
|
| 759 |
-
// Hero text animation
|
| 760 |
-
gsap.from("#home h1", {
|
| 761 |
-
duration: 1.5,
|
| 762 |
-
opacity: 0,
|
| 763 |
-
y: 50,
|
| 764 |
-
ease: "power3.out"
|
| 765 |
-
});
|
| 766 |
-
|
| 767 |
-
gsap.from("#home p", {
|
| 768 |
-
duration: 1.5,
|
| 769 |
-
opacity: 0,
|
| 770 |
-
y: 50,
|
| 771 |
-
delay: 0.3,
|
| 772 |
-
ease: "power3.out"
|
| 773 |
-
});
|
| 774 |
-
|
| 775 |
-
gsap.from("#home a", {
|
| 776 |
-
duration: 1.5,
|
| 777 |
-
opacity: 0,
|
| 778 |
-
y: 50,
|
| 779 |
-
delay: 0.6,
|
| 780 |
-
ease: "power3.out"
|
| 781 |
-
});
|
| 782 |
-
}
|
| 783 |
-
</script>
|
| 784 |
-
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=hammadkhswati/hii" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
| 785 |
</html>
|
|
|
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js"></script>
|
| 9 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
|
| 10 |
+
<script src="https://www.gstatic.com/firebasejs/9.6.0/firebase-app-compat.js"></script>
|
| 11 |
+
<script src="https://www.gstatic.com/firebasejs/9.6.0/firebase-auth-compat.js"></script>
|
| 12 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
| 13 |
<style>
|
| 14 |
@import url('https://fonts.googleapis.com/css2?family=Changa:wght@400;600;800&family=Orbitron:wght@400;700&display=swap');
|
|
|
|
| 193 |
transform: translate(-50%, -50%);
|
| 194 |
mix-blend-mode: screen;
|
| 195 |
}
|
| 196 |
+
|
| 197 |
+
/* Auth Modal Styles */
|
| 198 |
+
.auth-modal {
|
| 199 |
+
display: none;
|
| 200 |
+
position: fixed;
|
| 201 |
+
top: 0;
|
| 202 |
+
left: 0;
|
| 203 |
+
width: 100%;
|
| 204 |
+
height: 100%;
|
| 205 |
+
background-color: rgba(0, 0, 0, 0.8);
|
| 206 |
+
z-index: 1000;
|
| 207 |
+
backdrop-filter: blur(5px);
|
| 208 |
+
}
|
| 209 |
+
|
| 210 |
+
.auth-content {
|
| 211 |
+
background: linear-gradient(135deg, #111 0%, #000 100%);
|
| 212 |
+
border: 1px solid var(--neon-green);
|
| 213 |
+
box-shadow: 0 0 20px rgba(0, 255, 157, 0.3);
|
| 214 |
+
width: 90%;
|
| 215 |
+
max-width: 400px;
|
| 216 |
+
margin: 100px auto;
|
| 217 |
+
padding: 30px;
|
| 218 |
+
border-radius: 10px;
|
| 219 |
+
position: relative;
|
| 220 |
+
}
|
| 221 |
+
|
| 222 |
+
.close-auth {
|
| 223 |
+
position: absolute;
|
| 224 |
+
top: 15px;
|
| 225 |
+
right: 15px;
|
| 226 |
+
color: var(--neon-green);
|
| 227 |
+
font-size: 24px;
|
| 228 |
+
cursor: pointer;
|
| 229 |
+
}
|
| 230 |
+
|
| 231 |
+
.auth-tabs {
|
| 232 |
+
display: flex;
|
| 233 |
+
margin-bottom: 20px;
|
| 234 |
+
border-bottom: 1px solid #333;
|
| 235 |
+
}
|
| 236 |
+
|
| 237 |
+
.auth-tab {
|
| 238 |
+
padding: 10px 20px;
|
| 239 |
+
cursor: pointer;
|
| 240 |
+
color: #777;
|
| 241 |
+
font-weight: bold;
|
| 242 |
+
}
|
| 243 |
+
|
| 244 |
+
.auth-tab.active {
|
| 245 |
+
color: var(--neon-green);
|
| 246 |
+
border-bottom: 2px solid var(--neon-green);
|
| 247 |
+
}
|
| 248 |
+
|
| 249 |
+
.auth-form {
|
| 250 |
+
display: none;
|
| 251 |
+
}
|
| 252 |
+
|
| 253 |
+
.auth-form.active {
|
| 254 |
+
display: block;
|
| 255 |
+
}
|
| 256 |
+
|
| 257 |
+
/* Exclusive Content Styles */
|
| 258 |
+
.exclusive-content {
|
| 259 |
+
display: none;
|
| 260 |
+
background: rgba(0, 0, 0, 0.7);
|
| 261 |
+
border: 2px solid var(--blood-red);
|
| 262 |
+
padding: 20px;
|
| 263 |
+
margin: 20px 0;
|
| 264 |
+
border-radius: 10px;
|
| 265 |
+
box-shadow: 0 0 15px rgba(255, 0, 60, 0.3);
|
| 266 |
+
}
|
| 267 |
+
|
| 268 |
+
.user-avatar {
|
| 269 |
+
width: 50px;
|
| 270 |
+
height: 50px;
|
| 271 |
+
border-radius: 50%;
|
| 272 |
+
border: 2px solid var(--neon-green);
|
| 273 |
+
object-fit: cover;
|
| 274 |
+
}
|
| 275 |
+
|
| 276 |
+
/* Dashboard Styles */
|
| 277 |
+
.dashboard-nav {
|
| 278 |
+
background: rgba(20, 20, 20, 0.8);
|
| 279 |
+
border-bottom: 1px solid #333;
|
| 280 |
+
padding: 15px 0;
|
| 281 |
+
}
|
| 282 |
+
|
| 283 |
+
.dashboard-nav a {
|
| 284 |
+
color: #ccc;
|
| 285 |
+
margin-right: 20px;
|
| 286 |
+
transition: color 0.3s;
|
| 287 |
+
}
|
| 288 |
+
|
| 289 |
+
.dashboard-nav a:hover {
|
| 290 |
+
color: var(--neon-green);
|
| 291 |
+
}
|
| 292 |
+
|
| 293 |
+
.dashboard-nav a.active {
|
| 294 |
+
color: var(--neon-green);
|
| 295 |
+
border-bottom: 2px solid var(--neon-green);
|
| 296 |
+
}
|
| 297 |
</style>
|
| 298 |
</head>
|
| 299 |
<body class="bg-gritty">
|
|
|
|
| 306 |
<!-- Smoke Overlay -->
|
| 307 |
<div class="smoke-effect"></div>
|
| 308 |
|
| 309 |
+
<!-- Auth Modal -->
|
| 310 |
+
<div id="auth-modal" class="auth-modal">
|
| 311 |
+
<div class="auth-content">
|
| 312 |
+
<span class="close-auth">×</span>
|
| 313 |
+
<div class="auth-tabs">
|
| 314 |
+
<div class="auth-tab active" data-tab="login">LOGIN</div>
|
| 315 |
+
<div class="auth-tab" data-tab="signup">SIGN UP</div>
|
| 316 |
+
</div>
|
| 317 |
+
|
| 318 |
+
<form id="login-form" class="auth-form active">
|
| 319 |
+
<div class="mb-4">
|
| 320 |
+
<label for="login-email" class="block text-gray-300 mb-2">EMAIL</label>
|
| 321 |
+
<input type="email" id="login-email" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Enter your email" required>
|
| 322 |
+
</div>
|
| 323 |
+
|
| 324 |
+
<div class="mb-6">
|
| 325 |
+
<label for="login-password" class="block text-gray-300 mb-2">PASSWORD</label>
|
| 326 |
+
<input type="password" id="login-password" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Enter your password" required>
|
| 327 |
+
</div>
|
| 328 |
+
|
| 329 |
+
<button type="submit" class="w-full btn-neon py-3 rounded-lg font-bold text-white focus:outline-none">
|
| 330 |
+
ENTER THE SYNDICATE
|
| 331 |
+
</button>
|
| 332 |
+
|
| 333 |
+
<div class="text-center mt-4 text-gray-400">
|
| 334 |
+
<a href="#" id="forgot-password" class="text-sm hover:text-green-400">Forgot password?</a>
|
| 335 |
+
</div>
|
| 336 |
+
|
| 337 |
+
<div id="login-error" class="mt-4 text-red-500 text-center hidden"></div>
|
| 338 |
+
</form>
|
| 339 |
+
|
| 340 |
+
<form id="signup-form" class="auth-form">
|
| 341 |
+
<div class="mb-4">
|
| 342 |
+
<label for="signup-username" class="block text-gray-300 mb-2">USERNAME</label>
|
| 343 |
+
<input type="text" id="signup-username" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Choose a username" required>
|
| 344 |
+
</div>
|
| 345 |
+
|
| 346 |
+
<div class="mb-4">
|
| 347 |
+
<label for="signup-email" class="block text-gray-300 mb-2">EMAIL</label>
|
| 348 |
+
<input type="email" id="signup-email" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Enter your email" required>
|
| 349 |
+
</div>
|
| 350 |
+
|
| 351 |
+
<div class="mb-6">
|
| 352 |
+
<label for="signup-password" class="block text-gray-300 mb-2">PASSWORD</label>
|
| 353 |
+
<input type="password" id="signup-password" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Create a password" required>
|
| 354 |
+
</div>
|
| 355 |
+
|
| 356 |
+
<button type="submit" class="w-full btn-neon py-3 rounded-lg font-bold text-white focus:outline-none">
|
| 357 |
+
JOIN THE SYNDICATE
|
| 358 |
+
</button>
|
| 359 |
+
|
| 360 |
+
<div id="signup-error" class="mt-4 text-red-500 text-center hidden"></div>
|
| 361 |
+
</form>
|
| 362 |
+
</div>
|
| 363 |
+
</div>
|
| 364 |
+
|
| 365 |
<!-- Navigation -->
|
| 366 |
<nav class="fixed top-0 left-0 right-0 z-50 bg-black bg-opacity-80 backdrop-blur-md border-b border-gray-800">
|
| 367 |
<div class="container mx-auto px-4 py-3 flex justify-between items-center">
|
|
|
|
| 370 |
<span class="ml-2 text-xl red-glow hidden md:inline">SYNDICATES</span>
|
| 371 |
</div>
|
| 372 |
|
| 373 |
+
<div class="hidden md:flex space-x-8 items-center">
|
| 374 |
<a href="#home" class="text-white hover:text-green-400 transition duration-300">HOME</a>
|
| 375 |
<a href="#syndicate" class="text-white hover:text-green-400 transition duration-300">THE SYNDICATE</a>
|
| 376 |
<a href="#tracks" class="text-white hover:text-green-400 transition duration-300">TRACKS</a>
|
| 377 |
<a href="#diaries" class="text-white hover:text-green-400 transition duration-300">PINDI DIARIES</a>
|
| 378 |
<a href="#contact" class="text-white hover:text-green-400 transition duration-300">CONTACT</a>
|
| 379 |
+
|
| 380 |
+
<div id="auth-buttons">
|
| 381 |
+
<button id="login-btn" class="px-4 py-2 border border-green-400 text-green-400 rounded-lg hover:bg-green-400 hover:text-black transition duration-300">
|
| 382 |
+
LOGIN
|
| 383 |
+
</button>
|
| 384 |
+
</div>
|
| 385 |
+
|
| 386 |
+
<div id="user-menu" class="hidden flex items-center">
|
| 387 |
+
<img id="user-avatar" src="https://via.placeholder.com/40" alt="User" class="w-8 h-8 rounded-full mr-2">
|
| 388 |
+
<span id="username" class="text-white"></span>
|
| 389 |
+
<button id="logout-btn" class="ml-4 text-red-400 hover:text-red-300">
|
| 390 |
+
<i class="fas fa-sign-out-alt"></i>
|
| 391 |
+
</button>
|
| 392 |
+
</div>
|
| 393 |
</div>
|
| 394 |
|
| 395 |
<div class="md:hidden">
|
|
|
|
| 407 |
<a href="#tracks" class="text-white hover:text-green-400 py-2">TRACKS</a>
|
| 408 |
<a href="#diaries" class="text-white hover:text-green-400 py-2">PINDI DIARIES</a>
|
| 409 |
<a href="#contact" class="text-white hover:text-green-400 py-2">CONTACT</a>
|
| 410 |
+
|
| 411 |
+
<div id="mobile-auth-buttons" class="pt-2 border-t border-gray-700">
|
| 412 |
+
<button id="mobile-login-btn" class="w-full px-4 py-2 border border-green-400 text-green-400 rounded-lg hover:bg-green-400 hover:text-black transition duration-300">
|
| 413 |
+
LOGIN
|
| 414 |
+
</button>
|
| 415 |
+
</div>
|
| 416 |
+
|
| 417 |
+
<div id="mobile-user-menu" class="hidden pt-2 border-t border-gray-700">
|
| 418 |
+
<div class="flex items-center justify-between">
|
| 419 |
+
<div class="flex items-center">
|
| 420 |
+
<img id="mobile-user-avatar" src="https://via.placeholder.com/40" alt="User" class="w-8 h-8 rounded-full mr-2">
|
| 421 |
+
<span id="mobile-username" class="text-white"></span>
|
| 422 |
+
</div>
|
| 423 |
+
<button id="mobile-logout-btn" class="text-red-400 hover:text-red-300">
|
| 424 |
+
<i class="fas fa-sign-out-alt"></i>
|
| 425 |
+
</button>
|
| 426 |
+
</div>
|
| 427 |
+
</div>
|
| 428 |
</div>
|
| 429 |
</div>
|
| 430 |
</nav>
|
| 431 |
|
| 432 |
+
<!-- Dashboard Navigation (Visible when logged in) -->
|
| 433 |
+
<div id="dashboard-nav" class="dashboard-nav hidden">
|
| 434 |
+
<div class="container mx-auto px-4">
|
| 435 |
+
<div class="flex">
|
| 436 |
+
<a href="#exclusive" class="active">EXCLUSIVE</a>
|
| 437 |
+
<a href="#profile">PROFILE</a>
|
| 438 |
+
<a href="#notifications">NOTIFICATIONS</a>
|
| 439 |
+
<a href="#merch">MERCH</a>
|
| 440 |
+
</div>
|
| 441 |
+
</div>
|
| 442 |
+
</div>
|
| 443 |
+
|
| 444 |
<!-- Hero Section -->
|
| 445 |
<section id="home" class="min-h-screen flex items-center justify-center relative overflow-hidden pt-20">
|
| 446 |
<div class="container mx-auto px-4 py-20 text-center">
|
|
|
|
| 669 |
</div>
|
| 670 |
</div>
|
| 671 |
|
| 672 |
+
<!-- Exclusive Content (Visible when logged in) -->
|
| 673 |
+
<div id="exclusive-tracks" class="exclusive-content">
|
| 674 |
+
<h3 class="text-2xl font-bold text-red-500 mb-6 text-center">SYNDICATE VAULT (EXCLUSIVE TRACKS)</h3>
|
| 675 |
+
|
| 676 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
| 677 |
+
<!-- Exclusive Track 1 -->
|
| 678 |
+
<div class="track-card bg-black bg-opacity-70 rounded-lg overflow-hidden border border-red-500 p-4 hover:border-red-400 transition duration-300">
|
| 679 |
+
<div class="h-40 bg-cover bg-center mb-4 rounded-lg" style="background-image: url('https://images.unsplash.com/photo-1514525253161-7a46d19cd81b?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60');"></div>
|
| 680 |
+
<h3 class="text-xl font-bold text-white mb-2">Underground Kingz</h3>
|
| 681 |
+
<p class="text-gray-400 mb-4">MMK Syndicates</p>
|
| 682 |
+
<div class="flex justify-between items-center">
|
| 683 |
+
<span class="text-red-400"><i class="fas fa-lock-open mr-2"></i> EXCLUSIVE</span>
|
| 684 |
+
<button class="text-red-400 hover:text-white"><i class="fas fa-play"></i></button>
|
| 685 |
+
</div>
|
| 686 |
+
</div>
|
| 687 |
+
|
| 688 |
+
<!-- Exclusive Track 2 -->
|
| 689 |
+
<div class="track-card bg-black bg-opacity-70 rounded-lg overflow-hidden border border-red-500 p-4 hover:border-red-400 transition duration-300">
|
| 690 |
+
<div class="h-40 bg-cover bg-center mb-4 rounded-lg" style="background-image: url('https://images.unsplash.com/photo-1511671782779-c97d3d27a1d4?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60');"></div>
|
| 691 |
+
<h3 class="text-xl font-bold text-white mb-2">Pindi Don</h3>
|
| 692 |
+
<p class="text-gray-400 mb-4">MMK Syndicates</p>
|
| 693 |
+
<div class="flex justify-between items-center">
|
| 694 |
+
<span class="text-red-400"><i class="fas fa-lock-open mr-2"></i> EXCLUSIVE</span>
|
| 695 |
+
<button class="text-red-400 hover:text-white"><i class="fas fa-play"></i></button>
|
| 696 |
+
</div>
|
| 697 |
+
</div>
|
| 698 |
+
</div>
|
| 699 |
+
</div>
|
| 700 |
+
|
| 701 |
<div class="text-center mt-12">
|
| 702 |
<a href="#" class="inline-block px-6 py-3 bg-gradient-to-r from-green-400 to-blue-500 rounded-lg font-bold text-white hover:from-green-500 hover:to-blue-600 transition duration-300">
|
| 703 |
VIEW ALL TRACKS
|
|
|
|
| 716 |
<div class="gallery-item relative rounded-lg overflow-hidden h-64">
|
| 717 |
<img src="https://images.unsplash.com/photo-1514525253161-7a46d19cd81b?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60" alt="MMK in studio" class="w-full h-full object-cover">
|
| 718 |
<div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-0 hover:opacity-80 transition duration-300 flex flex-col justify-end p-6">
|
| 719 |
+
<h3 class="text-xl font-bold text-white mb-2">Studio Sessions</3>
|
| 720 |
<p class="text-gray-300">Behind the scenes of our latest track</p>
|
| 721 |
</div>
|
| 722 |
</div>
|
|
|
|
| 767 |
</div>
|
| 768 |
</div>
|
| 769 |
|
| 770 |
+
<!-- Exclusive Gallery Content (Visible when logged in) -->
|
| 771 |
+
<div id="exclusive-gallery" class="exclusive-content mt-12">
|
| 772 |
+
<h3 class="text-2xl font-bold text-red-500 mb-6 text-center">SYNDICATE EYES ONLY</h3>
|
| 773 |
+
|
| 774 |
+
<div class="grid grid-cols-1 sm:grid-cols-2 gap-6">
|
| 775 |
+
<!-- Exclusive Gallery Item 1 -->
|
| 776 |
+
<div class="gallery-item relative rounded-lg overflow-hidden h-64">
|
| 777 |
+
<img src="https://images.unsplash.com/photo-1511671782779-c97d3d27a1d4?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60" alt="Exclusive content" class="w-full h-full object-cover">
|
| 778 |
+
<div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-0 hover:opacity-80 transition duration-300 flex flex-col justify-end p-6">
|
| 779 |
+
<h3 class="text-xl font-bold text-white mb-2">Behind Bars</h3>
|
| 780 |
+
<p class="text-gray-300">Recording the next banger</p>
|
| 781 |
+
<span class="text-red-400 text-sm mt-2"><i class="fas fa-lock-open mr-1"></i> EXCLUSIVE</span>
|
| 782 |
+
</div>
|
| 783 |
+
</div>
|
| 784 |
+
|
| 785 |
+
<!-- Exclusive Gallery Item 2 -->
|
| 786 |
+
<div class="gallery-item relative rounded-lg overflow-hidden h-64">
|
| 787 |
+
<img src="https://images.unsplash.com/photo-1514525253161-7a46d19cd81b?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60" alt="Exclusive content" class="w-full h-full object-cover">
|
| 788 |
+
<div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-0 hover:opacity-80 transition duration-300 flex flex-col justify-end p-6">
|
| 789 |
+
<h3 class="text-xl font-bold text-white mb-2">Next Level</h3>
|
| 790 |
+
<p class="text-gray-300">Planning the next move</p>
|
| 791 |
+
<span class="text-red-400 text-sm mt-2"><i class="fas fa-lock-open mr-1"></i> EXCLUSIVE</span>
|
| 792 |
+
</div>
|
| 793 |
+
</div>
|
| 794 |
+
</div>
|
| 795 |
+
</div>
|
| 796 |
+
|
| 797 |
<div class="text-center mt-12">
|
| 798 |
<a href="#" class="inline-block px-6 py-3 bg-gradient-to-r from-red-500 to-yellow-500 rounded-lg font-bold text-white hover:from-red-600 hover:to-yellow-600 transition duration-300">
|
| 799 |
MORE FROM THE DIARIES
|
|
|
|
| 831 |
</div>
|
| 832 |
</form>
|
| 833 |
|
| 834 |
+
<!-- Join Gang Form (Visible when logged in) -->
|
| 835 |
+
<div id="join-gang-form" class="exclusive-content mt-12">
|
| 836 |
+
<h3 class="text-2xl font-bold text-red-500 mb-6 text-center">INITIATION REQUEST</h3>
|
| 837 |
+
<form class="space-y-6">
|
| 838 |
+
<div>
|
| 839 |
+
<label for="gang-role" class="block text-gray-300 mb-2">WHAT'S YOUR ROLE?</label>
|
| 840 |
+
<select id="gang-role" class="w-full px-4 py-3 input-field text-white focus:outline-none">
|
| 841 |
+
<option value="">Select your role</option>
|
| 842 |
+
<option value="producer">Producer</option>
|
| 843 |
+
<option value="rapper">Rapper</option>
|
| 844 |
+
<option value="videographer">Videographer</option>
|
| 845 |
+
<option value="graphics">Graphics Designer</option>
|
| 846 |
+
<option value="street-team">Street Team</option>
|
| 847 |
+
</select>
|
| 848 |
+
</div>
|
| 849 |
+
|
| 850 |
+
<div>
|
| 851 |
+
<label for="gang-skills" class="block text-gray-300 mb-2">YOUR SKILLS</label>
|
| 852 |
+
<textarea id="gang-skills" rows="3" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="What skills do you bring to the syndicate?"></textarea>
|
| 853 |
+
</div>
|
| 854 |
+
|
| 855 |
+
<div>
|
| 856 |
+
<label for="gang-links" class="block text-gray-300 mb-2">LINKS TO YOUR WORK</label>
|
| 857 |
+
<input type="text" id="gang-links" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="SoundCloud, YouTube, Instagram, etc.">
|
| 858 |
+
</div>
|
| 859 |
+
|
| 860 |
+
<div class="pt-4">
|
| 861 |
+
<button type="submit" class="w-full bg-gradient-to-r from-red-500 to-yellow-500 py-3 rounded-lg font-bold text-white hover:from-red-600 hover:to-yellow-600 transition duration-300">
|
| 862 |
+
SUBMIT INITIATION
|
| 863 |
+
</button>
|
| 864 |
+
</div>
|
| 865 |
+
</form>
|
| 866 |
+
</div>
|
| 867 |
+
|
| 868 |
<div class="mt-12 text-center">
|
| 869 |
<h3 class="text-2xl font-bold text-green-400 mb-4">OR FIND US HERE</h3>
|
| 870 |
<div class="flex justify-center space-x-6">
|
|
|
|
| 879 |
</div>
|
| 880 |
</section>
|
| 881 |
|
| 882 |
+
<!-- User Profile Section (Visible when logged in) -->
|
| 883 |
+
<section id="profile" class="exclusive-content py-20 bg-black bg-opacity-80 hidden">
|
| 884 |
+
<div class="container mx-auto px-4">
|
| 885 |
+
<h2 class="text-4xl font-bold text-center mb-16 neon-text">YOUR PROFILE</h2>
|
| 886 |
+
|
| 887 |
+
<div class="max-w-3xl mx-auto bg-black bg-opacity-70 rounded-lg border border-gray-800 p-8 shadow-lg">
|
| 888 |
+
<div class="flex flex-col md:flex-row items-center mb-8">
|
| 889 |
+
<div class="w-32 h-32 rounded-full border-4 border-green-400 mb-4 md:mb-0 md:mr-8 overflow-hidden">
|
| 890 |
+
<img id="profile-avatar" src="https://via.placeholder.com/150" alt="Profile" class="w-full h-full object-cover">
|
| 891 |
+
</div>
|
| 892 |
+
<div class="text-center md:text-left">
|
| 893 |
+
<h3 id="profile-username" class="text-2xl font-bold text-green-400 mb-2">USERNAME</h3>
|
| 894 |
+
<p id="profile-email" class="text-gray-400">user@example.com</p>
|
| 895 |
+
<button id="change-avatar" class="mt-4 text-sm text-gray-400 hover:text-green-400">Change Avatar</button>
|
| 896 |
+
</div>
|
| 897 |
+
</div>
|
| 898 |
+
|
| 899 |
+
<form id="profile-form" class="space-y-6">
|
| 900 |
+
<div>
|
| 901 |
+
<label for="profile-bio" class="block text-gray-300 mb-2">YOUR BIO</label>
|
| 902 |
+
<textarea id="profile-bio" rows="3" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Tell us about yourself"></textarea>
|
| 903 |
+
</div>
|
| 904 |
+
|
| 905 |
+
<div>
|
| 906 |
+
<label for="profile-location" class="block text-gray-300 mb-2">LOCATION</label>
|
| 907 |
+
<input type="text" id="profile-location" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Where are you from?">
|
| 908 |
+
</div>
|
| 909 |
+
|
| 910 |
+
<div>
|
| 911 |
+
<label for="profile-links" class="block text-gray-300 mb-2">SOCIAL LINKS</label>
|
| 912 |
+
<input type="text" id="profile-links" class="w-full px-4 py-3 input-field text-white focus:outline-none" placeholder="Your social media links">
|
| 913 |
+
</div>
|
| 914 |
+
|
| 915 |
+
<div class="pt-4">
|
| 916 |
+
<button type="submit" class="w-full btn-neon py-3 rounded-lg font-bold text-white focus:outline-none">
|
| 917 |
+
UPDATE PROFILE
|
| 918 |
+
</button>
|
| 919 |
+
</div>
|
| 920 |
+
</form>
|
| 921 |
+
|
| 922 |
+
<div class="mt-8 pt-8 border-t border-gray-800">
|
| 923 |
+
<h3 class="text-xl font-bold text-red-500 mb-4">ACCOUNT SETTINGS</h3>
|
| 924 |
+
<div class="space-y-4">
|
| 925 |
+
<button id="change-password" class="block w-full text-left px-4 py-2 bg-gray-900 rounded-lg hover:bg-gray-800 transition duration-300">
|
| 926 |
+
Change Password
|
| 927 |
+
</button>
|
| 928 |
+
<button id="delete-account" class="block w-full text-left px-4 py-2 bg-red-900 rounded-lg hover:bg-red-800 transition duration-300 text-red-300">
|
| 929 |
+
Delete Account
|
| 930 |
+
</button>
|
| 931 |
+
</div>
|
| 932 |
+
</div>
|
| 933 |
+
</div>
|
| 934 |
+
</div>
|
| 935 |
+
</section>
|
| 936 |
+
|
| 937 |
<!-- Footer -->
|
| 938 |
<footer class="bg-black py-12 border-t border-gray-900">
|
| 939 |
<div class="container mx-auto px-4">
|
|
|
|
| 967 |
</footer>
|
| 968 |
|
| 969 |
<script>
|
| 970 |
+
// Firebase Configuration
|
| 971 |
+
const firebaseConfig = {
|
| 972 |
+
apiKey: "AIzaSyDEXAMPLEEXAMPLEEXAMPLEEXAMPLE",
|
| 973 |
+
authDomain: "mmk-syndicates.firebaseapp.com",
|
| 974 |
+
projectId: "mmk-syndicates",
|
| 975 |
+
storageBucket: "mmk-syndicates.appspot.com",
|
| 976 |
+
messagingSenderId: "123456789012",
|
| 977 |
+
appId: "1:123456789012:web:EXAMPLEEXAMPLEEXAMPLE"
|
| 978 |
+
};
|
| 979 |
+
|
| 980 |
+
// Initialize Firebase
|
| 981 |
+
firebase.initializeApp(firebaseConfig);
|
| 982 |
+
const auth = firebase.auth();
|
| 983 |
+
|
| 984 |
+
// Auth State Listener
|
| 985 |
+
auth.onAuthStateChanged(user => {
|
| 986 |
+
if (user) {
|
| 987 |
+
// User is signed in
|
| 988 |
+
console.log("User logged in:", user);
|
| 989 |
+
document.getElementById('auth-buttons').classList.add('hidden');
|
| 990 |
+
document.getElementById('user-menu').classList.remove('hidden');
|
| 991 |
+
document.getElementById('mobile-auth-buttons').classList.add('hidden');
|
| 992 |
+
document.getElementById('mobile-user-menu').classList.remove('hidden');
|
| 993 |
+
|
| 994 |
+
document.getElementById('username').textContent = user.displayName || user.email.split('@')[0];
|
| 995 |
+
document.getElementById('mobile-username').textContent = user.displayName || user.email.split('@')[0];
|
| 996 |
+
|
| 997 |
+
// Show exclusive content
|
| 998 |
+
document.querySelectorAll('.exclusive-content').forEach(el => {
|
| 999 |
+
el.classList.remove('hidden');
|
| 1000 |
+
});
|
| 1001 |
+
|
| 1002 |
+
// Show dashboard nav
|
| 1003 |
+
document.getElementById('dashboard-nav').classList.remove('hidden');
|
| 1004 |
+
} else {
|
| 1005 |
+
// User is signed out
|
| 1006 |
+
console.log("User logged out");
|
| 1007 |
+
document.getElementById('auth-buttons').classList.remove('hidden');
|
| 1008 |
+
document.getElementById('user-menu').classList.add('hidden');
|
| 1009 |
+
document.getElementById('mobile-auth-buttons').classList.remove('hidden');
|
| 1010 |
+
document.getElementById('mobile-user-menu').classList.add('hidden');
|
| 1011 |
+
|
| 1012 |
+
// Hide exclusive content
|
| 1013 |
+
document.querySelectorAll('.exclusive-content').forEach(el => {
|
| 1014 |
+
el.classList.add('hidden');
|
| 1015 |
+
});
|
| 1016 |
+
|
| 1017 |
+
// Hide dashboard nav
|
| 1018 |
+
document.getElementById('dashboard-nav').classList.add('hidden');
|
| 1019 |
+
}
|
| 1020 |
+
});
|
| 1021 |
+
|
| 1022 |
+
// Auth Modal Toggle
|
| 1023 |
+
const authModal = document.getElementById('auth-modal');
|
| 1024 |
+
const loginBtn = document.getElementById('login-btn');
|
| 1025 |
+
const mobileLoginBtn = document.getElementById('mobile-login-btn');
|
| 1026 |
+
const closeAuth = document.querySelector('.close-auth');
|
| 1027 |
+
const authTabs = document.querySelectorAll('.auth-tab');
|
| 1028 |
+
const authForms = document.querySelectorAll('.auth-form');
|
| 1029 |
+
|
| 1030 |
+
loginBtn.addEventListener('click', () => {
|
| 1031 |
+
authModal.style.display = 'block';
|
| 1032 |
+
});
|
| 1033 |
+
|
| 1034 |
+
mobileLoginBtn.addEventListener('click', () => {
|
| 1035 |
+
authModal.style.display = 'block';
|
| 1036 |
+
});
|
| 1037 |
+
|
| 1038 |
+
closeAuth.addEventListener('click', () => {
|
| 1039 |
+
authModal.style.display = 'none';
|
| 1040 |
+
});
|
| 1041 |
+
|
| 1042 |
+
window.addEventListener('click', (e) => {
|
| 1043 |
+
if (e.target === authModal) {
|
| 1044 |
+
authModal.style.display = 'none';
|
| 1045 |
+
}
|
| 1046 |
+
});
|
| 1047 |
+
|
| 1048 |
+
// Tab Switching
|
| 1049 |
+
authTabs.forEach(tab => {
|
| 1050 |
+
tab.addEventListener('click', () => {
|
| 1051 |
+
const tabName = tab.getAttribute('data-tab');
|
| 1052 |
+
|
| 1053 |
+
authTabs.forEach(t => t.classList.remove('active'));
|
| 1054 |
+
authForms.forEach(f => f.classList.remove('active'));
|
| 1055 |
+
|
| 1056 |
+
tab.classList.add('active');
|
| 1057 |
+
document.getElementById(`${tabName}-form`).classList.add('active');
|
| 1058 |
+
});
|
| 1059 |
+
});
|
| 1060 |
+
|
| 1061 |
+
// Login Form
|
| 1062 |
+
document.getElementById('login-form').addEventListener('submit', (e) => {
|
| 1063 |
+
e.preventDefault();
|
| 1064 |
+
|
| 1065 |
+
const email = document.getElementById('login-email').value;
|
| 1066 |
+
const password = document.getElementById('login-password').value;
|
| 1067 |
+
const errorElement = document.getElementById('login-error');
|
| 1068 |
+
|
| 1069 |
+
auth.signInWithEmailAndPassword(email, password)
|
| 1070 |
+
.then((userCredential) => {
|
| 1071 |
+
// Signed in
|
| 1072 |
+
authModal.style.display = 'none';
|
| 1073 |
+
errorElement.classList.add('hidden');
|
| 1074 |
+
})
|
| 1075 |
+
.catch((error) => {
|
| 1076 |
+
errorElement.textContent = error.message;
|
| 1077 |
+
errorElement.classList.remove('hidden');
|
| 1078 |
+
});
|
| 1079 |
+
});
|
| 1080 |
+
|
| 1081 |
+
// Signup Form
|
| 1082 |
+
document.getElementById('signup-form').addEventListener('submit', (e) => {
|
| 1083 |
+
e.preventDefault();
|
| 1084 |
+
|
| 1085 |
+
const username = document.getElementById('signup-username').value;
|
| 1086 |
+
const email = document.getElementById('signup-email').value;
|
| 1087 |
+
const password = document.getElementById('signup-password').value;
|
| 1088 |
+
const errorElement = document.getElementById('signup-error');
|
| 1089 |
+
|
| 1090 |
+
auth.createUserWithEmailAndPassword(email, password)
|
| 1091 |
+
.then((userCredential) => {
|
| 1092 |
+
// Signed up
|
| 1093 |
+
return userCredential.user.updateProfile({
|
| 1094 |
+
displayName: username
|
| 1095 |
+
});
|
| 1096 |
+
})
|
| 1097 |
+
.then(() => {
|
| 1098 |
+
authModal.style.display = 'none';
|
| 1099 |
+
errorElement.classList.add('hidden');
|
| 1100 |
+
})
|
| 1101 |
+
.catch((error) => {
|
| 1102 |
+
errorElement.textContent = error.message;
|
| 1103 |
+
errorElement.classList.remove('hidden');
|
| 1104 |
+
});
|
| 1105 |
+
});
|
| 1106 |
+
|
| 1107 |
+
// Logout
|
| 1108 |
+
document.getElementById('logout-btn').addEventListener('click', () => {
|
| 1109 |
+
auth.signOut();
|
| 1110 |
+
});
|
| 1111 |
+
|
| 1112 |
+
document.getElementById('mobile-logout-btn').addEventListener('click', () => {
|
| 1113 |
+
auth.signOut();
|
| 1114 |
+
});
|
| 1115 |
+
|
| 1116 |
+
// Forgot Password
|
| 1117 |
+
document.getElementById('forgot-password').addEventListener('click', (e) => {
|
| 1118 |
+
e.preventDefault();
|
| 1119 |
+
const email = prompt("Please enter your email address:");
|
| 1120 |
+
|
| 1121 |
+
if (email) {
|
| 1122 |
+
auth.sendPasswordResetEmail(email)
|
| 1123 |
+
.then(() => {
|
| 1124 |
+
alert("Password reset email sent!");
|
| 1125 |
+
})
|
| 1126 |
+
.catch((error) => {
|
| 1127 |
+
alert(error.message);
|
| 1128 |
+
});
|
| 1129 |
+
}
|
| 1130 |
+
});
|
| 1131 |
+
|
| 1132 |
+
// Dashboard Navigation
|
| 1133 |
+
document.querySelectorAll('.dashboard-nav a').forEach(link => {
|
| 1134 |
+
link.addEventListener('click', (e) => {
|
| 1135 |
+
e.preventDefault();
|
| 1136 |
+
|
| 1137 |
+
document.querySelectorAll('.dashboard-nav a').forEach(l => {
|
| 1138 |
+
l.classList.remove('active');
|
| 1139 |
+
});
|
| 1140 |
+
|
| 1141 |
+
link.classList.add('active');
|
| 1142 |
+
|
| 1143 |
+
// Hide all sections
|
| 1144 |
+
document.querySelectorAll('section').forEach(section => {
|
| 1145 |
+
section.classList.add('hidden');
|
| 1146 |
+
});
|
| 1147 |
+
|
| 1148 |
+
// Show selected section
|
| 1149 |
+
const target = link.getAttribute('href').substring(1);
|
| 1150 |
+
document.getElementById(target).classList.remove('hidden');
|
| 1151 |
+
});
|
| 1152 |
+
});
|
| 1153 |
+
|
| 1154 |
// Mobile Menu Toggle
|
| 1155 |
document.getElementById('menu-toggle').addEventListener('click', function() {
|
| 1156 |
const menu = document.getElementById('mobile-menu');
|
|
|
|
| 1277 |
gsap.utils.toArray('.member-card, .track-card, .gallery-item').forEach(element => {
|
| 1278 |
gsap.from(element, {
|
| 1279 |
scrollTrigger: {
|
| 1280 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1281 |
</html>
|
prompts.txt
CHANGED
|
@@ -1 +1,2 @@
|
|
| 1 |
-
Build a cinematic, immersive 3D website for a Pakistani rap group called MMK Syndicates, inspired by a mafia underworld aesthetic, with a modern dark cyber-urban theme, infused with Rawalpindi street culture and underground hip-hop energy. This should feel like stepping into a digital turf — MMK’s virtual headquarters. 🎨 Visual Aesthetic & Mood: Dark theme UI with deep blacks, gritty textures, and neon accents (electric green, blood red, brass gold) Atmosphere should feel intense, raw, mysterious, and powerful — like a blend of GTA loading screens, Spotify style, and mafia movie intros Add animated smoke, flickering neon lights, and grunge overlays for realism Incorporate Pindi street elements: graffiti in Urdu calligraphy, chai hotel signs, worn-out walls, steel shutters, bullet holes, and alleyway backdrops Use 3D elements and motion effects (with Three.js, GSAP, Framer Motion) for transitions, hover animations, and floating elements Cursor interactions should feel tactile and immersive — e.g., drag-to-rotate cards, parallax depth effects, glowing mouse trails 🧩 Website Structure: 1. Home / Landing Page: Dramatic intro animation (e.g. a slow zoom-in on a neon-lit alley, with MMK emerging from shadows) Animated 3D logo reveal of MMK Syndicates (could be metallic, smoke-wrapped, or burning neon) Background music or sound effects (optional): distant sirens, bass thump, static radio buzz 2. The Syndicate (About Page): Profiles of the 3 members — Maan, Maaddu, and Khan Each artist shown like a “mafia card” with 3D flip or slide-in effect, featuring: High-res photo Nickname tag (e.g. “The Boss”, “The Brains”, “The Streets”) Bio + links to Spotify/YouTube/Instagram Background styled like police files or criminal dossiers 3. Tracks (Music Page): Interactive music player with animated sound waves, glowing track cards Option to embed from Spotify, YouTube or SoundCloud “Now playing” section with live visualizer background 4. Pindi Diaries (Gallery/Blog): Showcase of behind-the-scenes street life — chai hotels, recording sessions, graffiti walls, concerts Mixed media format: short clips, photos, urban sketches Dynamic grid with hover reveal effects, blur-to-clear animations 5. Contact / Join the Gang: Urban-themed contact form set against a brick wall or alley backdrop Form fields glow or shake on error Optional: “Join the Syndicate” signup section (for fans, collabs, etc.) 🛠️ Tech Stack & Features: React.js for SPA structure Tailwind CSS for utility-first styling Three.js or Spline for 3D elements Framer Motion / GSAP for animations Fully responsive, smooth scroll-based animations Optimized for both desktop & mobile 🧠 Inspiration / Keywords: GTA loading screen, Spotify dark mode, Pakistani street culture, mafia rap, underground hip-hop, 3D gang profiles, neon crime noir, Rawalpindi alleyway energy
|
|
|
|
|
|
| 1 |
+
Build a cinematic, immersive 3D website for a Pakistani rap group called MMK Syndicates, inspired by a mafia underworld aesthetic, with a modern dark cyber-urban theme, infused with Rawalpindi street culture and underground hip-hop energy. This should feel like stepping into a digital turf — MMK’s virtual headquarters. 🎨 Visual Aesthetic & Mood: Dark theme UI with deep blacks, gritty textures, and neon accents (electric green, blood red, brass gold) Atmosphere should feel intense, raw, mysterious, and powerful — like a blend of GTA loading screens, Spotify style, and mafia movie intros Add animated smoke, flickering neon lights, and grunge overlays for realism Incorporate Pindi street elements: graffiti in Urdu calligraphy, chai hotel signs, worn-out walls, steel shutters, bullet holes, and alleyway backdrops Use 3D elements and motion effects (with Three.js, GSAP, Framer Motion) for transitions, hover animations, and floating elements Cursor interactions should feel tactile and immersive — e.g., drag-to-rotate cards, parallax depth effects, glowing mouse trails 🧩 Website Structure: 1. Home / Landing Page: Dramatic intro animation (e.g. a slow zoom-in on a neon-lit alley, with MMK emerging from shadows) Animated 3D logo reveal of MMK Syndicates (could be metallic, smoke-wrapped, or burning neon) Background music or sound effects (optional): distant sirens, bass thump, static radio buzz 2. The Syndicate (About Page): Profiles of the 3 members — Maan, Maaddu, and Khan Each artist shown like a “mafia card” with 3D flip or slide-in effect, featuring: High-res photo Nickname tag (e.g. “The Boss”, “The Brains”, “The Streets”) Bio + links to Spotify/YouTube/Instagram Background styled like police files or criminal dossiers 3. Tracks (Music Page): Interactive music player with animated sound waves, glowing track cards Option to embed from Spotify, YouTube or SoundCloud “Now playing” section with live visualizer background 4. Pindi Diaries (Gallery/Blog): Showcase of behind-the-scenes street life — chai hotels, recording sessions, graffiti walls, concerts Mixed media format: short clips, photos, urban sketches Dynamic grid with hover reveal effects, blur-to-clear animations 5. Contact / Join the Gang: Urban-themed contact form set against a brick wall or alley backdrop Form fields glow or shake on error Optional: “Join the Syndicate” signup section (for fans, collabs, etc.) 🛠️ Tech Stack & Features: React.js for SPA structure Tailwind CSS for utility-first styling Three.js or Spline for 3D elements Framer Motion / GSAP for animations Fully responsive, smooth scroll-based animations Optimized for both desktop & mobile 🧠 Inspiration / Keywords: GTA loading screen, Spotify dark mode, Pakistani street culture, mafia rap, underground hip-hop, 3D gang profiles, neon crime noir, Rawalpindi alleyway energy
|
| 2 |
+
Design and develop a cinematic, 3D dynamic website for a Pakistani rap crew named MMK Syndicates, styled like a mafia gang headquarters, infused with Rawalpindi street culture and modern underground hip-hop energy. The site must include a secure user account system to allow fans and collaborators to sign up, log in, and access exclusive content. 🎨 Visual Aesthetic: Dark theme with neon green/red/gold mafia accents Smoke animations, flickering graffiti-style Urdu elements 3D transitions using Three.js, GSAP, Framer Motion Inspired by GTA loading screens, Spotify UI, and Rawalpindi alley vibes 🧩 Website Structure: 1. Landing Page: Cinematic intro animation with MMK Syndicates emerging from shadows 3D animated MMK logo reveal “Enter the Syndicate” button leading into main site 2. The Syndicate: Mafia-style artist profiles (Maan, Maaddu, Khan) 3D flip cards with bio, roles, and social links 3. Tracks: Interactive embedded player Live sound bars and animated track cards 4. Pindi Diaries: Visual blog / gallery of street life, music grind, behind-the-scenes Hover effects, blur-ins, and graffiti-styled Urdu captions 5. Contact / Collab: Neon-outlined contact form Optional "Join the Gang" form 6. Accounts System: Sign up / Log in flow using email and password Authentication system (JWT, Firebase Auth, or NextAuth recommended) Logged-in users can: Access exclusive tracks, unreleased videos, or merch Comment on blog/gallery posts Receive updates via email or in-site notifications Join a private “MMK Syndicate Members” section (optional dashboard) Add user profile page with avatar, location, bio 🛠️ Tech Stack: React + TailwindCSS Three.js / Spline for 3D effects Framer Motion + GSAP for animations Firebase / Supabase / Next.js + Auth for account system Fully responsive, SEO-friendly, and fast-loading 🎯 Keywords: Mafia rap, GTA x Spotify, Rawalpindi vibes, 3D animated UI, desi gangsta website, fan login, exclusive music vault
|