redirect to contact form
This commit is contained in:
parent
f35de43952
commit
e625a24b6e
|
|
@ -2,9 +2,16 @@ import { useEffect } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
|
|
||||||
export default function ScrollToTop() {
|
export default function ScrollToTop() {
|
||||||
const { pathname } = useLocation()
|
const { pathname, hash } = useLocation()
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if (hash) {
|
||||||
|
const el = document.querySelector(hash)
|
||||||
|
if (el) {
|
||||||
|
el.scrollIntoView({ behavior: 'smooth' })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
window.scrollTo(0, 0)
|
window.scrollTo(0, 0)
|
||||||
}, [pathname])
|
}, [pathname, hash])
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ const Footer = () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
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"
|
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"
|
aria-label="Request a free consultation"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ const Header = () => {
|
||||||
|
|
||||||
{/* CTA Button */}
|
{/* CTA Button */}
|
||||||
<div className="hidden md:block">
|
<div className="hidden md:block">
|
||||||
<Link to="/contact" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-9 px-3 bg-primary-cyan text-primary-navy hover:bg-cyan-600 transition-colors" aria-label="Request a consultation">
|
<Link to="/contact#contact-form" className="inline-flex items-center justify-center rounded-md text-sm font-medium h-9 px-3 bg-primary-cyan text-primary-navy hover:bg-cyan-600 transition-colors" aria-label="Request a consultation">
|
||||||
Request Consultation
|
Request Consultation
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -242,7 +242,7 @@ const Header = () => {
|
||||||
{/* CTA */}
|
{/* CTA */}
|
||||||
<div className="pt-4 border-t border-white/10">
|
<div className="pt-4 border-t border-white/10">
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
onClick={closeMobileMenu}
|
onClick={closeMobileMenu}
|
||||||
className="inline-flex items-center justify-center gap-2 w-full rounded-md text-sm font-semibold h-11 px-4 bg-primary-cyan text-primary-navy hover:bg-white transition-colors duration-200"
|
className="inline-flex items-center justify-center gap-2 w-full rounded-md text-sm font-semibold h-11 px-4 bg-primary-cyan text-primary-navy hover:bg-white transition-colors duration-200"
|
||||||
aria-label="Get a free quote"
|
aria-label="Get a free quote"
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,7 @@ const MobileNav = () => {
|
||||||
|
|
||||||
<div className="mt-auto pt-6">
|
<div className="mt-auto pt-6">
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
onClick={closeMobileMenu}
|
onClick={closeMobileMenu}
|
||||||
className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-4 py-2 w-full bg-primary-navy text-white hover:bg-primary-navy-dark transition-colors"
|
className="inline-flex items-center justify-center rounded-md text-sm font-medium h-10 px-4 py-2 w-full bg-primary-navy text-white hover:bg-primary-navy-dark transition-colors"
|
||||||
aria-label="Request a consultation"
|
aria-label="Request a consultation"
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ const About = () => {
|
||||||
Queue North helps organizations choose, implement, and support the phone, contact center, network, and IT systems that keep daily operations moving.
|
Queue North helps organizations choose, implement, and support the phone, contact center, network, and IT systems that keep daily operations moving.
|
||||||
</p>
|
</p>
|
||||||
<div className="mt-8 flex flex-col sm:flex-row gap-3">
|
<div className="mt-8 flex flex-col sm:flex-row gap-3">
|
||||||
<Link to="/contact" className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors">
|
<Link to="/contact#contact-form" className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors">
|
||||||
Start a Conversation
|
Start a Conversation
|
||||||
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
||||||
</Link>
|
</Link>
|
||||||
|
|
@ -264,7 +264,7 @@ const About = () => {
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-7 flex flex-col gap-3 sm:flex-row lg:mt-0 lg:flex-shrink-0">
|
<div className="mt-7 flex flex-col gap-3 sm:flex-row lg:mt-0 lg:flex-shrink-0">
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-6 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-6 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
||||||
>
|
>
|
||||||
Request Consultation
|
Request Consultation
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,7 @@ const Home = () => {
|
||||||
Business phone, contact center, network, and IT support built around one accountable implementation partner.
|
Business phone, contact center, network, and IT support built around one accountable implementation partner.
|
||||||
</p>
|
</p>
|
||||||
<div className="mt-8 flex flex-col sm:flex-row gap-3">
|
<div className="mt-8 flex flex-col sm:flex-row gap-3">
|
||||||
<Link to="/contact" className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors" aria-label="Schedule a consultation">
|
<Link to="/contact#contact-form" className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors" aria-label="Schedule a consultation">
|
||||||
Schedule Consultation
|
Schedule Consultation
|
||||||
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
||||||
</Link>
|
</Link>
|
||||||
|
|
@ -259,7 +259,7 @@ const Home = () => {
|
||||||
Four concrete differentiators that set us apart
|
Four concrete differentiators that set us apart
|
||||||
</p>
|
</p>
|
||||||
<div>
|
<div>
|
||||||
<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" aria-label="Request a consultation">
|
<Link to="/contact#contact-form" 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" aria-label="Request a consultation">
|
||||||
Request Consultation
|
Request Consultation
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -390,7 +390,7 @@ const Home = () => {
|
||||||
<p className="text-lg text-soft-text mb-8 max-w-2xl mx-auto">
|
<p className="text-lg text-soft-text mb-8 max-w-2xl mx-auto">
|
||||||
Share a few details and we'll provide clear direction.
|
Share a few details and we'll provide clear direction.
|
||||||
</p>
|
</p>
|
||||||
<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" aria-label="Request a consultation">
|
<Link to="/contact#contact-form" 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" aria-label="Request a consultation">
|
||||||
Request Consultation
|
Request Consultation
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ const Industries = () => {
|
||||||
Communications and infrastructure solutions shaped by the compliance, workflow, and connectivity demands of your specific environment.
|
Communications and infrastructure solutions shaped by the compliance, workflow, and connectivity demands of your specific environment.
|
||||||
</p>
|
</p>
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
className="inline-flex h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
className="inline-flex h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
||||||
>
|
>
|
||||||
Talk to a Specialist
|
Talk to a Specialist
|
||||||
|
|
@ -120,7 +120,7 @@ const Industries = () => {
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-7 flex flex-col gap-3 sm:flex-row lg:mt-0 lg:flex-shrink-0">
|
<div className="mt-7 flex flex-col gap-3 sm:flex-row lg:mt-0 lg:flex-shrink-0">
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-6 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-6 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
||||||
>
|
>
|
||||||
Talk to a Specialist
|
Talk to a Specialist
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ const IndustryDetail = () => {
|
||||||
<p className="text-soft-text">{industry.name}</p>
|
<p className="text-soft-text">{industry.name}</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="pt-4 border-t border-border">
|
<div className="pt-4 border-t border-border">
|
||||||
<Link to="/contact" className="flex w-full items-center justify-center gap-2 bg-primary-navy text-white px-4 py-3 rounded-md text-center font-medium hover:bg-primary-navy-dark transition-colors">
|
<Link to="/contact#contact-form" className="flex w-full items-center justify-center gap-2 bg-primary-navy text-white px-4 py-3 rounded-md text-center font-medium hover:bg-primary-navy-dark transition-colors">
|
||||||
Request Consultation
|
Request Consultation
|
||||||
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
||||||
</Link>
|
</Link>
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ export default function NotFound() {
|
||||||
Back to Home
|
Back to Home
|
||||||
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
||||||
</Link>
|
</Link>
|
||||||
<Link to="/contact" className="inline-flex h-11 items-center justify-center rounded-md border border-white/35 px-6 text-sm font-semibold text-white hover:bg-white/10 transition-colors">
|
<Link to="/contact#contact-form" className="inline-flex h-11 items-center justify-center rounded-md border border-white/35 px-6 text-sm font-semibold text-white hover:bg-white/10 transition-colors">
|
||||||
Contact Us
|
Contact Us
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ const ServiceDetail = () => {
|
||||||
<h1 className="text-4xl md:text-5xl font-bold mb-6">{service.name}</h1>
|
<h1 className="text-4xl md:text-5xl font-bold mb-6">{service.name}</h1>
|
||||||
<p className="text-xl text-white/75 max-w-3xl leading-relaxed">{service.shortDesc}</p>
|
<p className="text-xl text-white/75 max-w-3xl leading-relaxed">{service.shortDesc}</p>
|
||||||
<div className="mt-8">
|
<div className="mt-8">
|
||||||
<Link to="/contact" className="inline-flex h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors">
|
<Link to="/contact#contact-form" className="inline-flex h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors">
|
||||||
Request This Service
|
Request This Service
|
||||||
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
<ArrowRight className="h-4 w-4" aria-hidden="true" />
|
||||||
</Link>
|
</Link>
|
||||||
|
|
@ -149,7 +149,7 @@ const ServiceDetail = () => {
|
||||||
<p className="text-soft-text">{service.name}</p>
|
<p className="text-soft-text">{service.name}</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="pt-4 border-t border-border">
|
<div className="pt-4 border-t border-border">
|
||||||
<Link to="/contact" className="block w-full bg-primary-navy text-white px-4 py-3 rounded-md text-center font-medium hover:bg-primary-navy-dark transition-colors">
|
<Link to="/contact#contact-form" className="block w-full bg-primary-navy text-white px-4 py-3 rounded-md text-center font-medium hover:bg-primary-navy-dark transition-colors">
|
||||||
Request This Service
|
Request This Service
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ const Services = () => {
|
||||||
</p>
|
</p>
|
||||||
<div className="flex flex-col sm:flex-row gap-3">
|
<div className="flex flex-col sm:flex-row gap-3">
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-5 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
||||||
>
|
>
|
||||||
Get a Free Quote
|
Get a Free Quote
|
||||||
|
|
@ -135,7 +135,7 @@ const Services = () => {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
className="inline-flex h-10 items-center justify-center gap-2 rounded-md border border-primary-navy/20 px-4 text-sm font-semibold text-primary-navy hover:border-primary-blue hover:text-primary-blue transition-colors"
|
className="inline-flex h-10 items-center justify-center gap-2 rounded-md border border-primary-navy/20 px-4 text-sm font-semibold text-primary-navy hover:border-primary-blue hover:text-primary-blue transition-colors"
|
||||||
>
|
>
|
||||||
Talk through options
|
Talk through options
|
||||||
|
|
@ -188,7 +188,7 @@ const Services = () => {
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-7 flex flex-col gap-3 sm:flex-row lg:mt-0 lg:flex-shrink-0">
|
<div className="mt-7 flex flex-col gap-3 sm:flex-row lg:mt-0 lg:flex-shrink-0">
|
||||||
<Link
|
<Link
|
||||||
to="/contact"
|
to="/contact#contact-form"
|
||||||
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-6 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
className="inline-flex w-full sm:w-auto h-11 items-center justify-center gap-2 rounded-md bg-white px-6 text-sm font-semibold text-primary-navy hover:bg-section-alt transition-colors"
|
||||||
>
|
>
|
||||||
Schedule a Consultation
|
Schedule a Consultation
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue