forked from Proxmox/ProxmoxVE
4f6942b601
* Refactor ScriptItem and Buttons components to enhance layout and integrate dropdown for links. Update InterFaces component for improved styling and structure. * Add React Query integration and enhance component structure - Introduced `@tanstack/react-query` for data fetching and state management. - Added `QueryProvider` component to wrap the application with QueryClient. - Refactored `ScriptItem` to utilize `useVersions` hook for fetching versions. - Created `ResourceDisplay` and `VersionBadge` components for better resource representation. - Improved layout and styling across various components, including `Alerts`, `Buttons`, and `DefaultPassword`. - Updated `layout.tsx` to include the new `QueryProvider` for global state management. * Remove bun.lock file to streamline dependency management and prevent potential conflicts. * Update dependencies in package.json and package-lock.json - Removed `@vercel/analytics` from dependencies. - Upgraded `vitest` and related packages to version `3.1.1`. - Updated various packages to their latest versions for improved performance and compatibility. - Adjusted Node.js engine requirements to support newer versions. * Update dependencies in package.json and package-lock.json - Upgraded various Radix UI components to their latest versions for improved functionality and performance. - Updated `chart.js`, `class-variance-authority`, `cmdk`, `framer-motion`, `fuse.js`, `nuqs`, `pocketbase`, and other packages to their latest versions. - Enhanced TypeScript and ESLint packages for better type checking and linting capabilities. - Updated Tailwind CSS and related plugins for improved styling and utility classes. - Adjusted Node.js engine requirements in several packages to support newer versions.
81 lines
2.8 KiB
TypeScript
81 lines
2.8 KiB
TypeScript
import Footer from "@/components/Footer";
|
|
import Navbar from "@/components/Navbar";
|
|
import QueryProvider from "@/components/query-provider";
|
|
import { ThemeProvider } from "@/components/theme-provider";
|
|
import { Toaster } from "@/components/ui/sonner";
|
|
import { analytics, basePath } from "@/config/siteConfig";
|
|
import "@/styles/globals.css";
|
|
import { Inter } from "next/font/google";
|
|
import { NuqsAdapter } from "nuqs/adapters/next/app";
|
|
import React from "react";
|
|
|
|
const inter = Inter({ subsets: ["latin"] });
|
|
|
|
export const metadata = {
|
|
title: "Proxmox VE Helper-Scripts",
|
|
generator: "Next.js",
|
|
applicationName: "Proxmox VE Helper-Scripts",
|
|
referrer: "origin-when-cross-origin",
|
|
keywords: ["Proxmox VE", "Helper-Scripts", "tteck", "helper", "scripts", "proxmox", "VE"],
|
|
authors: { name: "Bram Suurd" },
|
|
creator: "Bram Suurd",
|
|
publisher: "Bram Suurd",
|
|
description:
|
|
"A Front-end for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 200+ scripts to help you manage your Proxmox VE environment.",
|
|
favicon: "/app/favicon.ico",
|
|
formatDetection: {
|
|
email: false,
|
|
address: false,
|
|
telephone: false,
|
|
},
|
|
metadataBase: new URL(`https://community-scripts.github.io/${basePath}/`),
|
|
openGraph: {
|
|
title: "Proxmox VE Helper-Scripts",
|
|
description:
|
|
"A Front-end for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 200+ scripts to help you manage your Proxmox VE environment.",
|
|
url: "/defaultimg.png",
|
|
images: [
|
|
{
|
|
url: `https://community-scripts.github.io/${basePath}/defaultimg.png`,
|
|
},
|
|
],
|
|
locale: "en_US",
|
|
type: "website",
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="en" suppressHydrationWarning>
|
|
<head>
|
|
<script defer src={`https://${analytics.url}/script.js`} data-website-id={analytics.token}></script>
|
|
<link rel="canonical" href={metadata.metadataBase.href} />
|
|
<link rel="manifest" href="manifest.webmanifest" />
|
|
<link rel="preconnect" href="https://api.github.com" />
|
|
</head>
|
|
<body className={inter.className}>
|
|
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem disableTransitionOnChange>
|
|
<div className="flex w-full flex-col justify-center">
|
|
<Navbar />
|
|
<div className="flex min-h-screen flex-col justify-center">
|
|
<div className="flex w-full justify-center">
|
|
<div className="w-full max-w-7xl ">
|
|
<QueryProvider>
|
|
<NuqsAdapter>{children}</NuqsAdapter>
|
|
</QueryProvider>
|
|
<Toaster richColors />
|
|
</div>
|
|
</div>
|
|
<Footer />
|
|
</div>
|
|
</div>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|