2026-05-17 18:03:55 -05:00
|
|
|
import { Link } from 'react-router-dom'
|
|
|
|
|
|
2026-05-12 01:04:17 -05:00
|
|
|
const Footer = () => {
|
|
|
|
|
const currentYear = new Date().getFullYear()
|
|
|
|
|
|
2026-05-12 02:39:35 -05:00
|
|
|
const companyInfo = {
|
|
|
|
|
name: 'Queue North',
|
|
|
|
|
tagline: 'Modern communications infrastructure without the vendor noise.',
|
2026-05-18 12:11:56 -05:00
|
|
|
addressLine1: '7901 4th St N',
|
|
|
|
|
addressLine2: 'St. Petersburg, FL 33702',
|
2026-05-17 20:44:18 -05:00
|
|
|
phone: '(321) 730-8020',
|
|
|
|
|
tollFree: '(888) 656-2850',
|
2026-05-12 02:39:35 -05:00
|
|
|
}
|
|
|
|
|
|
2026-05-12 01:04:17 -05:00
|
|
|
const quickLinks = [
|
|
|
|
|
{ name: 'Home', href: '/' },
|
|
|
|
|
{ name: 'Services', href: '/services' },
|
|
|
|
|
{ name: 'Industries', href: '/industries' },
|
|
|
|
|
{ name: 'About', href: '/about' },
|
|
|
|
|
{ name: 'Contact', href: '/contact' },
|
|
|
|
|
{ name: 'Support', href: '/support' },
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const services = [
|
|
|
|
|
{ name: 'Unified Communications', href: '/services/unified-communications' },
|
|
|
|
|
{ name: 'Contact Center', href: '/services/contact-center' },
|
|
|
|
|
{ name: 'Managed Support', href: '/services/managed-support' },
|
|
|
|
|
{ name: 'Consulting & Training', href: '/services/consulting-training' },
|
|
|
|
|
{ name: 'Infrastructure Cabling', href: '/services/infrastructure-cabling' },
|
|
|
|
|
{ name: 'Wireless Access', href: '/services/wireless-access' },
|
|
|
|
|
{ name: 'Local Networking', href: '/services/local-networking' },
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const industries = [
|
|
|
|
|
{ name: 'Healthcare', href: '/industries/healthcare' },
|
|
|
|
|
{ name: 'Retail', href: '/industries/retail' },
|
|
|
|
|
{ name: 'Manufacturing', href: '/industries/manufacturing' },
|
|
|
|
|
{ name: 'Education & Finance', href: '/industries/education-finance' },
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<footer className="bg-primary-navy text-white">
|
2026-05-18 10:57:06 -05:00
|
|
|
<div className="container mx-auto px-4 pt-24 pb-12">
|
2026-05-25 18:33:19 -05:00
|
|
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
|
2026-05-12 01:04:17 -05:00
|
|
|
{/* Company Info */}
|
|
|
|
|
<div>
|
2026-05-18 10:57:06 -05:00
|
|
|
<Link to="/" className="inline-flex items-center gap-3 mb-3 group" aria-label="Queue North Technologies Home">
|
|
|
|
|
<img
|
|
|
|
|
src="/logo.png"
|
|
|
|
|
alt="Queue North Technologies"
|
|
|
|
|
className="h-12 w-auto brightness-0 invert group-hover:opacity-80 transition-opacity"
|
2026-05-12 01:04:17 -05:00
|
|
|
/>
|
2026-05-18 10:57:06 -05:00
|
|
|
<span className="font-bold text-xl tracking-tight text-white">Queue North</span>
|
|
|
|
|
</Link>
|
|
|
|
|
<p className="text-navy-light text-sm leading-relaxed mb-5">{companyInfo.tagline}</p>
|
2026-05-18 12:11:56 -05:00
|
|
|
<a
|
|
|
|
|
href="https://maps.google.com/?q=7901+4th+St+N+St+Petersburg+FL+33702"
|
|
|
|
|
target="_blank"
|
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
|
className="block text-navy-light text-sm mb-3 hover:text-primary-cyan transition-colors leading-relaxed"
|
|
|
|
|
aria-label="View Queue North office on Google Maps"
|
|
|
|
|
>
|
|
|
|
|
<span className="block">{companyInfo.addressLine1}</span>
|
|
|
|
|
<span className="block">{companyInfo.addressLine2}</span>
|
|
|
|
|
</a>
|
2026-05-18 10:57:06 -05:00
|
|
|
<div className="space-y-2 text-navy-light text-sm mb-6">
|
2026-05-17 15:07:28 -05:00
|
|
|
<div>
|
2026-05-17 22:47:03 -05:00
|
|
|
<a href={`tel:+1${companyInfo.phone.replace(/\D/g, '')}`} className="hover:text-primary-cyan transition-colors" aria-label={`Call ${companyInfo.phone}`}>{companyInfo.phone}</a>
|
2026-05-17 15:07:28 -05:00
|
|
|
</div>
|
2026-05-17 20:44:18 -05:00
|
|
|
<div>
|
2026-05-18 10:57:06 -05:00
|
|
|
<a href={`tel:+1${companyInfo.tollFree.replace(/\D/g, '')}`} className="hover:text-primary-cyan transition-colors" aria-label={`Call toll-free ${companyInfo.tollFree}`}>{companyInfo.tollFree} (Toll-Free)</a>
|
2026-05-17 20:44:18 -05:00
|
|
|
</div>
|
2026-05-17 14:35:29 -05:00
|
|
|
</div>
|
2026-05-18 10:57:06 -05:00
|
|
|
<Link
|
|
|
|
|
to="/contact"
|
|
|
|
|
className="inline-flex items-center gap-2 rounded-md text-sm font-semibold px-5 py-2.5 bg-primary-cyan text-primary-navy hover:bg-white transition-colors duration-200"
|
|
|
|
|
aria-label="Request a free consultation"
|
|
|
|
|
>
|
|
|
|
|
Get a Free Quote
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" className="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
|
|
|
<path strokeLinecap="round" strokeLinejoin="round" d="M17 8l4 4m0 0l-4 4m4-4H3" />
|
|
|
|
|
</svg>
|
|
|
|
|
</Link>
|
2026-05-12 01:04:17 -05:00
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{/* Quick Links */}
|
2026-05-18 10:57:06 -05:00
|
|
|
<div className="lg:pt-16">
|
2026-05-17 17:42:03 -05:00
|
|
|
<h3 className="font-semibold mb-4 text-sm uppercase tracking-wider text-primary-cyan">Quick Links</h3>
|
2026-05-12 01:04:17 -05:00
|
|
|
<ul className="space-y-2">
|
|
|
|
|
{quickLinks.map((link) => (
|
|
|
|
|
<li key={link.name}>
|
2026-05-17 18:03:55 -05:00
|
|
|
<Link
|
|
|
|
|
to={link.href}
|
2026-05-12 02:39:35 -05:00
|
|
|
className="text-navy-light hover:text-white transition-colors text-sm"
|
2026-05-17 22:47:03 -05:00
|
|
|
aria-label={link.name}
|
2026-05-12 01:04:17 -05:00
|
|
|
>
|
|
|
|
|
{link.name}
|
2026-05-17 18:03:55 -05:00
|
|
|
</Link>
|
2026-05-12 01:04:17 -05:00
|
|
|
</li>
|
|
|
|
|
))}
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{/* Services */}
|
2026-05-18 10:57:06 -05:00
|
|
|
<div className="lg:pt-16">
|
2026-05-17 17:42:03 -05:00
|
|
|
<h3 className="font-semibold mb-4 text-sm uppercase tracking-wider text-primary-cyan">Services</h3>
|
2026-05-12 01:04:17 -05:00
|
|
|
<ul className="space-y-2">
|
|
|
|
|
{services.map((service) => (
|
|
|
|
|
<li key={service.name}>
|
2026-05-17 18:03:55 -05:00
|
|
|
<Link
|
|
|
|
|
to={service.href}
|
2026-05-12 02:39:35 -05:00
|
|
|
className="text-navy-light hover:text-white transition-colors text-sm"
|
2026-05-17 22:47:03 -05:00
|
|
|
aria-label={service.name}
|
2026-05-12 01:04:17 -05:00
|
|
|
>
|
|
|
|
|
{service.name}
|
2026-05-17 18:03:55 -05:00
|
|
|
</Link>
|
2026-05-12 01:04:17 -05:00
|
|
|
</li>
|
|
|
|
|
))}
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{/* Industries */}
|
2026-05-18 10:57:06 -05:00
|
|
|
<div className="lg:pt-16">
|
2026-05-17 17:42:03 -05:00
|
|
|
<h3 className="font-semibold mb-4 text-sm uppercase tracking-wider text-primary-cyan">Industries</h3>
|
2026-05-12 01:04:17 -05:00
|
|
|
<ul className="space-y-2">
|
|
|
|
|
{industries.map((industry) => (
|
|
|
|
|
<li key={industry.name}>
|
2026-05-17 18:03:55 -05:00
|
|
|
<Link
|
|
|
|
|
to={industry.href}
|
2026-05-12 02:39:35 -05:00
|
|
|
className="text-navy-light hover:text-white transition-colors text-sm"
|
2026-05-17 22:47:03 -05:00
|
|
|
aria-label={industry.name}
|
2026-05-12 01:04:17 -05:00
|
|
|
>
|
|
|
|
|
{industry.name}
|
2026-05-17 18:03:55 -05:00
|
|
|
</Link>
|
2026-05-12 01:04:17 -05:00
|
|
|
</li>
|
|
|
|
|
))}
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-05-25 18:33:19 -05:00
|
|
|
{/* Veteran Owned & Operated */}
|
2026-05-25 19:23:37 -05:00
|
|
|
<div className="border-t border-white/10 mt-10 py-6">
|
|
|
|
|
<div className="flex flex-col gap-4 md:flex-row md:items-center md:justify-between">
|
|
|
|
|
<div>
|
|
|
|
|
<p className="text-primary-cyan text-xs font-semibold uppercase tracking-[0.18em]">
|
|
|
|
|
Veteran Owned & Operated
|
|
|
|
|
</p>
|
|
|
|
|
<p className="mt-2 text-sm text-navy-light">
|
|
|
|
|
Proudly representing service in the United States Marine Corps and United States Air Force.
|
|
|
|
|
</p>
|
2026-05-25 18:33:19 -05:00
|
|
|
</div>
|
2026-05-25 19:23:37 -05:00
|
|
|
<div className="flex flex-wrap gap-2">
|
|
|
|
|
<span className="rounded-md border border-white/10 bg-white/5 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-white/85">
|
|
|
|
|
United States Marine Corps
|
|
|
|
|
</span>
|
|
|
|
|
<span className="rounded-md border border-white/10 bg-white/5 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-white/85">
|
|
|
|
|
United States Air Force
|
2026-05-25 18:33:19 -05:00
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2026-05-12 01:04:17 -05:00
|
|
|
{/* Bottom */}
|
2026-05-25 18:33:19 -05:00
|
|
|
<div className="border-t border-white/10 pt-8">
|
2026-05-18 10:57:06 -05:00
|
|
|
<div className="flex flex-col md:flex-row md:items-center md:justify-between gap-4">
|
|
|
|
|
<div className="flex flex-col gap-1">
|
|
|
|
|
<p className="text-navy-light text-sm">
|
2026-05-25 18:33:19 -05:00
|
|
|
8x8 and Cisco Certified Partner · Veteran Owned & Operated · 25+ Years Experience
|
2026-05-17 20:44:18 -05:00
|
|
|
</p>
|
|
|
|
|
<p className="text-navy-light text-xs">
|
2026-05-18 10:57:06 -05:00
|
|
|
© {currentYear} Queue North Technologies. All rights reserved.
|
2026-05-17 20:44:18 -05:00
|
|
|
</p>
|
|
|
|
|
</div>
|
2026-05-18 12:11:56 -05:00
|
|
|
<div className="flex items-center gap-4">
|
|
|
|
|
<a
|
|
|
|
|
href="https://linkedin.com/company/queue-north-technologies-llc"
|
|
|
|
|
target="_blank"
|
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
|
className="text-navy-light hover:text-primary-cyan transition-colors"
|
|
|
|
|
aria-label="Follow Queue North on LinkedIn"
|
|
|
|
|
>
|
|
|
|
|
<svg className="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
|
|
|
|
|
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
<span className="sr-only">LinkedIn</span>
|
|
|
|
|
</a>
|
|
|
|
|
<a
|
|
|
|
|
href="https://www.facebook.com/QueueNorth"
|
|
|
|
|
target="_blank"
|
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
|
className="text-navy-light hover:text-primary-cyan transition-colors"
|
|
|
|
|
aria-label="Follow Queue North on Facebook"
|
|
|
|
|
>
|
|
|
|
|
<svg className="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
|
|
|
|
|
<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
<span className="sr-only">Facebook</span>
|
2026-05-18 10:57:06 -05:00
|
|
|
</a>
|
|
|
|
|
</div>
|
2026-05-17 20:44:18 -05:00
|
|
|
</div>
|
2026-05-18 10:57:06 -05:00
|
|
|
<p className="text-navy-light text-xs mt-4">
|
|
|
|
|
8x8® is a registered trademark of 8x8, Inc. Queue North Technologies is an independent certified partner and is not owned or operated by 8x8, Inc.
|
|
|
|
|
</p>
|
2026-05-12 01:04:17 -05:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</footer>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Footer
|