#' The application server-side
#'
#' @param input,output,session Internal parameters for {shiny}.
#' DO NOT REMOVE.
#' @import shiny
#' @noRd
app_server <- function(input, output, session) {
output$user_out <- renderPrint({
session$userData$user()
})
observeEvent(input$sign_out, {
polished::sign_out_from_shiny()
session$reload()
})
### MODULES FOR SUB-PROCESSES
mod_reddit_server("reddit_module")
# different menu options for different users
# NOTE! Not calling bs4Dash::renderMenu() due to known bug
#https://github.com/RinteRface/bs4Dash/issues/234
renderMenu <- function(expr, env = parent.frame(), quoted = FALSE, outputArgs = list()) {
if (!quoted) {
expr <- substitute(expr)
quoted <- TRUE
}
shiny::renderUI(expr, env = env, quoted = quoted, outputArgs = outputArgs)
}
output$sidebar_menu <- renderMenu({
if (session$userData$user()$is_admin) {
bs4Dash::sidebarMenu(
bs4Dash::menuItem("About", tabName = "about", icon = shiny::icon(name = "question-circle")),
bs4Dash::menuItem("Reddit", icon = shiny::icon("reddit"), tabName = "reddit"),
bs4Dash::menuItem("User Data", icon = icon("th"), tabName = "user_data")
)
} else {
bs4Dash::sidebarMenu(
bs4Dash::menuItem("About", tabName = "about", icon = shiny::icon(name = "question-circle")),
bs4Dash::menuItem("Reddit", icon = shiny::icon("reddit"), tabName = "reddit")
)
}
})
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.