From b28d936b54401e4782320275afa7b6f05d2c57ae Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 17:14:45 +0000 Subject: [PATCH] Changes Co-authored-by: yusuf-intern <248833874+yusuf-intern@users.noreply.github.com> --- src/components/page-shell.tsx | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/components/page-shell.tsx diff --git a/src/components/page-shell.tsx b/src/components/page-shell.tsx new file mode 100644 index 0000000..88972d3 --- /dev/null +++ b/src/components/page-shell.tsx @@ -0,0 +1,52 @@ +import { createFileRoute, Link } from "@tanstack/react-router"; +import { ArrowUpRight, type LucideIcon } from "lucide-react"; + +export function PageHero({ eyebrow, title, lede }: { eyebrow: string; title: string; lede?: string }) { + return ( +
+
+
{eyebrow}
+

+ {title} +

+ {lede &&

{lede}

} +
+
+ ); +} + +export function Section({ children, className = "" }: { children: React.ReactNode; className?: string }) { + return
{children}
; +} + +export function FeatureRow({ img, title, body, reverse, Icon }: { img: string; title: string; body: string; reverse?: boolean; Icon?: LucideIcon }) { + return ( +
*:first-child]:order-2" : ""}`}> + {title} +
+ {Icon && } +

{title}

+

{body}

+
+
+ ); +} + +export function CTA() { + return ( +
+
+
+
Ready when you are
+

Let's design your misting system.

+
+ + Request a quote + +
+
+ ); +} + +// Dummy export so this file is treated as a module but not a route. +export const Route = createFileRoute("/_shared")({ component: () => null });