UiShopLayout class

A complete shop page layout with search, category chips, product grid, and a cart badge.

UiShopLayout(
  products: allProducts,
  categories: ['All', 'Shoes', 'Shirts'],
  selectedCategory: 'All',
  onCategoryChanged: (cat) => filter(cat),
  onProductTap: (p) => goToDetail(p),
)
Inheritance

Constructors

UiShopLayout({Key? key, required List<UiProduct> products, List<String> categories = const [], String? selectedCategory, ValueChanged<String>? onCategoryChanged, void onProductTap(UiProduct product)?, void onAddToCart(UiProduct product)?, int cartItemCount = 0, VoidCallback? onCartTap, ValueChanged<String>? onSearch})
const

Properties

cartItemCount → int
Number shown on the cart badge.
final
categories → List<String>
Category filter labels.
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onAddToCart → void Function(UiProduct product)?
Called when the add-to-cart button on a card is tapped.
final
onCartTap → VoidCallback?
Called when the cart icon is tapped.
final
onCategoryChanged → ValueChanged<String>?
Called when a category chip is tapped.
final
onProductTap → void Function(UiProduct product)?
Called when a product card is tapped.
final
onSearch → ValueChanged<String>?
Called when a search query is submitted.
final
products → List<UiProduct>
Products to display in the grid.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectedCategory → String?
Currently selected category.
final

Methods

build(BuildContext context) → Widget
Describes the part of the user interface represented by this widget.
override
createElement() → StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
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