aboutsummaryrefslogtreecommitdiff
path: root/R
diff options
context:
space:
mode:
Diffstat (limited to 'R')
-rw-r--r--R/app.R33
1 files changed, 25 insertions, 8 deletions
diff --git a/R/app.R b/R/app.R
index 945f9e4..01f35b4 100644
--- a/R/app.R
+++ b/R/app.R
@@ -4,16 +4,33 @@
#'
#' @export
app <- function() {
+ missing_pkgs <- c()
+ # Check for any missing, required packages.
if (!requireNamespace("shiny", quietly = TRUE)) {
- answer <- readline(paste0("The package 'shiny' must be installed to ",
- "launch the Rnaught web application.\nWould you like to install it? ",
- "[Y/n] "))
+ missing_pkgs <- c(missing_pkgs, "shiny")
+ }
+ if (!requireNamespace("bslib", quietly = TRUE)) {
+ missing_pkgs <- c(missing_pkgs, "bslib")
+ }
+ if (!requireNamespace("DT", quietly = TRUE)) {
+ missing_pkgs <- c(missing_pkgs, "DT")
+ }
+
+ # If any of the required packages are missing,
+ # prompt the user to install them.
+ if (length(missing_pkgs) > 0) {
+ cat("The following packages must be installed to run the",
+ "Rnaught web application:\n"
+ )
+ writeLines(missing_pkgs)
+ answer <- readline("Begin installation? [Y/n] ")
- if (answer == "Y" || answer == "y")
- install.packages("shiny")
- else
- stop("Aborting.", call. = FALSE)
+ if (answer == "Y" || answer == "y") {
+ install.packages(missing_pkgs)
+ } else {
+ stop("Aborting due to missing, required packages.", call. = FALSE)
+ }
}
- shiny::shinyApp(ui(), server)
+ shiny::runApp(appDir = system.file("app", package = "Rnaught"))
}