Files
mintel.me/apps/web/src/payload/blocks/MemeCardBlock.ts
Marc Mintel 11f735bbdf
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 16s
Build & Deploy / 🏗️ Build (push) Failing after 6m58s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🧪 QA (push) Has been skipped
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 1s
fix: resolve admin white screen via static ChatWindowProvider import
- Statically declare ChatWindowProvider in payload.config.ts admin.components.providers
- Regenerate importMap.js with correct component mappings
- Update Dockerfile to support _at-mintel monorepo sync for local builds
- Add .gitignore entries for manual build artifacts
- Update blocks and collections (payload-ai integration updates)
- Sync pnpm-lock.yaml
2026-03-07 11:47:52 +01:00

52 lines
1.5 KiB
TypeScript

import { MintelBlock } from "./types";
import type { Block } from "payload";
export const MemeCardBlock: MintelBlock = {
slug: "memeCard",
labels: {
singular: "Meme Card",
plural: "Meme Cards",
},
admin: {
group: "MDX Components",
},
ai: {
name: "MemeCard",
description:
"Real meme from memegen.link. ONLY use these templates: drake, distracted-bf, change-my-mind, uno-draw-25, always-has-been. Captions MUST be in German, extremely sarcastic, max 6 words per line. Use pipe | to separate caption lines. Use sparingly: MAX 1 meme per article.",
usageExample: `<div className="my-8">
<MemeCard template="drake" captions="47 WordPress Plugins installieren|Eine saubere Serverless Architektur" />
</div>`,
},
fields: [
{
name: "template",
type: "text",
required: true,
admin: {
description:
"The template ID from memegen.link (e.g. 'drake', 'disastergirl')",
components: {
afterInput: [
"@mintel/payload-ai/components/FieldGenerators/AiFieldButton#AiFieldButton",
],
},
},
},
{
name: "captions",
type: "textarea",
required: true,
admin: {
description:
"Pipe-separated captions for the meme (e.g. 'Legacy Code|Mintel Stack'). Maximum 6 words per line.",
components: {
afterInput: [
"@mintel/payload-ai/components/FieldGenerators/AiFieldButton#AiFieldButton",
],
},
},
},
],
};