48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { getTranslations, setRequestLocale } from "next-intl/server";
|
|
import { Locale } from "@/i18n/config";
|
|
import { createPageMetadata } from "@/lib/seo";
|
|
import TechHeroSection from "@/components/TechHeroSection";
|
|
import ArchitectureSection from "@/components/ArchitectureSection";
|
|
import AICapabilitiesSection from "@/components/AICapabilitiesSection";
|
|
import Web3CapabilitiesSection from "@/components/Web3CapabilitiesSection";
|
|
import BlockchainSection from "@/components/BlockchainSection";
|
|
import TechCTASection from "@/components/TechCTASection";
|
|
|
|
export async function generateMetadata({
|
|
params,
|
|
}: {
|
|
params: Promise<{ locale: string }>;
|
|
}): Promise<Metadata> {
|
|
const { locale } = await params;
|
|
const t = await getTranslations({ locale, namespace: "metadata" });
|
|
|
|
return createPageMetadata({
|
|
locale: locale as Locale,
|
|
pathname: "/tech",
|
|
title: t("techTitle"),
|
|
description: t("techDescription"),
|
|
siteName: t("title"),
|
|
});
|
|
}
|
|
|
|
export default async function TechPage({
|
|
params,
|
|
}: {
|
|
params: Promise<{ locale: string }>;
|
|
}) {
|
|
const { locale } = await params;
|
|
setRequestLocale(locale);
|
|
|
|
return (
|
|
<main>
|
|
<TechHeroSection />
|
|
<ArchitectureSection />
|
|
<AICapabilitiesSection />
|
|
<Web3CapabilitiesSection />
|
|
<BlockchainSection />
|
|
<TechCTASection />
|
|
</main>
|
|
);
|
|
}
|