import { redirect } from "next/navigation"; import { MotionFade } from "@/components/motion-fade"; import { PortfolioProjectForm } from "@/components/root/portfolio-project-form"; import { RootDashboardShell } from "@/components/root/root-dashboard-shell"; import { AppCard } from "@/components/ui/app-card"; import { Button } from "@/components/ui/button"; import { CardContent } from "@/components/ui/card"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; import { clearAdminSessionCookie, isAdminAuthenticated } from "@/lib/admin-auth"; import { getMediaOptions } from "@/lib/media"; import { getActivePortfolioCategories, getAdminPortfolioProjectById, } from "@/lib/portfolio"; import { deleteProjectAction, saveProjectAction } from "../../actions"; export const dynamic = "force-dynamic"; const copy = { title: "Portfolio Projekt bearbeiten", subtitle: "Projektstatus, Inhalte und Dateien anpassen.", overview: "Uebersicht", maintenance: "Wartungsmodus", uiKit: "UI Kit", media: "Media", siteSettings: "Settings", portfolio: "Portfolio", logout: "Ausloggen", backToSite: "Zur Website", saveProject: "Projekt speichern", dangerZone: "Gefahrenbereich", dangerText: "Projektdaten werden aus der Datenbank entfernt. Hochgeladene Dateien bleiben auf dem Speicher erhalten.", deleteProject: "Projekt loeschen", }; type RootPortfolioProjectPageProps = { params: { id: string; }; }; export default async function RootPortfolioProjectPage({ params, }: RootPortfolioProjectPageProps) { if (!isAdminAuthenticated()) { redirect("/root"); } async function logoutAction() { "use server"; clearAdminSessionCookie(); redirect("/root"); } const [categories, mediaOptions, project] = await Promise.all([ getActivePortfolioCategories(), getMediaOptions(), getAdminPortfolioProjectById(params.id), ]); if (!project) { redirect("/root/portfolio?error=Project+not+found."); } return (

{copy.dangerZone}

{copy.dangerText}

{copy.deleteProject} This action permanently removes the project data from the database.
); }