diff --git a/app/services/repairs/page.tsx b/app/services/repairs/page.tsx
index 41b62f2a..c32d285e 100644
--- a/app/services/repairs/page.tsx
+++ b/app/services/repairs/page.tsx
@@ -9,10 +9,12 @@ import { ServiceAreasSection } from '@/components/service-areas-section';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { CheckCircle2, Wrench, Clock, Phone, Shield, MapPin } from 'lucide-react';
import { RepairsImageCarousel } from '@/components/repairs-image-carousel';
+import { ContactForm } from '@/components/forms/contact-form';
+import { PublicInset, PublicSurface } from '@/components/public-surface';
import Image from 'next/image';
-import Script from 'next/script';
import Link from 'next/link';
import { ArrowRight } from 'lucide-react';
+import { businessConfig } from '@/lib/seo-config';
import type { Metadata } from 'next';
const WORDPRESS_SLUG = 'vending-machine-repairs';
@@ -392,32 +394,28 @@ export default async function RepairsPage() {
Request Service
- Fill out the form below to request vending machine repair or maintenance services
+ Use the native Rocky intake below for repairs, diagnostics, or virtual support.
-
-
-
-
+
+
+
+
Before you submit
+
+ Include the machine model, what it is doing, and whether you need on-site help or virtual support.
+
@@ -670,9 +668,6 @@ export default async function RepairsPage() {
{/* Service Areas Section */}
-
- {/* Form Script */}
-
>
);
} catch (error) {
diff --git a/app/sign-in/[[...sign-in]]/page.tsx b/app/sign-in/[[...sign-in]]/page.tsx
index e4cb619a..2501b33d 100644
--- a/app/sign-in/[[...sign-in]]/page.tsx
+++ b/app/sign-in/[[...sign-in]]/page.tsx
@@ -1,5 +1,6 @@
import { redirect } from "next/navigation";
import { isAdminUiEnabled } from "@/lib/server/admin-auth";
+import { PublicPageHeader, PublicSurface } from "@/components/public-surface";
export default function SignInPage() {
if (!isAdminUiEnabled()) {
@@ -7,13 +8,23 @@ export default function SignInPage() {
}
return (
-
-
-
Admin Sign-In
-
- Admin sign-in is not configured in this deployment. Enable the admin
- UI and wire an auth provider before using this area.
-
+
+
+
+
+
+
+
Admin sign-in is not configured
+
+ Enable the admin UI and connect an auth provider before using this area.
+
+
+
);
diff --git a/app/vending-machines-[location]/page.tsx b/app/vending-machines-[location]/page.tsx
index d903b8f1..920d9aee 100644
--- a/app/vending-machines-[location]/page.tsx
+++ b/app/vending-machines-[location]/page.tsx
@@ -7,6 +7,8 @@ import { Card, CardContent } from "@/components/ui/card";
import { ReviewsSection } from "@/components/reviews-section";
import { Button } from "@/components/ui/button";
import Link from "next/link";
+import { RequestMachineForm } from "@/components/forms/request-machine-form";
+import { PublicInset, PublicPageHeader, PublicSurface } from "@/components/public-surface";
interface LocationPageProps {
params: Promise<{ location: string }>;
@@ -168,28 +170,23 @@ export default async function LocationPage({ params }: LocationPageProps) {
{/* Hero Section */}
-
-
- Vending Machine Supplier in {locationData.city}, {locationData.state}
-
-
- Need a vending machine supplier in {locationData.city}, {locationData.state}? Rocky Mountain Vending has
- been helping local businesses and schools since 2019 with quality vending solutions. We bring healthy
- snacks, cold drinks, and dependable service right to your door—no hassle, no fuss.
-
-
+
{/* Local Anecdote */}
-
-
+
A while back, we worked with a {locationData.anecdote.customer} near {locationData.anecdote.location}.
We set them up with a {locationData.anecdote.solution}. Now {locationData.anecdote.outcome}. That's
what we do best—make vending simple.
- Fill out the form below and we'll contact you within 24 hours to discuss your needs.
+ Tell us about your location and we'll follow up within one business day to talk through the best machine mix.
-
-
-
+
+ Free placement is for qualifying business locations. Share your foot traffic, preferred machine types,
+ and any site constraints so our team can recommend the right setup.
+
+
+
{/* Payment Options */}
diff --git a/components/contact-section.tsx b/components/contact-section.tsx
index 45320642..e6637c68 100644
--- a/components/contact-section.tsx
+++ b/components/contact-section.tsx
@@ -1,82 +1,65 @@
"use client"
-import { Card, CardContent } from "@/components/ui/card"
import { Phone, MapPin } from "lucide-react"
import { ContactForm } from "@/components/forms/contact-form"
+import { PublicInset, PublicPageHeader, PublicSurface } from "@/components/public-surface"
+import { businessConfig } from "@/lib/seo-config"
export function ContactSection() {
return (
+
+
- {/* Left Content */}
-
-
- Have Detailed Questions? Let's Talk!
-
-
- Already submitted the quick form above? Great! We'll contact you soon. If you have specific requirements or detailed questions, feel free to share more below—we're here to help.
-