Desenvolvedores
src_
app_
(payload)
layout.tsx

📂 Estrutura do Arquivo

🔹 Importações

O arquivo começa importando os módulos necessários:

import configPromise from '@payload-config'
import '@payloadcms/next/css'
import { RootLayout } from '@payloadcms/next/layouts'
import React from 'react'
import './custom.scss'

🔍 Explicação:

  • configPromise 🔄: Importa as configurações do Payload CMS, carregadas de forma assíncrona.
  • @payloadcms/next/css 🎨: Estilos padrão do Payload para manter o design consistente.
  • RootLayout 🏛️: Componente de alto nível que define a estrutura base da aplicação.
  • React ⚛️: Biblioteca utilizada para construir a interface.
  • custom.scss 🎨: Arquivo de estilos personalizados da aplicação.

🏗️ Componente Layout

type Args = {
  children: React.ReactNode
}
 
const Layout = ({ children }: Args) => (
  <RootLayout config={configPromise}>{children}</RootLayout>
)

🔍 Explicação:

  • Args 📝: Define o tipo das props que o componente Layout recebe.
  • children 👶: Representa os componentes filhos renderizados dentro do layout.
  • Estrutura 📦: O Layout utiliza RootLayout, passando a configuração do Payload (configPromise).

🚀 Exportação

export default Layout

🔍 Explicação:
O componente Layout é exportado como padrão para ser reutilizado em toda a aplicação.


⚠️ Notas Importantes

Arquivo Gerado Automaticamente
Este arquivo é gerado pelo Payload CMS e pode ser sobrescrito a qualquer momento.

Uso do RootLayout
Ele garante que todas as páginas sigam a configuração global definida no CMS.

🎨 Estilos Personalizados
O arquivo custom.scss permite ajustar a aparência visual do layout.


🔍 Código Completo

/* ESTE ARQUIVO FOI GERADO AUTOMATICAMENTE PELO PAYLOAD. */
import configPromise from '@payload-config'
import '@payloadcms/next/css'
import { RootLayout } from '@payloadcms/next/layouts'
/* NÃO MODIFIQUE ESTE ARQUIVO, POIS ELE PODE SER SOBRESCRITO AUTOMATICAMENTE A QUALQUER MOMENTO. */
import React from 'react'
import './custom.scss'
 
type Args = {
  children: React.ReactNode
}
 
const Layout = ({ children }: Args) => (
  <RootLayout config={configPromise}>{children}</RootLayout>
)
 
export default Layout