2024-11-04 22:55:08 +00:00
|
|
|
|
"use client";
|
|
|
|
|
import AnimatedGradientText from "@/components/ui/animated-gradient-text";
|
|
|
|
|
import { Button } from "@/components/ui/button";
|
2024-11-09 19:06:54 +00:00
|
|
|
|
import {
|
|
|
|
|
Dialog,
|
|
|
|
|
DialogContent,
|
|
|
|
|
DialogDescription,
|
|
|
|
|
DialogHeader,
|
|
|
|
|
DialogTitle,
|
|
|
|
|
DialogTrigger,
|
|
|
|
|
} from "@/components/ui/dialog";
|
|
|
|
|
import Particles from "@/components/ui/particles";
|
2024-11-04 22:55:08 +00:00
|
|
|
|
import { Separator } from "@/components/ui/separator";
|
2024-11-09 19:06:54 +00:00
|
|
|
|
import { basePath } from "@/config/siteConfig";
|
2024-11-04 22:55:08 +00:00
|
|
|
|
import { cn } from "@/lib/utils";
|
2025-01-16 14:05:48 +00:00
|
|
|
|
import { ArrowRightIcon } from "lucide-react";
|
2024-11-04 22:55:08 +00:00
|
|
|
|
import { useTheme } from "next-themes";
|
|
|
|
|
import Link from "next/link";
|
|
|
|
|
import { useEffect, useState } from "react";
|
2025-01-16 14:05:48 +00:00
|
|
|
|
import { FaGithub, FaDiscord } from "react-icons/fa";
|
2024-11-04 22:55:08 +00:00
|
|
|
|
|
|
|
|
|
function CustomArrowRightIcon() {
|
2025-01-16 14:05:48 +00:00
|
|
|
|
return <ArrowRightIcon className="h-4 w-4" />;
|
2024-11-04 22:55:08 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default function Page() {
|
|
|
|
|
const { theme } = useTheme();
|
|
|
|
|
const [color, setColor] = useState("#000000");
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
setColor(theme === "dark" ? "#ffffff" : "#000000");
|
|
|
|
|
}, [theme]);
|
|
|
|
|
|
|
|
|
|
return (
|
2025-01-16 14:05:48 +00:00
|
|
|
|
<div className="relative w-full">
|
2024-11-04 22:55:08 +00:00
|
|
|
|
<Particles
|
|
|
|
|
className="absolute inset-0 -z-40"
|
|
|
|
|
quantity={100}
|
|
|
|
|
ease={80}
|
|
|
|
|
color={color}
|
|
|
|
|
refresh
|
|
|
|
|
/>
|
2025-01-16 14:09:13 +00:00
|
|
|
|
|
|
|
|
|
{/* Header */}
|
2025-01-16 14:05:48 +00:00
|
|
|
|
<header className="sticky top-0 z-50 bg-background/80 backdrop-blur-lg">
|
|
|
|
|
<div className="container mx-auto flex flex-col items-center gap-4 px-4 py-4 sm:flex-row sm:justify-between">
|
2025-01-16 14:09:13 +00:00
|
|
|
|
{/* Logo */}
|
2025-01-16 14:05:48 +00:00
|
|
|
|
<Link href="/" className="flex items-center gap-2 font-bold text-lg">
|
|
|
|
|
Proxmox VE Helper-Scripts
|
|
|
|
|
</Link>
|
2025-01-16 14:09:13 +00:00
|
|
|
|
|
|
|
|
|
{/* Suchleiste */}
|
2025-01-16 14:05:48 +00:00
|
|
|
|
<input
|
|
|
|
|
type="text"
|
|
|
|
|
placeholder="Search scripts..."
|
|
|
|
|
className="w-full sm:w-1/3 px-4 py-2 rounded-md bg-gray-800 text-gray-300 border border-gray-700"
|
|
|
|
|
/>
|
2025-01-16 14:09:13 +00:00
|
|
|
|
|
|
|
|
|
{/* Icons */}
|
2025-01-16 14:05:48 +00:00
|
|
|
|
<div className="flex items-center gap-4">
|
|
|
|
|
<FaGithub className="w-5 h-5 text-gray-300" />
|
|
|
|
|
<FaDiscord className="w-5 h-5 text-gray-300" />
|
2024-11-04 22:55:08 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-01-16 14:05:48 +00:00
|
|
|
|
</header>
|
2025-01-16 14:09:13 +00:00
|
|
|
|
|
|
|
|
|
{/* "Scripts by Tteck"-Button */}
|
2025-01-16 14:05:48 +00:00
|
|
|
|
<div className="fixed top-16 right-4 sm:top-4 z-40">
|
|
|
|
|
<Dialog>
|
|
|
|
|
<DialogTrigger>
|
|
|
|
|
<div className="flex items-center bg-purple-600 text-white px-4 py-2 rounded-lg">
|
|
|
|
|
❤️ Scripts by Tteck
|
|
|
|
|
</div>
|
|
|
|
|
</DialogTrigger>
|
|
|
|
|
<DialogContent>
|
|
|
|
|
<DialogHeader>
|
|
|
|
|
<DialogTitle>Thank You!</DialogTitle>
|
|
|
|
|
<DialogDescription>
|
|
|
|
|
A big thank you to Tteck and the many contributors who have
|
|
|
|
|
made this project possible. Your hard work is truly appreciated
|
|
|
|
|
by the entire Proxmox community!
|
|
|
|
|
</DialogDescription>
|
|
|
|
|
</DialogHeader>
|
|
|
|
|
</DialogContent>
|
|
|
|
|
</Dialog>
|
2024-11-04 22:55:08 +00:00
|
|
|
|
</div>
|
2025-01-16 14:09:13 +00:00
|
|
|
|
|
|
|
|
|
{/* Hauptinhalt */}
|
2025-01-16 14:05:48 +00:00
|
|
|
|
<main className="container mx-auto mt-32 px-4">
|
|
|
|
|
<h1 className="text-5xl sm:text-7xl font-bold text-center">
|
|
|
|
|
Make managing your Homelab a breeze
|
|
|
|
|
</h1>
|
|
|
|
|
<p className="text-lg sm:text-xl text-center mt-6">
|
|
|
|
|
We are a community-driven initiative that simplifies the setup of
|
|
|
|
|
Proxmox Virtual Environment (VE). Originally created by{" "}
|
|
|
|
|
<a href="https://github.com/tteck" target="_blank">
|
|
|
|
|
tteck
|
|
|
|
|
</a>
|
|
|
|
|
, these scripts automate and streamline the process of creating and
|
|
|
|
|
configuring Linux containers (LXC) and virtual machines (VMs) on
|
|
|
|
|
Proxmox VE.
|
|
|
|
|
</p>
|
|
|
|
|
<div className="flex justify-center mt-8">
|
|
|
|
|
<Link href="/scripts">
|
|
|
|
|
<Button
|
|
|
|
|
size="lg"
|
|
|
|
|
variant="expandIcon"
|
|
|
|
|
Icon={CustomArrowRightIcon}
|
|
|
|
|
iconPlacement="right"
|
|
|
|
|
>
|
|
|
|
|
View Scripts
|
|
|
|
|
</Button>
|
|
|
|
|
</Link>
|
|
|
|
|
</div>
|
|
|
|
|
</main>
|
2024-11-04 22:55:08 +00:00
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|