deploy: rewrite robotic CTA copy

This commit is contained in:
DMleadgen 2026-03-27 16:44:16 -06:00
parent 7160259afd
commit 3df305d779
Signed by: matt
GPG key ID: C2720CF8CD701894
13 changed files with 25 additions and 27 deletions

View file

@ -354,7 +354,7 @@ function renderLocationPage(locationData: any, locationSlug: string) {
Open the Rocky placement popup and we'll follow up within one business day with the best next step for your location.
</p>
<div className="mt-6 flex flex-col items-center gap-3">
<GetFreeMachineCta buttonLabel="Open Free Placement Form" />
<GetFreeMachineCta buttonLabel="Get Free Placement" />
<a
href={businessConfig.publicCallUrl}
className="inline-flex min-h-11 items-center justify-center rounded-full border border-border bg-white px-4 text-sm font-medium text-foreground transition hover:border-primary/40 hover:text-primary"

View file

@ -134,7 +134,7 @@ export default function ServiceAreasPage() {
<Phone className="h-5 w-5 text-primary" />
{businessConfig.phone}
</a>
<p className="mt-2 text-sm text-muted-foreground">We&apos;ll confirm delivery range, support availability, and the best intake path for your location.</p>
<p className="mt-2 text-sm text-muted-foreground">Tell us where you&apos;re located and we&apos;ll let you know what service looks like in your area.</p>
</PublicInset>
<GetFreeMachineCta buttonLabel="Request a Free Machine" className="h-11 px-5" />
</div>

View file

@ -394,7 +394,7 @@ export default async function RepairsPage() {
Request Service
</h3>
<p className="text-muted-foreground">
Use the native Rocky intake below for repairs, diagnostics, or virtual support.
Tell us what your machine is doing and our team will help you figure out the fastest next step.
</p>
</div>
<PublicSurface className="space-y-6 p-5 md:p-7">

View file

@ -359,7 +359,7 @@ export default async function LocationPage({ params }: LocationPageProps) {
and any site constraints so our team can recommend the right setup.
</PublicInset>
<div className="flex flex-col items-center gap-3">
<GetFreeMachineCta buttonLabel="Open Free Placement Form" />
<GetFreeMachineCta buttonLabel="Get Free Placement" />
<a
href={businessConfig.publicCallUrl}
className="inline-flex min-h-11 items-center justify-center rounded-full border border-border bg-white px-4 text-sm font-medium text-foreground transition hover:border-primary/40 hover:text-primary"

View file

@ -71,7 +71,7 @@ export default async function MachinesForSalePage() {
<PublicPageHeader
eyebrow="Machine Sales"
title={page.title || 'Vending Machines for Sale in Utah'}
description="If you need help comparing machine options, payment hardware, or support paths, this page now keeps the same clean Rocky Mountain Vending styling as the rest of the site."
description="Compare machine options, payment hardware, and support with help from the Rocky Mountain Vending team."
/>
<PublicSurface className="mt-10">
@ -83,10 +83,10 @@ export default async function MachinesForSalePage() {
<p className="text-xs font-semibold uppercase tracking-[0.2em] text-primary/80">Free Placement</p>
<h2 className="mt-3 text-3xl font-semibold tracking-tight text-balance">Need a free machine instead of buying one?</h2>
<p className="mt-3 text-base leading-relaxed text-muted-foreground">
If you&apos;re a business looking for placement rather than a purchase, open the free placement popup and we&apos;ll help you sort out the right next step.
If you&apos;re a business looking for placement instead of a purchase, we can help you find the right setup for your location.
</p>
<div className="mt-6">
<GetFreeMachineCta buttonLabel="Open Free Placement Form" />
<GetFreeMachineCta buttonLabel="Get Free Placement" />
</div>
</PublicSurface>
<PublicSurface className="flex items-center justify-center text-center">

View file

@ -88,10 +88,10 @@ export default async function MachinesWeUsePage() {
<p className="text-xs font-semibold uppercase tracking-[0.2em] text-primary/80">Free Placement</p>
<h2 className="mt-3 text-3xl font-semibold tracking-tight text-balance">Want this kind of setup at your location?</h2>
<p className="mt-3 text-base leading-relaxed text-muted-foreground">
If you want free placement for a qualifying business, open the Rocky intake popup and we&apos;ll help map out the best machine mix without dropping the full form into this page.
If you&apos;re looking for free placement at your business, tell us about your location and we&apos;ll help you choose the right mix.
</p>
<div className="mt-6 flex flex-wrap gap-3">
<GetFreeMachineCta buttonLabel="Open Free Placement Form" />
<GetFreeMachineCta buttonLabel="Get Free Placement" />
</div>
</PublicSurface>
</section>

View file

@ -12,19 +12,18 @@ export function ContactSection() {
<PublicPageHeader
className="mb-10 max-w-3xl"
eyebrow="Need Something Else?"
title="Repairs, moving, manuals, and sales questions all funnel through one clean contact path."
description="Instead of repeating the full intake form on every page, we keep the detailed service request on the dedicated contact page and use this section as the quick handoff."
title="Need help with repairs, moving, manuals, or machine sales?"
description="Tell us what you need and our team will point you in the right direction."
/>
<div className="grid gap-6 lg:grid-cols-[1.05fr_0.95fr] lg:items-start">
<PublicSurface className="p-6 md:p-8">
<p className="text-xs font-semibold uppercase tracking-[0.18em] text-primary/80">Best Next Step</p>
<p className="text-xs font-semibold uppercase tracking-[0.18em] text-primary/80">Talk to Our Team</p>
<h2 className="mt-3 text-3xl font-semibold tracking-tight text-balance">
Use the dedicated contact page for service details.
Share a few details and we'll help you get moving.
</h2>
<p className="mt-3 text-base leading-relaxed text-muted-foreground">
That page keeps the full Rocky intake for repairs, moving, manuals, machine sales, and anything that
needs more context. It stays off the rest of the site so these pages can stay lighter and more consistent.
Whether you need service, moving help, manuals, or sales support, we&apos;ll make sure your message gets to the right person.
</p>
<div className="mt-6 flex flex-col gap-3 sm:flex-row">
@ -32,7 +31,7 @@ export function ContactSection() {
href="/contact-us#contact-form"
className="inline-flex min-h-11 items-center justify-center rounded-full bg-primary px-5 text-sm font-medium text-primary-foreground transition hover:bg-primary/90"
>
Open Contact Form
Talk to Our Team
</Link>
<a
href={businessConfig.publicCallUrl}

View file

@ -321,8 +321,8 @@ export function ContactForm({ onSubmit, className, defaultIntent = "" }: Contact
<div className="rounded-[1.5rem] border border-border/60 bg-white px-4 py-4 text-sm text-muted-foreground">
<div className="flex flex-col gap-3 md:flex-row md:items-start md:justify-between">
<div className="space-y-1">
<p className="font-medium text-foreground">Need a faster handoff?</p>
<p className="leading-relaxed">Call during business hours or send us a detailed request here and we'll take it from there.</p>
<p className="font-medium text-foreground">Need help right away?</p>
<p className="leading-relaxed">Call during business hours or send us the details here and we&apos;ll follow up quickly.</p>
</div>
<div className="flex flex-wrap gap-2">
<a

View file

@ -323,7 +323,7 @@ export function RequestMachineForm({ onSubmit, className }: RequestMachineFormPr
<div className="rounded-2xl border border-border/60 bg-white p-4 text-sm text-muted-foreground">
<div className="flex items-center gap-2 font-medium text-foreground">
<ClipboardCheck className="h-4 w-4 text-primary" />
Free placement intake
What we look at
</div>
<p className="mt-2 leading-relaxed">
We'll review your foot traffic, the type of location, and the mix of machines that fits best before we schedule the consultation.

View file

@ -23,8 +23,7 @@ export function GetFreeMachineModal({ open, onOpenChange }: GetFreeMachineModalP
Request a Free Vending Machine
</DialogTitle>
<DialogDescription className="pt-2 text-sm leading-relaxed text-muted-foreground">
Tell us about your location and we&apos;ll review the best machine mix for the space. This is the same
Rocky intake form used on the site, not an external embed.
Tell us about your location and we&apos;ll recommend the right mix of machines for your team, customers, and space.
</DialogDescription>
</DialogHeader>

View file

@ -20,7 +20,7 @@ export function RequestMachineSection() {
Tell us about your location and we'll recommend the right machine mix.
</h2>
<p className="mt-4 text-base leading-relaxed text-muted-foreground">
This intake is just for business locations that want free vending placement. We'll review foot traffic, preferred machine types, and next-step fit before scheduling the consultation.
This form is for business locations that want free vending placement. We&apos;ll look at foot traffic, machine preferences, and the best fit for your space before we schedule the next step.
</p>
<PublicInset className="mt-6 space-y-3 p-5 text-sm text-muted-foreground">

View file

@ -137,7 +137,7 @@ export function ReviewsPage() {
<p className="text-xs font-semibold uppercase tracking-[0.2em] text-primary/80">Next Step</p>
<h2 className="mt-3 text-3xl font-semibold tracking-tight text-balance">Want the same experience at your location?</h2>
<p className="mt-3 text-base leading-relaxed text-muted-foreground">
If you&apos;re looking for free placement, service help, or machine sales, we can point you to the right intake form right away.
Whether you need free placement, service, or help buying a machine, our team is ready to help.
</p>
</div>
<div className="mt-6 grid gap-4 sm:grid-cols-2">

View file

@ -155,11 +155,11 @@ function SupportHint({
if (isFreePlacementIntent(intent)) {
return (
<p className="text-xs leading-relaxed text-muted-foreground">
Prefer a fuller intake? Use our{" "}
Ready to get started? Use{" "}
<Link href={formHref} className="font-medium text-foreground underline decoration-primary/35 underline-offset-4 hover:decoration-primary">
{formLabel}
</Link>
.
{" "}and we&apos;ll help you plan the right setup.
</p>
)
}
@ -182,11 +182,11 @@ function SupportHint({
return (
<p className="text-xs leading-relaxed text-muted-foreground">
Need a fuller request? Use the{" "}
Need more help? Use{" "}
<Link href={formHref} className="font-medium text-foreground underline decoration-primary/35 underline-offset-4 hover:decoration-primary">
{formLabel}
</Link>
.
{" "}and our team will follow up.
</p>
)
}