Prettier had never been run in --check mode here before, so this had drifted across most files (markdown tables, long option() chains, line wrapping). Purely formatting, no logic changes - needed so a CI format:check gate can actually pass. Adds .prettierignore for pnpm-lock.yaml specifically: prettier's YAML formatter rewrites every quoted key (single -> double quotes) producing an ~8700-line diff of pure noise on a file pnpm itself owns the formatting of. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
import type { Metadata } from "next";
|
|
import {
|
|
Bricolage_Grotesque,
|
|
IBM_Plex_Mono,
|
|
IBM_Plex_Sans,
|
|
} from "next/font/google";
|
|
import { ThemeProvider } from "next-themes";
|
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
|
import { Toaster } from "@/components/ui/sonner";
|
|
import "./globals.css";
|
|
|
|
// Display face for page titles and card headings (wired via --font-heading in globals.css) - used
|
|
// with restraint, never for body copy. Body/UI text and technical data (run IDs, commands,
|
|
// timestamps) share the IBM Plex family so the two registers still read as one system.
|
|
const displayFont = Bricolage_Grotesque({
|
|
variable: "--font-display",
|
|
subsets: ["latin"],
|
|
});
|
|
|
|
const sansFont = IBM_Plex_Sans({
|
|
variable: "--font-sans",
|
|
subsets: ["latin"],
|
|
weight: ["400", "500", "600", "700"],
|
|
});
|
|
|
|
const monoFont = IBM_Plex_Mono({
|
|
variable: "--font-mono",
|
|
subsets: ["latin"],
|
|
weight: ["400", "500", "600"],
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: {
|
|
default: "TriggerShell",
|
|
template: "%s · TriggerShell",
|
|
},
|
|
description: "Run configured shell scripts from a web UI.",
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<html
|
|
lang="en"
|
|
className={`${displayFont.variable} ${sansFont.variable} ${monoFont.variable} h-full antialiased`}
|
|
suppressHydrationWarning
|
|
>
|
|
<body
|
|
className="bg-background text-foreground flex min-h-full flex-col"
|
|
suppressHydrationWarning
|
|
>
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="system"
|
|
enableSystem
|
|
disableTransitionOnChange
|
|
>
|
|
<TooltipProvider>
|
|
{children}
|
|
<Toaster />
|
|
</TooltipProvider>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|