Files
hanzo.ai/app/apps/page.tsx
zeekay 35c6961ade apps: /apps is a root of the app, for the apps in beta that draw inside it
The edge answers every path under /apps with its one page (lib/edge.ts `APP`,
`ROOTS`, `DATA`), the page signs a stranger in to the address and draws the app
for a member, and hosted.spec.ts holds who sees what: a member holding beta.crm
alone has CRM and its live host in the pane, staff and a SuperAdmin have all
five, a reader the switch is off for has the request path, a stranger is sent to
sign in and back, a phone has the apps as rows.

Needs @hanzo/app >= 0.2.38 (lib/hosted).

Claude-Session: https://claude.ai/code/session_017vrVus6PPBgP5YRzKV1iqW
2026-10-26 03:29:13 -07:00

21 lines
582 B
TypeScript

import type { Metadata } from 'next'
import { BOOT } from '@hanzo/app/lib/session'
import { Door } from './_door'
// The apps in beta that draw inside the app: CRM, Commerce, CMS, Analytics and
// Insights, at /apps/<id> (@hanzo/app lib/hosted). Nothing here is for a crawler:
// a stranger is sent to sign in and brought back (./_door).
export const metadata: Metadata = {
title: 'Hanzo apps',
robots: { index: false, follow: false },
}
export default function AppsPage() {
return (
<Door>
<script dangerouslySetInnerHTML={{ __html: BOOT }} />
</Door>
)
}