import { notFound } from "next/navigation"; import { prisma } from "@/lib/prisma"; import { asStringArray } from "@/lib/json-array"; import { BackLink } from "@/components/back-link"; import { Button } from "@/components/ui"; import { AdminImageField } from "@/components/admin-image-field"; import { AdminField, AdminFieldset, AdminFormPanel, AdminHint, AdminSwitch, AdminTextarea, } from "@/components/admin-form"; import { updateHarvestAction, toggleHarvestPublishedAction } from "../../actions"; import { getLocale } from "@/i18n/locale"; import { getDictionary } from "@/i18n/get-dictionary"; export default async function AdminHarvestEditPage(props: PageProps<"/admin/ernten/[id]">) { const t = getDictionary(await getLocale()); const th = t.adminHarvestEditPage; const { id } = await props.params; const rawHarvest = await prisma.harvest.findUnique({ where: { id } }); if (!rawHarvest) notFound(); const harvest = { ...rawHarvest, images: asStringArray(rawHarvest.images) }; const harvestDateValue = harvest.harvestDate.toISOString().slice(0, 10); return (

{th.title}

{harvest.isPublished ? null : (

{th.draftNotice}

)} {th.save}}>
{/* Siehe Kommentar im Chargen-Formular: zwei benannte Slots statt einer Liste, damit sich das zweite Bild auch ohne erstes setzen laesst. Slot 1 erscheint zusaetzlich auf /ernten und der Ernten-Detailseite. */} {th.isPublishedHint}
); }