yew-notifications

Crates.ioyew-notifications
lib.rsyew-notifications
version0.2.0
created_at2025-01-17 20:46:49.827483+00
updated_at2025-01-17 22:56:03.135185+00
descriptionToaster components library for Yew
homepagehttps://github.com/TheBestTvarynka/yew-notifications
repositoryhttps://github.com/TheBestTvarynka/yew-notifications
max_upload_size
id1520981
size1,885,784
Pavlo Myroniuk (TheBestTvarynka)

documentation

README

Stand With Ukraine

yew-notifications

Table of content:

Notifications components library for Yew. It's like react-toastify but for yew and more simpler (so far :smirk:).

deploy

Documentation: https://docs.rs/yew-notifications/

:arrow_up: demo site

:arrow_up: demo site

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

  1. Decide which notification components to use. yew-notifications implements standard (default) notifications but you can write your own. See basic and custom 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"
  1. 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>>
  1. 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.

  1. Fork it (https://github.com/TheBestTvarynka/yew-notifications/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
Commit count: 64

cargo fmt