2 unstable releases
new 0.2.0 | Jan 17, 2025 |
---|---|
0.1.0 | Jan 17, 2025 |
#142 in WebAssembly
84 downloads per month
1MB
535 lines
yew-notifications
Table of content:
Notifications components library for Yew. It's like react-toastify but for yew and more simpler (so far 😏).
Documentation: https://docs.rs/yew-notifications/
Where it already used?
Motivation
I was writing my personal project crypto-helper some time ago. I was forced to write awful code to add some notifications functionality to my web app. So, I decided to write this library that allows the easy showing of notifications to users.
Inspired by yew-toastrack
: https://github.com/kinnison/linkdoku/tree/main/yew-toastrack .
How to use it
- Decide which notification components to use.
yew-notifications
implements standard (default) notifications but you can write your own. Seebasic
andcustom
examples for more information.
# Cargo.toml
# if you want to use standard notification components
yew-notifications = { version = "0.2", features = ["standard-notification"] }
# if you decide to write and use custom notification components
yew-notifications = "0.2"
- Wrap needed components into
NotificationProvider
:
// Notification, NotificationFactory - your notification types.
// They can be imported from this library or written by yourself (see `custom` example).
// component_creator is an instance of the NotificationFactory
<NotificationsProvider<Notification, NotificationFactory> {component_creator}>
// some inner components
</NotificationsProvider<Notification, NotificationFactory>>
- Spawn notifications:
use yew_notifications::use_notification;
// Notification - your notification type.
// It can be imported from this library or written by yourself (see `custom` example).
let notifications_manager = use_notification::<Notification>();
notifications_manager.spawn(Notification::new(...));
See the examples
directory for the code examples.
Moving forward
At this point, this library has minimal functionality implemented. I plan to improve it continuously according to my needs. If you have any feature requests, then create an issue with the description. It'll be a priority for me.
Meta
Pavlo Myroniuk - the.best.tvarynka@gmail.com.
Distributed under the MIT license.
Contributing
Feel free to contribute.
- Fork it (https://github.com/TheBestTvarynka/yew-notifications/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Dependencies
~12–21MB
~288K SLoC