mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-26 05:23:40 +00:00
- New visor-docs app: VM management landing + docs + pricing (41 files) - 6 VM tiers, GPU pricing, block storage - 11 MDX doc pages (providers, features, API) - K8s manifests + Dockerfile + nginx - Add /pricing page to platform site - Cloud VMs, K8s pods, Docker containers, AI models - Feature comparison table, enterprise CTA - Add Pricing nav link to platform layout - Fix platform Dockerfile to use simple nginx pattern
54 lines
1.6 KiB
TypeScript
54 lines
1.6 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 Visor',
|
|
default: 'Hanzo Visor — Virtual Machine Management',
|
|
},
|
|
description: 'Launch and manage VMs across AWS, DigitalOcean, and Hetzner. Browser terminal, block storage, multi-cloud.',
|
|
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: '#0A0A0A' },
|
|
],
|
|
};
|
|
|
|
export default function RootLayout({ children }: { children: ReactNode }) {
|
|
return (
|
|
<html lang="en" className={`${geist.variable} ${mono.variable}`} suppressHydrationWarning>
|
|
<head>
|
|
<script defer src="https://analytics.hanzo.ai/script.js" data-website-id="PLACEHOLDER" />
|
|
</head>
|
|
<Body>
|
|
<NextProvider>
|
|
<TreeContextProvider tree={source.getPageTree()}>
|
|
<Provider>{children}</Provider>
|
|
</TreeContextProvider>
|
|
</NextProvider>
|
|
</Body>
|
|
</html>
|
|
);
|
|
}
|