Skip to contents

All six modules share one shiny::reactiveValues() holding the scenario, the game run, the fitted models and the leaderboard. Nothing is passed between modules by any other route, so there is one place to look when the app and the console disagree.

Usage

sdt_app_server(input, output, session)

Arguments

input, output, session

Supplied by shiny.

Value

Invisible NULL, called for its side effects.

Examples

# Driven headlessly in the package's own tests:
# shiny::testServer(sdt_app_server, { session$setInputs() })
sdt_app_ui
#> function () 
#> {
#>     .require_pkgs(c("shiny", "bslib", "htmltools"))
#>     .sdt_mount_assets()
#>     bslib::page_navbar(window_title = "sandtablR", title = .sdt_brand(), 
#>         theme = .sdt_app_theme(), header = htmltools::tags$head(htmltools::tags$style(htmltools::HTML(.sdt_app_css()))), 
#>         bslib::nav_panel("Overview", mod_overview_ui("overview")), 
#>         bslib::nav_panel("Scenario", mod_scenario_ui("scenario")), 
#>         bslib::nav_panel("Simulate", mod_simulate_ui("simulate")), 
#>         bslib::nav_panel("Annotate", mod_annotate_ui("annotate")), 
#>         bslib::nav_panel("Model lab", mod_model_ui("model")), 
#>         bslib::nav_panel("Explain", mod_explain_ui("explain")), 
#>         bslib::nav_panel("Sequences", mod_sequence_ui("sequence")), 
#>         bslib::nav_panel("Generate", mod_generate_ui("generate")), 
#>         bslib::nav_spacer(), bslib::nav_item(shiny::downloadButton("report", 
#>             "Report", class = "btn-sm btn-outline-secondary")), 
#>         bslib::nav_item(bslib::input_dark_mode(id = "colour_mode")))
#> }
#> <bytecode: 0x588ce1396b18>
#> <environment: namespace:sandtablR>