14
votes

When using shinydashboard I find that some icons seem to work while some don't. In the below example, the battery-full icon doesn't work while the clock-o icon works fine. I'm unable to figure out why this should happen.

library(shiny)
library(shinydashboard)

header <- dashboardHeader(title="Some Icons Not Working?")

# No sidebar --------------------------------------------------------------

sm <- sidebarMenu(

  sm <- sidebarMenu(
    menuItem(
      text="asdf",
      tabName="asdfasdf",
      icon=icon("battery-full")),
    menuItem(
      text="qwer",
      tabName="qwerqwer",
      icon=icon("clock-o"))
  )
)

sidebar <- dashboardSidebar(sm)

# Compose dashboard body --------------------------------------------------

body <- dashboardBody(

  tabItems(

  )
)

# Setup Shiny app UI components -------------------------------------------

ui <- dashboardPage(header, sidebar, body, skin="black")

# Setup Shiny app back-end components -------------------------------------

server <- function(input, output) {


}

# Render Shiny app --------------------------------------------------------

shinyApp(ui, server)
3

3 Answers

11
votes

Ok, I think the new ones in version 4.4 are not updated. You can probably request shiny team to update them and they will do it very easily. Alternatively you can do it yourself by downloading them and replacing the previous content...

1. Go to the Font Awesome download page and get it enter image description here

2. Locate your font awesome folder where you installed shiny package. This should be somewhere like here ~\Documents\R\win-library\3.1\shiny\www\shared\font-awesome

3. Replace the content of this folder with new contents (you can delete the previous content if you want). Below is what I put in there enter image description here

4. Now your app should work fine with new fonts enter image description here

4
votes

This is an older question, but the issue remains for me in July 2020. I found the solution in the github issues page. The trick is to make sure you are looking at the library of icons in the version of Font Awesome Shiny is calling. Currently (again, July 2020) the version is 4.7. All of these icons currently work.

Another option is to call the version of fontawesome you want using the following code within your app's ui function (this solution originally posted here):

tags$style("@import url(https://use.fontawesome.com/releases/v5.7.2/css/all.css);")
0
votes

For me, in oct/2020, solution was adding a "s" after first "fa", as in fa fa-caret-up to fas fa-caret-up since it's the new sintax for font awesome icons.