library(shiny)
library(shinyRouter)
ui <- shinyRouter::routerUI("router")
loginPage <- fluidPage(
titlePanel("LOGIN"),
actionButton("home", "HOME")
)
dynamicPage <- fluidPage(
verbatimTextOutput("param"),
actionButton("home", "HOME")
)
mainPage <- navbarPage("HOME",
tabPanel("one", actionButton("dynamic", "DYNAMIC")),
tabPanel("two", actionButton("login", "LOGIN")))
server <- function(input, output, session) {
router <- callModule(routerModule, "router",
route("/login", loginPage),
route("^/(a|b)$", dynamicPage),
route("/", mainPage)
)
output$param <- renderText({
p <- router$params()
p[[1]]
})
observeEvent(input$home, {
router$push("/")
})
observeEvent(input$dynamic, {
if (runif(1) > 0.5) {
router$push("/a")
} else {
router$push("/b")
}
})
observeEvent(input$login, {
router$push("/login")
})
}
shinyApp(ui, server, uiPattern = ".*")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.