jonesfernandes commited on
Commit
27d3502
·
verified ·
1 Parent(s): c0acbc8

Deixe o site moderno, bonito e responsivo

Browse files
Files changed (6) hide show
  1. README.md +8 -5
  2. components/footer.js +99 -0
  3. components/navbar.js +80 -0
  4. index.html +103 -19
  5. script.js +48 -0
  6. style.css +55 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Pixelpulse Pro
3
- emoji: 😻
4
- colorFrom: yellow
5
- colorTo: blue
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: PixelPulse Pro 🚀
3
+ colorFrom: pink
4
+ colorTo: purple
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,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ .footer-link:hover {
7
+ color: #6366f1;
8
+ }
9
+ .social-icon {
10
+ transition: all 0.3s ease;
11
+ }
12
+ .social-icon:hover {
13
+ transform: translateY(-3px);
14
+ }
15
+ </style>
16
+ <footer class="bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700">
17
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
18
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
19
+ <div class="md:col-span-2">
20
+ <div class="flex items-center mb-4">
21
+ <span class="text-xl font-bold text-primary-500">PixelPulse</span>
22
+ <span class="text-xl font-bold text-secondary-500">Pro</span>
23
+ </div>
24
+ <p class="text-gray-600 dark:text-gray-300 mb-4">
25
+ Crafting beautiful, responsive digital experiences that captivate and convert.
26
+ </p>
27
+ <div class="flex space-x-4">
28
+ <a href="#" class="social-icon text-gray-500 dark:text-gray-400 hover:text-primary-500">
29
+ <i data-feather="twitter"></i>
30
+ </a>
31
+ <a href="#" class="social-icon text-gray-500 dark:text-gray-400 hover:text-primary-500">
32
+ <i data-feather="instagram"></i>
33
+ </a>
34
+ <a href="#" class="social-icon text-gray-500 dark:text-gray-400 hover:text-primary-500">
35
+ <i data-feather="github"></i>
36
+ </a>
37
+ <a href="#" class="social-icon text-gray-500 dark:text-gray-400 hover:text-primary-500">
38
+ <i data-feather="linkedin"></i>
39
+ </a>
40
+ </div>
41
+ </div>
42
+
43
+ <div>
44
+ <h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Company</h3>
45
+ <ul class="space-y-2">
46
+ <li><a href="#" class="footer-link text-gray-600 dark:text-gray-300 hover:text-primary-500">About</a></li>
47
+ <li><a href="#" class="footer-link text-gray-600 dark:text-gray-300 hover:text-primary-500">Careers</a></li>
48
+ <li><a href="#" class="footer-link text-gray-600 dark:text-gray-300 hover:text-primary-500">Blog</a></li>
49
+ </ul>
50
+ </div>
51
+
52
+ <div>
53
+ <h3 class="text-sm font-semibold text-gray-900 dark:text-white uppercase tracking-wider mb-4">Legal</h3>
54
+ <ul class="space-y-2">
55
+ <li><a href="#" class="footer-link text-gray-600 dark:text-gray-300 hover:text-primary-500">Privacy</a></li>
56
+ <li><a href="#" class="footer-link text-gray-600 dark:text-gray-300 hover:text-primary-500">Terms</a></li>
57
+ <li><a href="#" class="footer-link text-gray-600 dark:text-gray-300 hover:text-primary-500">Cookie Policy</a></li>
58
+ </ul>
59
+ </div>
60
+ </div>
61
+
62
+ <div class="mt-12 pt-8 border-t border-gray-200 dark:border-gray-700 flex flex-col md:flex-row justify-between items-center">
63
+ <p class="text-gray-500 dark:text-gray-400 text-sm">
64
+ &copy; ${new Date().getFullYear()} PixelPulse Pro. All rights reserved.
65
+ </p>
66
+ <div class="mt-4 md:mt-0">
67
+ <button id="theme-toggle-footer" class="text-gray-500 dark:text-gray-400 hover:text-primary-500 p-2 rounded-full">
68
+ <i data-feather="moon"></i>
69
+ </button>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </footer>
74
+ `;
75
+
76
+ // Theme toggle in footer
77
+ const themeToggleFooter = this.shadowRoot.getElementById('theme-toggle-footer');
78
+ if (themeToggleFooter) {
79
+ themeToggleFooter.addEventListener('click', () => {
80
+ const isDark = document.documentElement.classList.toggle('dark');
81
+ localStorage.setItem('theme', isDark ? 'dark' : 'light');
82
+ themeToggleFooter.innerHTML = isDark ?
83
+ '<i data-feather="sun"></i>' :
84
+ '<i data-feather="moon"></i>';
85
+ feather.replace();
86
+ });
87
+
88
+ // Set initial icon
89
+ const savedTheme = localStorage.getItem('theme') ||
90
+ (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
91
+ themeToggleFooter.innerHTML = savedTheme === 'dark' ?
92
+ '<i data-feather="sun"></i>' :
93
+ '<i data-feather="moon"></i>';
94
+ feather.replace();
95
+ }
96
+ }
97
+ }
98
+
99
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ .navbar {
7
+ backdrop-filter: blur(10px);
8
+ background-color: rgba(255, 255, 255, 0.8);
9
+ }
10
+ .dark .navbar {
11
+ background-color: rgba(17, 24, 39, 0.8);
12
+ }
13
+ .nav-link:hover {
14
+ color: #6366f1;
15
+ }
16
+ .mobile-menu {
17
+ transition: all 0.3s ease;
18
+ }
19
+ </style>
20
+ <nav class="navbar fixed w-full z-50 border-b border-gray-200 dark:border-gray-700">
21
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
22
+ <div class="flex justify-between h-16">
23
+ <div class="flex items-center">
24
+ <a href="/" class="flex-shrink-0 flex items-center">
25
+ <span class="text-xl font-bold text-primary-500">PixelPulse</span>
26
+ <span class="text-xl font-bold text-secondary-500">Pro</span>
27
+ </a>
28
+ </div>
29
+
30
+ <div class="hidden md:ml-6 md:flex md:items-center md:space-x-8">
31
+ <a href="#features" class="nav-link text-gray-700 dark:text-gray-300 hover:text-primary-500 px-3 py-2 rounded-md text-sm font-medium">Features</a>
32
+ <a href="#pricing" class="nav-link text-gray-700 dark:text-gray-300 hover:text-primary-500 px-3 py-2 rounded-md text-sm font-medium">Pricing</a>
33
+ <a href="#contact" class="nav-link text-gray-700 dark:text-gray-300 hover:text-primary-500 px-3 py-2 rounded-md text-sm font-medium">Contact</a>
34
+ <button id="theme-toggle" class="text-gray-700 dark:text-gray-300 hover:text-primary-500 p-2 rounded-full">
35
+ <i data-feather="moon"></i>
36
+ </button>
37
+ </div>
38
+
39
+ <div class="-mr-2 flex items-center md:hidden">
40
+ <button id="mobile-menu-button" class="text-gray-700 dark:text-gray-300 hover:text-primary-500 inline-flex items-center justify-center p-2 rounded-md">
41
+ <i data-feather="menu"></i>
42
+ </button>
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ <div id="mobile-menu" class="mobile-menu hidden md:hidden absolute w-full bg-white dark:bg-gray-800 shadow-lg">
48
+ <div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
49
+ <a href="#features" class="block px-3 py-2 rounded-md text-base font-medium text-gray-700 dark:text-gray-300 hover:text-primary-500">Features</a>
50
+ <a href="#pricing" class="block px-3 py-2 rounded-md text-base font-medium text-gray-700 dark:text-gray-300 hover:text-primary-500">Pricing</a>
51
+ <a href="#contact" class="block px-3 py-2 rounded-md text-base font-medium text-gray-700 dark:text-gray-300 hover:text-primary-500">Contact</a>
52
+ <button id="mobile-theme-toggle" class="block px-3 py-2 rounded-md text-base font-medium text-gray-700 dark:text-gray-300 hover:text-primary-500">
53
+ Toggle Theme
54
+ </button>
55
+ </div>
56
+ </div>
57
+ </nav>
58
+ `;
59
+
60
+ // Mobile menu toggle
61
+ const mobileMenuButton = this.shadowRoot.getElementById('mobile-menu-button');
62
+ const mobileMenu = this.shadowRoot.getElementById('mobile-menu');
63
+
64
+ mobileMenuButton.addEventListener('click', () => {
65
+ mobileMenu.classList.toggle('hidden');
66
+ feather.replace();
67
+ });
68
+
69
+ // Theme toggle for mobile
70
+ const mobileThemeToggle = this.shadowRoot.getElementById('mobile-theme-toggle');
71
+ if (mobileThemeToggle) {
72
+ mobileThemeToggle.addEventListener('click', () => {
73
+ const isDark = document.documentElement.classList.toggle('dark');
74
+ localStorage.setItem('theme', isDark ? 'dark' : 'light');
75
+ });
76
+ }
77
+ }
78
+ }
79
+
80
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,103 @@
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" class="scroll-smooth">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>PixelPulse Pro | Modern Web Experience</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>
12
+ tailwind.config = {
13
+ theme: {
14
+ extend: {
15
+ colors: {
16
+ primary: '#6366f1',
17
+ secondary: '#8b5cf6',
18
+ }
19
+ }
20
+ }
21
+ }
22
+ </script>
23
+ </head>
24
+ <body class="bg-gray-50 dark:bg-gray-900 transition-colors duration-300">
25
+ <custom-navbar></custom-navbar>
26
+
27
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
28
+ <!-- Hero Section -->
29
+ <section class="text-center py-20">
30
+ <h1 class="text-5xl md:text-7xl font-bold text-gray-900 dark:text-white mb-6">
31
+ Modern <span class="text-primary-500">Design</span> Meets <span class="text-secondary-500">Function</span>
32
+ </h1>
33
+ <p class="text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto mb-10">
34
+ Crafting beautiful, responsive digital experiences that captivate and convert.
35
+ </p>
36
+ <div class="flex justify-center gap-4">
37
+ <a href="#features" class="bg-primary-500 hover:bg-primary-600 text-white px-8 py-3 rounded-full font-medium transition-all transform hover:scale-105">
38
+ Explore Features
39
+ </a>
40
+ <a href="#contact" class="border-2 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 px-8 py-3 rounded-full font-medium transition-all hover:bg-gray-100 dark:hover:bg-gray-800">
41
+ Get Started
42
+ </a>
43
+ </div>
44
+ </section>
45
+
46
+ <!-- Features Section -->
47
+ <section id="features" class="py-20">
48
+ <div class="text-center mb-16">
49
+ <h2 class="text-3xl font-bold text-gray-900 dark:text-white mb-4">Powerful Features</h2>
50
+ <p class="text-gray-600 dark:text-gray-300 max-w-2xl mx-auto">Everything you need to build modern web applications</p>
51
+ </div>
52
+
53
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
54
+ <!-- Feature 1 -->
55
+ <div class="bg-white dark:bg-gray-800 p-8 rounded-xl shadow-lg hover:shadow-xl transition-shadow">
56
+ <div class="w-14 h-14 bg-primary-100 dark:bg-primary-900 rounded-lg flex items-center justify-center mb-6">
57
+ <i data-feather="zap" class="text-primary-500 w-6 h-6"></i>
58
+ </div>
59
+ <h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3">Lightning Fast</h3>
60
+ <p class="text-gray-600 dark:text-gray-300">Optimized performance for instant page loads and smooth interactions.</p>
61
+ </div>
62
+
63
+ <!-- Feature 2 -->
64
+ <div class="bg-white dark:bg-gray-800 p-8 rounded-xl shadow-lg hover:shadow-xl transition-shadow">
65
+ <div class="w-14 h-14 bg-secondary-100 dark:bg-secondary-900 rounded-lg flex items-center justify-center mb-6">
66
+ <i data-feather="smartphone" class="text-secondary-500 w-6 h-6"></i>
67
+ </div>
68
+ <h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3">Fully Responsive</h3>
69
+ <p class="text-gray-600 dark:text-gray-300">Looks perfect on any device, from mobile to desktop.</p>
70
+ </div>
71
+
72
+ <!-- Feature 3 -->
73
+ <div class="bg-white dark:bg-gray-800 p-8 rounded-xl shadow-lg hover:shadow-xl transition-shadow">
74
+ <div class="w-14 h-14 bg-primary-100 dark:bg-primary-900 rounded-lg flex items-center justify-center mb-6">
75
+ <i data-feather="moon" class="text-primary-500 w-6 h-6"></i>
76
+ </div>
77
+ <h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3">Dark Mode</h3>
78
+ <p class="text-gray-600 dark:text-gray-300">Elegant dark theme that's easy on the eyes.</p>
79
+ </div>
80
+ </div>
81
+ </section>
82
+
83
+ <!-- CTA Section -->
84
+ <section class="py-20 bg-gradient-to-r from-primary-500 to-secondary-500 rounded-3xl text-center text-white px-8">
85
+ <h2 class="text-3xl md:text-4xl font-bold mb-6">Ready to Transform Your Digital Presence?</h2>
86
+ <p class="text-lg mb-8 max-w-2xl mx-auto opacity-90">Join thousands of satisfied customers who've elevated their online experience.</p>
87
+ <a href="#contact" class="inline-block bg-white text-primary-500 px-8 py-3 rounded-full font-bold hover:bg-gray-100 transition-all transform hover:scale-105">
88
+ Get Started Today
89
+ </a>
90
+ </section>
91
+ </main>
92
+
93
+ <custom-footer></custom-footer>
94
+
95
+ <script src="components/navbar.js"></script>
96
+ <script src="components/footer.js"></script>
97
+ <script src="script.js"></script>
98
+ <script>
99
+ feather.replace();
100
+ </script>
101
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
102
+ </body>
103
+ </html>
script.js ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Theme switcher functionality
2
+ document.addEventListener('DOMContentLoaded', () => {
3
+ // Check for saved theme preference or use system preference
4
+ const savedTheme = localStorage.getItem('theme') ||
5
+ (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
6
+
7
+ // Apply the saved theme
8
+ document.documentElement.classList.toggle('dark', savedTheme === 'dark');
9
+
10
+ // Theme toggle button functionality
11
+ const themeToggle = document.getElementById('theme-toggle');
12
+ if (themeToggle) {
13
+ themeToggle.addEventListener('click', () => {
14
+ const isDark = document.documentElement.classList.toggle('dark');
15
+ localStorage.setItem('theme', isDark ? 'dark' : 'light');
16
+ themeToggle.innerHTML = isDark ?
17
+ '<i data-feather="sun"></i>' :
18
+ '<i data-feather="moon"></i>';
19
+ feather.replace();
20
+ });
21
+
22
+ // Set initial icon
23
+ themeToggle.innerHTML = savedTheme === 'dark' ?
24
+ '<i data-feather="sun"></i>' :
25
+ '<i data-feather="moon"></i>';
26
+ feather.replace();
27
+ }
28
+
29
+ // Animate elements on scroll
30
+ const animateOnScroll = () => {
31
+ const elements = document.querySelectorAll('.fade-in, .slide-up');
32
+ elements.forEach(el => {
33
+ const elementPosition = el.getBoundingClientRect().top;
34
+ const windowHeight = window.innerHeight;
35
+
36
+ if (elementPosition < windowHeight - 100) {
37
+ el.style.opacity = '1';
38
+ el.style.transform = 'translateY(0)';
39
+ }
40
+ });
41
+ };
42
+
43
+ // Initial check
44
+ animateOnScroll();
45
+
46
+ // Check on scroll
47
+ window.addEventListener('scroll', animateOnScroll);
48
+ });
style.css CHANGED
@@ -1,28 +1,65 @@
 
 
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
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
2
+
3
  body {
4
+ font-family: 'Inter', sans-serif;
5
+ }
6
+
7
+ /* Smooth scroll behavior */
8
+ html {
9
+ scroll-behavior: smooth;
10
+ }
11
+
12
+ /* Custom scrollbar */
13
+ ::-webkit-scrollbar {
14
+ width: 8px;
15
+ }
16
+
17
+ ::-webkit-scrollbar-track {
18
+ background: #f1f1f1;
19
+ }
20
+
21
+ ::-webkit-scrollbar-thumb {
22
+ background: #888;
23
+ border-radius: 4px;
24
+ }
25
+
26
+ ::-webkit-scrollbar-thumb:hover {
27
+ background: #555;
28
+ }
29
+
30
+ .dark ::-webkit-scrollbar-track {
31
+ background: #1f2937;
32
+ }
33
+
34
+ .dark ::-webkit-scrollbar-thumb {
35
+ background: #4b5563;
36
  }
37
 
38
+ .dark ::-webkit-scrollbar-thumb:hover {
39
+ background: #6b7280;
 
40
  }
41
 
42
+ /* Animation classes */
43
+ .fade-in {
44
+ animation: fadeIn 0.5s ease-in forwards;
 
 
45
  }
46
 
47
+ @keyframes fadeIn {
48
+ from { opacity: 0; }
49
+ to { opacity: 1; }
 
 
 
50
  }
51
 
52
+ .slide-up {
53
+ animation: slideUp 0.5s ease-out forwards;
54
  }
55
+
56
+ @keyframes slideUp {
57
+ from {
58
+ opacity: 0;
59
+ transform: translateY(20px);
60
+ }
61
+ to {
62
+ opacity: 1;
63
+ transform: translateY(0);
64
+ }
65
+ }