Files
zeekayandGitHub 949608fd9d i18n: pages and components c–l draw their copy through @hanzo/i18n (#67)
Calculator, captable, careers, cloud, compare, contact and contact-sales,
customers, dashboards, dataroom, datastore, dev, download, enso,
enterprise, extension, family, integrations, investors, kai, learn,
legal and their components say their words through t() in client code,
<T> in server components and phrase() where copy is held as data; one
sentence is one key, figures and links its arguments.

Rebased on main: in every conflict main's file stands (its copy, layout
and styling) and only the wrapping is added back, including copy main
added since.

Claude-Session: https://claude.ai/code/session_015XYKLjZtDTJEnMo4eK3AFH
2026-10-30 01:15:31 -07:00

32 lines
1.2 KiB
TypeScript

import HanzoExtensionHero from "@/components/extension/HanzoExtensionHero"
import HanzoExtensionFeatures from "@/components/extension/HanzoExtensionFeatures"
import HanzoExtensionBrowsers from "@/components/extension/HanzoExtensionBrowsers"
import HanzoExtensionUseCases from "@/components/extension/HanzoExtensionUseCases"
import HanzoExtensionCTA from "@/components/extension/HanzoExtensionCTA"
import { ProductFooter } from "@/components/products/ProductFooter"
import { Start } from "@/components/products/Start"
import { phrase } from "@hanzo/i18n"
export const metadata = {
title: "Hanzo Extension — your browser, as a tool an agent can use",
description:
"Browser extension for Chrome, Firefox, and Safari. Let Hanzo AI agents navigate tabs, extract data, and automate browser tasks securely.",
}
export default function ExtensionPage() {
return (
<>
<HanzoExtensionHero />
<HanzoExtensionFeatures />
<HanzoExtensionBrowsers />
<HanzoExtensionUseCases />
<HanzoExtensionCTA />
<Start
title={phrase("Get started with Extension")}
docs="https://docs.hanzo.ai/docs/apps/browser"
/>
<ProductFooter slug="extension" name="Extension" />
</>
)
}