Files
mashinify/src/components/SiteShell.tsx
T
Alireza HassaniandCursor b36c07e28f Use local fonts and API primary phone across the site.
Serve Iran Yekan and Oswald from public/fonts, drive contact numbers from business-info phoneNumbers, and tighten the products mega menu with two-column lists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 15:27:27 +03:30

40 lines
936 B
TypeScript

import { Footer } from "@/components/Footer";
import { HeaderContainer } from "@/components/HeaderContainer";
import { PageBanner } from "@/components/PageBanner";
import { getPrimaryPhoneNumber } from "@/lib/api/business";
type SiteShellProps = {
children: React.ReactNode;
solidHeader?: boolean;
banner?: {
kicker: string;
title: string;
description?: string;
};
};
export async function SiteShell({
children,
solidHeader = true,
banner,
}: SiteShellProps) {
const phone = await getPrimaryPhoneNumber();
return (
<>
<HeaderContainer forceSolid={solidHeader} />
<main className={solidHeader ? "pt-[4.5rem]" : undefined}>
{banner ? (
<PageBanner
kicker={banner.kicker}
title={banner.title}
description={banner.description}
/>
) : null}
{children}
</main>
<Footer phone={phone} />
</>
);
}