buildEmptyState static method

Widget buildEmptyState(
  1. ColorScheme colors, {
  2. IconData icon = Icons.inbox_outlined,
  3. String title = 'No data available',
  4. dynamic message = 'No items found',
})

Builds a default empty state widget.

Implementation

static Widget buildEmptyState(
  ColorScheme colors, {
  IconData icon = Icons.inbox_outlined,
  String title = 'No data available',
  message = 'No items found',
}) {
  return LayoutBuilder(builder: (_, constraints) {
    return constraints.maxWidth > 250
        ? Center(
            child: Padding(
              padding: const EdgeInsets.all(32),
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  Icon(icon, size: 64, color: colors.onSurfaceVariant),
                  const SizedBox(height: 16),
                  Text(title, style: TextStyle(fontSize: 18, fontWeight: FontWeight.w500, color: colors.onSurface)),
                  const SizedBox(height: 8),
                  Text(message, style: TextStyle(fontSize: 14, color: colors.onSurfaceVariant), textAlign: TextAlign.center),
                ],
              ),
            ),
          )
        : Center(
            child: Padding(
            padding: EdgeInsets.symmetric(vertical: 10, horizontal: 5),
            child: Text(message),
          ));
  });
}