Files
triggershell/src/app/layout.tsx
T

56 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-08-15 18:37:30 +02:00
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
2026-08-15 21:11:27 +02:00
import { ThemeProvider } from "next-themes";
2026-08-15 18:37:30 +02:00
import { TooltipProvider } from "@/components/ui/tooltip";
import { Toaster } from "@/components/ui/sonner";
import "./globals.css";
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin"],
});
export const metadata: Metadata = {
2026-08-15 20:52:11 +02:00
title: {
default: "TriggerShell",
template: "%s · TriggerShell",
},
2026-08-15 18:37:30 +02:00
description: "Run configured shell scripts from a web UI.",
};
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html
lang="en"
className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}
2026-08-15 21:11:27 +02:00
suppressHydrationWarning
2026-08-15 18:37:30 +02:00
>
2026-08-15 20:52:11 +02:00
<body
className="bg-background text-foreground flex min-h-full flex-col"
suppressHydrationWarning
>
2026-08-15 21:11:27 +02:00
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<TooltipProvider>
{children}
<Toaster />
</TooltipProvider>
</ThemeProvider>
2026-08-15 18:37:30 +02:00
</body>
</html>
);
}