namec commited on
Commit
d37a01d
·
verified ·
1 Parent(s): 510c46f

i don't want to duplicate the website only the background effect and make it exactky the same

Browse files
Files changed (6) hide show
  1. README.md +8 -5
  2. components/footer.js +100 -0
  3. components/navbar.js +134 -0
  4. index.html +63 -19
  5. script.js +59 -0
  6. style.css +46 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Trae Ai Background Magic Replica
3
- emoji: 📚
4
- colorFrom: red
5
- colorTo: indigo
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: Trae.AI Background Magic Replica
3
+ colorFrom: blue
4
+ colorTo: green
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/footer.js ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ footer {
7
+ background: rgba(17, 24, 39, 0.8);
8
+ backdrop-filter: blur(10px);
9
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
10
+ color: white;
11
+ padding: 3rem 2rem;
12
+ text-align: center;
13
+ margin-top: auto;
14
+ }
15
+
16
+ .footer-content {
17
+ max-width: 1200px;
18
+ margin: 0 auto;
19
+ display: flex;
20
+ flex-direction: column;
21
+ gap: 2rem;
22
+ }
23
+
24
+ .footer-links {
25
+ display: flex;
26
+ justify-content: center;
27
+ gap: 2rem;
28
+ flex-wrap: wrap;
29
+ }
30
+
31
+ .footer-links a {
32
+ color: #d1d5db;
33
+ text-decoration: none;
34
+ transition: color 0.3s ease;
35
+ }
36
+
37
+ .footer-links a:hover {
38
+ color: #3b82f6;
39
+ }
40
+
41
+ .social-links {
42
+ display: flex;
43
+ justify-content: center;
44
+ gap: 1rem;
45
+ }
46
+
47
+ .social-links a {
48
+ display: inline-flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ width: 40px;
52
+ height: 40px;
53
+ background: rgba(255, 255, 255, 0.1);
54
+ border-radius: 50%;
55
+ transition: all 0.3s ease;
56
+ }
57
+
58
+ .social-links a:hover {
59
+ background: #3b82f6;
60
+ transform: translateY(-2px);
61
+ }
62
+
63
+ .copyright {
64
+ color: #9ca3af;
65
+ font-size: 0.875rem;
66
+ }
67
+
68
+ @media (max-width: 768px) {
69
+ .footer-links {
70
+ flex-direction: column;
71
+ gap: 1rem;
72
+ }
73
+ }
74
+ </style>
75
+ <footer>
76
+ <div class="footer-content">
77
+ <div class="social-links">
78
+ <a href="#" aria-label="GitHub"><i data-feather="github"></i></a>
79
+ <a href="#" aria-label="Twitter"><i data-feather="twitter"></i></a>
80
+ <a href="#" aria-label="LinkedIn"><i data-feather="linkedin"></i></a>
81
+ <a href="#" aria-label="Instagram"><i data-feather="instagram"></i></a>
82
+ </div>
83
+
84
+ <div class="footer-links">
85
+ <a href="/privacy">Privacy Policy</a>
86
+ <a href="/terms">Terms of Service</a>
87
+ <a href="/contact">Contact Us</a>
88
+ <a href="/about">About</a>
89
+ </div>
90
+
91
+ <div class="copyright">
92
+ &copy; 2024 DigitalNebula. All rights reserved. | Inspired by trae.ai
93
+ </div>
94
+ </div>
95
+ </footer>
96
+ `;
97
+ }
98
+ }
99
+
100
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ background: rgba(17, 24, 39, 0.8);
8
+ backdrop-filter: blur(10px);
9
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
10
+ padding: 1rem 2rem;
11
+ display: flex;
12
+ justify-content: space-between;
13
+ align-items: center;
14
+ position: relative;
15
+ z-index: 1000;
16
+ }
17
+
18
+ .logo {
19
+ color: white;
20
+ font-weight: bold;
21
+ font-size: 1.5rem;
22
+ background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
23
+ -webkit-background-clip: text;
24
+ -webkit-text-fill-color: transparent;
25
+ background-clip: text;
26
+ }
27
+
28
+ .desktop-nav {
29
+ display: flex;
30
+ gap: 2rem;
31
+ list-style: none;
32
+ margin: 0;
33
+ padding: 0;
34
+ }
35
+
36
+ .mobile-nav {
37
+ display: none;
38
+ flex-direction: column;
39
+ gap: 1rem;
40
+ list-style: none;
41
+ margin: 0;
42
+ padding: 0;
43
+ }
44
+
45
+ a {
46
+ color: white;
47
+ text-decoration: none;
48
+ transition: all 0.3s ease;
49
+ font-weight: 500;
50
+ position: relative;
51
+ }
52
+
53
+ a:hover {
54
+ color: #3b82f6;
55
+ }
56
+
57
+ a::after {
58
+ content: '';
59
+ position: absolute;
60
+ width: 0;
61
+ height: 2px;
62
+ bottom: -5px;
63
+ left: 0;
64
+ background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
65
+ transition: width 0.3s ease;
66
+ }
67
+
68
+ a:hover::after {
69
+ width: 100%;
70
+ }
71
+
72
+ .mobile-menu-btn {
73
+ display: none;
74
+ background: none;
75
+ border: none;
76
+ color: white;
77
+ cursor: pointer;
78
+ }
79
+
80
+ @media (max-width: 768px) {
81
+ .desktop-nav {
82
+ display: none;
83
+ }
84
+
85
+ .mobile-menu-btn {
86
+ display: block;
87
+ }
88
+
89
+ .mobile-nav.active {
90
+ display: flex;
91
+ position: absolute;
92
+ top: 100%;
93
+ left: 0;
94
+ right: 0;
95
+ background: rgba(17, 24, 39, 0.95);
96
+ backdrop-filter: blur(15px);
97
+ padding: 1rem 2rem;
98
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
99
+ }
100
+ }
101
+ </style>
102
+ <nav>
103
+ <div class="logo">DigitalNebula</div>
104
+
105
+ <ul class="desktop-nav">
106
+ <li><a href="/">Home</a></li>
107
+ <li><a href="#features">Features</a></li>
108
+ <li><a href="#about">About</a></li>
109
+ <li><a href="#contact">Contact</a></li>
110
+ </ul>
111
+
112
+ <button class="mobile-menu-btn" onclick="this.parentElement.host.toggleMobileMenu()">
113
+ <i data-feather="menu"></i>
114
+ </button>
115
+
116
+ <ul class="mobile-nav" id="mobile-menu">
117
+ <li><a href="/">Home</a></li>
118
+ <li><a href="#features">Features</a></li>
119
+ <li><a href="#about">About</a></li>
120
+ <li><a href="#contact">Contact</a></li>
121
+ </ul>
122
+ </nav>
123
+ `;
124
+ }
125
+
126
+ toggleMobileMenu() {
127
+ const mobileMenu = this.shadowRoot.getElementById('mobile-menu');
128
+ if (mobileMenu) {
129
+ mobileMenu.classList.toggle('active');
130
+ }
131
+ }
132
+ }
133
+
134
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,63 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Trae.AI Background Replica</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
13
+ </head>
14
+ <body class="min-h-screen overflow-hidden">
15
+ <custom-navbar></custom-navbar>
16
+
17
+ <main class="relative z-10">
18
+ <div class="container mx-auto px-4 py-16 text-center">
19
+ <h1 class="text-5xl md:text-7xl font-bold text-white mb-6">
20
+ Digital Nebula
21
+ </h1>
22
+ <p class="text-xl md:text-2xl text-gray-300 mb-8 max-w-2xl mx-auto">
23
+ Experience the mesmerizing animated background inspired by trae.ai, powered by Three.js and WebGL
24
+ </p>
25
+ <div class="flex justify-center gap-4">
26
+ <button class="bg-blue-600 hover:bg-blue-700 text-white px-8 py-3 rounded-lg font-semibold transition-all duration-300 transform hover:scale-105">
27
+ Explore More
28
+ </button>
29
+ <button class="border border-gray-600 hover:border-gray-400 text-gray-300 px-8 py-3 rounded-lg font-semibold transition-all duration-300">
30
+ Learn More
31
+ </button>
32
+ </div>
33
+ </div>
34
+ </main>
35
+
36
+ <custom-footer></custom-footer>
37
+
38
+ <script src="components/navbar.js"></script>
39
+ <script src="components/footer.js"></script>
40
+ <script src="script.js"></script>
41
+ <script>
42
+ feather.replace();
43
+
44
+ // Initialize Vanta.NET background (exact replica of trae.ai)
45
+ VANTA.NET({
46
+ el: "body",
47
+ mouseControls: true,
48
+ touchControls: true,
49
+ gyroControls: false,
50
+ minHeight: 200.00,
51
+ minWidth: 200.00,
52
+ scale: 1.00,
53
+ scaleMobile: 1.00,
54
+ color: 0x3b82f6,
55
+ backgroundColor: 0x1a202c,
56
+ points: 12.00,
57
+ maxDistance: 25.00,
58
+ spacing: 18.00
59
+ });
60
+ </script>
61
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
62
+ </body>
63
+ </html>
script.js ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Shared JavaScript functionality
2
+ console.log('Trae.AI Background Replica loaded');
3
+
4
+ // Smooth scroll to section
5
+ function scrollToSection(sectionId) {
6
+ const element = document.getElementById(sectionId);
7
+ if (element) {
8
+ element.scrollIntoView({ behavior: 'smooth' });
9
+ }
10
+ }
11
+
12
+ // Add intersection observer for animations
13
+ document.addEventListener('DOMContentLoaded', function() {
14
+ const observerOptions = {
15
+ threshold: 0.1,
16
+ rootMargin: '0px 0px -50px 0px'
17
+ };
18
+
19
+ const observer = new IntersectionObserver((entries) => {
20
+ entries.forEach(entry => {
21
+ if (entry.isIntersecting) {
22
+ entry.target.classList.add('animate-fade-in');
23
+ }
24
+ });
25
+ }, observerOptions);
26
+
27
+ // Observe all elements with the 'observe' class
28
+ document.querySelectorAll('.observe').forEach(el => {
29
+ observer.observe(el);
30
+ });
31
+ });
32
+
33
+ // Handle responsive menu
34
+ function toggleMobileMenu() {
35
+ const mobileMenu = document.getElementById('mobile-menu');
36
+ if (mobileMenu) {
37
+ mobileMenu.classList.toggle('hidden');
38
+ }
39
+ }
40
+
41
+ // Add fade-in animation class
42
+ const style = document.createElement('style');
43
+ style.textContent = `
44
+ .animate-fade-in {
45
+ animation: fadeInUp 0.8s ease-out forwards;
46
+ }
47
+
48
+ @keyframes fadeInUp {
49
+ from {
50
+ opacity: 0;
51
+ transform: translateY(30px);
52
+ }
53
+ to {
54
+ opacity: 1;
55
+ transform: translateY(0);
56
+ }
57
+ }
58
+ `;
59
+ document.head.appendChild(style);
style.css CHANGED
@@ -1,28 +1,56 @@
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Custom styles for enhanced visual effects */
2
  body {
3
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
4
+ margin: 0;
5
+ padding: 0;
6
  }
