codifyiq_notification_center
A Play Store-style notification center for tracking long-running, user-initiated tasks (uploads, downloads, multi-step background work) without blocking the UI.
Widgets
NotificationBellButton— anAppBaraction with a stoplight-coded Material 3 badge. Opens an anchored dropdown on wide viewports and a full-screenNotificationCenterPageon narrow ones.NotificationCenterController— aChangeNotifierexposingstart/updateProgress/complete/fail/dismiss/clearCompleted/clearAll/markAllSeen. The widget is UI-only; you drive it from your own task layer.NotificationCenterPanel/NotificationCenterPage— list view with In progress, Failed, and Completed sections.NotificationCenterScope— anInheritedNotifierfor ambient controller lookup.
Installation
dependencies:
codifyiq_notification_center: ^1.0.0
Usage
import 'package:codifyiq_notification_center/codifyiq_notification_center.dart';
final controller = NotificationCenterController();
controller.start(id: 'job-1', title: 'Uploading invoice.pdf', progress: 0);
controller.updateProgress('job-1', progress: 0.42);
controller.complete(
'job-1',
description: 'Saved to Documents/invoice.pdf',
action: NotificationItemAction(label: 'Open', onPressed: openFile),
);
AppBar(actions: [NotificationBellButton(controller: controller)]);
The bell is a stoplight, not a count: error → running → success → none, with the icon swapping to a filled variant whenever items are tracked (state conveyed by shape as well as color, per WCAG 1.4.1).
Part of the CodifyIQ component family · pub.dev/publishers/codifyiq.com
Libraries
- codifyiq_notification_center
- A Play Store-style notification bell and center for long-running tasks.