AppShell class

Shell de aplicação responsivo.

  • Desktop (≥1024px): sidebar fixa à esquerda + top bar.
  • Tablet e mobile (<1024px): sidebar vira drawer (hambúrguer); a top bar continua sempre visível com notificações e menu de perfil.
Inheritance

Constructors

AppShell({required AppUser user, required List<NavItem> navItems, Map<String, WidgetBuilder> pages = const {}, Widget? body, String title = '', List<AppNotification> notifications = const [], VoidCallback? onLogout, ValueChanged<String>? onNavigate, String? initialRoute, bool isDark = false, VoidCallback? onToggleTheme, Key? key})
const

Properties

body Widget?
Conteúdo fixo (usado quando pages está vazio).
final
hashCode int
The hash code for this object.
no setterinherited
initialRoute String?
final
isDark bool
Estado do tema e callback para alternar claro/escuro (opcional).
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
final
notifications List<AppNotification>
final
onLogout VoidCallback?
final
onNavigate ValueChanged<String>?
final
onToggleTheme VoidCallback?
final
pages Map<String, WidgetBuilder>
Mapa rota → construtor de conteúdo. O esqueleto (sidebar + top bar) permanece montado; ao navegar, apenas o conteúdo troca.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
title String
final
user AppUser
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<AppShell>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited