mirror of
https://github.com/Dvorinka/Dash.git
synced 2026-10-28 15:51:27 +00:00
Replaces the static HTML page with a Next.js 15 + Tailwind v4 + Motion app. The hero renders the dashboard itself - live tiles, ticking clock, wandering metrics, pulsing status dots - instead of screenshots. Adds a playable four-renderer switcher (bento/cards/index/console) with layout animations, live monitor/domain/system mocks, and a cycling alert feed. Vercel project dash is now git-connected with root dir landing/; pushes deploy automatically. Canonical alias: dash-homelab.vercel.app. Authored By: TDvorak <[email protected]> Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import type { Metadata, Viewport } from "next";
|
|
import localFont from "next/font/local";
|
|
import "./globals.css";
|
|
|
|
const geist = localFont({
|
|
src: "./fonts/geist-var.woff2",
|
|
variable: "--font-geist",
|
|
weight: "100 900",
|
|
display: "swap",
|
|
});
|
|
|
|
const geistMono = localFont({
|
|
src: "./fonts/geist-mono-var.woff2",
|
|
variable: "--font-geist-mono",
|
|
weight: "100 900",
|
|
display: "swap",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
metadataBase: new URL("https://dash-homelab.vercel.app"),
|
|
title: "Dash - Self-hosted homelab dashboard",
|
|
description:
|
|
"Service boards, uptime monitors, domain watch, and system metrics in one container. A single static Go binary with an embedded React UI. No YAML, no external database.",
|
|
openGraph: {
|
|
title: "Dash - Self-hosted homelab dashboard",
|
|
description:
|
|
"Service boards, uptime monitors, domain watch, and system metrics in one container. One static Go binary, no YAML.",
|
|
type: "website",
|
|
images: ["/dash.svg"],
|
|
},
|
|
};
|
|
|
|
export const viewport: Viewport = {
|
|
themeColor: "#0a0a0a",
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{ children: React.ReactNode }>) {
|
|
return (
|
|
<html lang="en" className={`${geist.variable} ${geistMono.variable}`}>
|
|
<body className="font-sans">{children}</body>
|
|
</html>
|
|
);
|
|
}
|