Sever
Sever will let you customise the Shiny disconnected screen.
Basics
Include dependencies with use_sever then use the sever function to customise the screen, launch the app and stop the server to see the customised screen.
library(shiny)
library(sever)
ui <- fluidPage(
use_sever(),
h1("sever")
)
server <- function(input, output){
sever()
}
shinyApp(ui, server)

Customise
The first argument of the severfunction (html) is used to specify the html to be displayed on the disconnected screen and defaults to sever_default; you can of course change that behaviour. You can customise the default to some extend.
library(shiny)
library(sever)
disconnected <- sever_default(
title = "Gah!",
subtitle = "Your session ended",
button = "Reconnect",
button_class = "info"
)
ui <- fluidPage(
use_sever(),
h1("sever")
)
server <- function(input, output){
sever(html = disconnected, bg_color = "white", color = "black")
}
shinyApp(ui, server)

You are by no means limited to customising the default, you can pass any HTML you like to the function.
library(shiny)
library(sever)
disconnected <- tagList(
h1("Whoah there..."),
p("Something went terribly wrong!"),
reload_button("REFRESH", class = "warning")
)
ui <- fluidPage(
use_sever(),
h1("sever")
)
server <- function(input, output){
sever(html = disconnected, bg_color = "#000")
}
shinyApp(ui, server)

If you want to even further customise the screen with CSS; it is assigned the severed CSS class.
Background Image
You can also use a background image.
library(shiny)
library(sever)
img <- paste0(
"https://images.pexels.com/photos/4827/",
"nature-forest-trees-fog.jpeg?auto=compress",
"&cs=tinysrgb&dpr=2&h=750&w=1260"
)
ui <- fluidPage(
use_sever(),
h1("sever")
)
server <- function(input, output){
sever(bg_image = img, color = "black")
}
shinyApp(ui, server)

Box
You can also have a box around your content, which may come in handy if you still want the background to be somewhat transparent.
library(shiny)
library(sever)
ui <- fluidPage(
use_sever(),
h1("sever")
)
server <- function(input, output){
sever(color = "black", bg_color = "rgba(0,0,0,.5)", box = TRUE)
}
shinyApp(ui, server)
