📌 Bloco de Flashcard no PayloadCMS
O Flashcard é um bloco que pode ser usado dentro do PayloadCMS para armazenar perguntas e respostas em um formato interativo. Ele é útil para sistemas de aprendizado, onde os usuários podem visualizar uma pergunta na frente do cartão e a resposta no verso.
🚀 Estrutura do Bloco
A estrutura do bloco é definida como um objeto do tipo Block
, contendo:
slug
: Define um identificador único para o bloco, neste caso,"flashcard"
.labels
: Define nomes no singular e plural para facilitar a identificação no CMS.fields
: Lista os campos do bloco, que incluem "Frente" e "Verso".
import { Block } from 'payload'
const Flashcard: Block = {
slug: 'flashcard', // 🏷️ Identificador único do bloco
labels: {
singular: 'Flashcard',
plural: 'Flashcards',
},
fields: [
{
name: 'frente',
label: 'Frente', // 📝 Pergunta do flashcard
type: 'textarea',
required: true,
admin: {
description: 'Frente do flashcard deve conter a pergunta e o verso a resposta',
},
},
{
name: 'verso',
label: 'Verso', // ✅ Resposta do flashcard
type: 'textarea',
required: true,
},
],
}
export default Flashcard
📌 Explicação dos Campos
-
Frente (
frente
) 📝- Campo do tipo
textarea
- Deve conter a pergunta que será exibida ao usuário
- É um campo obrigatório (
required: true
) - Possui uma descrição administrativa para orientar os editores
- Campo do tipo
-
Verso (
verso
) ✅- Campo do tipo
textarea
- Deve conter a resposta correspondente à pergunta
- Também é obrigatório (
required: true
)
- Campo do tipo
🔥 Conclusão
Esse bloco permite criar flashcards de maneira eficiente dentro do PayloadCMS. Ele pode ser utilizado para estudos, treinamentos e sistemas educacionais interativos.
📜 Código Completo
import { Block } from 'payload'
const Flashcard: Block = {
slug: 'flashcard',
labels: {
singular: 'Flashcard',
plural: 'Flashcards',
},
fields: [
{
name: 'frente',
label: 'Frente',
type: 'textarea',
required: true,
admin: {
description: 'Frente do flashcard deve conter a pergunta e o verso a resposta',
},
},
{
name: 'verso',
label: 'Verso',
type: 'textarea',
required: true,
},
],
}
export default Flashcard