Spaces:
Running
Running
| class SiteFooter extends HTMLElement { | |
| connectedCallback() { | |
| this.attachShadow({ mode: 'open' }); | |
| this.shadowRoot.innerHTML = ` | |
| <style> | |
| footer { | |
| background-color: #020617; | |
| border-top: 1px solid rgba(148, 163, 184, 0.1); | |
| padding: 3rem 1.5rem; | |
| margin-top: auto; | |
| } | |
| .content { | |
| max-width: 1280px; | |
| margin: 0 auto; | |
| text-align: center; | |
| } | |
| .logo { | |
| font-family: 'JetBrains Mono', monospace; | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: #fff; | |
| margin-bottom: 1rem; | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .logo span { | |
| color: #8b5cf6; | |
| } | |
| .text { | |
| color: #64748b; | |
| font-size: 0.875rem; | |
| line-height: 1.6; | |
| max-width: 600px; | |
| margin: 0 auto 1.5rem; | |
| } | |
| .links { | |
| display: flex; | |
| justify-content: center; | |
| gap: 1.5rem; | |
| flex-wrap: wrap; | |
| } | |
| .link { | |
| color: #94a3b8; | |
| text-decoration: none; | |
| font-size: 0.9rem; | |
| transition: color 0.2s; | |
| } | |
| .link:hover { | |
| color: #06b6d4; | |
| } | |
| .copyright { | |
| margin-top: 2rem; | |
| color: #475569; | |
| font-size: 0.75rem; | |
| } | |
| </style> | |
| <footer> | |
| <div class="content"> | |
| <div class="logo"> | |
| <i data-feather="cpu"></i> | |
| <span>Synapse<span>Search</span></span> | |
| </div> | |
| <p class="text"> | |
| An aggregator for the latest Artificial Intelligence research papers. | |
| Curated for researchers, developers, and enthusiasts. | |
| </p> | |
| <div class="links"> | |
| <a href="#" class="link">Privacy Policy</a> | |
| <a href="#" class="link">Terms of Service</a> | |
| <a href="#" class="link">API Documentation</a> | |
| <a href="#" class="link">Contact Support</a> | |
| </div> | |
| <p class="copyright"> | |
| © 2023 Synapse Search. Data provided by ArXiv. | |
| </p> | |
| </div> | |
| </footer> | |
| `; | |
| } | |
| } | |
| customElements.define('site-footer', SiteFooter); |