Files
hanzo.ai/app/(marketing)/pricing/layout.tsx

39 lines
2.1 KiB
TypeScript

import type { Metadata } from 'next'
import { ogImages, getOgImageUrl, getTwitterImages } from '@/lib/constants/og'
import { goImport } from '@/lib/go-modules'
// NO PRICES HERE. This description outlived two repricings still advertising
// Pro $20, Plus $100 and Max $200 — a ladder with a tier we retired — because
// metadata is the one copy nobody re-reads and it cannot read the catalog: it
// is static export, resolved at build with no place to await a fetch. The cards
// state the numbers, live. This states the shape, which does not move.
// This path is a product page AND the import path of a Go module. The tag is
// invisible to a reader and is the whole of what the go tool reads; it joins
// this page's metadata rather than replacing it. Defined once in lib/go-modules.
const IMAGE_URL = getOgImageUrl('/pricing')
export const metadata: Metadata = {
other: goImport('pricing'),
title: 'Pricing — start free, every model on one bill — Hanzo AI',
description: 'Start free with no card. Pro, Max and Team cover every model, Kai and Hanzo Dev on one bill, with a budget on every key. Pay by card, Apple Pay or Google Pay, or fund usage in USDC or USDT.',
openGraph: {
title: 'Pricing — start free, every model on one bill — Hanzo AI',
description: 'Start free with no card. Pro, Max and Team cover every model, Kai and Hanzo Dev on one bill, with a budget on every key. Pay by card, Apple Pay or Google Pay, or fund usage in USDC or USDT.',
url: 'https://hanzo.ai/pricing',
siteName: 'Hanzo AI',
type: 'website',
images: ogImages('Hanzo AI Pricing', IMAGE_URL),
},
twitter: {
card: 'summary_large_image',
title: 'Pricing — start free, every model on one bill — Hanzo AI',
description: 'Start free with no card. Pro, Max and Team cover every model, Kai and Hanzo Dev on one bill, with a budget on every key. Pay by card, Apple Pay or Google Pay, or fund usage in USDC or USDT.',
images: getTwitterImages(IMAGE_URL),
},
}
export default function Layout({ children }: { children: React.ReactNode }) {
return <>{children}</>
}