11"use client" ;
22
33import { motion } from "framer-motion" ;
4- import { Github , Twitter , Linkedin , Activity } from "lucide-react" ;
4+ import Image from "next/image" ;
5+ import Link from "next/link" ;
6+ import { Twitter , Linkedin } from "lucide-react" ;
7+
8+ const SOCIAL_LINKS = [
9+ { name : "Twitter" , icon : Twitter , href : "https://x.com/GetHyperionHQ" } ,
10+ { name : "LinkedIn" , icon : Linkedin , href : "https://www.linkedin.com/company/hyperionhq/" } ,
11+ ] ;
12+
13+ const productLinks = [
14+ { label : "Features" , href : "/features" } ,
15+ { label : "Semantic Caching" , href : "/semantic-caching" } ,
16+ { label : "Routing" , href : "/routing" } ,
17+ { label : "Security" , href : "/security" } ,
18+ { label : "Pricing" , href : "/pricing" } ,
19+ ] ;
20+
21+ const resourceLinks = [
22+ { label : "AI Gateway" , href : "/ai-gateway" } ,
23+ { label : "LLM Gateway" , href : "/llm-gateway" } ,
24+ { label : "Performance" , href : "/blog/go-gateway-performance" } ,
25+ ] ;
26+
27+ const useCaseLinks = [
28+ { label : "All Use Cases" , href : "/use-cases" } ,
29+ { label : "Chatbots" , href : "/use-cases/chatbots" } ,
30+ { label : "SaaS" , href : "/use-cases/saas" } ,
31+ { label : "Healthcare" , href : "/use-cases/healthcare" } ,
32+ { label : "Internal Tools" , href : "/use-cases/internal-tools" } ,
33+ ] ;
34+
35+ const companyLinks = [
36+ { label : "About Us" , href : "/about" } ,
37+ { label : "Contact Us" , href : "/contact" } ,
38+ { label : "Blog" , href : "/blog" } ,
39+ { label : "FAQs" , href : "/faqs" } ,
40+ { label : "Privacy" , href : undefined } ,
41+ ] ;
542
643export default function Footer ( ) {
744 return (
@@ -12,27 +49,41 @@ export default function Footer() {
1249 < div className = "grid grid-cols-1 md:grid-cols-6 gap-8 lg:gap-12" >
1350 { /* Brand Column */ }
1451 < div className = "col-span-1 md:col-span-2 border-r border-white/5 pr-8 lg:pr-12" >
15- < div className = "flex items-center space-x-3 mb-6 group cursor-pointer brightness-125 drop-shadow-[0_0_20px_rgba(255,255,255,0.3)] hover:brightness-150 transition-all duration-300" >
52+ < Link href = "/" className = "flex items-center space-x-3 mb-6 group cursor-pointer brightness-125 drop-shadow-[0_0_20px_rgba(255,255,255,0.3)] hover:brightness-150 transition-all duration-300" >
1653 < div className = "relative w-8 h-8" >
17- < img src = "/HyperionLogo3.png" alt = "Hyperion" className = "w-full h-full object-contain" />
54+ < Image src = "/HyperionLogo3.png" alt = "Hyperion" width = { 32 } height = { 32 } className = "w-full h-full object-contain" />
1855 </ div >
1956 < span className = "text-xl font-bold bg-gradient-to-r from-white to-white/70 bg-clip-text text-transparent drop-shadow-[0_0_30px_rgba(255,255,255,0.7)]" >
2057 Hyperion
2158 </ span >
22- </ div >
59+ </ Link >
2360 < p className = "text-sm text-neutral-400 leading-relaxed mb-6 max-w-sm" >
2461 Empowering the next generation of AI infrastructure. Microsecond gateway latency, enterprise-grade security.
2562 </ p >
2663 < div className = "flex space-x-3" >
27- { [ Twitter , Linkedin ] . map ( ( Icon , i ) => (
28- < motion . a
29- key = { i }
30- href = "#"
31- whileHover = { { y : - 2 , color : '#10b981' } }
32- className = "p-2 rounded-lg bg-white/[0.03] border border-white/5 text-neutral-500 hover:text-white transition-colors"
33- >
34- < Icon size = { 16 } />
35- </ motion . a >
64+ { SOCIAL_LINKS . map ( ( { name, icon : Icon , href } ) => (
65+ href ? (
66+ < motion . a
67+ key = { name }
68+ href = { href }
69+ target = "_blank"
70+ rel = "noopener noreferrer"
71+ whileHover = { { y : - 2 , color : '#10b981' } }
72+ className = "p-2 rounded-lg bg-white/[0.03] border border-white/5 text-neutral-500 hover:text-white transition-colors"
73+ aria-label = { name }
74+ >
75+ < Icon size = { 16 } />
76+ </ motion . a >
77+ ) : (
78+ < span
79+ key = { name }
80+ className = "p-2 rounded-lg bg-white/[0.03] border border-white/5 text-neutral-600 cursor-not-allowed"
81+ aria-label = { `${ name } coming soon` }
82+ title = { `${ name } coming soon` }
83+ >
84+ < Icon size = { 16 } />
85+ </ span >
86+ )
3687 ) ) }
3788 </ div >
3889 </ div >
@@ -41,11 +92,11 @@ export default function Footer() {
4192 < div >
4293 < h4 className = "text-sm font-black text-white uppercase tracking-[0.2em] mb-4" > Product</ h4 >
4394 < ul className = "space-y-2" >
44- { [ 'Features' , 'Semantic Caching' , 'Routing' , 'Security' , 'Pricing' ] . map ( ( link ) => (
45- < li key = { link } >
46- < a href = { link === 'Features' ? '/features' : link === 'Semantic Caching' ? '/semantic-caching' : link === 'Routing' ? '/routing' : link === 'Security' ? '/security' : link === 'Pricing' ? '/pricing' : '#' } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
47- { link }
48- </ a >
95+ { productLinks . map ( ( link ) => (
96+ < li key = { link . label } >
97+ < Link href = { link . href } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
98+ { link . label }
99+ </ Link >
49100 </ li >
50101 ) ) }
51102 </ ul >
@@ -55,11 +106,11 @@ export default function Footer() {
55106 < div >
56107 < h4 className = "text-sm font-black text-white uppercase tracking-[0.2em] mb-4" > Resources</ h4 >
57108 < ul className = "space-y-2" >
58- { [ 'AI Gateway' , 'LLM Gateway' , 'Performance' ] . map ( ( link ) => (
59- < li key = { link } >
60- < a href = { link === 'AI Gateway' ? '/ai-gateway' : link === 'LLM Gateway' ? '/llm-gateway' : link === 'Performance' ? '/blog/go-gateway-performance' : '#' } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
61- { link }
62- </ a >
109+ { resourceLinks . map ( ( link ) => (
110+ < li key = { link . label } >
111+ < Link href = { link . href } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
112+ { link . label }
113+ </ Link >
63114 </ li >
64115 ) ) }
65116 </ ul >
@@ -69,17 +120,11 @@ export default function Footer() {
69120 < div >
70121 < h4 className = "text-sm font-black text-white uppercase tracking-[0.2em] mb-4" > Use Cases</ h4 >
71122 < ul className = "space-y-2" >
72- { [ 'All Use Cases' , 'Chatbots' , 'SaaS' , 'Healthcare' , 'Internal Tools' ] . map ( ( link ) => (
73- < li key = { link } >
74- < a href = {
75- link === 'All Use Cases' ? '/use-cases' :
76- link === 'Chatbots' ? '/use-cases/chatbots' :
77- link === 'SaaS' ? '/use-cases/saas' :
78- link === 'Healthcare' ? '/use-cases/healthcare' :
79- link === 'Internal Tools' ? '/use-cases/internal-tools' : '#'
80- } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
81- { link }
82- </ a >
123+ { useCaseLinks . map ( ( link ) => (
124+ < li key = { link . label } >
125+ < Link href = { link . href } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
126+ { link . label }
127+ </ Link >
83128 </ li >
84129 ) ) }
85130 </ ul >
@@ -89,11 +134,17 @@ export default function Footer() {
89134 < div >
90135 < h4 className = "text-sm font-black text-white uppercase tracking-[0.2em] mb-4" > Company</ h4 >
91136 < ul className = "space-y-2" >
92- { [ 'About Us' , 'Contact Us' , 'Blog' , 'FAQs' , 'Privacy' ] . map ( ( link ) => (
93- < li key = { link } >
94- < a href = { link === 'Blog' ? '/blog' : link === 'About Us' ? '/about' : link === 'Contact Us' ? '/contact' : link === 'FAQs' ? '/faqs' : '#' } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
95- { link }
96- </ a >
137+ { companyLinks . map ( ( link ) => (
138+ < li key = { link . label } >
139+ { link . href ? (
140+ < Link href = { link . href } className = "text-sm text-neutral-400 hover:text-emerald-400 transition-colors" >
141+ { link . label }
142+ </ Link >
143+ ) : (
144+ < span className = "text-sm text-neutral-500 cursor-not-allowed" title = "Coming soon" >
145+ { link . label }
146+ </ span >
147+ ) }
97148 </ li >
98149 ) ) }
99150 </ ul >
0 commit comments