From b36d8c318e1eab5e2ce9e8ffa892e4bd51e79e3c Mon Sep 17 00:00:00 2001 From: Anthony Ettinger Date: Mon, 19 Oct 2026 12:43:06 +0000 Subject: [PATCH 1/2] Add the pit.world global footer, trim the site footer Fetch https://pit.world/snippets/footer.html?site=smshub.dev on the server (1h revalidate, 3s timeout, renders nothing on failure) as the last thing in for the smshub brand (white-label brands are untouched). Cut the four-column footer (logo + tagline, Product, Platforms, Providers, the @profullstack/footer webring bar) to one row: copyright, Pricing, Rent a number, Docs, API, Privacy, Terms, GitHub. Move the CrawlProof ad unit from between
and the footer to the top of the content, under the header (standing rule: no ads pressed against footers). Co-Authored-By: Claude Opus 5.5 --- src/app/layout.tsx | 19 ++------ src/components/ad-unit.tsx | 2 +- src/components/footer.tsx | 83 +++++++++++------------------------ src/components/pit-footer.tsx | 21 +++++++++ 4 files changed, 51 insertions(+), 74 deletions(-) create mode 100644 src/components/pit-footer.tsx diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 892fde5b..c4aac546 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -7,7 +7,7 @@ import { ToastContainer } from "@/components/toast-container"; import { ServiceWorkerRegister } from "@/components/sw-register"; import { Header } from "@/components/header"; import { Footer } from "@/components/footer"; -import { Footer as PfsFooter } from "@profullstack/footer/react"; +import { PitFooter } from "@/components/pit-footer"; import { getSiteUrl } from "@/lib/site-url"; import { priceUsdPerMonth } from "@/lib/plans"; import { getBrand } from "@/lib/brand-server"; @@ -177,25 +177,14 @@ export default async function RootLayout({
-
{children}
-