This commit is contained in:
parent
a5d9d142d5
commit
8adb9cdb76
|
|
@ -65,13 +65,46 @@ const Header = () => {
|
|||
{/* Desktop Nav */}
|
||||
<nav className="hidden md:flex items-center gap-6">
|
||||
{navLinks.map((link) => (
|
||||
<Link
|
||||
key={link.name}
|
||||
to={link.href}
|
||||
className={`text-sm font-medium transition-colors ${isActive(link.href) ? 'text-white underline underline-offset-4' : 'text-white/70 hover:text-white'}`}
|
||||
>
|
||||
{link.name}
|
||||
</Link>
|
||||
<div key={link.name} className="relative group">
|
||||
<Link
|
||||
to={link.href}
|
||||
className={`text-sm font-medium transition-colors ${isActive(link.href) ? 'text-white underline underline-offset-4' : 'text-white/70 hover:text-white'}`}
|
||||
>
|
||||
{link.name}
|
||||
</Link>
|
||||
{/* Services Dropdown */}
|
||||
{link.name === 'Services' && (
|
||||
<div className="absolute top-full left-0 mt-2 w-64 bg-white rounded-lg shadow-xl border border-gray-200 hidden group-hover:block">
|
||||
<div className="p-2">
|
||||
{serviceLinks.map((service) => (
|
||||
<Link
|
||||
key={service.name}
|
||||
to={service.href}
|
||||
className="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 rounded-md transition-colors"
|
||||
>
|
||||
{service.name}
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{/* Industries Dropdown */}
|
||||
{link.name === 'Industries' && (
|
||||
<div className="absolute top-full left-0 mt-2 w-64 bg-white rounded-lg shadow-xl border border-gray-200 hidden group-hover:block">
|
||||
<div className="p-2">
|
||||
{industryLinks.map((industry) => (
|
||||
<Link
|
||||
key={industry.name}
|
||||
to={industry.href}
|
||||
className="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 rounded-md transition-colors"
|
||||
>
|
||||
{industry.name}
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</nav>
|
||||
|
||||
|
|
|
|||
|
|
@ -142,16 +142,16 @@ const Contact = () => {
|
|||
</div>
|
||||
</div>
|
||||
<div className="mb-8">
|
||||
<Link to="/contact" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-6 bg-primary-navy text-white hover:bg-primary-navy-dark transition-colors">
|
||||
Request Consultation
|
||||
</Link>
|
||||
<a href="#contact-form" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-6 bg-primary-cyan text-primary-navy hover:bg-cyan-600 transition-colors">
|
||||
Fill Out the Form
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Contact Form */}
|
||||
<section className="bg-background py-16">
|
||||
<section id="contact-form" className="bg-background py-16">
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
{/* Left - Info */}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { Button } from '@/components/ui/Button'
|
|||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/Card'
|
||||
import { services } from '@/data/services'
|
||||
import { industries } from '@/data/industries'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
import { Link } from 'react-router-dom'
|
||||
import { MapPin, MessageCircle, Users, LifeBuoy, GraduationCap, Link as LinkIcon, Wifi, Network, Headphones, UserCheck, Activity, ShieldCheck, HeartPulse, ShoppingCart, Factory, Landmark, Building2 } from 'lucide-react'
|
||||
|
||||
// Icon map for industries - converts icon string to lucide component
|
||||
|
|
@ -15,8 +15,6 @@ const industryIcons = {
|
|||
}
|
||||
|
||||
const Home = () => {
|
||||
const navigate = useNavigate()
|
||||
|
||||
const organizationLd = {
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'Organization',
|
||||
|
|
@ -85,12 +83,12 @@ const Home = () => {
|
|||
We handle your phones, internet, and IT so you can focus on running your business. 8x8 Certified Partner with 25+ years of proven reliability.
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4">
|
||||
<Button variant="default" size="lg" className="bg-white text-primary-navy hover:bg-gray-100" onClick={() => navigate('/contact')}>
|
||||
<Link to="/contact" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-4 py-2 bg-white text-primary-navy hover:bg-gray-100 transition-colors">
|
||||
Schedule Consultation
|
||||
</Button>
|
||||
<Button variant="outline" size="lg" className="border-white text-white hover:bg-white/10" onClick={() => navigate('/services')}>
|
||||
</Link>
|
||||
<Link to="/services" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-4 py-2 border border-white text-white hover:bg-white/10 transition-colors">
|
||||
View Services
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex flex-wrap gap-4">
|
||||
<div className="flex items-center gap-2 px-4 py-2 bg-white/20 rounded-lg text-sm font-medium">
|
||||
|
|
@ -184,104 +182,103 @@ const Home = () => {
|
|||
Why Queue North? Proven reliability, decades of experience, and unwavering support
|
||||
</p>
|
||||
<div>
|
||||
<Button variant="default" onClick={() => navigate('/contact')}
|
||||
className="bg-primary-navy text-white hover:bg-primary-navy-dark">
|
||||
<Link to="/contact" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-4 py-2 bg-primary-navy text-white hover:bg-primary-navy-dark transition-colors">
|
||||
Request Consultation
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 8x8 Certified Partner */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-12">
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-primary-navy text-white p-3 rounded-lg">
|
||||
<img src="/assets/8x8_Logo_White.svg" alt="8x8 Certified Partner logo" className="h-8 w-auto" />
|
||||
{/* 8x8 Certified Partner */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-12">
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-primary-navy text-white p-3 rounded-lg">
|
||||
<img src="/assets/8x8_Logo_White.svg" alt="8x8 Certified Partner logo" className="h-8 w-auto" />
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">8x8 Certified Partner</h3>
|
||||
<p className="text-sm text-soft-text">Certification #25432</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">8x8 Certified Partner</h3>
|
||||
<p className="text-sm text-soft-text">Certification #25432</p>
|
||||
<p className="text-sm text-soft-text leading-relaxed mb-4">
|
||||
Queue North holds 8x8 Sales, Sales Engineer, Build, Deployment, and Support Certifications — enabling full lifecycle delivery.
|
||||
</p>
|
||||
<div className="flex flex-wrap gap-2">
|
||||
{['Sales', 'Sales Engineer', 'Build', 'Deployment', 'Support'].map((cert) => (
|
||||
<span key={cert} className="inline-flex items-center gap-1.5 px-3 py-1.5 bg-teal-50 text-teal-700 text-xs font-medium rounded-md border border-teal-100">
|
||||
<span className="w-1.5 h-1.5 rounded-full bg-teal-500" />
|
||||
{cert}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-sm text-soft-text leading-relaxed mb-4">
|
||||
Queue North holds 8x8 Sales, Sales Engineer, Build, Deployment, and Support Certifications — enabling full lifecycle delivery.
|
||||
</p>
|
||||
<div className="flex flex-wrap gap-2">
|
||||
{['Sales', 'Sales Engineer', 'Build', 'Deployment', 'Support'].map((cert) => (
|
||||
<span key={cert} className="inline-flex items-center gap-1.5 px-3 py-1.5 bg-teal-50 text-teal-700 text-xs font-medium rounded-md border border-teal-100">
|
||||
<span className="w-1.5 h-1.5 rounded-full bg-teal-500" />
|
||||
{cert}
|
||||
</span>
|
||||
))}
|
||||
|
||||
{/* Cisco Partnership */}
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-primary-navy text-white p-3 rounded-lg">
|
||||
<span className="font-bold text-xl">C</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">Cisco Certified Partner</h3>
|
||||
<p className="text-sm text-soft-text">Authorized Reseller & Implementer</p>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-sm text-soft-text leading-relaxed">
|
||||
As a Cisco Certified Partner, we deliver enterprise-grade solutions using Cisco Meraki, Cisco Webex, and Cisco Unified Communications Manager. We help businesses leverage Cisco's industry-leading networking and communications platforms.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Veteran Owned */}
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-primary-navy text-white p-3 rounded-lg">
|
||||
<div className="flex items-center justify-center text-xl font-bold">V</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">Veteran Owned</h3>
|
||||
<p className="text-sm text-soft-text">VCERT Verified (VOSB #12847)</p>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-sm text-soft-text leading-relaxed">
|
||||
Founded by military veterans, we bring discipline, reliability, and service-first values to every client relationship. Your success is our mission.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Years Experience */}
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-teal-600 text-white p-3 rounded-lg">
|
||||
<span className="font-numeric text-3xl">25+</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">25+ Years Experience</h3>
|
||||
<p className="text-sm text-soft-text">1999–Present</p>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-sm text-soft-text leading-relaxed">
|
||||
We've been helping businesses navigate communications challenges since before cloud telephony existed. Our experience means fewer surprises, faster solutions.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Cisco Partnership */}
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-primary-navy text-white p-3 rounded-lg">
|
||||
<span className="font-bold text-xl">C</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">Cisco Certified Partner</h3>
|
||||
<p className="text-sm text-soft-text">Authorized Reseller & Implementer</p>
|
||||
</div>
|
||||
{/* Metrics Grid */}
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-6">
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2">99.99%</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Uptime Guarantee</div>
|
||||
</div>
|
||||
<p className="text-sm text-soft-text leading-relaxed">
|
||||
As a Cisco Certified Partner, we deliver enterprise-grade solutions using Cisco Meraki, Cisco Webex, and Cisco Unified Communications Manager. We help businesses leverage Cisco's industry-leading networking and communications platforms.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Veteran Owned */}
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-primary-navy text-white p-3 rounded-lg">
|
||||
<div className="flex items-center justify-center text-xl font-bold">V</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">Veteran Owned</h3>
|
||||
<p className="text-sm text-soft-text">VCERT Verified (VOSB #12847)</p>
|
||||
</div>
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2"><15m</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Avg. Response</div>
|
||||
</div>
|
||||
<p className="text-sm text-soft-text leading-relaxed">
|
||||
Founded by military veterans, we bring discipline, reliability, and service-first values to every client relationship. Your success is our mission.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Years Experience */}
|
||||
<div className="bg-white rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow">
|
||||
<div className="flex items-center gap-4 mb-4">
|
||||
<div className="bg-teal-600 text-white p-3 rounded-lg">
|
||||
<span className="font-numeric text-3xl">25+</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-primary-navy">25+ Years Experience</h3>
|
||||
<p className="text-sm text-soft-text">1999–Present</p>
|
||||
</div>
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2">24/7</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Support</div>
|
||||
</div>
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2">100%</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Satisfaction</div>
|
||||
</div>
|
||||
<p className="text-sm text-soft-text leading-relaxed">
|
||||
We've been helping businesses navigate communications challenges since before cloud telephony existed. Our experience means fewer surprises, faster solutions.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Metrics Grid */}
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-6">
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2">99.99%</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Uptime Guarantee</div>
|
||||
</div>
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2"><15m</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Avg. Response</div>
|
||||
</div>
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2">24/7</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Support</div>
|
||||
</div>
|
||||
<div className="text-center">
|
||||
<div className="font-numeric text-4xl md:text-5xl text-primary-navy mb-2">100%</div>
|
||||
<div className="text-sm text-soft-text uppercase tracking-wide font-medium">Satisfaction</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -316,12 +313,12 @@ const Home = () => {
|
|||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="flex flex-col gap-2">
|
||||
<Button variant="link" className="text-primary-navy p-0 h-auto text-sm" onClick={() => navigate(`/services/${service.id}`)}>
|
||||
<Link to={`/services/${service.id}`} className="text-primary-navy p-0 h-auto text-sm hover:underline">
|
||||
Learn more →
|
||||
</Button>
|
||||
<Button variant="outline" size="sm" onClick={() => navigate('/contact')}>
|
||||
</Link>
|
||||
<Link to="/contact" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-4 py-2 border border-primary-navy text-primary-navy hover:bg-primary-navy hover:text-white transition-colors">
|
||||
Request Consultation
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
|
@ -339,10 +336,9 @@ const Home = () => {
|
|||
Four concrete differentiators that set us apart
|
||||
</p>
|
||||
<div>
|
||||
<Button variant="default" onClick={() => navigate('/contact')}
|
||||
className="bg-primary-navy text-white hover:bg-primary-navy-dark">
|
||||
<Link to="/contact" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-4 py-2 bg-primary-navy text-white hover:bg-primary-navy-dark transition-colors">
|
||||
Request Consultation
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||
|
|
@ -414,9 +410,9 @@ const Home = () => {
|
|||
</div>
|
||||
<h3 className="text-xl font-semibold text-primary-navy mb-3">{industry.name}</h3>
|
||||
<p className="text-sm text-soft-text mb-4">{industry.homeDesc || 'Industry-specific solutions designed to address your unique challenges and requirements.'}</p>
|
||||
<Button variant="link" className="text-primary-navy p-0 h-auto text-sm" onClick={() => navigate(`/industries/${industry.id}`)}>
|
||||
<Link to={`/industries/${industry.id}`} className="text-primary-navy p-0 h-auto text-sm hover:underline">
|
||||
Learn more →
|
||||
</Button>
|
||||
</Link>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
|
|
@ -468,9 +464,9 @@ const Home = () => {
|
|||
<p className="text-lg text-soft-text mb-8 max-w-2xl mx-auto">
|
||||
Share a few details and we'll provide clear direction.
|
||||
</p>
|
||||
<Button variant="default" size="lg" onClick={() => navigate('/contact')}>
|
||||
<Link to="/contact" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-6 bg-primary-navy text-white hover:bg-primary-navy-dark transition-colors">
|
||||
Request Consultation
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</section>
|
||||
</>
|
||||
|
|
|
|||
Loading…
Reference in New Issue