Spaces:
Running
Running
| class CustomFooter extends HTMLElement { | |
| connectedCallback() { | |
| this.attachShadow({ mode: 'open' }); | |
| this.shadowRoot.innerHTML = ` | |
| <style> | |
| .social-icon { | |
| transition: all 0.3s ease; | |
| } | |
| .social-icon:hover { | |
| transform: translateY(-3px); | |
| } | |
| </style> | |
| <footer class="bg-gray-800 border-t border-gray-700 py-12"> | |
| <div class="container mx-auto px-4"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-8"> | |
| <div class="md:col-span-2"> | |
| <h3 class="text-xl font-bold mb-4 bg-gradient-to-r from-primary-500 to-secondary-500 bg-clip-text text-transparent">ShadowStack Noir</h3> | |
| <p class="text-gray-400 mb-4"> | |
| Fullstack development solutions for modern businesses. We build scalable, secure, and performant web applications. | |
| </p> | |
| <div class="flex space-x-4"> | |
| <a href="#" class="social-icon text-gray-400 hover:text-primary-500"> | |
| <i data-feather="github"></i> | |
| </a> | |
| <a href="#" class="social-icon text-gray-400 hover:text-primary-500"> | |
| <i data-feather="twitter"></i> | |
| </a> | |
| <a href="#" class="social-icon text-gray-400 hover:text-primary-500"> | |
| <i data-feather="linkedin"></i> | |
| </a> | |
| <a href="#" class="social-icon text-gray-400 hover:text-primary-500"> | |
| <i data-feather="instagram"></i> | |
| </a> | |
| </div> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-semibold mb-4">Quick Links</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="/" class="text-gray-400 hover:text-white">Home</a></li> | |
| <li><a href="/services" class="text-gray-400 hover:text-white">Services</a></li> | |
| <li><a href="/projects" class="text-gray-400 hover:text-white">Projects</a></li> | |
| <li><a href="/about" class="text-gray-400 hover:text-white">About Us</a></li> | |
| <li><a href="/contact" class="text-gray-400 hover:text-white">Contact</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-semibold mb-4">Contact</h4> | |
| <ul class="space-y-2 text-gray-400"> | |
| <li class="flex items-center space-x-2"> | |
| <i data-feather="mail"></i> | |
| <span>contact@shadowstack.dev</span> | |
| </li> | |
| <li class="flex items-center space-x-2"> | |
| <i data-feather="phone"></i> | |
| <span>+1 (555) 123-4567</span> | |
| </li> | |
| <li class="flex items-center space-x-2"> | |
| <i data-feather="map-pin"></i> | |
| <span>San Francisco, CA</span> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="border-t border-gray-700 mt-12 pt-8 text-center text-gray-500"> | |
| <p>© ${new Date().getFullYear()} ShadowStack Noir. All rights reserved.</p> | |
| </div> | |
| </div> | |
| </footer> | |
| `; | |
| } | |
| } | |
| customElements.define('custom-footer', CustomFooter); |