--- title: "Footer" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Footer} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE ) ``` ```{r setup} library(bs4Dashkit) ``` dash_footer() creates a `bs4Dash::bs4DashFooter()` with an optional logo image, a main text label (`left_text`), and a right-side label (`right_text`, default: today's date). The logo and main text can be independently positioned on the left or right side of the footer bar. The `right_text` is always rendered on the right side. ## Arguments | Argument | Type | Default | Description | |---|---|---|---| | `logo_src` | `character` or `NULL` | — | Path to logo image (relative to `www/`). Set `NULL` for no logo. | | `left_text` | `character` | (required) | Left footer text. If `NULL` or empty, no main text is rendered. | | `right_text`| `character` | `format(Sys.Date(), "%B %d, %Y")`| Text on the opposite side (often a date/version)| | `logo_position` | `"left"` or `"right"` | `"left"` | Which side the logo appears on | | `text_position` | `"left"` or `"right"` | `"left"` | Which side the text appears on | | `logo height` | `numeric` | `20` | Logo height in pixels | | `fixed` | `logical` | `TRUE` | Fixed footer at the bottom | --- ## Default — logo left, text left ```{r} dash_footer( logo_src = "logo.png", left_text = "My Org", right_text = NULL #no text is rendered on the right ) ``` To include version/date, you can try: ```{r} dash_footer( logo_src = "logo.png", left_text = "My Org", logo_position = "right" ) ``` --- ## Logo right, text left ```{r} dash_footer( logo_src = "logo.png", left_text = "Your Organisation", logo_position = "right" ) ``` --- ## Both logo and text on the right ```{r} dash_footer( logo_src = "logo.png", left_text = "My Org", logo_position = "right" ) ``` --- ## No logo Set `logo_src = NULL` to suppress the image entirely. This is the right choice when you have no logo asset or want a plain, minimal footer. A `NULL` value avoids a broken-image placeholder in the rendered page. ```{r} dash_footer( logo_src = NULL, left_text = "Your Organisation \u2022 2025" ) ``` or ```{r} dash_footer( left_text = NULL, right_text = "Internal Use Only", logo_src = NULL ) ``` The bullet character (`\u2022`) is a compact separator commonly used in footer text — e.g. `"NYS DOH \u2022 Internal Use Only"`. --- ## Custom right-side text Use `right_text` for a version, environment label, or static date: ```{r} dash_footer( logo_src = "logo.png", left_text = "Your Organisation", right_text = "v0.1.0" ) ``` ## Placement `dash_footer()` is passed directly to the `footer` argument of `bs4DashPage()`. It should **not** be placed inside `bs4DashBody()`. ```{r} library(shiny) library(bs4Dash) library(bs4Dashkit) ttl <- dash_titles("My App") ui <- bs4DashPage( title = ttl$app_name, header = bs4DashNavbar(title = ttl$brand), sidebar = bs4DashSidebar(), body = bs4DashBody( use_bs4Dashkit_core(ttl) ), footer = dash_footer( logo_src = NULL, left_text = "Your Organisation \u2022 Internal Use Only" ) ) server <- function(input, output, session) {} shinyApp(ui, server) ``` --- ## Logo image path The `logo_src` path is resolved relative to your app's `www/` folder. For a logo at `www/assets/logo.png` use: ```{r} dash_footer(logo_src = "assets/logo.png", left_text = "My Org") ``` **Avoid windows file paths like ** ```{r} # Don't do this (file path will not load in the browser): dash_footer(logo_src = "C:/Users/.../logo.png", left_text = "My Org") ``` For apps bundled as a package (e.g. with `addResourcePath()`), use the path as exposed by the resource prefix, not the file-system path.