# ____________________________________________________________________________
# Packages ####
# IMPORTANT: ensure that there is a match between the calls below and:
# - run_app.R
# - DESCRIPTION
# Each time a package is added, update NAMESPACE with
# devtools::document(roclets = "namespace")
suppressPackageStartupMessages({
library(aws.s3)
library(bslib)
library(dplyr)
library(DT)
library(glue)
# library(lubridate)
library(markdown)
# library(RColorBrewer)
library(sass)
library(shiny)
library(shinyalert)
library(shinyWidgets)
library(timevis)
library(tidyr)
library(toastui)
})
# ____________________________________________________________________________
# Data ####
# shinyapps.io is using UTC, we want to use "America/los_angeles"/"US/Pacific" TZ
date_today_california <- lubridate::with_tz(Sys.time(), tzone = "America/los_angeles") |>
as.Date()
shiny_session_start_time <- lubridate::with_tz(Sys.time(), tzone = "America/los_angeles")
# Set the locale in col_date() during redcap_read()
readr::locale(tz = "US/Pacific")
# File of substances.
substances <- readxl::read_excel("www/data/2022-06-28_substance_measures_updated.xlsx") |>
transmute(
group = header,
calendar_id,
name = substance,
name_short_html = substance_short_html,
tlfb_unit = entered_into_tlfb,
code_redcap
) |>
filter(!is.na(code_redcap))
# Dataframe of holidays.
load("www/data/holidays.rda")
days_of_the_week <- data.frame(
days = c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
group = c("Weekday", "Weekday", "Weekday", "Weekday", "Weekday", "Weekend", "Weekend")
) |>
prepare_choices(days, days, group)
choices_weeks_display <- c("View One Week" = "1",
"View Two Weeks" = "2",
"View Three Weeks" = "3",
"View Four Weeks" = "4",
"View Five Weeks" = "5",
"View Six Weeks" = "6")
selection_names_redcap <- c("record_id", "redcap_event_name", "redcap_repeat_instrument",
"redcap_repeat_instance", "setup_lmp", "setup_delivery",
"setup_complete", "assist_v1_complete", "assist_v2_complete",
"assist_pre_use_01", "assist_pre_use_02",
"assist_pre_use_03", "assist_pre_use_04", "assist_pre_use_05",
"assist_pre_use_06", "assist_pre_use_07", "assist_pre_use_08",
"assist_pre_use_09", "assist_pre_use_10", "assist_pre_use_11",
"assist_pre_use_12", "assist_pre_use_13", "assist_pre_use_14",
"assist_pre_use_15", "assist_pre_use_16", "assist_pre_use_17",
"assist_pre_use_18", "assist_mid_use_01", "assist_mid_use_02",
"assist_mid_use_03", "assist_mid_use_04", "assist_mid_use_05",
"assist_mid_use_06", "assist_mid_use_07", "assist_mid_use_08",
"assist_mid_use_09", "assist_mid_use_10", "assist_mid_use_11",
"assist_mid_use_12", "assist_mid_use_13", "assist_mid_use_14",
"assist_mid_use_15", "assist_mid_use_16", "assist_mid_use_17",
"assist_mid_use_18", "assist_pre_mid_use_02_01", "assist_pre_mid_use_02_02",
"assist_pre_mid_use_02_03", "assist_pre_mid_use_07_01", "assist_pre_mid_use_07_02",
"assist_pre_mid_use_01_01", "assist_pre_mid_use_01_02", "assist_pre_mid_use_01_03",
"assist_pre_mid_use_01_04", "assist_pre_mid_use_01_05", "assist_pre_mid_use_01_06",
"assist_pre_mid_use_01_07", "assist_pre_mid_use_03_01", "assist_pre_mid_use_03_02",
"assist_pre_mid_use_03_03", "assist_pre_mid_use_03_04", "assist_pre_mid_use_03_05",
"assist_pre_mid_use_03_06", "assist_pre_mid_use_03_07", "assist_pre_mid_use_03_08",
"assist_pre_mid_use_11_01", "assist_pre_mid_use_11_02", "assist_pre_mid_use_15_01",
"assist_pre_mid_use_15_02", "assist_pre_mid_use_15_03", "assist_pre_mid_use_15_04",
"assist_pre_mid_use_15_05", "assist_end_use_01", "assist_end_use_02",
"assist_end_use_03", "assist_end_use_04", "assist_end_use_05",
"assist_end_use_06", "assist_end_use_07", "assist_end_use_08",
"assist_end_use_09", "assist_end_use_10", "assist_end_use_11",
"assist_end_use_12", "assist_end_use_13", "assist_end_use_14",
"assist_end_use_15", "assist_end_use_16", "assist_end_use_17",
"assist_end_use_18", "assist_end_use_02_01", "assist_end_use_02_02",
"assist_end_use_02_03", "assist_end_use_07_01", "assist_end_use_07_02",
"assist_end_use_01_01", "assist_end_use_01_02", "assist_end_use_01_03",
"assist_end_use_01_04", "assist_end_use_01_05", "assist_end_use_01_06",
"assist_end_use_01_07", "assist_end_use_03_01", "assist_end_use_03_02",
"assist_end_use_03_03", "assist_end_use_03_04", "assist_end_use_03_05",
"assist_end_use_03_06", "assist_end_use_03_07", "assist_end_use_03_08",
"assist_end_use_11_01", "assist_end_use_11_02", "assist_end_use_15_01",
"assist_end_use_15_02", "assist_end_use_15_03", "assist_end_use_15_04",
"assist_end_use_15_05", "assist_after_use_01", "assist_after_use_02",
"assist_after_use_03", "assist_after_use_04", "assist_after_use_05",
"assist_after_use_06", "assist_after_use_07", "assist_after_use_08",
"assist_after_use_09", "assist_after_use_10", "assist_after_use_11",
"assist_after_use_12", "assist_after_use_13", "assist_after_use_14",
"assist_after_use_15", "assist_after_use_16", "assist_after_use_17",
"assist_after_use_18")
# ____________________________________________________________________________
# Theming ####
# Generate styles.css
sass::sass(
sass_file("www/styles.scss"),
output = "www/styles.css",
cache = FALSE
)
# ____________________________________________________________________________
# Functions ####
fun_files <- list.files(
path = "www/R/functions",
pattern = "*.R",
recursive = TRUE
)
for (file in fun_files) source(paste0("www/R/functions/", file), local = TRUE)$value
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.