shell/shell library

Shell de navegação responsivo do Flenx: sidebar/drawer + top bar com perfil e notificações. Reutilizável no app mobile e na web (ilha Flutter).

Classes

ActivityItem
Item da lista de atividade recente do dashboard.
AdminPermissions
Permissões e papéis padrão do Flenx (sirva-se ou defina os seus).
AdminRestClient
Cliente HTTP genérico do admin: fala com os endpoints declarativos do Flenx (envelope {success, data, error, meta}) para qualquer recurso — posts, produtos, pedidos, usuários, configurações. É a ponte entre as telas Flutter do admin (ilha) e a API do servidor.
AppNotification
Notificação exibida no menu de notificações da top bar.
AppRole
Papel de usuário no admin: um nome e o conjunto de permissões. * libera tudo. Use AdminPermissions para os papéis e permissões padrão, ou crie os seus. O FlenxAdminApp esconde itens de menu que o papel não pode acessar.
AppShell
Shell de aplicação responsivo.
AppUser
Usuário logado exibido no shell (área de user/admin e menu de perfil).
BlockCard
Card de edição de UM bloco do post. Mostra os campos conforme o tipo e os controles de mover/remover. Edita o block e avisa via onChanged.
BlogAdminPage
Gerência de posts/notícias no admin: lista os posts do banco e abre o PostEditorPage para criar, editar ou excluir. Tela única reutilizável (news, demo) — alterna entre a lista e o editor.
CardPanel
Painel branco com título e conteúdo (container genérico do dashboard).
DashboardStat
Indicador do dashboard (ex.: Posts, Leads, Visitas).
EditableBlock
Estado MUTÁVEL de um bloco enquanto é editado na tela. Cada instância tem um id estável (para ValueKey ao reordenar) e converte para o PostBlock imutável da lib na hora de salvar — e também reconstrói a partir de um PostBlock (para editar um post existente).
FlenxAdminApp
App de admin pronto — você só preenche as opções (igual ao AppShell): usuário, notificações, itens de menu e as páginas (rota → conteúdo). Já vem com tema claro/escuro e o botão de alternar funcionando. Use dentro de uma ilha Flutter (FlutterIsland) na rota /admin.
FlenxAdminTheme
Temas padrão do painel admin do Flenx — claro e escuro, derivados da paleta central FlenxPalette (mesma identidade do site). Bonito por padrão:
FlenxDashboard
Dashboard pronto do Flenx: saudação, indicadores (stats) e atividade recente (activity). Genérico — você passa os dados e os textos.
FlenxResourcePage
Tela CRUD genérica do admin: lista os registros de um recurso e permite criar/editar/excluir — tudo a partir de um ResourceConfig. Usada para produtos, pedidos, usuários, etc., sem reescrever a UI.
FlenxSettingsPage
Editor de configurações em forma de JSON num único registro (site_settings id=1, coluna data). Usado para editar a tela home (hero, destaques) e outras opções do site sem código. Carrega, edita os fields e salva o JSON.
IconChip
Quadradinho colorido com ícone (usado em cards e listas do dashboard).
Item de navegação do menu. Pode ser clicável (com route/onTap) ou expansível (quando tem children — submenu, estilo accordion).
NotificationButton
Botão de notificações da top bar — ícone com badge da contagem não lida e um menu suspenso listando as notificações.
PostEditorPage
Editor de post completo (estilo G1): cabeçalho + blocos (parágrafo, subtítulo, imagem c/ legenda, citação, lista, vídeo). Cria OU edita um post no banco via a API (createPath/updatePath). Reaproveitável por qualquer portal (news, demo) — salva o corpo em Markdown + os blocos em JSON.
PostMetaControllers
Agrupa os controllers do cabeçalho (1 lugar para criar/dar dispose).
PostMetaForm
Campos de cabeçalho do post (estilo G1): manchete, linha-fina, resumo, autor, categoria, tags e imagem de capa. Guarda os controllers e os expõe para a página montar o payload.
ProfileMenu
Menu de perfil expansível na top bar: avatar que abre um popup com dados do usuário e ações (Perfil, Configurações, Sair).
ResourceConfig
Configuração declarativa de um recurso administrável (CRUD). Você só lista os endpoints e os campos; o FlenxResourcePage cuida da tela inteira (listar, criar, editar, excluir). Reaproveitável para qualquer entidade.
ResourceField
Descreve UM campo de um recurso (produto, usuário, pedido...). O FlenxResourcePage usa a lista de campos para montar a tabela e o formulário de criar/editar — sem você escrever UI específica.
ResourceFormDialog
Diálogo de criar/editar um registro, montado a partir dos ResourceConfig.fields. Devolve o Map com os valores ao salvar, ou null se cancelado. Sem lógica de rede — quem chama decide create/update.
SectionPlaceholder
Placeholder de seção "em construção" (Posts, Tags, etc.).
SettingField
Um campo editável da tela de configurações/home (chave no JSON + rótulo).
ShellBreakpoints
Breakpoints do shell. Por decisão de produto, mobile E tablet usam drawer; apenas desktop mantém a sidebar fixa.
Conteúdo da barra lateral: área de user/admin no topo, menu de navegação (com itens clicáveis e expansíveis) e o botão "Sair" no rodapé.
StatCard
Card de indicador do dashboard.
TopBar
Barra superior (sempre presente). Mostra o título, o botão de tema (opcional), notificações e o menu de perfil expansível. Em layouts com drawer, o Scaffold injeta automaticamente o botão de menu (hambúrguer) à esquerda.

Enums

BlockType
Tipos de bloco que o editor de post (estilo G1) oferece. Espelha os PostBlock da lib; cada um tem rótulo e ícone para o menu "adicionar".
FieldKind
Tipo de entrada de um campo de recurso no admin genérico.
ShellLayout
Classificação de largura da viewport para o shell responsivo.