Files
hermes-os/app/layout.tsx
T
Hermes a484e054e9 Add ErrorBoundary, Config page, 4-col quick links
- ErrorBoundary wraps all pages with retry button
- Config: read-only view of model, terminal, memory, display settings
- Pulse quick links now 4-col: Skills, Cron, Soul, Config
2026-04-09 21:03:36 -05:00

44 lines
1.3 KiB
TypeScript

import type { Metadata, Viewport } from "next";
import "./globals.css";
import { BottomNav } from "@/components/BottomNav";
import { Providers } from "@/components/Providers";
import { ErrorBoundary } from "@/components/ErrorBoundary";
export const metadata: Metadata = {
title: "Hermes OS",
description: "Mobile dashboard for Hermes Agent",
icons: { icon: "/icon-192.png", apple: "/icon-192.png" },
appleWebApp: { capable: true, statusBarStyle: "black-translucent", title: "Hermes" },
};
export const viewport: Viewport = {
themeColor: "#0a0a0f",
width: "device-width",
initialScale: 1,
maximumScale: 1,
viewportFit: "cover",
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<head>
<link rel="manifest" href="/manifest.json" />
</head>
<body className="antialiased">
<Providers>
<main className="min-h-screen pb-safe px-4 pt-4 max-w-lg mx-auto">
<ErrorBoundary>{children}</ErrorBoundary>
</main>
<BottomNav />
</Providers>
<script
dangerouslySetInnerHTML={{
__html: `if("serviceWorker"in navigator)window.addEventListener("load",()=>navigator.serviceWorker.register("/sw.js"))`,
}}
/>
</body>
</html>
);
}