7
 
8
+ /* Override any background colors to match trae.ai exactly */
9
+ .bg-gray-900 {
10
+ background-color: transparent !important;
11
+ }
12
+ /* Smooth scrolling */
13
+ html {
14
+ scroll-behavior: smooth;
15
+ }
16
+
17
+ /* Custom gradient text */
18
+ .gradient-text {
19
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
20
+ -webkit-background-clip: text;
21
+ -webkit-text-fill-color: transparent;
22
+ background-clip: text;
23
+ }
24
+
25
+ /* Floating animation */
26
+ @keyframes float {
27
+ 0%, 100% { transform: translateY(0px); }
28
+ 50% { transform: translateY(-20px); }
29
  }
30
 
31
+ .float-animation {
32
+ animation: float 6s ease-in-out infinite;
 
 
 
33
  }
34
 
35
+ /* Glow effect */
36
+ .glow {
37
+ box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
 
 
 
38
  }
39
 
40
+ /* Custom scrollbar */
41
+ ::-webkit-scrollbar {
42
+ width: 8px;
43
  }
44
+
45
+ ::-webkit-scrollbar-track {
46
+ background: #1f2937;
47
+ }
48
+
49
+ ::-webkit-scrollbar-thumb {
50
+ background: #3b82f6;
51
+ border-radius: 4px;
52
+ }
53
+
54
+ ::-webkit-scrollbar-thumb:hover {
55
+ background: #2563eb;
56
+ }