Visão Geral do Frontend
Overview
Seção intitulada “Overview”O frontend Rebase é um framework React que renderiza seu painel de administração. Ele lê suas definições de coleção e gera tabelas, formulários, navegação e roteamento automaticamente.
Os componentes chave que compõem um frontend Rebase:
<Rebase client={rebaseClient} collectionRegistryController={collectionRegistryController} cmsUrlController={cmsUrlController} navigationStateController={navigationStateController} authController={authController}> {({ loading }) => ( <Scaffold> <AppBar /> <Drawer title="My App" /> <Outlet /> <SideDialogs /> </Scaffold> )}</Rebase>O Provedor Rebase
Seção intitulada “O Provedor Rebase”<Rebase> é o provedor raiz que disponibiliza todas as funcionalidades do Rebase para os componentes filhos via contexto. Ele aceita:
| Prop | Descrição |
|---|---|
client | Instância de RebaseClient para dados, autenticação e armazenamento |
collectionRegistryController | Resolve caminhos e configurações de coleção |
cmsUrlController | Constrói URLs e gerencia o roteamento |
navigationStateController | Gerencia o estado de navegação, views e plugins |
authController | Estado e métodos de autenticação |
storageSource | Operações de armazenamento de arquivos |
userConfigPersistence | Preferências de UI local (larguras de coluna, etc.) |
entityViews | Abas de view de entidade personalizadas globais |
entityActions | Ações de entidade globais |
plugins | Instâncias de plugins (prop legada — prefira passar via controlador de navegação) |
Controladores
Seção intitulada “Controladores”Controladores são hooks React que configuram aspectos específicos do framework:
useBuildNavigationStateController
Seção intitulada “useBuildNavigationStateController”O controlador principal que interliga tudo:
const navigationStateController = useBuildNavigationStateController({ collections: () => [...collections], // Collection definitions views: customViews, // Custom navigation views plugins, // Plugin instances authController, data: rebaseClient.data, collectionRegistryController, cmsUrlController, adminMode: adminModeController.mode, userManagement});useBuildCollectionRegistryController
Seção intitulada “useBuildCollectionRegistryController”Gerencia como as coleções são resolvidas a partir de caminhos de URL:
const collectionRegistryController = useBuildCollectionRegistryController({ userConfigPersistence});useBuildCMSUrlController
Seção intitulada “useBuildCMSUrlController”Configura a geração de URL:
const cmsUrlController = useBuildCMSUrlController({ basePath: "/", baseCollectionPath: "/c", collectionRegistryController});useBuildModeController
Seção intitulada “useBuildModeController”Gerencia o tema claro/escuro:
const modeController = useBuildModeController();// Provides: modeController.mode ("light" | "dark"), modeController.toggleMode()useBuildAdminModeController
Seção intitulada “useBuildAdminModeController”Alterna entre os modos Studio e Content:
const adminModeController = useBuildAdminModeController();// Provides: adminModeController.mode ("studio" | "content")Componentes Scaffold
Seção intitulada “Componentes Scaffold”| Componente | Descrição |
|---|---|
<Scaffold> | Contêiner de layout principal com barra lateral responsiva |
<AppBar> | Barra de navegação superior com pesquisa, alternador de modo, menu do usuário |
<Drawer> | Navegação lateral com lista de coleções e links de views |
<SideDialogs> | Contêiner para editores de entidade do painel lateral |
<RebaseRoutes> | Contêiner de rotas que se integra com React Router |
<RebaseRoute> | Gerencia rotas de coleção (/c/*) |
<ContentHomePage> | Página inicial padrão mostrando cartões de coleção |
<StudioHomePage> | Página inicial do modo Studio com ferramentas de desenvolvedor |
Views Personalizadas
Seção intitulada “Views Personalizadas”Adicione views de navegação de nível superior para painéis, ferramentas ou páginas personalizadas:
const views: CMSView[] = [ { slug: "dashboard", name: "Dashboard", icon: "dashboard", group: "Analytics", view: <MyDashboard /> }, { slug: "settings", name: "App Settings", icon: "settings", view: <AppSettings />, nestedRoutes: true // Suporte a sub-caminhos }];Estilização
Seção intitulada “Estilização”Rebase usa Tailwind CSS v4 e suporta modos claro/escuro. Personalize via:
- Propriedades personalizadas CSS — Sobrescreva tokens de design
ModeControllerProvider— Controle o modo claro/escuro- Configuração Tailwind — Personalização padrão do Tailwind
/* Sobrescrever tokens de design */:root { --font-sans: "Inter", sans-serif; --font-mono: "JetBrains Mono", monospace;}Próximos Passos
Seção intitulada “Próximos Passos”- Campos Personalizados — Construa campos de formulário personalizados
- Views de Entidade — Adicione abas aos editores de entidade
- Modos de Visualização — Lista, Tabela, Cartões, Kanban
- Plugins — Estenda o framework