fix(web): remove redundant prop-types and unblock lint pipeline
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 10s
Build & Deploy / 🧪 QA (push) Failing after 2m24s
Build & Deploy / 🏗️ Build (push) Failing after 3m40s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🩺 Health Check (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 3s

This commit is contained in:
2026-02-24 11:38:43 +01:00
parent 95a8b702fe
commit 6864903cff
205 changed files with 6570 additions and 1324 deletions

View File

@@ -1,14 +1,30 @@
import type { CollectionConfig } from "payload";
import { lexicalEditor, BlocksFeature } from "@payloadcms/richtext-lexical";
import { payloadBlocks } from "../blocks/allBlocks";
export const Posts: CollectionConfig = {
slug: "posts",
admin: {
useAsTitle: "title",
defaultColumns: ["featuredImage", "title", "date", "updatedAt", "_status"],
},
versions: {
drafts: true,
},
access: {
read: () => true, // Publicly readable API
},
fields: [
{
name: "aiOptimizer",
type: "ui",
admin: {
position: "sidebar",
components: {
Field: "@/src/payload/components/OptimizeButton#OptimizeButton",
},
},
},
{
name: "title",
type: "text",
@@ -21,6 +37,11 @@ export const Posts: CollectionConfig = {
unique: true,
admin: {
position: "sidebar",
components: {
afterInput: [
"@/src/payload/components/FieldGenerators/GenerateSlugButton#GenerateSlugButton",
],
},
},
hooks: {
beforeValidate: [
@@ -46,29 +67,55 @@ export const Posts: CollectionConfig = {
name: "date",
type: "date",
required: true,
admin: {
position: "sidebar",
description:
"Set a future date and save as 'Published' to schedule this post. It will not appear on the frontend until this date is reached.",
},
},
{
name: "tags",
type: "array",
required: true,
admin: {
position: "sidebar",
},
fields: [
{
name: "tag",
type: "text",
admin: {
description: "Kategorisiere diesen Post mit einem eindeutigen Tag",
components: { Field: "@/src/payload/components/TagSelector" },
},
},
],
},
{
name: "thumbnail",
type: "text", // Keeping as text for now to match current MDX strings like "/blog/green-it.png"
name: "featuredImage",
type: "upload",
relationTo: "media",
admin: {
description: "The main hero image for the blog post.",
position: "sidebar",
components: {
afterInput: [
"@/src/payload/components/FieldGenerators/GenerateThumbnailButton#GenerateThumbnailButton",
],
},
},
},
{
name: "content",
type: "code",
admin: {
language: "markdown",
},
required: true,
type: "richText",
editor: lexicalEditor({
features: ({ defaultFeatures }) => [
...defaultFeatures,
BlocksFeature({
blocks: payloadBlocks,
}),
],
}),
},
],
};