flutter_notification_center/README.md

71 lines
3.9 KiB
Markdown
Raw Normal View History

2024-04-03 14:38:40 +02:00
# flutter_notification_center
A Flutter package for creating notification center displaying a list of notifications.
2024-04-03 14:38:40 +02:00
## Features
2024-04-03 14:38:40 +02:00
- Notification center: A page containing a list of notifications.
- Notification bell: A clickable bell icon that can be placed anywere showing the amound of unread notifications. Clicking the bell takes the user to the notification center.
- Pinned notifications: A pinned notification can't be dismissed by the user from the notification center.
- Dismissable notifications: A dismissable notification can be dismissed by the user from the notification center.
- Notification detail page: Clicking on a notification takes the user to a notification detail page.
- Notification types: Notification types that can be created are: instant, scheduled, recurring.
- Notification popups: If a notification is pushed a popup can appear in form of a dialog or snackbar.
2024-04-03 14:38:40 +02:00
## Setup
2024-04-03 14:38:40 +02:00
To use this package, add `flutter_notification_center` as a dependency in your pubspec.yaml file.
2024-04-03 14:38:40 +02:00
- For custom notification styling provide the optional notificationWidgetBuilder with your own implementation.
2024-04-03 14:38:40 +02:00
The `NotificationConfig` has its own parameters, as specified below:
| Parameter | Explanation |
|-----------|-------------|
| service | The notification service that will be used |
| seperateNotificationsWithDivider | If true notifications will be seperated with dividers within the notification center |
| translations | The translations that will be used |
| notificationWidgetBuilder | The widget that defines the styles and logic for every notification |
| enableNotificationPopups | If set to false no popups will be shown if a new notification is pushed |
2024-04-15 10:12:25 +02:00
| showAsSnackBar | If true notifications popups will show as snackbar. If false shown as dialog|
If you set `enableNotificationPopups` to true, you can use `PopupHandler` in the `newNotificationCallback` to display popups in case a new notification is pushed.
The `notificationWidgetBuilder` expects the following parameters, as specified below:
| Parameter | Explanation |
|-----------|-------------|
| notification | The notification that is being defined |
| style | The styling that will be used for the notification |
| notificationService | The notification service that will be used |
| notificationTranslations | The translations that will be used for the notification|
| context | The provided context |
## Usage
Create instant notification:
- Make a call to pushNotification() and provide a NotificationModel with the required attributes.
Create scheduled notification:
- Make a call to createScheduledNotification() and provide a NotificationModel with the required attributes + scheduledFor.
Create recurring notification:
- Make a call to createRecurringNotification() and provide a NotificationModel with the required attributes and the following additional attributes:
- scheduledFor
- recurring = true
- occuringInterval with the pre defined interval (daily, weekly, monthly)
To create a pinned notification, set isPinned = true when creating the notification.
### Example
See [Example Code](example/lib/main.dart) for more info.
## Issues
Please file any issues, bugs or feature request as an issue on our [GitHub](https://github.com/Iconica-Development/flutter_notification_center/pulls) page. Commercial support is available if you need help with integration with your app or services. You can contact us at [support@iconica.nl](mailto:support@iconica.nl).
## Want to contribute
If you would like to contribute to the plugin (e.g. by improving the documentation, solving a bug or adding a cool new feature), please carefully review our [contribution guide](./CONTRIBUTING.md) and send us your [pull request](https://github.com/Iconica-Development/flutter_notification_center/pulls).
## Author
This `flutter_notification_center` for Flutter is developed by [Iconica](https://iconica.nl). You can contact us at <support@iconica.nl>