mirror of
https://github.com/hanzoai/id.git
synced 2026-10-16 18:38:15 +00:00
- Add edge runtime to all routes for CF Pages compatibility - Add not-found.tsx and build script to work around next-on-pages _not-found bug - Fix shouldProxyToIAM: /login/oauth/* must proxy to IAM, not match /login APP_PATH - Add auth.hanzo.ai tenant to middleware TENANTS map - Remove output:'standalone' from next.config.ts (not needed for CF Pages) - Add signup, account, forgot-password, callback pages - Add social-callback and bridge API routes - Add client resolver and IAM helper libraries - Configure wrangler.toml for CF Pages deployment Custom domains active: hanzo.id, auth.hanzo.ai, lux.id, pars.id, iam.lux.network, id.lux.network, id.zoo.network (zoo.id pending)
33 lines
831 B
TypeScript
33 lines
831 B
TypeScript
export const runtime = 'edge'
|
|
|
|
import type { Metadata } from 'next'
|
|
import { headers } from 'next/headers'
|
|
import { staticBranding, defaultBranding, resolveBrandingDomain } from '@/lib/branding'
|
|
import './globals.css'
|
|
|
|
export async function generateMetadata(): Promise<Metadata> {
|
|
const headersList = await headers()
|
|
const host = headersList.get('host') || 'hanzo.id'
|
|
const domain = resolveBrandingDomain(host)
|
|
|
|
const staticConfig = staticBranding[domain]
|
|
const orgName = staticConfig?.orgName || defaultBranding.orgName
|
|
|
|
return {
|
|
title: `Sign In - ${orgName}`,
|
|
description: `Sign in to your ${orgName} account`,
|
|
}
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode
|
|
}) {
|
|
return (
|
|
<html lang="en">
|
|
<body className="antialiased">{children}</body>
|
|
</html>
|
|
)
|
|
}
|