Spaces:
Running
Running
| class CustomFooter extends HTMLElement { | |
| connectedCallback() { | |
| this.attachShadow({ mode: 'open' }); | |
| this.shadowRoot.innerHTML = ` | |
| <style> | |
| .footer-link { | |
| transition: color 0.2s ease, transform 0.2s ease; | |
| } | |
| .footer-link:hover { | |
| color: #6366f1; | |
| transform: translateX(4px); | |
| } | |
| .social-icon { | |
| transition: all 0.3s ease; | |
| } | |
| .social-icon:hover { | |
| transform: translateY(-3px); | |
| color: #6366f1; | |
| } | |
| </style> | |
| <footer class="bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700"> | |
| <div class="container mx-auto px-4 py-12"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-8"> | |
| <div> | |
| <h3 class="text-lg font-semibold text-gray-800 dark:text-white mb-4">Pixel Palette Prodigy</h3> | |
| <p class="text-gray-600 dark:text-gray-300">The ultimate tool for designers and creators to explore and create beautiful color combinations.</p> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-semibold text-gray-800 dark:text-white mb-4">Resources</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="/blog" class="footer-link text-gray-600 dark:text-gray-400">Blog</a></li> | |
| <li><a href="/tutorials" class="footer-link text-gray-600 dark:text-gray-400">Tutorials</a></li> | |
| <li><a href="/docs" class="footer-link text-gray-600 dark:text-gray-400">Documentation</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-semibold text-gray-800 dark:text-white mb-4">Company</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="/about.html" class="footer-link text-gray-600 dark:text-gray-400">About Us</a></li> | |
| <li><a href="/careers" class="footer-link text-gray-600 dark:text-gray-400">Careers</a></li> | |
| <li><a href="/contact" class="footer-link text-gray-600 dark:text-gray-400">Contact</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-semibold text-gray-800 dark:text-white mb-4">Connect</h4> | |
| <div class="flex space-x-4"> | |
| <a href="#" class="social-icon text-gray-600 dark:text-gray-400"><i data-feather="twitter"></i></a> | |
| <a href="#" class="social-icon text-gray-600 dark:text-gray-400"><i data-feather="instagram"></i></a> | |
| <a href="#" class="social-icon text-gray-600 dark:text-gray-400"><i data-feather="github"></i></a> | |
| <a href="#" class="social-icon text-gray-600 dark:text-gray-400"><i data-feather="linkedin"></i></a> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="border-t border-gray-200 dark:border-gray-700 mt-8 pt-8 flex flex-col md:flex-row justify-between items-center"> | |
| <p class="text-gray-600 dark:text-gray-400 mb-4 md:mb-0">© 2023 Pixel Palette Prodigy. All rights reserved.</p> | |
| <div class="flex space-x-6"> | |
| <a href="/privacy" class="text-gray-600 dark:text-gray-400 hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors">Privacy Policy</a> | |
| <a href="/terms" class="text-gray-600 dark:text-gray-400 hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors">Terms of Service</a> | |
| </div> | |
| </div> | |
| </div> | |
| </footer> | |
| `; | |
| } | |
| } | |
| customElements.define('custom-footer', CustomFooter); |