diff --git a/src/app/dashboard/chat/page.tsx b/src/app/dashboard/chat/page.tsx index 251c8d6..6bcf406 100644 --- a/src/app/dashboard/chat/page.tsx +++ b/src/app/dashboard/chat/page.tsx @@ -1,10 +1,31 @@ import { notFound } from "next/navigation"; +import type { Metadata } from "next"; import { chatEnabled, getProvider } from "@/lib/chat"; import { Topbar } from "@/components/layout/sidebar"; import { ChatView } from "./chat-view"; export const dynamic = "force-dynamic"; +/** + * A manifest distinct from the dashboard's, so the chat installs as its + * own app. The dashboard manifest is generated by next-pwa from + * next.config.js; this one is a static file in public/ and does not + * interfere with it. + * + * appleWebApp covers Safari's "Add to Home Screen", which ignores + * manifest scope rules — Apple treats the open page as a standalone + * bookmark, so the meta tags are what drive that path. + */ +export const metadata: Metadata = { + title: "Ask · MEGA INFRASTRUCTURE", + manifest: "/chat.webmanifest", + appleWebApp: { + capable: true, + title: "Ask", + statusBarStyle: "default", + }, +}; + export default function ChatPage() { // Same gate as the API route — the page must not exist when disabled. if (!chatEnabled()) notFound();