Files
zeekay 7bf80b399b feat(brand): host-aware landing — zap-proto.io vs zerocopy.app
Single static deploy serves three custom domains; brand swaps client-side
on first effect:

  zap-proto.io          → developer brand ("Infinitely faster.")
  zap-proto.dev         → developer brand
  zerocopy.app          → marketing brand (ZApps, "future of I/O is here")
  zap-protocol.github.io → developer (legacy fallback, 301-target zap-proto.io)

Adds:
- lib/brand.ts: hostname → brand resolver + per-brand copy
- components/brand-hero.tsx: hero swaps tagline/headline/CTA per brand
- components/zapps-pillars.tsx: less-memory / lower-latency / future-proof
- components/protocol-family.tsx: zap-{http,ws,fix,rns,mcp,acp,a2a,base}
  showcase, status badges, links to github.com/zap-proto/<slug>
- public/CNAME: zap-proto.io (canonical apex)

Repo references migrated zap-protocol → zap-proto throughout site code,
docs, MDX. Old org redirects automatically; explicit stub READMEs land
via migration/migrate.sh once org membership is in place.

Build verified: pnpm build → 13 static pages, no errors.
2026-05-06 12:44:59 -07:00

60 lines
1.7 KiB
TypeScript

import './global.css';
import { Provider } from '@/components/provider';
import { Inter } from 'next/font/google';
import type { ReactNode } from 'react';
const inter = Inter({
subsets: ['latin'],
});
export const metadata = {
title: {
default: 'ZAP Protocol',
template: '%s | ZAP Protocol',
},
description: 'The future of I/O is here. Zero-copy Application Protocol — less memory, lower latency, post-quantum by default. AI- and web3-native.',
keywords: ['ZAP', 'ZApps', 'RPC', 'zero-copy', 'binary', 'serialization', 'post-quantum', 'X-Wing', 'Z-Wing', 'AI', 'agents', 'MCP', 'A2A', 'web3', 'FIX'],
authors: [{ name: 'ZAP Protocol Authors' }],
icons: {
icon: '/favicon.svg',
apple: '/favicon.svg',
},
openGraph: {
title: 'ZAP Protocol ⚡',
description: 'The future of I/O is here. Zero-copy + post-quantum + mutual auth — at the wire.',
url: 'https://zap-proto.io',
siteName: 'ZAP Protocol',
locale: 'en_US',
type: 'website',
images: [
{
url: '/og-image.svg',
width: 1200,
height: 630,
alt: 'ZAP Protocol — The future of I/O is here',
},
],
},
twitter: {
card: 'summary_large_image',
title: 'ZAP Protocol ⚡',
description: 'The future of I/O is here. Zero-copy + post-quantum + mutual auth — at the wire.',
creator: '@AltZap',
images: ['/og-image.svg'],
},
robots: {
index: true,
follow: true,
},
};
export default function Layout({ children }: { children: ReactNode }) {
return (
<html lang="en" className={inter.className} suppressHydrationWarning>
<body className="flex flex-col min-h-screen">
<Provider>{children}</Provider>
</body>
</html>
);
}