Implement scroll-narrative website
Build a high-conversion, story-driven marketing site for Bay Area Affiliates, Inc. The site will feature a scroll-narrative experience with pinned hero, section pinning, subtle parallax, and neon accents. It prioritizes performance, accessibility, and clear CTAs, targeting small to mid-sized businesses in the Coastal Bend. Key features include: - Pinned hero section with headline, subcopy, and CTAs. - Value pillars section with alternating media layouts. - "How We Work" section with a pinned timeline. - Services overview with cards linking to detail pages. - Local focus section with client logos and testimonials. - CTA footer band with micro-FAQ. - Dedicated Services, About, Blog, and Contact pages. The design will adhere to the specified brand guidelines, including a deep teal/near-black base with neon lime accents. Interactions will respect `prefers-reduced-motion`. Performance and SEO best practices will be followed, including metadata, lazy loading, and local SEO keywords. Accessibility standards (WCAG AA) will be met.
This commit is contained in:
129
src/components/Footer.tsx
Normal file
129
src/components/Footer.tsx
Normal file
@@ -0,0 +1,129 @@
|
||||
import { Link } from 'react-router-dom';
|
||||
import { MapPin, Phone, Mail, ArrowUp } from 'lucide-react';
|
||||
|
||||
const Footer = () => {
|
||||
const scrollToTop = () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
};
|
||||
|
||||
const quickLinks = [
|
||||
{ name: 'Services', path: '/services' },
|
||||
{ name: 'About', path: '/about' },
|
||||
{ name: 'Blog', path: '/blog' },
|
||||
{ name: 'Contact', path: '/contact' },
|
||||
];
|
||||
|
||||
const services = [
|
||||
'Hardware & Desktop Support',
|
||||
'Network Infrastructure',
|
||||
'Virtualization & Cloud',
|
||||
'Secure Remote Access',
|
||||
'Backup & Continuity',
|
||||
'Microsoft 365',
|
||||
];
|
||||
|
||||
return (
|
||||
<footer className="bg-background-deep border-t border-border relative">
|
||||
{/* Back to top button */}
|
||||
<button
|
||||
onClick={scrollToTop}
|
||||
className="absolute -top-6 left-1/2 transform -translate-x-1/2 w-12 h-12 bg-neon rounded-full flex items-center justify-center text-neon-foreground hover:shadow-neon transition-all duration-300 hover:-translate-y-1"
|
||||
aria-label="Back to top"
|
||||
>
|
||||
<ArrowUp className="w-5 h-5" />
|
||||
</button>
|
||||
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pt-16 pb-8">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-12">
|
||||
{/* Company info */}
|
||||
<div className="lg:col-span-2">
|
||||
<div className="flex items-center space-x-2 mb-6">
|
||||
<div className="w-8 h-8 bg-neon rounded-lg flex items-center justify-center">
|
||||
<span className="text-neon-foreground font-bold text-sm">BA</span>
|
||||
</div>
|
||||
<span className="font-heading font-bold text-lg text-foreground">
|
||||
Bay Area Affiliates, Inc.
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<p className="text-foreground-muted mb-6 leading-relaxed max-w-md">
|
||||
Top-notch Computer & Networking solutions for the Coastal Bend.
|
||||
We design, run and protect your IT so you can focus on growth.
|
||||
</p>
|
||||
|
||||
<div className="space-y-3">
|
||||
<div className="flex items-center text-foreground-muted">
|
||||
<MapPin className="w-4 h-4 mr-3 text-neon" />
|
||||
<span>Serving Corpus Christi & the Coastal Bend</span>
|
||||
</div>
|
||||
<div className="flex items-center text-foreground-muted">
|
||||
<Phone className="w-4 h-4 mr-3 text-neon" />
|
||||
<a href="tel:+1-361-555-0123" className="hover:text-neon transition-colors">
|
||||
(361) 555-0123
|
||||
</a>
|
||||
</div>
|
||||
<div className="flex items-center text-foreground-muted">
|
||||
<Mail className="w-4 h-4 mr-3 text-neon" />
|
||||
<a href="mailto:info@bayareaaffiliates.com" className="hover:text-neon transition-colors">
|
||||
info@bayareaaffiliates.com
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Quick links */}
|
||||
<div>
|
||||
<h3 className="font-heading font-semibold text-foreground mb-4">Company</h3>
|
||||
<ul className="space-y-2">
|
||||
{quickLinks.map((link) => (
|
||||
<li key={link.name}>
|
||||
<Link
|
||||
to={link.path}
|
||||
className="text-foreground-muted hover:text-neon transition-colors"
|
||||
>
|
||||
{link.name}
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{/* Services */}
|
||||
<div>
|
||||
<h3 className="font-heading font-semibold text-foreground mb-4">Services</h3>
|
||||
<ul className="space-y-2">
|
||||
{services.map((service) => (
|
||||
<li key={service}>
|
||||
<Link
|
||||
to="/services"
|
||||
className="text-foreground-muted hover:text-neon transition-colors text-sm"
|
||||
>
|
||||
{service}
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Bottom bar */}
|
||||
<div className="pt-8 border-t border-border flex flex-col sm:flex-row justify-between items-center">
|
||||
<div className="text-foreground-muted text-sm mb-4 sm:mb-0">
|
||||
© 2024 Bay Area Affiliates, Inc. All rights reserved.
|
||||
</div>
|
||||
|
||||
<div className="flex items-center space-x-6 text-sm">
|
||||
<Link to="/privacy" className="text-foreground-muted hover:text-neon transition-colors">
|
||||
Privacy Policy
|
||||
</Link>
|
||||
<Link to="/terms" className="text-foreground-muted hover:text-neon transition-colors">
|
||||
Terms of Service
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
|
||||
export default Footer;
|
||||
Reference in New Issue
Block a user