mirror of
https://github.com/zap-proto/zap-proto.github.io.git
synced 2026-10-30 15:02:56 +00:00
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.
34 lines
811 B
TypeScript
34 lines
811 B
TypeScript
import { source } from '@/lib/source';
|
|
import { DocsLayout } from '@hanzo/docs-radix-ui/layouts/docs';
|
|
import type { ReactNode } from 'react';
|
|
import { Zap } from 'lucide-react';
|
|
|
|
export default function Layout({ children }: { children: ReactNode }) {
|
|
return (
|
|
<DocsLayout
|
|
tree={source.getPageTree()}
|
|
nav={{
|
|
title: (
|
|
<div className="flex items-center gap-2">
|
|
<Zap className="w-5 h-5 text-blue-500" />
|
|
<span className="font-bold">ZAP Protocol</span>
|
|
</div>
|
|
),
|
|
url: '/',
|
|
}}
|
|
links={[
|
|
{
|
|
text: 'GitHub',
|
|
url: 'https://github.com/zap-proto',
|
|
external: true,
|
|
},
|
|
]}
|
|
sidebar={{
|
|
defaultOpenLevel: 1,
|
|
}}
|
|
>
|
|
{children}
|
|
</DocsLayout>
|
|
);
|
|
}
|