Desenvolvedores
src_
collections
cursos
Aula.ts

📚 Documentação do Arquivo Aula.ts

O arquivo Aula.ts, localizado na pasta cursos dentro de collections, é responsável pela configuração do campo Aulas. Esse campo permite o gerenciamento das informações de cada aula no sistema.

🏗️ Configuração do Grupo

import { Field } from 'payload'
import {
  lexicalEditor,
  FixedToolbarFeature,
  InlineToolbarFeature,
} from '@payloadcms/richtext-lexical'
import PerguntaObjetiva from '@/blocks/PerguntaObjetiva'
import PerguntaDissertativa from '@/blocks/PerguntaDissertativa'
import Flashcard from '@/blocks/Flashcard'
import VerdadeiroOuFalso from '@/blocks/VerdadeiroOuFalso'
 
export const aulas: Field = {
  name: 'aula',
  type: 'group',
  fields: [
    {
      name: 'nomeAula',
      label: 'Nome',
      type: 'text',
      unique: true,
      required: true,
      maxLength: 100,
    },
    {
      name: 'descricao',
      label: 'Descrição',
      type: 'richText',
      editor: lexicalEditor({
        features: ({ defaultFeatures }) => {
          return [...defaultFeatures, FixedToolbarFeature(), InlineToolbarFeature()]
        },
      }),
      required: true,
    },
    {
      name: 'videoAula',
      label: 'Iframe do Vídeo Aula',
      type: 'text',
      required: true,
      maxLength: 255,
    },
    {
      name: 'exercicios',
      label: 'Exercícios',
      type: 'blocks',
      blocks: [PerguntaObjetiva, PerguntaDissertativa, Flashcard, VerdadeiroOuFalso],
    },
  ],
}

🔍 Estrutura do Campo

📌 Tipo

  • Type: group
  • Nome do Campo: aula

📌 Campos do Grupo

  1. Nome da Aula 🏷️

    • Name: nomeAula
    • Label: Nome
    • Type: text
    • Unique: true
    • Required: true
    • Max Length: 100
    • Descrição: Nome único da aula, obrigatório e limitado a 100 caracteres.
  2. Descrição 📝

    • Name: descricao
    • Label: Descrição
    • Type: richText
    • Editor: Lexical com:
      • FixedToolbarFeature: Barra de ferramentas fixa.
      • InlineToolbarFeature: Barra de ferramentas inline.
    • Required: true
    • Descrição: Campo para descrever a aula com formatação rica.
  3. Iframe do Vídeo Aula 🎥

    • Name: videoAula
    • Label: Iframe do Vídeo Aula
    • Type: text
    • Required: true
    • Max Length: 255
    • Descrição: Armazena o link do vídeo da aula, obrigatório e com limite de 255 caracteres.
  4. Exercícios ✍️

    • Name: exercicios
    • Label: Exercícios
    • Type: blocks
    • Blocks:
      • PerguntaObjetiva
      • PerguntaDissertativa
      • Flashcard
      • VerdadeiroOuFalso
    • Descrição: Permite a inclusão de diferentes tipos de exercícios.

✅ Considerações Finais

O campo aulas permite armazenar informações essenciais sobre cada aula, garantindo flexibilidade e integridade dos dados. Todos os subcampos são obrigatórios, assegurando que as informações essenciais sejam fornecidas.

🔗 Exemplos de Uso

  • Adicionar Aula: Um formulário para adicionar uma nova aula.
  • Editar Aula: Uma interface para editar uma aula existente.
  • Visualizar Aula: Exibição completa dos detalhes da aula.

Essa documentação fornece uma visão clara da configuração do campo Aulas. Caso precise de mais detalhes, fique à vontade para perguntar! 🚀