From 6775ba0e93787ed68176530b7baaafcadbcd5554 Mon Sep 17 00:00:00 2001 From: DMleadgen Date: Thu, 26 Mar 2026 17:11:18 -0600 Subject: [PATCH] deploy: unify public surfaces and harden manuals runtime --- app/[...slug]/page.tsx | 74 +-- app/api/manuals/[...path]/route.ts | 4 +- app/api/thumbnails/[...path]/route.ts | 6 +- .../page.tsx | 35 +- app/blog/page.tsx | 34 +- app/manuals/dashboard/page.tsx | 23 +- app/manuals/page.tsx | 51 +- app/products/page.tsx | 50 +- app/service-areas/page.tsx | 479 ++++++++---------- .../machines-for-sale/page.tsx | 163 +++--- app/vending-machines/machines-we-use/page.tsx | 174 +++---- components/contact-page.tsx | 24 +- components/feature-card.tsx | 34 +- components/features-section.tsx | 67 +-- components/footer.tsx | 2 +- components/forms/contact-form.tsx | 19 +- components/forms/request-machine-form.tsx | 19 +- components/manuals-page-client.tsx | 83 +-- components/manuals-page-shell.tsx | 2 +- components/product-card.tsx | 33 +- components/product-showcase-section.tsx | 36 +- components/public-surface.tsx | 105 ++++ components/request-machine-section.tsx | 13 +- components/reviews-page.tsx | 287 ++++------- components/services-section.tsx | 43 +- components/vending-machine-card.tsx | 41 +- components/vending-machines-page.tsx | 282 ++++------- lib/clean-wordPress-content.tsx | 20 +- lib/ebay-api.ts | 8 +- lib/manuals-paths.ts | 41 ++ lib/manuals-types.ts | 12 +- lib/manuals.ts | 16 +- lib/model-type-mapping.ts | 5 +- lib/server/contact-submission.ts | 10 +- scripts/deploy-readiness.mjs | 25 +- scripts/sync-manuals-to-public.js | 7 +- scripts/upload-to-r2.js | 8 +- 37 files changed, 1119 insertions(+), 1216 deletions(-) create mode 100644 components/public-surface.tsx create mode 100644 lib/manuals-paths.ts diff --git a/app/[...slug]/page.tsx b/app/[...slug]/page.tsx index 5edf9b1d..6f1a16ef 100644 --- a/app/[...slug]/page.tsx +++ b/app/[...slug]/page.tsx @@ -17,6 +17,8 @@ import { FAQSection } from '@/components/faq-section'; import { ContactPage } from '@/components/contact-page'; import { AboutPage } from '@/components/about-page'; import { WhoWeServePage } from '@/components/who-we-serve-page'; +import { PublicPageHeader, PublicSurface } from '@/components/public-surface'; +import { RequestMachineForm } from '@/components/forms/request-machine-form'; // Required for static export - ensures this route is statically generated export const dynamic = 'force-static'; @@ -164,30 +166,27 @@ function renderLocationPage(locationData: any, locationSlug: string) { <>