library(flexdashboard) library(shiny) library(leaflet) library(DT) library(dplyr) library(DBI) library(tidyr) library(ggplot2) library(plotly) library(viridis) library(lubridate) library(scales) library(readr) library(stringr) library(kableExtra) library(bslib) library(dygraphs) library(tidyverse) library(sf) library(shinyBS) library(xts) library(tigris) library(caret) library(scales) library(billboarder) library(shinyWidgets) library(paletteer) library(shinyjs) library(quarto) APP_DIR <- getwd() cache_dir <- file.path(APP_DIR, "cache") cache_logfile <- file.path(APP_DIR, "cachelog") source(file = "queries.R") useShinyjs() # pull static data loss_storms <- get_all_loss_storms() latest_normalized_losses <- get_latest_aggregate_losses() all_conus_landfalls <- get_all_conus_landfalls() all_lf_type_storms <- get_all_lf_type_landfalls() onStop(function() { disconnect_db() }) storm_selection <- reactiveValues( storm_year = NULL, storm_name = NULL, storm_basin = NULL, hurdatid = NULL )