Feedback & Overlay Widgets

Communicate loading state, background operations, and transient notifications to users.


1. CircularProgressIndicator & LinearProgressIndicator

Smooth determinate or indeterminate progress loaders:

// Indeterminate circular spinner
CircularProgressIndicator()

// Determinate linear progress bar
LinearProgressIndicator(
  value: 0.75, // 75% complete
  backgroundColor: NeonColor(0xFF222222),
  color: NeonColor(0xFF00E5FF),
)

2. SnackBar

Brief status notifications popping up at the bottom of the active view:

ScaffoldMessenger.of(context).showSnackBar(
  SnackBar(
    content: Text('Task saved successfully!'),
    action: SnackBarAction(
      label: 'UNDO',
      onPressed: () => undoSave(),
    ),
  ),
);

3. Dialog & BottomSheet

Modal overlays for confirmations and deep interactions:

showDialog(
  context: context,
  builder: (context) => AlertDialog(
    title: Text('Confirm Delete'),
    content: Text('Are you sure you want to delete this project?'),
    actions: [
      TextButton(
        key: 'dialog-cancel',
        onPressed: () => Navigator.pop(context),
        child: Text('Cancel'),
      ),
      FilledButton(
        key: 'dialog-confirm',
        onPressed: () => deleteProject(),
        child: Text('Delete'),
      ),
    ],
  ),
);