@srishakatux and @bd808 have been discussing the various challenges of displaying "toast" messages to the user within our Vue frontend. Currently we have notification widgets embedded in each page that has a need for one (or multiple in some cases). This repetition has implications for both the developers (more code) and the users (variation of notifications by page).
@bd808 thinks we can and should build a central notification component with vuex integration. Flask and Django have a notion of "flash messages" that feels like a good model. Code anywhere can call a method like messages.info() or messages.error() to pass a UI notice to the user on the next page load. In our Vue frontend this information would be presented on the next tick, but could work functionally the same way.
If we expose this as a proper Vue plugin then from just about anywhere you could make a call like Vue.$notify.warning(...) to add a notice. Wiring it all to vuex on the back would then notify a component to render the message. That component could be a part of the App.vue scaffolding which would display in a way that is consistent no matter what screen you are on.
It should be possible for multiple notices to be displayed at the same time.
Inspiration: