Files
zeekay f8cde1decb feat(zt-docs): add Hanzo Zero Trust documentation site
Complete documentation app for the Hanzo ZT SDK suite at zerotrust.hanzo.ai:
- Landing page with hero, feature cards, SDK grid, and architecture diagram
- Overview: design principles, components, SDK comparison matrix
- Getting Started: multi-language install, auth setup, connect examples
- Architecture: network topology, transport stack, auth flow, billing, ZAP framing
- Integration: ZAP transport, MCP, dev CLI, gateway, tunnel
- SDK docs for all 6 languages: Rust (436L), Go (902L), TypeScript (908L),
  Python (606L), C++ (587L), C (655L)
- Static export builds to 16 pages, runs on port 3004
2026-02-22 14:56:02 -08:00

51 lines
1.5 KiB
TypeScript

import './global.css';
import type { Viewport } from 'next';
import { baseUrl, createMetadata } from '@/lib/metadata';
import { Body } from '@/app/layout.client';
import { Provider } from './provider';
import type { ReactNode } from 'react';
import { Geist, Geist_Mono } from 'next/font/google';
import { TreeContextProvider } from '@hanzo/docs/ui/contexts/tree';
import { source } from '@/lib/source';
import { NextProvider } from '@hanzo/docs/core/framework/next';
export const metadata = createMetadata({
title: {
template: '%s | Hanzo Zero Trust',
default: 'Hanzo ZT - Zero Trust SDK Suite',
},
description: 'Zero-trust overlay networking SDKs with ZAP transport for 6 programming languages.',
metadataBase: baseUrl,
});
const geist = Geist({
variable: '--font-sans',
subsets: ['latin'],
});
const mono = Geist_Mono({
variable: '--font-mono',
subsets: ['latin'],
});
export const viewport: Viewport = {
themeColor: [
{ media: '(prefers-color-scheme: dark)', color: '#0A0A0A' },
{ media: '(prefers-color-scheme: light)', color: '#fff' },
],
};
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="en" className={`${geist.variable} ${mono.variable}`} suppressHydrationWarning>
<Body>
<NextProvider>
<TreeContextProvider tree={source.getPageTree()}>
<Provider>{children}</Provider>
</TreeContextProvider>
</NextProvider>
</Body>
</html>
);
}