Notifications in Shiny, via toastr
 
source("https://install-github.me/gaborcsardi/shinytoastr")Call useToastr() at the beginning of ui
definition, and then in the server definition use one of
the notification functions, toastr_success(),
toastr_info(), toastr_warning() or
toastr_error() to create notifications:
library(shinytoastr)
ui <- shinyUI(fluidPage(
  useToastr(),
  pageWithSidebar(
    headerPanel("Header"),
    sidebarPanel(
      ...
      actionButton(inputId = "save_button", label = "Save",
                    class = "btn-primary")
      ...
    ),
    mainPanel(
      ...
    )
  )
))server <- function(input, output, session) {
  ...
  observeEvent(
    input$save_button,
    {
      tryCatch(
        {
          writeToDB(data)
          toastr_success("Saved to database")
        },
        error = function(e) {
          toastr_error(title = "Database error", conditionMessage(e))
        }
      )
    }
  )
}MIT © John Papa, Tim Ferrell, Hans Fjällemark, Mango Solutions, Posit Software, PBC.