📂 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 componenteLayout
recebe.children
👶: Representa os componentes filhos renderizados dentro do layout.- Estrutura 📦: O
Layout
utilizaRootLayout
, 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