I have a shiny app that is using the bslib framework. I have 2 nav_panel
“Page 1” and “Page 2” and a sidebar
.
I do not want the sidebar to appear at all on page 2 only on page 1.
I have tried sidebar_toggle
and conditionalPanel
. My current app is more complex but here is a basic app to get started.
<code>library(shiny)
ui <- page_navbar(
title = "Sidebar updates",
id = "nav",
sidebar = sidebar(
id = "sidebar",
open = FALSE,
"Sidebar"
),
nav_panel("Page 1", "Sidebar closed. Go to Page 2 to open."),
nav_panel("Page 2", "Sidebar open. Go to Page 1 to close.")
)
server <- function(input, output) {
observe({
sidebar_toggle(
id = "sidebar",
open = input$nav == "Page 2"
)
})
}
shinyApp(ui, server)
</code>
<code>library(shiny)
ui <- page_navbar(
title = "Sidebar updates",
id = "nav",
sidebar = sidebar(
id = "sidebar",
open = FALSE,
"Sidebar"
),
nav_panel("Page 1", "Sidebar closed. Go to Page 2 to open."),
nav_panel("Page 2", "Sidebar open. Go to Page 1 to close.")
)
server <- function(input, output) {
observe({
sidebar_toggle(
id = "sidebar",
open = input$nav == "Page 2"
)
})
}
shinyApp(ui, server)
</code>
library(shiny)
ui <- page_navbar(
title = "Sidebar updates",
id = "nav",
sidebar = sidebar(
id = "sidebar",
open = FALSE,
"Sidebar"
),
nav_panel("Page 1", "Sidebar closed. Go to Page 2 to open."),
nav_panel("Page 2", "Sidebar open. Go to Page 1 to close.")
)
server <- function(input, output) {
observe({
sidebar_toggle(
id = "sidebar",
open = input$nav == "Page 2"
)
})
}
shinyApp(ui, server)
The goal is to get rid of the sidebar in the green box
Any help is much appreciated!!